プログラマーという職業上、さまざまなプログラムに触れる機会がありますが、たまにびっくり(いい意味で)することがあります。新人のころはGDB等のデバッガで動作中のプロセスにアタッチできることを知りびっくりしたり、ちょっと前ではRuby on RailsのActive Recordが便利でびっくりしたり。そして、ここ最近で、びっくりすることが多いのはJavaScriptネタです。
実はちょっと前まで、私の中では「JavaScriptは邪道」という偏見たっぷりのレッテルが張られていたので、ここ数年のJavaScriptの情報は無意識にフィルタリングされ弾かれていたのですが、最近、Web上のプログラムをいろいろ見ているうち「JavaScriptすげー」と思うようになってきました。
たとえば、以下のリンク(クリックするといきなり動作します)。
「人をびっくりさせる」という要素はプログラミングの醍醐味のひとつだと思いますが、「Pro*Cの非マルチスレッドで野良DBコネクションプーリングを作ったぞ」などと非常に地味なネタの場合、自慢してみても反応してくれる人が殆どいなくて逆に凹む(私の実話)ケースが多いでしょう。うちは、金融系の通信ゲートウェイ開発に定評がある会社…、ということもあり、C等で地味に、TCP/IPで独自プロトコルのソケット通信処理を書いていたりすることが結構多いのですが、渋さ満点な一方、人をびっくりさせるプログラムとの距離がかなりあります。
そんな鬱積した気持ちを吹き飛ばしてくれるのがJavaScriptです。うまくするとこのBlogにスクリプトが書けるのでは?と思い、恐る恐る見よう見まねでサンプルを書いてみることにしました。とはいえ、JavaScript初心者で技術的に高度なことや、趣味の良いものも思い浮かばないので、とりあえずBlog上部の顔写真をどんどん大きくしてみたいと思います。試してみたら不細工な顔がどんどん大きくなっていてすごい恥ずかしかったのですが、まぁ勢い重視で(IEだと広告が押し出されてしまうのもとりあえず見なかったことに…)。
ブックマークレット:
恥ずかしいけど大きな顔
ソース:
# ちなみにブックマークレットの書き方はdankogaiさんのが
# 見やすかったのでパクらせて頂きました(idまで…)。
スクリプトの内容ですが、document.getElementsByTagName()でimageを一式とってきて、画像ファイル名の一部で顔画像を検索し、あとはsetInterval()でじわじわと画像サイズを大きくしているだけです。ただし、正攻法で行くとtextareaの中身にbrタグが入ってしまう(MTだから?)ので「こんにゃろー」とblockquoteタグで囲んでいます。なお、FirefoxとIE6だけしか動作確認していません。他のブラウザなどで見れなかった方、残念がるほどのものでは全然ないですが、一応ごめんなさい。
とまぁ、JavaScriptだと派手なスクリプトが簡単にかけてしまうし、Blogツールによっては中に埋め込めるので、「人をびっくりさせる」プログラムを書くにはとても使い勝手が良いと思います。そんなプログラムをどんどん作っていくことで本格的にプログラムが好きになってもらえたらとても素晴らしいなぁ、と思うのでした。プログラマとして軸がぶれまくっている自分自身に後ろめたさを感じながら…
※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。
勝ち残るIT活用--中堅中小企業の現場からタレントの江口ともみさんをレポーターに、
全国さまざまな業種の企業担当者に聞く!
サイバー攻撃関連ニュースのまとめ特別企画:高度化するサイバー攻撃からビジネスを守る
~対策レポートや企業の製品動向をまとめ読み~
従来の防御が使えない!?複合的手法による
脅威から企業システムを守るために
管理者は、OS、仮想環境の混在に悩む
クラウド環境に必要な3つの運用サイクル
仮想化の暗黒大陸を切り拓く
高次元のサーバー性能とHAクラスタリング
「創世期」から「成長期」へ突入
国内ベンダーはどう「進化し続ける」のか?
【セミナー】IBM、Red Hat、サイオス
リーディングカンパニー3社が語る最新動向
「使いたい時、使いたいだけ」を実現
今年検討すべき理想のストレージを考える
企業システムへの接続を安全、簡単にする
Juniper Networks MAGシリーズ
オープンソースの強みを発揮するJBoss
コラボレーションを変えるクラウドサービス
ANAや商船三井など5社の事例で読み解く
よくある「5つの勘違い」の真実とは?
IT担当者必見の、目覚めの書を公開
2012年春モデルの情報をいち早く掲載
HPのお得な情報や最新情報が満載
多様なボイスコミュニケーションを実現する
クラウド型プラットフォームとは?
入社後の満足と不満足の分かれ目とは?!
納得いく転職をする為の転職活動での留意点
株式会社リクルート
株式会社サテライトオフィス
EMCジャパン株式会社
ZDNet Japanは、情報システム部門の読者を対象に、ITを活用したビジネス課題の解決策を提供します。技術や製品の解説、ケーススタディ、ホワイトペーパーなどを通じて、情報システム部門の正しい意志決定を支援します。
ITビジネス全般については、CNET Japanをご覧ください。