プログラマーという職業上、さまざまなプログラムに触れる機会がありますが、たまにびっくり(いい意味で)することがあります。新人のころはGDB等のデバッガで動作中のプロセスにアタッチできることを知りびっくりしたり、ちょっと前ではRuby on RailsのActive Recordが便利でびっくりしたり。そして、ここ最近で、びっくりすることが多いのはJavaScriptネタです。
実はちょっと前まで、私の中では「JavaScriptは邪道」という偏見たっぷりのレッテルが張られていたので、ここ数年のJavaScriptの情報は無意識にフィルタリングされ弾かれていたのですが、最近、Web上のプログラムをいろいろ見ているうち「JavaScriptすげー」と思うようになってきました。
たとえば、以下のリンク(クリックするといきなり動作します)。
「人をびっくりさせる」という要素はプログラミングの醍醐味のひとつだと思いますが、「Pro*Cの非マルチスレッドで野良DBコネクションプーリングを作ったぞ」などと非常に地味なネタの場合、自慢してみても反応してくれる人が殆どいなくて逆に凹む(私の実話)ケースが多いでしょう。うちは、金融系の通信ゲートウェイ開発に定評がある会社…、ということもあり、C等で地味に、TCP/IPで独自プロトコルのソケット通信処理を書いていたりすることが結構多いのですが、渋さ満点な一方、人をびっくりさせるプログラムとの距離がかなりあります。
そんな鬱積した気持ちを吹き飛ばしてくれるのがJavaScriptです。うまくするとこのBlogにスクリプトが書けるのでは?と思い、恐る恐る見よう見まねでサンプルを書いてみることにしました。とはいえ、JavaScript初心者で技術的に高度なことや、趣味の良いものも思い浮かばないので、とりあえずBlog上部の顔写真をどんどん大きくしてみたいと思います。試してみたら不細工な顔がどんどん大きくなっていてすごい恥ずかしかったのですが、まぁ勢い重視で(IEだと広告が押し出されてしまうのもとりあえず見なかったことに…)。
ブックマークレット:
恥ずかしいけど大きな顔
ソース:
document.getElementById('bookmarklet').href =
document.getElementById('bookmarklet.src').value.replace(/<\n/g, '');
# ちなみにブックマークレットの書き方はdankogaiさんのが
# 見やすかったのでパクらせて頂きました(idまで…)。
スクリプトの内容ですが、document.getElementsByTagName()でimageを一式とってきて、画像ファイル名の一部で顔画像を検索し、あとはsetInterval()でじわじわと画像サイズを大きくしているだけです。ただし、正攻法で行くとtextareaの中身にbrタグが入ってしまう(MTだから?)ので「こんにゃろー」とblockquoteタグで囲んでいます。なお、FirefoxとIE6だけしか動作確認していません。他のブラウザなどで見れなかった方、残念がるほどのものでは全然ないですが、一応ごめんなさい。
とまぁ、JavaScriptだと派手なスクリプトが簡単にかけてしまうし、Blogツールによっては中に埋め込めるので、「人をびっくりさせる」プログラムを書くにはとても使い勝手が良いと思います。そんなプログラムをどんどん作っていくことで本格的にプログラムが好きになってもらえたらとても素晴らしいなぁ、と思うのでした。プログラマとして軸がぶれまくっている自分自身に後ろめたさを感じながら…
※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。
- 前のエントリー: 自分の限界
- 次のエントリー: リスクを嗅ぎつける想像力
「log4day〜1人月からの脱却」 のバックナンバー
-
builder blog
少し前からbuilder by ZDNet Japanでブログ群がスタートしておりますが、「私のブログの内容は、あっち(builder)向きなのでは?」という事情により、builderブログのほうに書いていくことになりました。これま... -
OpenSSLのs_clientでGMailにアクセス
-
危機感の熟成
-
こんにちは、OCaml
-
人材重要
- log4day〜1人月からの脱却 一覧へ »
-
あらゆる障害を未然に防止するには? 低価格・マルチプラットフォーム対応の監視...
- iPhoneをビジネスで活用する時代へ〜ビジネス&モバイルのミライ〜
- パンデミックでも社員を守り業務継続を支援する
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
- ITコスト削減の傾向と対策 〜情報システム部様限定〜
- データベースにおけるデータ管理の最新手法
- 新型インフルエンザ等のパンデミック時に対応できるユーザー認証のあり方と仕組み
- 最上級のブレードがこれだ!導入実績豊富な製品で構成され、仮想化環境に最適化し...
- VMware Converterと、Acronis True Imageの連携によるP2V移行
- パンデミック対策におけるWeb会議の有効性
企画特集
-
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
求めているのはSIerのエンジニア!!
連載インタビュー第1話、グリーCTO藤本氏が語る -
最大32個のセンサーが電力を徹底管理!
『省エネ性能』追求HPx86サーバー徹底レビュー -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
進むストレージ環境の見直し
仮想環境に最適なiSCSIストレージLeftHandのメリット -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み -
情報漏えいを食い止める!
証跡としての信用力を高めるメールアーカイブとは? -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中
-
15. プラグマフリー構文
この4分間のビデオは、プラグマ構文を知らなくてもOpenMPディレクティブ... -
16. 並列性の用語定義
この6分間のビデオでは、このシリーズのビデオを通じて使用される用語を...
こまつ みつのり(Mitsunori Komatsu)
