第5回 Open Policy Agent とサイドカーパターンによる認可の実装
庄司です。 前回の記事で、「挨拶の音声を生成する」コマンド (以降 Hello コマンドまたは Hello サービスといいます) を完成させました。 この記事では、このコマンドの実行権限チェックに Open Policy Agent (OPA) を使って説明します。 図のようにサービスは、3つのコンテナイメージで構成された、docker-compose または Pod です...
記事を読む豆蔵社員のリモートワーク環境ご紹介 その2 職人のような同僚たちに影響されまくり
はじめに # iPhoneの新型が出たら毎年買うような事業部長がバリバリにチューニングしたリモートワーク環境をしょっぱなに紹介してから他の社員にもお鉢を回すという無茶ぶりから始まった企画です。↓このように…。 社員それぞれが自宅での勤務環境を整えるようになりました。このシリーズでは、そんな社員のこだわりの勤務環境をご紹介していきます...
記事を読むRを4.2系にバージョンアップしたらRstanの導入でつまずいた話
今回はRにRstan(Rで利用可能なStan)を導入しようとしてつまずいた時の備忘録です。(OSはWindowsです) Rのバージョンを”うっかり”4.2系にバージョンアップしたために、Rstanの導入に苦労しました。 R4.2系のままRstanを導入する際の助けになればと思います。 (Rの操作はRStudioから行います) StanとRstan # 「Stan」は統計的推論のためのプラットフォームです。 ベイズ統計モデルの解析などに利用されます...
記事を読む豆蔵社員のリモートワーク環境ご紹介 その1 ビジネスソリューション事業部長編
はじめに # 最近は、新型コロナウイルスが少しずつ収束しつつあるようなムードになっていますが、リモートワークの形態で勤務をされている方はまだまだ多いかと思います。弊社(株式会社豆蔵)では、社員の健康を第一に考え 2020 年 3 月頃からリモートワークを原則としました。そして、リモートワークでの働き方ができるように社内環境を整備しつつ、並行してクライアントともリモートワーク実現に向けた話し合いをしてきました...
記事を読むGitHub における PR レビュープロセス - conversation の活用
GitHub の PR(Pull Request) レビューのプロセスは、開発チームによってバリエーションはあると思いますが、おおよそ次のようになると思います...
記事を読むベイズ推定を学ぶ ~2項推定~
さまざまな分野でベイズ統計が活用されています。 筆者はこれまで古典的統計(伝統的な頻度論的統計)をメインで使ってきましたが、最近になってベイズ統計の面白さに惹かれています。 人間の思考に素直に従っているところがベイズ統計の魅力ではないかと考えています。 古典的統計では、本来証明したい仮説を”対立仮説”に置き、対立仮説の「当て馬」として”帰無仮説”を設定します...
記事を読むMinikube に QEMU ドライバーサポートが追加 - M1 Mac で利用可能になったけど...
M1 Mac で Minikube を使う場合、Hyperkit のドライバーが未サポートなので、Docker Desktop を導入して Driver に Docker を指定するか、有料の Parallels の仮想マシンを指定する必要がありました。Hyperkit のサポートについては、issue が登録されています...
記事を読む第4回 ドメイン層の実装とサービスの完成
庄司です。 シリーズ4回目は Spring Integration を使うドメインイベントの発行 (publish) について説明します。 ドメイン駆動設計 (DDD - Domain-driven design) # 説明の前に「Spring Boot と Apache Camel の統合」の議論を受けて冬眠カプセルを冬眠ポッド (hibernation pod) へ、船員を旅行者 (passenger) へとユビキタス言語の変更等イベントストーミングの修正がありました...
記事を読むベイズ統計をお手軽に、統計解析ツールJASPの紹介
近年ベイズ統計学が注目されています。 ネットでも書店でもベイズ統計学やベイズの定理、ベイズ推定に関する情報が増えたと感じています。 ベイズ統計学を「体験してみたい」「ちょっと使いたい」と思った時に統計解析に強いプログラミング言語Rを使ってコードをガリガリと書いていくのは入門者にはかなり敷居が高いと思います。 これからどっぷりとR言語に入り浸ってR言語を極めて行こうという志があれば話は別ですが、統計解析に興味があるからといってプログラミングをしたいわけでは無いケースも多いでしょう...
記事を読むOpenID Connect でパスワードレス認証を使う
庄司です。 「WebAuthn でパスワードの無い世界へ」に続く「Envoy Proxy による HTTPS Proxy」の記事でプライベートネット内にパスワードレス認証ができる環境構築の方法を説明しました。この記事では、OpenID Connect の Code Flow を使ってパスワードレス認証を説明します。 サービスの概要 # 題材は宇宙船の冬眠ポッド (hibernation pod) です...
記事を読む統計学で避けて通れない自由度の話
”自由度”…統計学を勉強したことがある人なら、誰でも一度は耳にしたことのある言葉でしょう。 ”自由度”を教科書通りに説明すると「自由に決めることができる値の個数」ですが、何度聞いても何度考えてもピンときません。 統計学を勉強していて”自由度”で躓いた人も多いのではないでしょうか。 今回はそんな”自由度”についてお話したいと思います。 平均とは # あるデータの母集団があり、そこからサンプルとしてa, b, cの3つのデータを抽出したとしましょう...
記事を読むGitHub の脆弱性検出機能 Code scanning alerts と CodeQL について
GitHub の public リポジトリでは、Settings の Security タブから Code scanning alerts を有効化できます。 Code scanning alerts は、コード分析エンジン CodeQL を使用してコードをスキャンし、検出したコードの脆弱性をアラートとして表示します。対応しているプログラミング言語は以下です...
記事を読むEnvoy Proxy による HTTPS Proxy
庄司です。 「WebAuthn でパスワードの無い世界へ」の記事では、AWS Fargate を使って Keycloak を起動してデモンストレーション環境を構築しました。 記事で説明した環境は、Keycloak のための AWS Fargate 以外に、ロードバランサ (ALB) など時間課金のリソースも含んでいました...
記事を読む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 を使います...
記事を読む何となくは通用しない(カイ2乗適合度検定)
取り得る状態が「はい・いいえ」など2つのみのデータの検定(2項検定)を以前のブログで扱いましたが、今回は「多値」データの検定についてご紹介します。 カイ2乗検定とは # 取り得る状態が「はい・いいえ」など2つのみの場合は「2項検定」を使用しましたが、状態が3つ以上の「多値」データである場合の検定は「カイ2乗検定」を使用します。 t検定がt分布を利用した検定であったように、カイ2乗検定もカイ2乗分布を利用した検定です。 t分布は”平均”を扱いますが、カイ2乗分布は”分散”を扱います...
記事を読むWebAuthn でパスワードの無い世界へ
庄司です。 複数のサービスにアクセスするための異なるパスワードを記憶しておくことは困難で、結果としてパスワードを使いまわすといったセキュリティリスクの高い行動パターンをとりがちです。 最近のスマートフォンやPCでは指紋認証や顔認証のような生体情報を用いた認証が可能になっています。このようなデバイスを活用してより安全性の高い認証の仕様として、FIDO2 (WebAuthn) があります...
記事を読む君子は豹変すべし(ベイズ更新)
「君子は豹変す」という諺があります。 ”豹変”という言葉を聞くと「考えをコロコロ変えて主義主張が無い」ような悪いイメージがあるかも知れませんが、諺の本来の意味は「(出来る人は)過ちを速やかに改め、自らを一新する」であり良い意味で使われるものです。 昔のドキュメンタリー番組で優秀なプロジェクトマネージャが「決断しないで後悔するよりも、決断して後悔する方を選ぶ」とおっしゃっていました。 今回は逐次情報を得ながら自身の持つ”信念”を更新していく「ベイズ更新」についてお話しようと思います...
記事を読むJava17にBump upしてみた - 使った/使わなかった新機能(後編)
Java17にBump upしてみたの後編の今回は前編で紹介できなかった3つの機能を紹介していきます...
記事を読むCypress Component TestingでVueコンポーネントの単体テストをする
E2Eテストのフレームワークとして有名なCypressですが、コンポーネントテスト(Component Testing)機能もあります。 このコンポーネントテストは2021-04-06にアルファ版として導入されていましたが、2022-06-01のCypress v10のリリースでベータ版に昇格しました...
記事を読む