2008年2月13日

最新6件を表示します。このリソース群の時系列順リストタイトルリスト、またこのリソースのAtom表現RSS1.0表現も参照できます。

デブサミ2008 13-D-7: JavaScript Tips & Technique

id:amachangのターン。例のJavaScriptの歴史シートからプレゼン開始。JavaScriptは初心者向け言語であり、オブジェクト指向言語であり、プロトタイプベース言語であり、関数指向言語でもある一粒で4度おいしい言語なのだというお話。

JavaScriptは初心者向け言語

JavaScriptはオブジェクト指向言語

JavaScriptのメッセージには角括弧"[]"のメッセージと丸括弧"()"のメッセージがあると考えると見通しが良くなる。

a = [1,2,3]
a[1] #=> 2

ドット"."は角括弧"[]"のシンタックスシュガーである。obj.hoge = 1obj["hoge"] = 1 は同じ。同様にobj.fuga()obj["fuga"]() は同じ。関数以外にも使えて:

f = function(a) {return a + 1}
f(1) #=> 2

式は演算子以外は全て値とメッセージ、つまり[]と()でできている。変数も値とメッセージ。with文の復習をすると分かる。withされたメッセージに角括弧のメッセージを送るということ。

JavaScriptはプロトタイプベース言語

オブジェクトがundefinedのときにはプロトタイプの値を使う。

JavaScriptは関数指向言語

関数指向言語というのはラムダ計算を使ってプログラミングをするもの。カリー化(1引数の関数にすること)したりできる。add(1,2) を curriedAdd(1)(2) というふうにできる。1個目の引数と2個目の引数を別のタイミングで決められるのが利点。たとえば:

add5 = curriedAdd(5);
add5(10); #=> 15
add5(15); #=> 20

メモ化が重要。

おすすめライブラリ

jQueryExt JSのススメ。jQueryはやわらかいライブラリで1番人気? メソッドチェーンにこだわり。すごいのはend()メソッド。効率よく、しかも早いしきれいに書けるのがすごいところ。プラグインもたくさんあるよ! 私もjQuery大好き!

EXT JSは反対に固いライブラリ(大規模開発にも使える的な意味で)。3万行もあるライブラリで、GUIを作るための強力なクラス群が魅力。名前の付け方にセンスがあって、beforeがb4になっていたりする。アスペクト指向的なところもある。

Ext.componentMgr.create({
    xtype: window,
    width: 300, height: 200
})
win.show();

(上のソースはプレゼンで紹介されていたソースをおぼろげに書き写したものなので正確なものでないかも)

id:shinichitomitaが作ったAfrousがすごいよ! きょうはIE7 の自動更新日ですね! こんにちは! などなど

タグ

デブサミ2008 13-D-5: 次世代ウェブフレームワークの幕開け~ステートフルはじめました/君が僕を望むなら僕は君を忘れない~

Yoshioriさんのターン。お姉さんが「僕が君を」のあたりを読み上げるときに班笑いになっていたのが面白かった。ステートフルのお話だけどRESTと競合したり敵対するものじゃないよというお断りから。というか受付で資料を受け取って驚いた。トナーがー

httpプロトコルはステートレス。COOKIEとかGETパラメータとかPOSTパラメータとか他のヘッダとかを使って擬似的にステートフルにできている。あとsessionにnullgwdocomoと書くと端末情報を入手できるのらしい。

ステートレスだけで処理しようとすると問題が起こる。[入力]→[確認]→[完了]と画面が推移するとき、ユーザが入力した情報をhiddenパラメータなどでクライアントに返してしまうと、確認の前と完了の前とで2回データチェックする必要が出てくる。

HTTPプロトコルがステートレスなのにアプリがステートフルを要求している。いまさらHTTPプロトコルは変えようがない。そこのギャップをフレームワークがうまく解決してくれる。

クライアントに値を返すとバリデートが2回必要になるとか、戻るボタン対策やダブルサブミット対策やマルチウィンドウ対策やF5対策などの問題をフレームワーク側で引き受けてくれるので、ビジネスロジックに注力できるようになる。逆にデメリットとしては学習コストがかかったり、選択肢が少なかったり、session乱発でメモリ使いまくりで負荷分散が大変だったりする。でもきょうび32ギガメモリとかフツーなので平気ですよね^^

次にJBoss Seamの話。JBoss SeamはJBossによるはじめてのフレームワーク。SeamはJSF(VとC)とEJB3(M)をつなぐGlue(糊)の役割。みんな大好きぎゃびんきんぐ

そしてWicketの話。Swingのようなコーディングができて良い感じ。VとC。コンポーネント指向。HTMLとJavaだけで完結。XML使わないの最高。書いてると分かりやすい。

さてこれらのフレームワークに移行すべきだろうか。まずステートフルフレームワークの存在を認識してほしい。これらのフレームワークはかれた技術の集合であるRoRとは対極にあるものだ。ステートフルフレームワークを抽象的に理解することが大事。「具体的なこと」は本質を表していないことが多い。「すごい速い馬が欲しい」と顧客に言われたら車を用意するのがエンジニア。本質は「速く移動すること」だから。

最後のメッセージがとても心に残った。「みなさん発表しましょう! 間違えはマイナスにならない。文句よりどうしたいかを言うようにしよう。」ブログでもjava-jaや1000speakersなどのカンファレンスでも。そして「彼らを何とかする」

