Usual Software Engineer

よくあるソフトウェアエンジニアのブログ

Java

CircleCI 上の Gradle テストが exit value 137 で失敗する時の対処法

サボリ気味なので3月分のブログです。 今回は Gradle と CircleCI の小ネタです。 CircleCI 上で Java のビルドやテストのために Gradle を実行していて、ある日から以下のようなエラーが発生するようになりました。 * What went wrong: Execution failed fo…

Protocol Buffers の oneof で message の形式変更に耐える

若干タイトルが迷子な気がしますが、大きいことを言っているようで細かい話になります。 最近 grpc-java で protobuf の oneof の機能を使っていて疑問に思ったことがあったので試してみた記事になります。 その疑問とは、 oneof を使えば message のフィー…

Java マイクロサービス用のライブラリ Helidon

最近 Helidon という Java のマイクロサービス用の OSS があるのを知って少し使ってみました。 例のごとく遅れた 11 月分のブログになります。 Helidon さっそく Helidon についてですが、 Oracle の OSS で Java でサクッとマイクロサービスを作るときに役…

Gradle のデフォルトの locale を変更する方法

小ネタにもほどがある、って感じではありますが最近あまり余裕がないので良しとしましょうw 自身のマシンの言語設定は日本語のままにしておきたいけれど、開発の時に目に触れるメッセージは英語にしたいという人、多いのではないかと思います。 17:19:12: E…

jOOQ で audit フィールドを自動的に更新する方法

jOOQ 便利ですよね。 Java の ORM としては定番と言えるライブラリではありますが、 created_at や updated_at といった audit カラムを特に手動でセットせずとも、 自動的に更新したいというありがちなニーズに対応する方法が簡単には見つけられない気がし…

IntelliJ IDEAでWildflyアプリケーションを動かす

小ネタです。 Java の Web アプリケーションを開発している場合、 IntelliJ IDEA 上で Tomcat や Jetty を動かして Web アプリケーションの動作確認を行うことがあると思います。 今回は Wildfly で同じことをやってみます。 Wildfly はおなじみだけど馴染み…

リバースプロキシのテストを書く方法

6月30日です。今日で6月も終わりです。でっていう。 Nginx や OpenResty 、 Varnish などをリバースプロキシとして使用していることが多いと思いますが、 リバースプロキシ単体で設定が正しいかどうかをテストするのって難しそうなイメージがありませんか? …

Spring BootでWebじゃないコマンドラインアプリケーションを作る

JavaでMVCなWebアプリケーションを作成する時にSpringはとても便利で定番かと思います。 中でもSpring Bootは従来のwarにかためてサーブレットコンテナのTomcatやJetty上で動かすだけでなく、 それだけで動作可能なjarを作ることも可能なため、近年よく使わ…

Gradleでdependencies無しの独自pom.xmlを生成する

小ネタです。 GradleでJavaのプロジェクトを作成する時に、何らかの理由でpom.xmlを生成したい時があるかと思います。 僕の場合はDroolsのWorkbenchにjarをアップロードするためにそのjarに独自のpom.xmlを含めたかったのですが、それにはちょっとしたテクニ…

No XMLなSpring Web Applicationとspring-data-jpaのサンプル

久々にJavaのwebアプリケーション実装してみたら全然覚えていなくて リハビリがかなりつらかったです。悲しみ。 特にブログ書くことはないのだけれど定番のXMLなしのSpringアプリケーションと spring-data-jpaを使ったWeb APIの実装をテンプレ的に残しておき…