WIP: Gradleの機能でどこまでビルド性能が改善するのか
Gradleの --parallelやJUnit並列実行、Configuration Cacheなどがどの程度ビルド性能を改善するのか、いくつかのOSSで実測してみた。利用した機能の概要は以下オフィシャルサイトを参照のこと。docs.gradle.orgSonarQubeの事例バージョン 9.0.1.46107リリース後の...
View Article2021年のOSS活動状況まとめ
昨年のに引き続きOSS活動状況をまとめます。2021年12月20日時点の情報です。概要:昨年比30%増GitHubのプロファイルページによると今年のpublic contributionsは1,865で、昨年が1,440だったので約30%増です。commit 63%のpull requests 12%なので、引き続き手を動かしてコードを書けたと思います。my GitHub profile...
View ArticleJavaScript Actionsをnode16で動かすようにする
この記事はCI/CD Advent Calendar 2021に参加しています。先日GitHub ActionsがNodeJS v12のみならずv16でも動くようになりました。github.com今まではNodeJS v12しかサポートされていませんでしたが、このv12は来年の4月でサポートが切れます。速やかにv16に移行したほうが良さそうですね。必要な作業は actions.ymlの...
View Article--add-exportsをMaven/Gradleで使う
--add-exportsなんてオプションは使わないに越したことはないのですが、依存先ライブラリの都合でどうしても必要という私のような人のためのメモ。ポイントは javacだけでなく javadocないし...
View ArticleGradle/Kotlinで開発する私的ベストプラクティス2022
こちらのエントリーが素敵だなと思ったので、最近書いてるKotlinプロジェクトのベストプラクティスをまとめてみます。一部はJavaプロジェクトにおいても利用できるはずです。zenn.dev基本方針参加障壁を下げる。OSSプロジェクトでもプロプライエタリ・ソフトウェアプロジェクトでも、新しい開発者が参加するコストを下げることには大きな意義がある。環境差異を吸収する。javaにPATHが通ってさえいれば...
View Articleリリース自動化の嬉しみとその手法
DevOpsやCIOps、GitOpsなどを通じて生産性向上を突き詰めていくと、コンパイルやテストだけではなくリリースまで自動したくなってきます。リリースには必要な作業が多く、また頻度も高くないため毎回思い出したり間違えたりが発生するためです。特に変更内容をまとめて文書化する作業は、利用者に対する影響度もその煩雑さも高いため、自動化できれば文書の品質向上やリリース頻度の向上に大きく貢献できます。本記...
View Article「非nullのint配列」をアノテーションで表すのは `@NonNull int[]` ではない
正解は int @NonNull []です。な、なんだってー!本当です。Java言語仕様書にも記載がありますが、配列を修飾する場合は []の手前にアノテーションを書く必要があります。JVM仕様書に記載の例のほうがわかりやすいかもしれません:@Foo String[][] // Annotates the class type String String @Foo [][] // Annotates...
View Articleオブジェクト指向か関数型か、という話題に私達はどう接するべきか
私がコードを書くときには「オブジェクト指向でいくか、それとも関数型か?」みたいなことはほとんど気にしていません。特にオブジェクト指向については人によって定義から違うこともままあるため、この手の議論がとても遠回りになることも多いと感じます。ただきしださんのLT資料を拝見して、もしかしたらまだ需要があるのかなということで、この話題にどう接するべきか考えていることを書いてみます。どう書くべきかはコンテキス...
View Article退職エントリ
14年勤めたソフトウェアベンダーを今月末で退職します。私が入社したころは新卒が3年で辞めるという話があって、漠然と自分も似たような感じになるのかもと思っていたので、まさかここまで長く在籍することになるとは想像していませんでした。お世話になった皆様、ありがとうございました。職場近影(2018年1月)一生に何度もあるイベントではないので、14年前に立てた入社目的を満足できたのかと、14年を経て自分の何が...
View Article13年ぶりにストレングスファインダーをやった
ストレングスファインダー、今はクリフトンストレングス(CliftonStrengths)と呼んでいるそうですが、13年前に新卒入社したときも本を買ってテストを受けたことがありました。当時は慎重さ・戦略性・規律性・内省・収集心が強みだという結果が出ていました。「あらゆる道のりには、危険や困難が待ち受けていると考えている。日課や秩序正しい計画に従うことを好み、決定や選択を行う時に細心の注意を払う。あらゆ...
View ArticleGitHub Actions 最近のやらかし一覧(2022年夏)
2020年のやらかし一覧に続いて、最近のやらかしも残しておきます。PRがマージされたときだけPR番号を取得しそこねるPR番号を取得するのに GITHUB_REFを使いがちですが、マージされたときだけはマージ先ブランチ名が入ってきてしまうので完全ではありません。# badon:pull_request:types:[ opened, synchronize, reopened, closed ] #...
View ArticleGradleのjvm-test-suiteプラグインがテスト周りの定型コードを排除するのに便利そう
Gradle v7.5の時点ではまだIncubating段階の機能ではあるのですが、Gradleの新しいプラグイン...
View Article医療向け基幹システムを提供するスタートアップに入社しました
前回の退職エントリに続けての入社エントリです。2022年7月1日より株式会社ヘンリーにSREとして入社しています。Java→Kotlin、AWS→GCP、Ansible→Terraformなど技術的には大きな変化を伴う転職でしたが、SREとしての観点や課題解決プロセスへの習熟、そして持ち前のひとがらのよさ(なぜか変換できない)などのポータブルなアビリティに助けられて2ヶ月生きています。このエントリー...
View Article2022年のOSS活動状況まとめ
昨年のに引き続きOSS活動状況をまとめます。2022年12月20日時点の情報です。概要:OSS活動は減ったGitHubのプロファイルページによると今年は4,513 contributionsでした。ただこれはprivate repoでの活動を含む値で、これを除くと1,263...
View Article2022年に試した開発ワークフロー関係の機能やツール
数えてみたら意外と数あったのでまとめます。release-please Google謹製のリリース自動化ツール。monorepo対応のRelease Drafterという感じですが、リリースはDraft Releaseの安定版への昇格ではなく、PRのマージによって行います。PRでリリースするという点ではgit-pr-releaseぽいですが、ブランチは main...
View Articleパッケージなメガベンチャーから医療機関向けサービスを提供するスタートアップに転職して6ヶ月して感じたこと
いよいよ試用期間が終わりまして、ドメイン知識はともかく同僚の働き方はだいぶ掴めてきた気がします。6ヶ月何をやっていたかは会社の方のブログに書いたので、こちらでは感じたことを書いておきます。なお入社2ヶ月時点での所感を別の記事に記載しています。文脈人事給与,会計や購買管理といったERPをメインとしたパッケージベンダーから、医療機関向けERPを提供するスタートアップに転職したSaaSを製品ラインナップに...
View ArticleMaven4の動向メモ
Maven 4は2年近く前から開発されていて、最近alphaバージョンがリリースされています。自分がMavenを使うことは殆ど無いとは思うのですが、傾向だけでも把握しておきたくてリリースノートやメーリングリストに潜ってみました。4.0.0-alpha2 Release Notes4.0.0-alpha3 Release...
View ArticleCloud RunがImage not foundと言ったときの原因事例集
Cloud Runはとても便利なのですが、エラーメッセージがわかりにくいことがあります。特にデプロイしたときに遭遇するこちらのエラーが厄介です:ERROR: (gcloud.run.deploy) Image 'asia-northeast1-docker.pkg.dev/foo/bar/baz' not...
View Article