Humanity

Edit the world by your favorite way

2016-10-01から1ヶ月間の記事一覧

GitLab 運用して起こったエラー対処法

tyru.hatenablog.com tyru.hatenablog.com の後日録です。 あと、今日ちょうど GitLab の新バージョンが出たようです。 GitLab 8.13 Released with Multiple Issue Boards and Merge Conflict Editor | GitLab 同時に git push した場合のエラー gitlab.com …

Spring でリクエストボディの JSON に対してバリデーションを行う

問題 Spring でリクエストボディの JSON に対して共通のバリデーション処理を行うに当たって、まずは問題がある。 @ControllerAdvice を使うと、コントローラーが実行される前にバリデーションなどの共通処理を行うことができるが、 @ControllerAdvice で実…

Java のマルチスレッドに関する本を読んだ

並行処理に限る訳ではないけど、ここに挙げた本読めば Java でそこそこ安全にマルチスレッドなプログラム書けそうな気がしてくる。 まぁ実際並行・並列処理は量書いて身につけないとしょうがないけど… ぶっちゃけて言えば、読む前から変わらなかった意見は「…

Java 8 でインスタンスを遅延して構築するいくつかの方法

シングルトンを構築するには、enum を使うのがスレッドセーフだしお手軽です。 なぜなら enum の初期化は1つのスレッドから1度だけ行われると規定されているからです。 また、コンストラクタを private にしてもコンパイルエラーにはならず、何の問題もなく…

JMX とそのユースケース等について

監視によく使われる できること 値の(クライアントから見た)プル 値の変更 値のプッシュ 閾値を超えた段階での(クライアントへの)通知 代替案 プルや値の変更は REST API とか作ればできる プッシュや通知はロギングや MQ 等のミドルウェア、または MBaa…

「常に」ファクトリーメソッドにするべきか?

ファクトリーメソッドのメリット 毎回インスタンス生成しなくてもいい Flyweight パターンの様にキャッシュ コンストラクタではジェネリクス引数の型を記述しなければならないが、メソッドなら引数の型を勝手に推論してくれるので記述する必要がない(C++ と…