JavaScriptで現在の年齢を計算する方法


今日、2月25日は僕の誕生日らしいです。アバウトの自己紹介欄を見てみると、昨日まで23歳となっていたところが、24歳となっています。

ところで、この部分のソースを見てみると以下のようになっています。

 なんと、24歳ではなく17歳と書いてあります。つまり、JavaScriptで制御して誕生日が来たら自動的に年齢を増やすプログラムを書いているのですが、どういうコードを書いているかというと、以下のようなコードです。

 今見てみると、yearという変数は作る必要ないだろと(もしくは、yearという変数作ったら、その後はgetYear()使うなと)突っ込まれそうなのですが、とにかくやってることは、8ケタの現在の日付(今日だと20120225)から、8ケタの生年月日(この例でいうと19880225)を引いて、その数を10000で割った数を小数点以下を切り捨てしているのが現在の年齢になるわけです。

では、試しにフォームで作ってみます。とやろうと思ったのですが、なんだかWordPressではうまくいかなかったので却下。いったい何が原因なんだろ・・・。

なお、小数点切り捨てにMath.floorを使っていますが、チルダ演算子(~)を二度使っても同じことができるそうです。
Math.floor を使わずに小数を整数にする – IT戦記

dtタグをクリックすると隣接するddタグをスライドして開閉する方法(jQuery利用)+α


放置していたサイトをリニューアルしようとjQueryを勉強しています(プロバイダのサーバーで運用してたんですが、容量も少ないし、CGI動かすとなると別ドメインになるしとあまりよくないので、ここのドメインのサブドメインにして移転しようと思っています)。

というわけで今回はjQueryについて。用語や名前を意味するdtタグをクリックすると、その下のddタグを開閉させる方法についてです。まず、最初にページを開いた時にはddタグは閉じているものとします。

実行例

冬の次の季節
春の次の季節
夏の次の季節
秋の次の季節

終わり。

としたいところですが、これだけでは何なのでもう少し改良してみます。
 URIにアンカー(ハッシュ)があると、ページを開いた時にアンカーに対応するdtタグの下のddタグを開くというものです。

実行例

右手
お箸を持つ方の手
左手
お箸を持たない方の手

右手
多分これでうまくいくはず。

なぜかここでやったら、dtタグじゃなくて、ddタグのほうにページが遷移しました。なんでだろう・・・。

大塚商会のイベントで行われたスマートデバイスのパネルディスカッション聴講してきた


【大阪会場】 パネルディスカッションスマートデバイスが切り拓く!新しいビジネススタイル徹底討論! | Smart Device Power Up Session | 大塚商会 実践ソリューションフェア2012 in 大阪
 2月15日に上記のパネルディスカッションを聴講してきました。パネリストは大阪電気通信大学総合情報学部デジタルゲーム学科教授の魚井宏高さん、ITジャーナリスト兼コンサルタントの林信行さん、ソフトバンクモバイル株式会社ビジネス推進統括部 シニアエヴァンジェリスト中山五輪男さんの三人。モデレータは株式会社大塚商会プロダクトプロモーション部AppleCLIP iPhoneBusinessNetworkコーナーキャスターの丸山義夫さんの進行でした。

イベントのハッシュタグ:#jsf2012kansai
 林信行さんのTwitter
 魚井宏高さんのTwitter
 中山五輪男さんのTwitter
 丸山義夫さんのTwitter

スマートデバイスの話といっても、ほとんどiPadやiPhoneについての話ばかりでした。そもそも、パネラーのみなさんの机にある機器がiPadやiPhoneやMacなど、アップル製品ばかり。パソコンはWindows、スマートフォンはAndroidな自分は少数派の人間に思えてきました(多分、そんなことないと思うのですが)。

中山さんによると、現在ソフトバンクではノートパソコンではなく、iPadで仕事をしているらしい。iPadにシンクライアントアプリを搭載し、それでサーバー内の自分のアカウントのWindowsを操作するのだとか。パソコンと違い、拡大縮小が簡単にできるので、見やすく使いやすいとのことでした。iPadは営業のプレゼンとしてぐらいしか使い道がないような気がしたのですが、普通の業務でもiPadに対応できることに驚きです。

また、中山さんによると神戸松蔭女子学院には、楽しみながら英語を勉強できるiPhoneアプリ、「CLiCKS」というものがあるらしい。
神戸松蔭インタビュー – 神戸松蔭ファンサイト Shoin!ウェブ
 このアプリの使い方で面白かったのは、学内のハンバーガーショップがこのアプリを活用していること。このアプリに問題を配信して、正解するとその店のクーポン券がもらえるという取組を行っているらしいです。英語の勉強もできて、クーポン券ももらえるという、面白い試みだと思いました。

