pmよちよち.rbで冬休みの宿題をやりました。API連携アプリを開発するという資料。した内容は下記の通り。scaffoldでtodoアプリを作り、Railsの基本的な機能や約束事を学ぶscaffoldで住所と座標を登録するアプリを作り、Googleマップを画面に表示して、登録した座標にピンを刺すyochiyochi.rbで覚えた内容を短時間で一通り復習できました。その他こんなところですね。underscore.js便利。lodashというやつも使えそう。googleマップとの連携がこんなにも簡単だったなんて。今度Gemの中身見てみようiphoneやipad用のfaviconの画像はいくつか用意しないといけないアプリ用のGemを簡単に試したい時、モックを用意したい時なんかは使い勝手が良くてscaffoldいいなって思います。早いうちに消化を!と思って@katorieさんから借りた本を読みました。前半、というか付録以外は、摩訶不思議な言語をRubyで実装しよう!という内容だったのでやることは写経です。本はRuby1.8,1.9向けでしたが、2.2で問題なく動きました。作ってみた言語のサンプルコードです。+++++.whitespace12345無の境地ですね。中間言語型トランスレーターを試すことができます。ソースコードをほぼ全て丁寧に解説していて構文解析の入門というか、Rubyプログラミングの入門にはもってこいです(付録以外は)ParserやVMの基本的な仕組みや役割をRubyのソースコードで理解できます。紹介の仕方も興味深くて、構文の実装を一通り紹介しながら組み上げていくパターンと、解析部と実行部を並行して作り上げていくパターンがあって、実装の拡張の方法も垣間見れます。唯一の難点は確認のためのプログラムを書くのがつらいこと。(上のやつですね)構文ごとに解析と処理内容をコツコツ作っていけば言語はできるんですね。大事なのはシンタックスと意味論(見た目と中身)。データの持ち方のアプローチはいくつかあるみたいで、以下のようなやり方が示されていました。テープ(ハッシュ)を使うスタック(配列)を使う木構造を使う木構造のところは再帰プログラムになっているので、紙に書きながら「なるほどー」とかやってました。再帰と仲良くなることを目指そう。languageの闇を垣間見れます。付録と言いつつ一番面白いところなので心して読みましょう。著者の熱意を感じました(特にKEMURI)lambdaの丁寧な解説のところは基礎知識が必要だったので後で再チャレンジしたい。いえば、この本を読む前に「コーディングを支える技術」の前半を読んでおくと理解が早くなるかもしれません。コーディングを支える技術5章ぐらいまでしか読めなかった。正月のだらけに負けました。一般的なプログラミング言語の基本的な構文がなぜ必要になったか歴史的経緯とか、言語間のちょっとした違いを交えながら、コーディングの知識を解説しています。残りは時間のあるときにさら〜っと読んでみよう。Whitespace。