プログラマーという職業上、さまざまなプログラムに触れる機会がありますが、たまにびっくり(いい意味で)することがあります。新人のころは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人月からの脱却 一覧へ »
-
BIベンダーの選び方 −BIベンダー選定のための評価フレームワーク
- 日本モバイルインターネット端末市場分析 〜2008〜2012年のMID及びスマートフォン...
- 【導入事例集】多業種から評価されているWeb会議システム、24社の導入事例をご紹介
- CRMの限界を超える!「顧客経験価値マネジメント」実現の5段階
- POSデータを活用し、売上アップを導く「分析力」とは?
- ストレージ問題の課題に対する解決方法
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
- iPhoneをビジネスで活用する時代へ〜ビジネス&モバイルのミライ〜
- 【日産自動車:BI導入事例】連結対象の36社からの情報を元に車種別損益管理を実現
- 中堅企業におけるテクノロジーと成長
企画特集
-
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
電力に"ふた"をする独自の省エネ機能とは!?
動的に電力割り当ても可能なHPの最新鋭ブレードに迫る -
グリー、3人のエンジニアが語る仕事への想い
連載第2話、元SIerに聞くリニューアルと開発の舞台裏 -
高まるiSCSIストレージへの注目度
ストレージシステムの4つの課題とiSCSI導入のメリット -
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
容量制限によるメール消去は一切無し!
全てを保存するメールセキュリティSaaSが登場 -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中
-
15. プラグマフリー構文
この4分間のビデオは、プラグマ構文を知らなくてもOpenMPディレクティブ... -
16. 並列性の用語定義
この6分間のビデオでは、このシリーズのビデオを通じて使用される用語を...
新着企業動向
-
アズジェント、ブルーコートシステムズ社とディストリビュータ契約を締結
アズジェント -
【冬季特別開催セミナ】 DOA40年総括とデータマネジメントの未来
データ総研 -
事例のご紹介 Vol.14 | 情報インフラの全体最適化
EMCジャパン -
WisePoint
ファルコンシステムコンサルティング - 企業動向一覧へ»
こまつ みつのり(Mitsunori Komatsu)
