development

テキストファイル処理の逆引き辞典的な何か

対象の形式とCLIツール 対象の操作 形式別のまとめ plain text select/filter update delete merge/override/append JSON インストール select/filter update delete YAML インストール select/filter update delete XML インストール select/filter update …

QuarkusのSpring Integrationとネイティブ実行可能ファイル作成とコンテナイメージ作成を実験

QuarkusのSpringインテグレーション機能 プロジェクトの生成 ネイティブ実行可能ファイルの作成 コンテナイメージの作成 Javaアプリケーションとしてコンテナイメージを作成 ネイティブ実行可能ファイルからコンテナイメージを作成 QuarkusプロジェクトにSpr…

第3回 The Software Architect Elevator 読書会@リモート

learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 今回は 9. Architecture Is Selling Options(第9章 アーキテクチャはオプション取引) から。 javaee-study.connpass.com 次回は4/17(土)、14. If Software Eats …

Spring Native(ベータ版)が公開されたので実験してみた

目標 環境 [OK] Getting Startedで動作を確認 [NG] samplesの何かで動作を確認 [OK] samplesの何かで動作を確認 準備 実験 [OK] Spring Initializrでプロジェクトを作って動作を確認 参考リンク 目標 Getting Startedで動作を確認 samplesの何かで動作を確認…

テストの実践知識を学べる「Fifty Quick Ideas To Improve Your Tests」

今月から非公開グループで読書会することになった Fifty Quick Ideas To Improve Your Tests が好印象だったのでメモ。 Fifty Quick Ideas To Improve Your User Tests -- Fifty Quick Ideas Books テストの概念や技法ではなく、利用者の役に立つソフトウェ…

Javaプロジェクトのビルドツール、Gradleにするか、Mavenにするか

最近になって突然理解した。 選択するときは、柔軟性とAPIの安定性のトレードオフを考えないといけない。 総合評価 「成果物のビルド」を改善する意思と時間の有無に応じて選択するとよさそう。 消極的な姿勢なら Maven を、前向きな姿勢なら Gradle を採用…

第2回 The Software Architect Elevator 読書会@リモートのログ

learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 今回は 04. Enterprise Architect or Architect in the Enterprise? から。 javaee-study.connpass.com 次回は3/13(土)、9. Architecture Is Selling Options から…

第1回 The Software Architect Elevator 読書会@リモートのログ

learning.oreilly.com learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 今回は Chaos Engineering の補習をしてから The Software Architect Elevator に進む。 次回は 04. Enterprise Architect or Architect in …

2020-12 にキーワード「Software Testing」でヒットした最近の本

某読書会で読む機会があると助かるやつ! www.amazon.com www.amazon.com www.amazon.com www.amazon.com www.amazon.com www.amazon.com www.amazon.com www.amazon.com www.amazon.com

第9回 Chaos Engieering 読書会@リモートのログ

learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 こちらのリストで次の本を検討してます。 次回は 20. The Case for Security Chaos Engineering から。読書会は最終回です。 javaee-study.connpass.com 同日に Th…

testcontainers のための Docker への接続情報を環境変数で指定する

前提 Java プロジェクト ビルドツールは Gradle テストコードで testcontainers-java を使ってる 課題 利用する Docker は環境変数で制御したい なるべく既存の環境変数は変更したくない 解決方法 環境変数をいい感じに解決するため dotenv-gradle を利用す…

KPT の K が溢れそうなときにやること

何度か KPT をやったことはあるけど、こういう考え方をしたことも教えてもらったこともなかったのでやったほうがいいよ。 KPT は期待する振る舞いとその結果を可視化する Keep にはそうすることが自分たちに価値のある行動が集まっていく 自分たちに価値のあ…

Sonarqube REST API の OpenAPI 定義を書いた

趣旨 Sonarqube の管理系操作を別のプログラムで実現しようと思った /api にアクセスするとそれっぽい API 定義をダウンロードできる 人間にも読める感じだけどそのままでは扱えない感じ べたにクライアントを実装するのはつまらないから、OpenAPI で API 定…

PCでもQRコードを読みたい

背景 オンラインイベントで資料のリンクをQRコードで紹介する場合がある いちいちスマートフォンのQRコードスキャナからリンクをPCへ送信するのは面倒 PCでQRコードを読めるようにすればいい ついでに自分でもQRコードを作れるとなおよい 解決方法 QRコード…

JPA のエンティティクラスに必要なデフォルトコンストラクタは直接記述する

