~saiya/hatenablog

No Code, No Life.

タイムゾーンを考慮した日時の扱いのベストプラクティス

www.m3tech.blog タイムゾーンについて盛り上がっている気がしたので書いてみました! 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になっているがユーザー層は日本時間である、といった理由でも …

Logger を Spring に DI させれば同じようなコードを毎回書かなくて済むしテスト記述性も改善できる

SLF4J などの Logger を使うときに、毎回以下のようなボイラープレートを書くのにうんざりしていませんか? 少なくとも私は大変うんざりしています: class TestController { // Kotlin Example companion object { private val log = LoggerFactory.getLogge…

英字配列キーボードな Mac でのキーボード設定 (with Windows VM)

Mac

Macbook を買う際には英字配列キーボードにしているのだが、その際のキーボード設定のやり方を毎回忘れてしまうのでメモがてら記事にした。 この設定をすることで、英字キーボードでありながら、日本語入力の On/Off を素早く切り替えることが可能になる。 …

ENV.fetch のすすめ

Ruby にて環境変数の値を使う場合には ENV.fetch を使うと良いのではないか、という小ネタ。 そうすることで環境変数が存在しないエラーを早期に検知できる上、エラーの根本原因が例外に反映されるので分かりやすくなる。 この2行だけでほぼ言い尽くしてしま…

MySQL Connector/J (JDBC ドライバ)の罠まとめ

MySQL JDBC ドライバ(MySQL Connector/J)、Java で MySQL といえばまずコレだが、これまた地味に罠が多い(そして多くの人が踏んで苦しむ)のでまとめてみた。 (2015/03/19) こちら のコメント欄でご指摘ただいた wait_timeout の件について記事修正いたしまし…

Objects#requireNonNull による null チェックのススメ

コンストラクタ・メソッドを書く際、引数が null になっていないかのチェックを書くのがめんどくさくて省略してしまうことはないだろうか? ...少なくとも私はめんどくさくて多くの場合省略してしまっていた。 しかし、Java 7 以降に入った Objects クラスな…

SimpleDateFormat の罠まとめ & 対策コード例

公式ドキュメント:SimpleDateFormat (Java Platform SE 8) 便利かつ頻繁に利用される SimpleDateFormat クラスだが、実際のところ罠が多い。 知らずに罠を踏んでいる事例を身の回りで何度も目にした上に、罠を網羅的にまとめた記事が少ないことに気がついた…