Kanasan.JSの最近のブログ記事

っていうか書くの遅くね?
あったの2月22日じゃね?

すいませんm~~m
か、書けない。なぜだかココロニ余裕がありません。

だいたいこれまで次の日までには書いていたのに・・・

ということでおそらく資料的なものはみなさんの書かれたブログが充実しまっくているでしょうからそちらを見てください(笑。。。すげぇ手抜き)


Kanasan.JS Greasemonkey チュートリアル読書会のブログ一覧

当日のログへのリンク

グリモン(Greasemonkeyのこと)なんで「Dive into Greasemonkey」の内容自体は既知のものでしたが、そこはやはり達人ばかりのKanasan.JS、急に話が高度になったりします。

それにしても会場のノートパソコンのMac率は9割を超えていました。
どうやらここはジョブズ帝国の日本支部のようです。

みなさんのグリモン紹介のときに受けてたバターについてはいまでも鮮明に覚えています。

グーグルの画像検索ででた検索結果画面上で左右の矢印キーを押すと

ぐるぐるー回れ回れー(バチカン輪舞)
送信者 Andre's Garden photo

そしてバターに
送信者 Andre's Garden photo

こちらが作者のkiy0takaさんのブログ
Kanasan.JSに参加しました。 - blog4j 2.0

あと、アマズレもよかったなぁ
アマゾンレビュー比較サイト「アマズレ」

私も少し話しましたが相変わらずグダグダでした^^;
Andre's garden - ユーザースクリプト(LDR shortcut key read by rate)のFirefox3対応

こっちよりニコ動用のグリモンのほうが個人的にはおもしろいのですが紹介できるテクがありませんでした・・・
Andre's garden - 他のサイトでもニコニコ動画をポップアップできるようになりました。


いつもながらこんなすばらしい勉強会を開催してくださるスタッフのみなさん
(37toさんお疲れ!)に感謝!

勉強会中に書いたグリモンをさらしてもう寝ることにしますzzz

Linger上の投稿者名の 「・・・・@会場」が「・・・・@階乗」になるだけのグリモン。
だーれも知らない~知られちゃいけないー

// ==UserScript==
// @name    kaijyo
// @namespace    http://andre-garden.com
// @description    replace kaijyo
// @include    http://www.lingr.com/room/Kanasan.JS
// ==/UserScript==