林さんが紹介していたもので印象的なのはmillというiPhoneアプリ。
miilは、「食べること」をもっと楽しくするアプリです。 [miil.me]
 食べる物の写真を共有するサービスらしい。ライフログにいいかも。自分も写真を撮るときの音がもう少し小さければもっと撮ってるかもしれないのだけれども・・・。なお、このアプリは魚井さんも使っていて、林さんのiPhoneでデモをしようとしてもうまくいかなかったので、魚井さんのiPhoneに表示したアプリ画面を、林さんのiPhoneで撮影してスクリーンに投影していました。

その後、Googleの話。GoogleのスマートデバイスといえばAndroidだけれども、AndroidはiPhoneと違って機種によってボタンの位置や充電端子の位置が異なるので、なかなかデジタルオーディオ製品などとの融合が起きにくいとのことだ。再購入意欲でも、Androidの人が次もAndroidを買いたいといった割合は40%代だったのにたいして、iPhoneの人が次もiPhoneを買いたいといった割合は94%。で、アップルはもはや世界一の時価総額の会社で、マイクロソフトとGoogleを足したものよりも大きく・・・。って、やっぱりアップルの話になってしまった模様。

次に、魚井さんのパソコンを用いたゲーム制作の教育という話になった。Microsoft XNAというゲーム開発のためのツールを使ってゲーム制作をしているのだとか。でも、学生側は、iPhoneが人気なのでiPhoneアプリのゲームを作りたくなってきたらしく、『おいでよ?!DENTSU』というキャンパス紹介アプリを作ったそうです。
おいでよ?!DENTSU « 電ch! – 大阪電気通信大学チャンネル| 大学生による番組制作プロジェクト
 あれ、いつの間にかこちらもiPhoneの話に。

また、丸山さんによると、大塚商会でも営業や技術の人にiPadやiPhoneを配布していらしく、それもソフトバンクの孫社長と同じく、社長の鶴の一声で始まったんだとか。そうそう。社長の一声といえば、孫社長の「やりましょう」。最近は頻度が減ってきたそうですが、あれは本当に社員の誰にも相談せずにツイートしているそうで、中山さんによると、孫社長の「やりましょう」に社員たちはビクビクしているとのことでした。

最後にどこかから質問が。やけに長い質問で、3分ぐらい話し続けていたのだけれども、どうやらAppleがGoogleが倒産するならどちらがマシかということを聞きたかったらしい。林さんによると、どちらかというとGoogleがつぶれたら困るとのことでした。にしても、なぜこんな質問をしようと思ったのだろうか。「半導体業界はアップルが牛耳っている」だとかいろいろなことを言っていたような気はするのだけれども、それを聞いてどうするのかというのはよく分からなかった。ただの興味本位だったのだろか。

なお、他のセミナーや展示は見てません。確か、一昨年に行われた同イベントはいろいろ見て回って、いろんな物をもらったような気がするのですが。昼から仕事だったので。

最近は、放置していたサイトのリニューアル作業をしています


タイトルのとおり、最近は昔作ったものの、最近は全く更新せずに放置しているサイトをリニューアルしようといそしんでいます。そのため、微妙にここのブログの更新が滞っているわけです。でも、正直これからも随時更新するとは思えない。で、考えたのが自分が更新しなくても、見た目は変化するサイトがほしい。できたら、情報の変化。と思って、Google Feed APIを使ったりしてます(そのため前回の記事はGoogle Feed APIについてだったわけです)。

他にもいろいろ新しいことをしてみようと、jQueryも使いはじめて勉強中です。なんだかjQuery使わないと、取り残された感が最近してくるので・・・。

以上、特に更新する必要のない簡易更新でした。

APIキーが不要らしいので、Google Feed APIを使ってみる


Sign-up for an API Key – Google Loader — Google Developers
多分、上記のリンク先に、不要ということが書いてあるはず(英語分からない)。多分、このGoogle Loaderというものの中に、Google Feed APIも入ってるはず。左の”APIs Using the Loader”をクリックしたら、”Google Feed API”の説明ページへのリンクが表示されるし。

というわけで、最近ちょっと気になってきたので『Google Feed API』を使ってみることに。勉強をするにあたって、参考にしたサイトは以下。
Google AJAX Feed API入門

これは確かに使いやすい。複数取得してくれるgoogle.feeds.FeedControlクラスというのもあるらしいので、こっちも使ってみるか。別に運営しているサイトの話だけど。

それにしても、WordPress・・・。ダブルクォテーションをシングルクォテーションに(もしくはその逆に)勝手に変換することがあるらしく、なぜうまくいかないのか、どうやったらうまくいくか試行錯誤して、結局外部ファイルに置くことに。何かうまい方法はないのだろうか・・・。