タグ

デブサミライブ: Ruby と Adobe AIRで実現、メッセージングアプリ構築法

この時間には予約を入れておらずブースでも見て回ろうかなと思っていたのだけれども、「デブサミライブ」なるものが会場のひとつで行われていることを見つけたのでそのまま入ってみた。デブサミライブが事前登録不要であることは後で知った。この時間の資料はmasuidrive on railsで公開されるとのこと。

公開された

とにかく、AIRで作るのにあたっては日本語処理が問題なのらしい。BlazeDSは面白そうなので、後で調べてみたい。

タグ

デブサミ2008 13-B-3: ふつうのRubyプログラマに贈るRubyプログラミング講座

青木峰郎さんによるRubyのお話。Rubyではprotectedなんてほとんど使わないよとか、制御構造は選り好みせずに使おうとかの話。Javaのイメージを引きずってRubyでもprotectedとか使うと残念なことになるとかsendメソッドの話とか、Rubyでプログラミングをするときに気をつけるべき点をいくつも知れて勉強になった。以下メモったこと。

Rubyでprotected使ってる?

pとpp

unlessとuntil

クラスと名前空間

ファイル名とクラス名

大クラス主義

クラス分岐をsendでやる

ここから第2部。裏世界の話。

リフレクションでバージョン間差異を埋める

タグ

developers summit 2008 1日目

先週あたりから就職活動のために東京に行きっぱなしになっている。泊めてくれる友人には本当に感謝。今日は午前に面接があって、そのあとデブサミに参加した。無料のチケットをSEショップで買うというシステムになっているので、自分がどのセミナーに登録したのかを確認したりキャンセルや変更をしたりがすんなりできないような仕様になっている。実際、2日目のセミナーを1つ間違えて登録してしまい、事務局の方にお手数をかけることになってしまった。あと、追加登録をする際にも職業などのアンケートに答えないといけないので、このアンケートは追加登録をする人の割合が増せば増すほど信用性が損なわれてしまう。学生の割合が不当に高くになってしまったら私のせいですね。登録メールアドレスとか名前とかから重複を差っぴいて集計されるとは思いますが。デブサミの感想はジャンル別一覧からどうぞ。

タグ

はてダでクリッピング

はてなダイアリーでクリッピングをしていたid:ringodが自身の行為について「スパムだ」と怒られたらしく、人力検索で質問をしても良い扱いをされなかったという話。はてダでこういうことをやるとはてブの「このエントリーを含む日記」に載ったりして目立つからねぇ。はてなブックマークはクリッピングとせいぜい100字程度の短いコメントで、ちゃんとした言及はダイアリーのほうでやってほしかったからこそはてなブックマークからはてなダイアリーへのリンクが「このエントリーを含む日記」として張られているのだと思うし、読者もそれを期待しているはず。リンクされていたはてなダイアリーにアクセスしてみたらはてブと同じようなリンク列挙+引用とたまに短いコメントしかないというのが続くと、「このエントリーを含む日記」が利用されなくなってしまう。

対策としてはこんな感じ?

私はいまTwitterの一日分のログをMakeYourDay経由でid:denkenの日記に転記している。Twitterのログは日付単位でまとめ読みできないのが不便で、ちょうどMakeYourDayというサービスを知ったのでこれを使わせてもらっているが、あまり良いことをしているとは思っていない。はてなダイアリーのシステムはブログ内の結びつきが強すぎて、日記を自動投稿するのに結構抵抗を感じる。そのうち対策したい。あと、前はさらに自分のはてなブックマークの1日分もMakeYourDay経由ではてダに転記していたが、これはさすがに副作用が強すぎると思ったのですぐにやめた。リンクと短いコメントが、単にその日にクリップしたというだけの理由で1ファイルに収まっているのでは情報量に乏しすぎるデータを闇雲に増やすことにしかなっていない。

ただ、しばらくはてなブックマークを使っていて分かったのだけど、一連の話題に関連する記事をブクマするときに、一々その話題に関するタグをつけて個別にサブミットボタンを押すという行為はあまり直感的でない。それより、一連の話題をおさめるためのファイルにその話題に関する記事を追加していく形のほうがやりやすい。SBMの普通のインターフェースだと記事のクリップはひとつずつしかできないけど、ブログや自分でHTMLを書いている場合は複数のリンクを一気に追加できる。なので、ある話題に沿ってその関連へのリンクをまとめていく分には、まだブログサービスで記事のクリップをしても許される気がする、と思ったけど、話題別にページを区切るというのはブログでなくWikiの発想なので、それならWikiを使ったほうがよかったですね。まさに徒委記みたいな感じ。

あと、「一連の話題」といっても、漠然としすぎていると量が際限なく増えていくので、かなり狭い単位で話題を区切ったほうがいいと思う。「Yahoo!リニューアルに関するブラウザ前方互換への考え方」みたいな。ただ、あまりにも狭すぎると却って情報量的に残念なことになりかねないので、話題がある程度たまりそうになってからのほうがいいかな。見極めが難しいな。Twitterと違って書ける文字数の限度がゆるいと文章が怠慢になるな。

タグ
© 2001-2008 Chisa YOUZAKA. Some rights reserved.