var allhandleText;
allhandleText = document.evaluate("//span[@class='handleText']",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
for (var i = 0; i < allhandleText.snapshotLength; i++) {
  allhandleText.snapshotItem(i).innerHTML = allhandleText.snapshotItem(i).innerHTML.replace(/.@会場/,'@階乗');
}

JavaScript、実は2ヶ月くらいごぶさた・・・でもはずせねー


そして今回も堺筋本町12番出口から東西反対に歩いてぎりぎり会場に到着しました。


技術的なことは今回も高度だったのでスルー気味(あとで消化・・・)
あと、前の日京都いってた人大杉です。


読書会について

ustream.tvを観ながら書いてます。 この仕組みはすごくありがたいです。 それにしてもKanasanの顔がいつも見える。 女性が見たらサブリミナルでほれる人がいるかもしれないと本気で心配している。

Kanasan.JS : JavaScript Workshop in Kansai: Ustream.TV Show, Chat Room, LIVE Streaming Video. Webcam Chat, Webcast, News Events. Online Video Cam Community


ひっかかったところのみ


第2章 クライアントサイドJavaScriptから


13.2.1 script タグ
>kanasan 個人的にはscriptタグにもonloadが欲しいです。

確かに。

自分で作ったコードもそうだけど重いライブラリの読み込みでオブジェクトができてなかったり、とかくロードの順番がらみはよく泣かされます。


13.2.4 defer属性
scriptの実行を遅延する。
重いScriptの処理を待たなくてもよくなる。


でも、IEだけーーー、しかも実装に問題ありって^^;


サプライズ

途中からサイボウズラボのamacahangさんとtakesakoさんがいらした。 すっげーびっくり。

プレゼン

休憩後にプレゼン(休憩後の頭によい刺激)

どれもおもしろかったー!のですがメモし忘れていた><ので抜粋


nanto_vi さん
ゆの in ECMAScript: Days on the Moon
すごい。
なんというDSL。いろんな方向にすごすぎです。
「無駄に無駄がない。完璧な無駄」という表現はこのプレゼンにぴったりはまっています。
いつもながら説明が理路整然としていて本当にわかりやすいです。


takesakoさん
同一出身ポリシーに関係していたようなしないような・・・
飲んだら記憶が飛んでしまいました><


Yharaさん
ブックマークレットをブックマークレットから選択できるサービス。
斬新なアイデア。
特定のサイトでつかいたいブックマークレットが絞れるとか期待が膨らみます^^/


Yuyaさん
新しいサービス
LDR candle - livedoor Readerの未読数を株式チャート風に表示!
積読を消化するモチベーションに。


KIMOTOさん
javascriptでprivate変数を実現する方法について
DelphiやC#から入ったのでprivateつけたくなる感覚わかります。

懇親会について

学校の雰囲気の居酒屋。 小学校風の教室で給食代わりにビール。オツです。 懇親会は初めてでしたが、紙飛行機に書かれたWEBのステータスコードで普通に会話がなりたったり、コアな話が満載でとても楽しいひとときでした。 あ、テストは70点でした。 まちがった3問中2問が主語と述語の問題。 やはり日本語能力に疑問があることが判明したw

最後にKanasanならびにスタッフのみなさんありがとうございます。
へっぽこプログラマの私でも継続して勉強会に参加できるのは、今度もいってみたいと思わせる雰囲気を作っている皆さんのおかげです。

2月24日(日)Kanasan.JS JavaScript第5版 読書会#3に行ってきました!

kanasan並びにスタッフの方々、参加者の方々お疲れ様でした^^/

みなさんのブログは後で拝見させていただきます。(見たら自分のが書けないので封印してましたw)
Kanasan.JS JavaScript第5版読書会#3 参加者のブログ記事一覧 - Kanasan.JS : JavaScript Workshop in Kansai | Google グループ

今回は、前回の経験を活かして多少の予習をしていったにもかかわらず、またもや高レヴェルな内容に後から理解を深めることになってしまっています。

本を読みながらチャットを眺めるのは前回より慣れたかな。
ということでサイ本「7.5 配列」からスタート

・配列の破壊/非破壊
→実行するメソッドが元の配列に影響を与える/与えないということ。
 非破壊(与えない)メソッド
 >concat,slice

 破壊(与える)メソッド
 >それ以外
 join,reverse,sort,splice,push,pop,unshift,shift,toString,toStringLocaleString

・走るフォクすけ> kanasanのデスクトップ画面に出現。癒される参加者。
これかな?(フォクすけのテーマ紹介エントリ
フォクすけかわいいよフォクすけ。(繰り返すとなぜか偏執っぽくなるコトバw)

by http://www.mozilla-japan.org/

サイ本「8章 関数」
・8.1.1 入れ子型の関数
入れ子型の関数は、入れ子にする関数のトップレベルで定義しなければなりません。
>定義してもエラーにはならない。(firefox-firebug)
>一見、動いているようにみえる。
>実装依存、予期しない動きをするから書かない。

「if内で入れ子型の関数宣言」


function h() {
if(true) {
function a() {alert("sss");}
a();
}
}
h();>sssが表示される

下は、関数リテラルで宣言しているから依存しない。

「if内で関数を関数リテラル(8.1.2)を使って実装」


function h() {
var i = 1;
if(i==1) {
var a = function() {alert("sss");};>sssが表示される
a();
}
}
h();

・-1/0===Number.NEGATIVE_INFINITYはtrue(Number.NEGATIVE_INFINITYは負の無限大)

・(function(a,b,c,d){}).length は4。おもしろい

・applyとcallの覚え方
 applyは、配列を展開する。
 applyはarrayに似てる(単語的にw覚えることができました^^)
 callいらなくね?(そんな気が・・・怠惰なので覚えるをやめてみます。)

・Callオブジェクトは、アプリケーション側から明示的に生成したり呼び出したりすることはできない
http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs02/ajaxjs02_04.html


その他(理解が足りなかった所、試してみる)
・console.time(firebugのconsole.API

console.time("sss");
alert("aaa");//この部分の時間が取れる。(そういや遥か昔、Delphiでこんなの組んだ記憶が・・・)
console.timeEnd("sss");

・[1,2,3]と[1,2,3,]の違い
lengthが違う。(他は、よくわからない)
IEなら4
Firefox,Operaなら3

・同値と等値どっちだっけ?
等値は「==」
同値は「===」

参照:サイ本「5.4.1等値演算子(==)と同値演算子参照(===)」

等値で比較

var a = [1,2] ;var b = a ; alert(a==b); はtrue;
 var a = [1,2] ;var b = [1,2] ; alert(a==b); はtrue;

同値で比較
var a = [1,2] ;var b = a ; alert(a===b); はtrue;
 var a = [1,2] ;var b = [1,2] ; alert(a===b); はfalse;

・curry>カリー化。これは後回しにしようw
<メモ>参考になりそうなエントリー
 http://d.hatena.ne.jp/tenkoma/20071023/1193160645
 

Blogに書くまでが勉強会ということなので^^

まずは、Kanasanさん並びにスタッフの方々、Lightning Talkをしてださった方々ありがとうございました。
非常に有益なひと時でした。このような集まりが関西にあることをうれしく思います。

関連エントリ
「Kanasan.JS」
Kanasan.JS : JavaScript Workshop in Kansai | Google グループ
「他の方のブログ記事(これから拝見します)」
Kanasan.JS JavaScript第5版読書会#2 参加者のブログ記事一覧 - Kanasan.JS : JavaScript Workshop in Kansai | Google グループ

正直なところ情報量が多くて消化し切れていないのが現状です。
プログラミング話なので興味のない方は、以降は全力スルーで

<続きを読む>