フォローアップ講習 web/js甘口part5イベントハンドラ/コンピュータと日付と時刻

uchiumiです。

今回のフォローアップは、JS甘口講座「イベントハンドラについて」と、コンピュータと時刻、日付についてになります。
詳しい内容は「ディノオープンラボラトリ」にて公開予定ですので、そちらをご覧下さい。

イベントハンドラについて

イベントハンドラとは、〜したら〜するという意味らしいです。
そしてjavascriptとdomとイベントハンドラの特性を掴んでしまえば、仕事ができる子になれるとのことでした。
しっかり身に付けてできる子になりたいですね。

イベントハンドラによってはもれなく引数がついてくる
ユーザーの操作が伴うイベントハンドラは、イベントを起こしたオブジェクトが引数として取得できます。
自分は全てのイベントハンドラで使えると思っていたのですが、そんなこともないんですね。
関数を呼び出している方で引数を渡してないのに引数があるというのははじめ違和感がありましたが、今では有り難くて便利だなと思っています。
クリックされた座標を取得したり、どのオブジェクトがクリックされたのかというのがわかるのでとても夢が広がります♪

またonloadイベントが2つ合った場合の処理についても教えて頂きました。
ライブラリを使わない場合、onloadイベントがすでにあるかどうかを判定しなければならなかったりしてとても面倒なので、やはりライブラリは便利だし使った方がいいということを実感しました。

時刻、日付について

サーバの時間合わせは水晶で行っているのですね。
初めて知ってちょっとびっくりしました。
水晶はサーバによって形などが異なるので、それによりサーバ毎に時間がずれてしまうことがあります。
これはNTPというプロトコルで合わせることができるのですが、時間がずれ過ぎていたりするとcronの処理が実行されないなどの問題もあるため、手動で行う必要があるとのことでした。
時間がずれてしまうので合わせなければならないということを初めて知ったので、これからは意識してみたいと思います。

時刻、日付処理には気をつける!
仕様が「1ヶ月後」に何かをするというものを、mktime()に頼って「mktime($month+1, $day);」などどしてしまうと、1月30日あたりの1ヶ月後がmktime()の優しさで3月2日などになってしまいます。でも2月1日の1ヶ月後は3月1日に・・・これは確かにおかしいですね。
phpでカレンダーを作っていた時もそうでしたが、なんとなく大丈夫だろうという漠然な認識だと、必ずどこか指摘されるようなものになってしまうと感じました。
他にも2038年問題など気にしなければならない部分がたくさんあるので、時刻や日付を扱う仕様があったときは十分に気を付けていきたいと思います!

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree