Kanasan.jsって?
関西でJavaScriptの小さい勉強会を開くことになった (Kanasansoft Web Lab.)
http://www.kanasansoft.com/weblab/2007/10/javascript_1.html
Shibuya.JSが盛り上がっているのを関西から見ていると非常に悔しい。関西にも同様なコミュニティはないのか。 https://twitter.com/kanasan/statuses/342758542
Twitter上のkanasanのこの発言から始まった関西JSイベント。
同様の思いを持ってた人は僕も含めてかなり多かったのではないかと。
リバース風邪で前の晩から何も食べないまま、ふらふらしながら蛍池に。
20数人の参加者。かなり多い。
やっぱりTwitterで知ったひとの割合が多かった。
内容
Kanasanによる基調講演。
プロジェクターが調達できなかったらしく、みんなでMacbookにわらわらと群がりながら聞く。
2台のMacbook+Keynoteをリモコンを使って交互に操作して笑いを誘いつつ、Javascriptの基本から。
かなりこの時点でけっこう高度かも・・・という予感。
Prototype.jsのソースをコードリーディング
前半は、みんなでリーディング。
途中で、休憩後、初心者と上級者にわかれてリーディング。
前半の感想。
オレ、Javascriptというプログラム言語のことって全然わかってないな~と。
誰かも言ってたけど、使い方の部分はそこそこ知ってるけど内部の動作とか仕様の部分なんてもう知らないこと多くて新鮮だった。
異様に仕様にからむ話多いよ。
すごく正確なひとがいらっしゃり、
この人、頭の中に仕様書が入ってるのでは?と思うほど。
隣のかた(nityonさん)によるとDays on the Moonの方だった模様。
せっかくなのでustream配信でもしてみようとカメラ持っていったのに、マイクを忘れ、音なし配信になってしまった。。。見てた人すんません><
以下メモ書き。参加者のつぶやき、つっこみなど。
耳コピなので内容は正確じゃないかもしれません。
truncate: function(length, truncation) { length = length || 30; truncation = truncation === undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : this; }, truncateのデフォルト値は30 いい感じなのが30なのか? __proto__ は宿題 stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); }, img?イメージタグ??
正規表現か imgは間違いやすいだろ!! ↓こっちのが処理速度が速い? Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); unescapeHTML toQueryParams の対比 哲学の違い? o.prototype ← functionのみ o.__proto__ ← すべてのObjectに存在する toQueryParams: function(separator) { var match = this.strip().match(/([^?#]*)(#.*)?$/); ?,は使えないブラウザがあるかもしれない? underscore: function() { return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); }, gsubはRubyライクな置換をするため? JSON多い これなに? 読むの嫌になってきた。。。 コメント欲しい。。。。 isJSON: function() { var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); }, r-u はrstu? どんなときに使うの? with (String.prototype.escapeHTML) div.appendChild(text); evalする回数を一回減らす 百円のものを99円で買うようなもの?
後半の感想。
他の人も書いてらっしゃるがレベルが高すぎて呆然とした。
なんていうかプログラム知識のレベルが。
RubyとかHaskellとかLispの話についていけない~。でもつっこみが笑える~。
途中、空腹で朦朧としてたときに配られたお菓子がありがたかった。
お酒のつまみとしか思えない噛み切れない干物とかもあったけどw
そんなこんなで非常に濃くてついてくのも必死だったけどおもしろかった。
今回、十分の一まで進んだ。あと十回あり?
なんか最近、私事で忙しく、プログラムへの熱意が薄まってる気がしてたのだけど、もっとできる限り勉強しようと思った。
主催者曰く、
「家に帰ってレポートを書き、主催者のブログにトラックバックを送るまでが勉強会です」
ああ、やっとオレのKanasan.jsが終わる。楽しかった。
2回目も参加したいっす。
コメントする