どらこにあ戦記
日記です。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
JavaScriptをさわってみた

時間はあるがテレビはない

仕事の関係で、大幅に時間が空いている状態のkoheiです。

この際、せっかくなのでトレンドを抑えておきたい気持ちもあり、
「ニコニコ動画」を見始めた。結果、がっつりハマってます。
特に「ニコニコ生放送」は日によっては一日中聞いていることも。。

生放送は、主にVOCALOID(R)関連のものを聞いていて、
こうした放送ではリクエストに応じて動画が流れるものが多い。
リクエストする際には、動画のID(nm番号、sm番号とも)をコメントする。

動画ID

動画IDはリクエストする動画のURLから調べることができる。
例えば有名なこの動画。

URLは、http://www.nicovideo.jp/watch/sm772924で、下線部分が動画IDになる。

動画のハイパーリンクからIDを抜き出す作業が(ほんのちょっと)手間だったので、
ニコニコ動画のプレイリストや、検索結果の画面上に
動画IDを表示するブックマークレット(コード)を作ってみた。
起動するとリンクの右上にIDが表示されるはず。
ご使用は自己責任にてご自由にどうぞ。

作ってみた感想

昔取ったなんとやら、DOMの概念は抑えていたが、
ブックマークレットとなると、ブラウザごとの対応状況も考慮しなくてはいけない。

どうせだから、IEとFireFoxの両方で動くものを…と考えたら、
泥臭いコードになった。
※ Sleipnir v2.8.4と FireFox v3.0.9での動作を確認。

まぁ、リクエストの際に、動画IDではなくURLをコメントしても
管理ツールが適切に処理するので、無駄と言えば無駄なんだが。。
スポンサーサイト
【2009/04/23 16:04】 | プログラミング | トラックバック(0) | コメント(0) |
クロージャについて考えてみた。
クロージャといえば、
数年前からJavaに導入するとかで話題になっているらしいアレです。

関数型言語まわりのトピックとは知らず、
Perlの情報を漁っていたら見つけた。

いまだに使いどころが把握できていないが、
とりあえず現状で「あー、なるほどね」と思ったことを書いておこう。

- ジェネレータ
呼び出すたびに新しい値を生成する関数をジェネレータと言う。
C言語のrand関数が好例。

C言語のrand関数は合同線形法という式で乱数を生成する。
直前の呼び出しで生成した値を元に、次に呼び出された時に生成する値を計算する方法。

「え?C言語じゃ 直前の呼び出しで生成した値は
関数を抜ける時に スタック領域ごと消えるでしょ?」ってあなた、正解。
で、C言語のrand関数では、直前の呼び出しで生成した値をstatic変数に保持する。
# うん、スレッドセーフじゃない臭いがプンプンするね。

クロージャはオブジェクトに近いコンセプトを持っており、、
エンクロージャのレキシカル変数に値を保持できるので
randと同じようなことをクロージャで実現する場合でも、大域を汚染せずに済むのだった。
【2008/03/29 00:13】 | プログラミング | トラックバック(0) | コメント(0) |
プロフィール

Kohei

Author:Kohei
さめない夢は ないじゃない。

カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

最近の記事

最近のコメント

最近のトラックバック

RSSフィード

メールフォーム

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。