Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

2024年に読んでよかった本

医療関係 「看護覚え書」ナイチンゲールが書いた本ということで、初心を理解するのに良いかなと思って購入しました。超人ナイチンゲール (シリーズ ケアをひらく)と合わせて、現代看護の成り立ちみたいなものに触れる良い機会になりました。システム実装やド…

Kotlinからお手製Javaライブラリを呼んでる人のためのJSpecify入門

これはKotlin Advent Calendar 20242日目の記事です。前日は id:take7010 さんの「KotlinとOpenAI APIで領収書の情報を抽出する」でした。 先日Kotlin愛好会オンラインでJSpecify入門について話しました。JSpecifyについては3年前のJJUG CCCでも話しましたが…

情報処理安全確保支援士になりました

今月より晴れて、情報処理安全確保支援士(登録番号028693)を名乗れるようになりました。昨年取った医療情報技師と合わせて、医療情報システムの情報処理安全についてのプロフェッショナルであることをある程度の説得力を持って説明できるようになったと考…

Gradle用のGitHub Actions勘どころ(2024年夏)

前回に引き続き以下略。 jarファイルのビルドはコンテナの外で行う ビルドをコンテナの中で行う場合、工夫がなければ毎回はじめからコンテナのビルドが走ります。これはパフォーマンス上好ましくないので、GitHub Actionsのキャッシュ用APIだとかRepository …

プロジェクトを増減させやすいtfactionプロジェクトを書きたい

私はTerraformを使うときにtfactionを利用しています。tfactionはGitHub ActionsとS3やGCSのような永続層だけでTerraformをいい感じに管理できるのでオススメです。 suzuki-shunsuke.github.io ところでプロジェクトの増減はTerraformの難しいところだと思っ…

Javaで覚えておくと便利かもしれないクラス・インタフェース7つ

Twitterでこれ↓が流れてきて、あれーあのクラスは無いんだー、まぁ最低限と言われると違うかもなー。と思うのがあったので便乗。 nowokay.hatenablog.com java.util.Objects recordの導入で不要になってきたメソッドも多いが、引数の検証などでまだ出番があ…

組織変革を成功させるために脳科学を理解すると良いという話が面白かった

ハーバード・ビジネス・レビューで紹介されていた「CHANGE 組織はなぜ変われないのか」を読みました。ざっくり言うと、変化の早い時代における脅威と機会に組織として向き合う方法をまとめた本です。理論と実践が程よいバランスで書かれていて、現場のために…

自分のなかにあったリーダーシップに関する固定概念

自分のなかにあったマネジメントに関する固定概念の続き。リーダーシップに関する固定概念を棚卸しして自覚的になるためにまとめます。 リーダーシップとマネジメントの違い 自分の中ではこれはかなり明確です。私はVisionary Leadership and Strategic Mana…

自分のなかにあったマネジメントに関する固定概念

中途採用メインの会社に転職して、違うバックグラウンドのひととたくさん話すようになって、自分の中の固定概念というか思い込みや信念みたいなものがよく見えるので、それを言語化しておきたい。— 新米医療情報技師 (@Kengo_TODA) 2024年1月27日 固定概念、…

エコシステムにビルドツールがたくさんあるのは悪いことではない

JavaやNodeJSには多数のビルドツールがあります。ものによってはビルドツールではなくタスクランナーとかワークフローとか名前が付いてるかもしれませんが些細なことです、ここでは以下のようなツールのことをまとめてビルドツールと呼びます: Apache Ant A…

組織という仕組みで解決することの難しさ、あるいはマネジメントに超人を求めるのは間違っているだろうか

そりゃ間違ってるんだけど、ではどうするべきなのかが見えてないなぁという話です。 事業が大きくなると組織という仕組みの重要性が上がる 同僚が何千人といたメガベンチャーから社員数20数人のスタートアップに転職してから1.5年経ちました。ここまでに自分…

オープンソースソフトウェアのユーザに知っておいてほしいひとつのこと

あけましておめでとうございます。新年早々オープンソースソフトウェア関係でやねうら王さんの記事が流れてきました。同じオープンソースソフトウェアを手掛ける開発者として記載内容の大部分には賛同できないのですが、枝葉は置いといて主幹だと私が思う主…

はたらく人には自己成長と健康のためにコーチングがおすすめ

人の一生は重荷を負うて遠き道を行くがごとし、とは徳川家康の言葉らしいですね。この記事では人生という旅路を振り返ること無く歩んでしまうと自己成長と健康に良くないので、ちょいちょい振り返りをするといいですよ、そのためにはコーチングというものを…

JVMにおけるServiceLoaderとjavaagent

本エントリーはJava Advent Calendarシリーズ2の19日目です。 qiita.com OpenTelemetryの自動計装機能を調べていたら、 ServiceLoader とjavaagentを活用した実装になっていました。これ前知識がないと魔法に見えるやつだなって思ったのですが、 ServiceLoad…

2023年に読んでよかった本

記事にしたやつ 職場でオススメされた「両利きの経営」を読んで記事にしました。「知識創造企業」もオススメされているので来年読みたい。 blog.kengo-toda.jp 医療関係 医療関係エンジニアのはしくれとしてある程度の情報収集は心がけているのですが、今年…

2023年のOSS活動状況まとめ

