ブログ

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

  • |ブログ|7 min read
    #envoy#keycloak#認証/認可

    Envoy Proxy による HTTPS Proxy

    庄司です。 「WebAuthn でパスワードの無い世界へ」の記事では、AWS Fargate を使って Keycloak を起動してデモンストレーション環境を構築しました。 記事で説明した環境は、Keycloak のための AWS Fargate 以外に、ロードバランサ (ALB) など時間課金のリソースも含んでいました...

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

    GitHub の脆弱性検出機能 Code scanning alerts と CodeQL について

    GitHub の public リポジトリでは、Settings の Security タブから Code scanning alerts を有効化できます。 Code scanning alerts は、コード分析エンジン CodeQL を使用してコードをスキャンし、検出したコードの脆弱性をアラートとして表示します。対応しているプログラミング言語は以下です...

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

    統計学で避けて通れない自由度の話

    ”自由度”…統計学を勉強したことがある人なら、誰でも一度は耳にしたことのある言葉でしょう。 ”自由度”を教科書通りに説明すると「自由に決めることができる値の個数」ですが、何度聞いても何度考えてもピンときません。 統計学を勉強していて”自由度”で躓いた人も多いのではないでしょうか。 今回はそんな”自由度”についてお話したいと思います。 平均とは # あるデータの母集団があり、そこからサンプルとしてa, b, cの3つのデータを抽出したとしましょう...

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

    GitHub の Dependabot version updates で依存ライブラリを継続的に更新する

    開発しているソフトウェアのコードベースを久々に変更しようとすると、使用しているライブラリのバージョンが古くなっていて、そのままだと作業継続できないという状況に陥ります。最新、またはメンテナンスされているバージョンを取り込んで動作確認するのに時間が取られてしまい、肝心のコードにたどりつかず、「明日から本気出す」ということよくありますよね。GitHub の Dependabot version updates を利用することで、継続的に依存関係のライブラリのアップデートに追従することができます...

    記事を読む
  • 第3回 OpenAPI Generator 利用時の Generation Gap パターンの適用

    庄司です。 前回はドメイン駆動設計の話題を中心に説明しました。 今回は OpenAPI Generator の使い方について説明します。 説明する OpenAPI Generator のバージョンは 6.0.0 です。 OpenAPI Generator はさまざまな言語とフレームワークに対応したクライアントサイド、サーバーサイドのコードを生成します。OpenAPI Generator 自体の実行は Java を使います...

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

    何となくは通用しない(カイ2乗適合度検定)

    取り得る状態が「はい・いいえ」など2つのみのデータの検定(2項検定)を以前のブログで扱いましたが、今回は「多値」データの検定についてご紹介します。 カイ2乗検定とは # 取り得る状態が「はい・いいえ」など2つのみの場合は「2項検定」を使用しましたが、状態が3つ以上の「多値」データである場合の検定は「カイ2乗検定」を使用します。 t検定がt分布を利用した検定であったように、カイ2乗検定もカイ2乗分布を利用した検定です。 t分布は”平均”を扱いますが、カイ2乗分布は”分散”を扱います...

    記事を読む
  • |ブログ|8 min read
    #AWS#認証/認可#keycloak#webauthn

    WebAuthn でパスワードの無い世界へ

    庄司です。 複数のサービスにアクセスするための異なるパスワードを記憶しておくことは困難で、結果としてパスワードを使いまわすといったセキュリティリスクの高い行動パターンをとりがちです。 最近のスマートフォンやPCでは指紋認証や顔認証のような生体情報を用いた認証が可能になっています。このようなデバイスを活用してより安全性の高い認証の仕様として、FIDO2 (WebAuthn) があります...

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

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

    Java17にBump upしてみたの後編の今回は前編で紹介できなかった3つの機能を紹介していきます...

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

    君子は豹変すべし(ベイズ更新)

    「君子は豹変す」という諺があります。 ”豹変”という言葉を聞くと「考えをコロコロ変えて主義主張が無い」ような悪いイメージがあるかも知れませんが、諺の本来の意味は「(出来る人は)過ちを速やかに改め、自らを一新する」であり良い意味で使われるものです。 昔のドキュメンタリー番組で優秀なプロジェクトマネージャが「決断しないで後悔するよりも、決断して後悔する方を選ぶ」とおっしゃっていました。 今回は逐次情報を得ながら自身の持つ”信念”を更新していく「ベイズ更新」についてお話しようと思います...

    記事を読む
  • |ブログ|7 min read
    #java#apache-camel#spring-boot#DDD#MQTT#iot

    Spring Boot と Apache Camel の統合

    庄司です...

    記事を読む
  • |ブログ|11 min read
    #テスト#cypress#vue

    Cypress Component TestingでVueコンポーネントの単体テストをする

    E2Eテストのフレームワークとして有名なCypressですが、コンポーネントテスト(Component Testing)機能もあります。 このコンポーネントテストは2021-04-06にアルファ版として導入されていましたが、2022-06-01のCypress v10のリリースでベータ版に昇格しました...

    記事を読む
  • |ブログ|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択になっているようです...

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

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

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

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

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

    記事を読む
  • |ブログ|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
    #electron#playwright#テスト

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

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

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

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

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

    記事を読む

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

recruit

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