ja_JP.UTF-8ロケールを指定したPostgreSQL Dockerコンテナを作る
Docker for Mac で 日本語locale設定を含む PostgreSQL を構築 - Qiita を参考にした。
要点
DockerHubで配布されているPostgreSQLコミュニティ公式のDockerイメージでは、日本語ロケールが有効になってない。よって、有効化したイメージを作成(ビルド)する。
イメージの作成
ここでは、公式のPostgreSQL 9.6.1イメージをベースとして、9.6.1_jaという名前のイメージを作成する。
- 任意の空ディレクトリを作る。以後、このディレクトリ内で作業する。
次の通りDockerfileを作成する。
FROM postgres:9.6.1 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 ENV LANG ja_JP.utf8
ビルドする。
docker build -t postgres:9.6.1_ja .
コンテナの起動
initdbの引数を指定してコンテナを起動する。--nameは自分の管理しやすい名称にする(つけなくても良い)。
docker run --name xxxxxxxx -d -p 5432:5432 -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=ja_JP.UTF-8" postgres:9.6.1_ja
2019-10-03 追記
どうやらPostgreSQL 10.xのコンテナイメージでは、POSTGRES_INITDB_ARGS の指定が不要になったっぽい。localedef と 環境変数の設定は引き続き必要。
IntelliJ IDEA 2016.2でEclipse Compiler for Java(ECJ) + Lombokを有効にする
この問題に対応してる時にやり方を覚えた副産物。
javacからECJにするとコンパイルが速くなるっぽいのと、いろいろ警告を出してくれるようになる。ただ、ECJとjavacは挙動が違うので、注意は必要。
前提
- Lombok Plugin インストール済み
ECJへの切り替え方
Build, Execution, Development > Compiler > Java Compiler
のUse compiler
をEclipse
にする。Build, Execution, Development > Compiler > Annotation Processors
でEnable annotation processing
を有効にする。Build, Execution, Development > Compiler
のShared build process VM options:
に-javaagent:lombok.jar
を設定する。(lombok.jar
はフルパスで指定)
効果
- 設定前(javac):Compilation completed successfully in 37s 546ms
- 設定後(ECJ):Compilation completed successfully with 723 warnings in 31s 306ms
自動生成したコードがwarning出しまくっているが、まぁ速くなったっぽい
参考ページ
IntelliJ IDEAでGradleプロジェクトをインポートしたときにクラスパスが反映されない問題へのワークアラウンド
GradleでSpring BootやらLombokやらを組み合わせたマルチプロジェクトを作っていて、なぜかIntelliJ IDEA側にclasspathがうまいこと反映されない問題が生じていた(Gradle上でのビルドは通るが、IntelliJ IDEA上ではコンパイルエラーと出る)。
都度、IDEからadd classpathをすれば動いてはいたのだけど、ビルドスクリプトを弄るたびにclasspathがぶっ壊れて、手動操作が必要になるのはだるいので、解決策を探して色々試したところ、以下で行けた。
// IntelliJ IDEA用のワークアラウンド // dependencies編集後にIntelliJ IDEA上のみでコンパイルエラーが生じる場合は、providedを追記してください apply plugin: 'idea' configurations { provided } dependencies { provided "org.projectlombok:lombok:1.16.10" provided "org.slf4j:slf4j-api:1.7.21" provided "org.springframework:spring-beans:4.3.3.RELEASE" provided "org.springframework:spring-context:4.3.3.RELEASE" } idea { module { scopes.PROVIDED.plus += [configurations.provided] } }
参考ページ
- Gradle 2.0 以降と IDEA プラグインで Configuration として provided を定義して idea.module のスコープに追加すると ClassCastException が発生する - Qiita
- Gradle 2.0 idea plugin: adding a custom configuration to scope throws ClassCastException - Old Forum - Gradle Forums
- https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html
システム全体のキャプチャを無効化してFiddlerを起動する
起動するたびにF12を押すのもだるいのでやり方を定期的に探してたのだけど、やっと見つけた。
コマンドラインオプションに -noattach
をつけるか、Tools > Fiddler Options
の Connections > Act as system proxy on startup
をOFFにする。
会社で営業用ポロシャツ作った
6月ぐらいにはできていたんですが、なんだか忙しい状況が続いていて、やっとブログに書いている次第。
実物イメージ
表面
裏面
出来栄えは満足です。展示会に出展しとるときは、これを着てる。
発注情報
オリジナルTシャツ 作成が早い【即日】|タカハマライフアート
- ドライライトポロシャツ(ターコイズ)
- M5枚、L5枚(1,750円×10枚)
- プリント代
- 2,450円×10枚
- 計 36,200円
de:code 2016で気になったポイント
全体的な感想
- ナデラ来た、ナデラ以外にも本社の人間たくさんきた。ここ数年で考えたら偉いパワーが入ってる感じをすごく受ける。
- 基調講演ではConversation (as a Platform)、BOT、DevOpsが特に押されていた印象。
- イベント全体ではDevOpsの印象が強かった(牛尾さんパワーと豪華メンバーを連れてきたというのがある)
- 一方でIoTの印象が弱かった。ロボティクス自体はそれなりに印象があるんだけど。ただし、これはバイアスがかかってるかも。
- UWP, Azure, Office365は相変わらず。Xamarinは勢いを感じた。
- 富士通がスポンサーから消えて、日系メーカーは全滅になった。メジャーなPCメーカーはDELLぐらい。
その他、個人レベルの感想
- 分散システムとか触ってる人間としては、Contractの勉強しないといけない気分になった
- 荒井さんマジ荒井さん