ブログ

豆蔵エンジニアの技術ブログ

  • |ブログ|7 min read
    #java#apache-camel#spring-boot#DDD#MQTT#iot

    Spring Boot と Apache Camel の統合

    庄司です...

    記事を読む
  • |ブログ|4 min read
    #CI/CD#GitHub

    GitHub Actions - 再利用可能ワークフローと手動トリガーで入力値の扱いを統一

    これまで、GitHub Actions の手動トリガー(workflow_dispatch)では、入力値を扱う際、github.event.inputs.foo のように event コンテキストから値を取り出す必要がありました。 以前紹介した再利用可能ワークフロー(workflow_call)では、入力値を inputs.foo のように inputs コンテキストから取得します...

    記事を読む
  • |ブログ|3 min read
    #Analytics

    選択された結果を分析する(2項検定)

    皆さんは仕事やプライベートで「アンケート」への回答を求められた経験をお持ちだと思います。 アンケート回答方法としては複数の選択肢から選ぶもの、点数を付けるものなど様々でしょう。 回答する側から言わせてもらえれば、手間のかかるアンケートだと回答する気力が失せるので、回答の選択肢が「はい・いいえ」くらいの簡単なアンケートの方が応えやすいですね。 過去、大手フリマサイトの購入者・出品者の評価は「良い・普通・悪い」からの3択でしたが、現在は「良い・悪い」の2択になっているようです...

    記事を読む
  • |ブログ|4 min read
    #container#AWS#ECR

    Amazon ECRのライフサイクルポリシーで開発環境向けのイメージのみ削除する

    つい先日、EKSを利用している社内システムで、とあるPodが起動できない障害がありました。 単純な原因でしたが、恥ずかしながらECRのライフサイクルポリシーに関して理解できていなかったので、ここでは自戒の念を込めて投稿します。 原因 - ライフサイクルポリシー # 問題のPodの状態を探ってみると、PodからコンテナイメージのPullに失敗しているようでした。 さらに失敗原因を調べてるみると、コンテナレジストリ(ECR)に対象のイメージが存在していませんでした...

    記事を読む
  • 第2回 イベントストーミングとドメイン駆動設計の戦略的設計

    庄司です。 この記事は、「第1回 OpenAPI Generator を使ったコード生成」の続編です。 この記事のコードは、GitHub リポジトリに置いています。 前回の記事では、簡単に Spring Boot アプリが作成できるということを強調するためにシンプルな構成のコードにしていました。 ここで、少し現実感を持つために、このアプリケーションを利用するストーリーを描いてみます。 現在、ある宇宙船の設計を行なっています。人類が多惑星種となるために、この船には冬眠カプセルが装備されています...

    記事を読む
  • |ブログ|3 min read
    #k8s#container#rancher-desktop

    コンテナ内から Rancher Desktop のホストに接続する方法

    庄司です。 Rancher Desktop で実行しているコンテナ内からホストにアクセスしたくなる場合があります。 コンテナはそれぞれ固有のIPアドレスを持っています。コンテナをグルーピングして特定のコンテナ間でセキュアな通信もできます。これを応用してサイドカーパターンなどが実現できますが、逆にいうと、コンテナからホストにアクセスしたいと考えて localhost を指定してもそれは単にコンテナ自身をしているということになります...

    記事を読む
  • |ブログ|4 min read
    #Analytics

    転ばぬ先のベイズの定理

    前回のブログ記事でベイズ統計について簡単にご紹介しました。 今回はベイズ統計の基本中の基本である「ベイズの定理」について私の理解した範囲でご説明したいと思います。 ベイズの定理とは # ベイズの定理は以下の式で表されます。 ここでAとBは事象であり、式として成立するためにP(B)は0ではないです。 P(A|B)は「Bを前提としてAが発生する確率(事後確率)」を示します。(条件付き確率) P(B|A)は上記の逆で「Aを前提としてBが発生する確率」を示します...

    記事を読む
  • |ブログ|12 min read
    #java

    Java17にBump upしてみた - 使った/使わなかった新機能(前編)

    LTSのJava17が2021年9月に正式リリースされ9ヶ月経ちました。新しもの好きだけどハマるのも嫌いな私は様子見をしていましたが、気がつけばパッチバージョンも3に上がっている[1]ことから、そろそろ使ってみるか!ということで別の記事でも紹介しているMicroProfileのリファレンスアプリをJava11からJava17にBump upしてみました...

    記事を読む
  • |ブログ|7 min read
    #k8s#container#Security

    SealedSecretsでKubernetesコンテナのシークレット情報をGit管理する

    GitOpsが普及し、アプリケーションのソースコードだけでなく、インフラを含めた全ての構成情報をGitで管理して、ランタイム環境と同期を取ることが一般的になってきました。 そんなときに常に悩みの種となるのはシークレット情報です。 一般的にプロジェクトの資材にはデータベースのパスワードやAPIトークン、各種証明書等、Git管理に適さないものを含みます...

    記事を読む
  • |ブログ|7 min read
    #electron#playwright#テスト

    Electron アプリの E2E テストを Playwright で書く

    Electron アプリの E2E テストフレームワークとして Spectron というプロジェクトがありましたが、今年の2月に非推奨になりました。 Spectron 非推奨通知 | Electron Spectron が Electron のリリーススピードに追従できなくなってるというのは知っていましたので、「やはり。」という感想でした...

    記事を読む
  • 第1回 OpenAPI Generator を使ったコード生成

    庄司です。 REST API の仕様を記述する OpenAPI Specification があります。この仕様では、JSON または YAML で API の仕様を記述します。 この業界標準の仕様で API を定義すると、開発に利用しやすいフォーマットされたドキュメントの提供やテスト用のモックを提供できます。 この定義を使うツールに OpenAPI Generator があります...

    記事を読む
  • |ブログ|9 min read
    #k8s#container#AWS#Telepresence

    Telepresence - EKSのワークロードをローカル環境でデバッグする

    クラウド環境で動作しているアプリケーションのデバッグはどうしていますか? ローカル環境であれば、ローカルプロセスで起動したアプリに対してお気に入りのIDEで簡単にデバッグできますが、クラウド環境の場合はそうはいきません。 デバッグ用のコードを埋め込んでデプロイして、原因が分かったらコードを修正して、再びデプロイして。。...

    記事を読む
  • |ブログ|4 min read
    #Analytics

    ベイジアンの逆襲

    皆さんは「ベイズ統計」という言葉を聞いたことがあるでしょうか? 私が統計学を勉強した時は、統計と言えば「記述統計」か「推計統計」のことでした。 なので最初にベイズ統計という言葉を聞いた時も「ベイズ?何それ美味しいの?」っていう感じでした。 近年はベイズ統計やベイズの定理、ベイズ確率などの言葉を頻繁に聞くようになりました。 ベイズの理論を使って実用化されている物には「迷惑メールの振り分け機能」などがあり、様々な分野で利用されているようです...

    記事を読む
  • |ブログ|3 min read
    #k8s#container#macOS#rancher-desktop

    セキュリティソフト ESET を利用している環境で Rancher Desktop (lima) を使う

    庄司です。 皆さんは mac でセキュリティ対策ソフトウェアに何をお使いでしょうか。私は ESET を使用しています。 ESET のファイアウォール機能を有効にして Docker Desktop の代替として Rancher Desktop や lima を使用していると、イメージを pull するときにエラーが発生し困ったことがあり、その回避方法について調べてみました。 --> Warningこの記事では、ファイアウォールにアプリケーションを許可する方法で回避する手順を示しています...

    記事を読む
  • |ブログ|3 min read
    #Analytics

    仮説検定はなぜ遠回りするのか

    今回は統計解析の原点に立ち戻って「仮説検定」について私が理解した範囲でご説明したいと思います。 仮説検定とは # 統計解析の勉強を始めて一番最初に引っかかる概念に「仮説検定」があります。 私は最初に仮説検定の話を聞いたときに「なんて回りくどい解法なんだろう」と思いました。 仮説検定とは、簡単にいうと「ある仮説を立てて、その仮説が正しいか正しくないかを統計学を用いて検証する」手法です。 仮説検定には「帰無仮説」「対立仮説」というものが出てきます...

    記事を読む
  • |ブログ|13 min read
    #テスト#junit

    JUnit5のExtension実装 - テストライフサイクルコールバックと引数の解決

    JUnit5がリリースされてから5年近く経ちましたが、皆さんはもう乗り換えましたか?私も遅ればせながら1年くらい前から本格的に使い始めましたがJUnit5便利ですよね。@Nestedのテストのカテゴリ化や@ParameterizedTestによるパラメタライズドテストなどJUnit5から入った便利な機能はいくつもありますが、その中でも筆者が特に気に入っているのはExtensionによるテストライフサイクルコールバックの拡張と引数の解決です...

    記事を読む
  • |ブログ|4 min read
    #Analytics

    線形回帰を疑ってかかるこれだけの理由

    今回は「線形回帰」について解説します。 皆さんは「回帰分析」という言葉を一度くらいは聞いたことがあるのではないでしょうか。 線形回帰は統計学で言うところの回帰分析の一つです。 説明変数(入力)を使って従属変数(予測値)を予測します。 線形回帰のうち、説明変数が1つの場合を単回帰、2つ以上の場合を重回帰と呼びます。 今回は線形回帰を使って、説明変数(入力)から従属変数(予測値)を計算する予測式を作ってみましょう...

    記事を読む
  • |ブログ|4 min read
    #Analytics

    相関係数だけで一喜一憂してはいけない理由

    今回は「相関行列」について解説します。 これまでデータの関係性を「平均値の差」や「分散の差」で確認してきました。 今回はデータの関係性を別な方法で確認してみましょう。 お題:「データ間の関係の強弱を見極めたい」 # あなたが品質管理者だと仮定します。 ソフトウェア開発現場から数プロジェクトの仕様書レビューの結果が持ち込まれました。 持ち込まれたデータからデータ間の関係性を見出し、次の施策につなげたいと考えています...

    記事を読む
  • |ブログ|14 min read
    #container#vscode

    OpenLibertyとVSCodeによるコンテナを用いた開発環境の構築

    昨今の開発ではコードの修正が即反映されデバックも行えるHot Reloadの仕組みが当たり前になっていますが、これをコンテナを使ったJava開発で行おうとした場合、変更をどのように即座にコンテナ側に反映させるかが少し悩ましかったりします...

    記事を読む
  • |ブログ|21 min read
    #k8s#container#Kafka

    Strimzi - Kubernetes で Kafka を運用するための Operators

    Apache Kafka は高速でスケーラブルな pub/sub 型の分散メッセージングシステムです。Kafka クラスターに配置された Topic に Consumer アプリが Subscribe し、Producer が送信するメッセージを順次処理していきます。 Kafka はコンテナや Kubernetes 以前からの歴史があり、近年 Kubernetes で運用する事例も増えてきています...

    記事を読む

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。