2010-10-23(土) [長年日記]
■ プログラミングClojure(Stuart Halloway)
関数型言語、特にLisp族への漠然とした憧れというのがあるわけですよ。S式を操るのってなんかカッコいいし。で、7年も前にSchemeに挑戦してあっさり挫折した身としては、このClojureで再チャレンジになる。
きっかけは今年のLLTigerで、Language Updateで紹介されたのを聴いて興味をもったため。特に並行プログラミングをサポートするSTMは面白いと思ったし、プラットフォームがJVMというのも、豊富なJavaのライブラリを活用できるいい選択だと思った。JVMを要求するとなると活躍の場が限られてしまうけど、今ならAndroidもあるからね。
読み手(おれ)の側で7年前と何が大きく違うって、いまはRubyでメタプログラミングがそこそこわかっている点だ。おかげでClojureでやろうとしていることが、Rubyではどう書けばいいのかなんとなく想起できるので、ずいぶん理解が早い。つまり、手続き型言語脳をRubyを介して関数型言語脳に変換できるようになっているわけで、これがないとまた挫折したんだろうなー、と思う。やっぱRubyすごい。
登場するコードはREPLに入力して動作を確認しながら読み進めた。川合さんの訳も読みやすいし、著者にもできるだけトリッキーなコードを排す姿勢があって、けっこうサクサク読める。まぁ、「理解できたか?」と聞かれれば「だいたいわかった」という程度だけど、最後まで読み通せた自分をほめてあげたい(ただし「マクロには近寄るな」ってじっちゃが言ってたので、軽く流す程度←じっちゃじゃねぇ)。
(JVMの制限で)関数型言語のくせに末尾再帰最適化ができないとか(これは回避策がいくつかある)、Javaのライブラリを使うときのシンタックスシュガーがちょっとキモいとか、慣れるのに時間がかかりそうな要素はあるものの、基本的には素直なLisp族という印象。ロック状態に気を配らずに並行プログラミングができるSTMはすばらしいし、(動的ディスパッチ的な)マルチメソッドも面白い。使いこなしたらなかなかいい武器になりそうな言語という印象だ。
とはいえ、何か本格的なアプリを書いてみないことには、言語を習得したとは言えないわけで、そうは言っても今のところいいネタがないんだよな。とか言ってるあいだに忘れそうだが(笑)。いやAndroidアプリを書けばいいんだけどさ。
2010-10-22(金) [長年日記]
■ Facebookアプリを作ってみた(グラコロ同盟2010)
数日前から持病が悪化して外出できなくなってしまったので、せっかくだから何か勉強しようと思い、郷田まりぽさんが日記で「Facebookアプリ作ろうぜ」という連載を始めたこともあって、ちょっといじってみた(というほど簡単ではなかったのだけど)。
当てもなくテストアプリを作っても面白くないので、毎年やっているグラコロ同盟をFacebook上で展開したらどうなるか、という例題にしてみた。うまく動いたら今年の同盟活動ははてなスターからFacebookに移行してしまうので、同盟各員は今のうちにFacebookのアカウントを取っておいた方がいいですよ*1。
お試しなので機能的にはできだけ単純に。訪問者を特定し、食べた個数を報告すると自分のストリームに書き込み、同時にサーバに保存する。ランキングにはグラコロ数の多い順にユーザのアイコンが並び、グラフで各自の食べた個数がわかる。
で、なんか動くようになったっぽいので公開しておいた。デザインはてきとう(というか誰かやってくんないかなー)。
使ってみるには、まずファンページに行ってから「アプリケーションへ移動」。認証やパーミッション許可のポップアップがあるので、それにOKを出せば、あとは個数をセットして「食べました!」ボタンを押すだけ。
これだけ単純なものを作るだけでも、なんかけっこう苦労したなー。まぁ不慣れなJavaScriptで書いたってのもあるけど(格闘していた時間の大半はjQuery相手だったような気もする)、ドキュメントがいい加減で情報不足なのが一番厳しい。仕様書の体をなしてないわ、書かれてないパラメタが存在するわで、最初にパーミッションを得られるようになるまで、Facebook上でまりぽさんにサポートしてもらうアリサマ。慣れれば勘どころはつかめるようになりそうだけど、機能も豊富なので隅々まで探検するのも大変だ。
あと、開発者のページに「提出」って機能があるから、それをするまでは自分にしか使えないのかと思ったら、単にカタログに載せてもらう処理にすぎなかった。つまり、開発中だろうとなんだろうと、URL知ってる人には見えちゃってるってこと。これ、開発初期はいいけど、運用が始まってからはどうすんだ? リリースの概念がないんだけど……。
*1 というか、いったい今年はいつからグラコロを始めるんですかね、マクドナルドさん。
2010-10-21(木) [長年日記]
■ Facebookに友達リクエストが来ても、誰だかわからん人が多すぎる
Facebookはあいかわらずひっきりなしに友達リクエストが来ている状況だが、さすがに技術系の知人には行き渡ったようで、そろそろリアルで何度か会ってるような人たちはいなくなってきた感じ。ここから先が伸びるかどうかが今後の盛り上がりを左右するかね。ちなみにFacebook上の付き合いはTwitterより絞っておこうと思うので、見覚えのない人とか、誰だかわからない人からのリクエストは無視してしまっている。
もっとも、「見覚えのない」とか「誰だかわからない」といったところで、例によって重度の「人の名前と顔が一致しない病」なので、本当にそうなのかまったく自信がない。まぁ、昔っからそういう人なので、うっかり無視されちゃった人は諦めてください。Facenbook以外にもいくらでもコンタクトをとる手段はあるんだから。
そうは言っても、「自分はこういう人物である」ということをちゃんとプロフィールでアピールして欲しいよね。「Facebookは実名主義」という看板を真に受けて、本名のままで(しかも外国人との付き合いもないのに英語表記のままとか)、知人が見ても人物特定が難しいような顔写真をアイコンにするとか、「オンラインの知人は識別しないで下さい」と言わんばかりのプロフィールが多すぎる。
だいいち、実名イコール本名ではない。本名しか使えなかったら芸名や筆名で活動している人が使えないではないか。自分がFacebook上でどういう活動をするつもりなのか考えれば、どう名乗るべきかなんておのずと決まってくるし、アイコンに何を選べばいいかも自明だろう。プロフィールのホームページ欄にWebサイトやブログ、TwitterのURLを入れておくのも、人物の特定のしやすさにつながって良い。
もし、プライベートな付き合いとそうでない人たちを分離したいのであれば、自分のファンページを作ってしまえばいいのだ。そしてオフィシャルな発言はファンページを通してすればいい。個人的に勝間和代のことはたいして評価していないけど、彼女にファンページを作れとアドバイスした周囲の人たちは正しい。ここ数日で、公式ファンページを作る著名人が増えてきているようだし、(ネタ混じりながら)普通の人が自分のファンページを作る例も見かける。
もし「自分のファンページなんて恥ずかしいよ」とか言っているようなら、許可をもらって代理で作ってあげちゃってもいいと思う。おれもドラ娘のファンページを作ったよ(ぉ。ドラ娘経験者やドラ娘になりたい人は掲示板で名乗ってねっ!(最後は宣伝か)
◆ yuh-suke [今年はチキンの売り込みが盛んだから、あすこら辺が終わらないと始まらなかったりして…]
◆ ただただし [そうなんですよね、例年だと気温が下がり始めると「そろそろかな」っ感じですけど、今年はチキンが11月末まであるからなぁ..]