JPA のエンティティクラスにデフォルトコンストラクタとして Lombok の @NoArgsConstructorを利用すると開発の邪魔になる問題が発生するので使わないほうがいい。 @Entity @Table(name = "staff") @Data @AllArgsConstructor @NoArgsConstructor(onConstruct…

HashiCorp Waypoint のドキュメントを読んだ

リンク Announcing HashiCorp Waypoint Waypoint by HashiCorp GitHub - hashicorp/waypoint: A tool to build, deploy, and release any application on any platform. GitHub - hashicorp/waypoint-examples: Example Apps that can be deployed with Wayp…

Oracle Developers Live Java 視聴ログ

developer.oracle.com Java 15 のリリースに合わせて開催されたオンラインイベントのセッション動画が公開されたので面白かったところのメモ。 Java Language Futures—Mid 2020 Edition (35:32) ZGC: The Next Generation Low-Latency Garbage Collector (39…

testcontainers のための Docker への接続情報を環境変数で指定する

前提 Java (Kotlin) プロジェクト ビルドツールは Gradle テストコードで testcontainers-java を使ってる 課題 利用する Docker は環境変数で制御したい なるべく既存の環境変数は変更したくない 解決方法 環境変数をいい感じに解決するため dotenv-gradle …

Java で1つのソースコードファイルに複数のクラスを記述する

実験で書いてみましたが業務で利用するといろんな人がびっくりするのでやめましょう テストコードならありなのかなぁ 前書き的なやつ 理屈 実践 前書き的なやつ よくライブコーディングで見かけるやつが気になったので整理しました。 Java でも 1 つのソース…

banner コマンド 2020

banner コマンドは 1990 年より前に開発されたコマンドで、今は Cedar Solutions という会社がソースコードを保有しているようです。 こんな風に指定した文字列を大きな文字にしてくれるコマンドです。サーバー作業手順書で見かけたことのある人がいるかもし…

Spring Framework のアプリケーションを停止したときの振る舞い

Spring Framework で実装したアプリケーションを停止するときに何が起きているのか整理しました。 具体的な停止方法については Shutdown a Spring Boot Application(Baeldung) にまとまっているので参照してください。 要点 Spring Framework のアプリケーシ…

コマンドの終了ステータスあれこれ

bash: GNU Bourne-Again Shell パイプで連結したコマンド文字列の終了ステータス パイプで連結したコマンド文字列の終了ステータスは、最後に実行したコマンドの終了ステータスになる パイプで連結したそれぞれの終了ステータスが知りたいときは予約変数の P…

コンテナやサーバー、アプリケーションの依存ライブラリの脆弱性を Trivy でチェックする

情報 github.com/aquasecurity/trivy knqyf263's blog 趣味で作ったソフトウェアが海外企業に買われるまでの話が有名 対象の OS Alpine / Red Hat UBI (Universal Base Image) / Red Hat Enterprise Linux / CentOS / Oracle Linux / Debian / Ubuntu / Amaz…

不具合対応と障害対応の違い

前提 個人的な意見です。状況によって違う場合もあるのは当然です 想定する場面はソフトウェア開発プロジェクトです 何よりも大事なのは、関係者の間で同じ言葉を違う意味で捉えないようにすることです 不具合対応 fault recovery 不具合 = プログラムや設定…

利用できるオプションの異なる hostname コマンドに対応する

hostname コマンドには複数の形態があるためたまに困ることがあります。 GNU coreutils の hostname hostname invocation (GNU coreutils) hostname(1) - Linux manual page net-tools の hostname hostname(1) - Linux manual page 困ること MSYS には net-…

第5回 Chaos Engieering 読書会@リモートのログ

learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 合計 300 ページくらいのところを毎回 30 ページくらい進んでるので、全部で 10 回くらいになるのかなぁ。 次回は 9/12(土曜日)で、Part III Human Factors の 10 …

Java プロジェクトの依存ライブラリの脆弱性を OWASP Dependency Check でチェックする

用語 準備 dependency-check cli の使用例 いけてないところ スキャン対象が pom.xml や build.gradle ではなく jar や war Maven プラグイン の使用例 Gradle プラグイン の使用例 用語 OWASP The Open Waeb Application Security Project、という非営利団…

AWS CLI version 2 を準備する bash function

bitbucket.org ずっと放置してたけどやる気になったので準備した。 細かいエラー制御はしてないし、環境変数の調整も適当だけど、 awscli-install するだけで OK。 次のような動機がある人には有用かなと。 普段は Windows 10 + WSL2 な環境で過ごしてる AWS…

oracle/database:11.2.0.2-xe をビルドするときは buildkit を無効にする

状況 Oracle の公開しているリソースを利用すると Oracle Database 11g R2 (XE) のコンテナイメージをビルドできるみたいなので試してみた。 Docker daemon のバージョンはこんな感じ。 $ env|sort|grep DOCKER DOCKER_CERT_PATH=C:\Users\user\.minikube\ce…

第3回 Chaos Engieering 読書会@リモートのログ

learning.oreilly.com javaee-study.connpass.com 引き続き Discord によるオンライン開催。 合計 300 ページくらいのところを毎回 30 ページくらい進んでるので、全部で 10 回くらいになるのかなぁ。 次回は 7/18(土曜日)です。 javaee-study.connpass.com …