昨年のに引き続きOSS活動状況をまとめます。2022年12月16日時点の情報です。 概要:OSS活動はもっと減った GitHubのプロファイルページによると今年は8,153 contributions、過去最多でした。ただこれはprivate repoでの活動を含む値で、これを除くと514 cont…

SLF4JとLogbackは2023年末現在で積極採用していいよ

2年前のブログが未だにブクマされるので、念のため掲題の件について書いておきます。 端的に書くと、あのブログで挙げた懸念事項が解消されたのでどんどん使うと良いと思います。 SLF4J v2の安定版がリリースされた 良かったですね。ちなみにv2.0.9から slf4…

プログラマのフルリモートワークにダジャレが向いている理由とその功罪

株式会社ヘンリーでSREなどをやっている id:eller です。 この記事は株式会社ヘンリーAdvent Calendar 2023の4日めの記事です。一昨日の記事はkobayangさんのアラートを早く上げる・早く拾うでした。 さて、以下は筆者の日頃の業務を切り取った図です。みな…

spotbugs-gradle-plugin v6の安定版をリリースしました

spotbugs-gradle-plugin v6のリリース候補版(RC版)をお試しください で紹介したバージョン6の安定版が出ました。 今回の大きな目的はGroovyとJavaの混成で書かれていたプロジェクトをKotlinで書き直すこと、最新のAndroid開発環境でのテストに対応すること…

AccelerateとState of DevOpsをもとにした、DevOps問題意識の移り変わり

Accelerate 第1版(以下単にAccelerateと呼ぶ)はDevOpsに関するトレンドを抑えるうえで基本となる本なのですが、もはや古く最新の知見が書いてあるとは言えません。State of DevOpsは毎年アップデートされているのですがコンテキストを丁寧には抑えてくれず…

新しくチームを持ったときに伝える、開発体制に求めること 2021

2021年に書いた下書きが出てきたので整理して供養します。今見るとチームが十分に大きいことを前提にしていますね(レビュアーを2人確保するとか)。 ぶっちゃけIndividual Contributor各位が快適に開発できれば何でもいいんですが、一応ビルドやリリース周…

プログラミング言語が抱える課題を解決するには言語を乗り換えるのが一番いい、かもしれない

この記事は集まれKotlin好き!Kotlin愛好会 vol.47の懇親会でちょっと触れた内容を、膨らましてブログ用にまとめ直したものです。 注意点として、Java用静的解析OSSの開発保守を長年やってきたJavaプログラマがKotlinに乗り換えて1年経ったころに書いている…

spotbugs-gradle-plugin v6のリリース候補版(RC版)をお試しください

spotbugs-gradle-plugin v6のリリース候補版(RC版)が出たので、GradleでSpotBugsを実行している方はぜひお試しください。 github.com 主なBreaking Changes effort と reportLevel を型安全に書けるようにした関係で、ビルドスクリプトの更新が必要なケー…

元toB系プログラマが医療情報技師の勉強をして面白かった部分

今年の医療情報技師能力検定試験に向けて、医学医療編・医療情報システム編の学習を進めてきました。toB系プログラマとして働き始めてから見てこなかった単語や発想がたくさんあって面白かったので、印象的だったところをまとめます。 医療現場はロールベー…

私がとあるOSS開発から手を引いた経緯

ホットな話題に乗っかって、私がSpotBugsというJava向け静的解析ツールのOSS開発から手を引いた理由をまとめてみます。 自分がJavaを使わなくなった 先のブログでも指摘されている通りで、自分がそのソフトウェアを必要としなくなったというのは大きな理由に…

ティール組織わからん、を掘り下げる

組織の話が好物なので色々読んできたのですが、結局ティール組織はよくわからないままでした。最初に本を読んだのが5年も前なんですね。 ティール組織は面白くなかったというか、個人的にはそこまで響かなかった。歴史書読んでるみたいな感覚で……。リーンス…

Threaddump, JFR, JMC周りの知識のアップデート

久々に古い知識を整理していて、けっこう更新されているものが多いのでここにまとめる。 JDK Mission Control (JMC) JMCはOracleのウェブサイトからダウンロードできる。 標準ではOS標準のロケールが利用される。UIを日本語化する場合は jmc.ini で user.lan…

Gradle用のGitHub Actions勘どころ(2023年夏)

前回書いたのがもう4年前でビビったのと、最近いろいろ進展があったのでまとめてみます。 actions/setup-java の依存キャッシュを使わない これ自分が実装した機能なのでホント申し訳ないんですけど、今なら gradle/gradle-build-action を使ったほうが良い…

両利きの経営を読んだ

両利きの経営(増補改訂版)―「二兎を追う」戦略が未来を切り拓くを読みました。自分の15年間の社会人経験は探索と深化が半々という感じだったこともあり、マネジメントに加えて現場の人間の感覚でも楽しく読むことができました。 この本の結論はとても単純…

Cloud RunがImage not foundと言ったときの原因事例集

Cloud Runはとても便利なのですが、エラーメッセージがわかりにくいことがあります。特にデプロイしたときに遭遇するこちらのエラーが厄介です: ERROR: (gcloud.run.deploy) Image 'asia-northeast1-docker.pkg.dev/foo/bar/baz' not found. コンテナを引っ…