AWS Controllers for Kubernetes(ACK): AWSサービスをKubernetesカスタムリソースで管理する
Kubernetesを利用した開発では、クラスタ内で動作するアプリケーションやミドルウェアをDeploymentやStatefulSet等のKubernetes APIリソースとして管理します。 また、これにArgoCDやFlux等のデプロイツールを組み合わせて継続的にクラスタに同期することが一般的です。 一方で、クラウド環境を利用する場合は、クラウドベンダーが提供するサービスを使うことが多いかと思います...
記事を読むKnative EventingのKafka BrokerでリトライとDead Letter Sink(DLS)を試す
KafkaをイベントレイヤーとするKnative Eventingの環境をリトライとDLSが可能な様に構成した上で、意図的に処理を失敗させるKnative Servicveをデプロイし、処理失敗時のリトライやDLSへのメッセージ送信を確認しました。 モチベーション # KafkaをイベントレイヤーとするKnative Eventingの設定例でよく見られるものは、KafkaSourceのSinkに直接Knative Serviceを設定するシンプルなものが殆どです...
記事を読むMicroProfile Config 3.0へのキャッチアップ
Helidon 3.0がリリースされMicroProfile5.0準拠となり、ついにHelidonでもMicroProfile Config 3.0(MP Config 3.0)の機能が使えるようになりました。そこで今回は前回紹介できなかった2.0から3.0までに取り入れられた便利な機能をその差分として紹介します。このため、今回の記事は以前紹介した「お手軽便利MicroProfile Config」の理解を前提にしています。まだの方はそちらから読んでいただければと思います...
記事を読むエクストリームプログラミング解説 その4:プラクティス
はじめに # 中佐藤です。XP解説その4です。前回までで、「価値」の解説が終わっています。今回は「プラクティス」についてです。 プラクティス # いきなりですが、すべて列挙してみましょう。第2版のプラクティスを軸(左欄)に置いて、対応する(と思われる)第1版のプラクティスを右に配置しました。ざっと眺めて下の解説に行ってください...
記事を読むペアワイズ法テストケース生成ツール「PictMaster」のサブモデルを使う
前回はペアワイズ法テストケース生成ツール「PictMaster」の”重み”機能について紹介しました。 今回はPictMasterの”サブモデル”機能について紹介したいと思います。 一部の因子の組み合わせ網羅数を他の因子よりも多くしたい場合 # 2因子網羅のテストケースを効率よく生成するペアワイズ法ですが、特定の因子の組み合わせ網羅数を他の因子よりも多くしたい場合、テストケースの生成方法に工夫が必要になります...
記事を読むカスタムワークフローで GitHub Pages デプロイが可能に
GitHub Pages は専用のブランチか docs などのターゲットディレクトリを指定して公開する方式です。したがって、SSG(Static Site Generator) を使う場合、ソースコードだけでなくビルド成果物もリポジトリ管理する必要がありました。7月に GitHub Actions ワークフローによるデプロイがベータ版として利用可能になりました...
記事を読む初心者のためのJavaプログラミング再学習(その1 基本データ型とオブジェクト型)
はじめに # 「初心者のためのJavaプログラミング再学習」と題して、初心者の方向けにJavaプログラミングの解説シリーズを立ち上げました。Javaプログラミングを網羅的にカバーするのではなく、新人研修等で躓く受講者が多い部分、一度勉強したけど理解が難しい部分に絞って執筆する予定です。どちらかといえば、厳密な理解よりも、イメージを掴んでもらうことを重視した内容です。 初回は「基本データ型とオブジェクト型」について解説します...
記事を読むコンテンツ重視の静的サイトジェネレーター Astro でドキュメントサイトを構築する
Astro は SSG (Static Site Generator) の1つです。「高速でコンテンツにフォーカスした Web サイトを構築するためのオールインワン Web フレームワーク」というのがキャッチコピーです。 Astro | Build faster websites v1.0 がリリースされました。 Astro 1.0 | Astro ブログやポートフォリオサイトの他、ドキュメンテーションサイトのテンプレートも提供されています。公式ドキュメントには日本語版もあります...
記事を読むIoT を使ってみる(その1:AWS IoT チュートリアル編)
「IoT」という言葉が世の中に広まって、結構な時間が経ったと思います。 私達が日頃「ああ、これがIoTだ」と実感することはそれほど多くないと思いますが、IoTは私達の生活の中に着実に広がっています。 今回から数回に分けて、AWS(アマゾン・ウェブ・サービス)の「AWS IoT」とIoTデバイスの「Raspberry Pi」を使って、IoTについて紹介していきたいと思います。 また必要に応じて他社のIoTサービスやIoTデバイスについても比較検討してみたいと思います...
記事を読むペアワイズ法テストケース生成ツール「PictMaster」の重みを使う
前回はペアワイズ法テストケース生成ツール「PictMaster」の”エイリアス”について紹介しました。 今回はPictMasterの”重み”機能について紹介したいと思います。 組み合わせの一部を他より多くテストしたい場合 # 2因子網羅のテストケースを効率よく生成するペアワイズ法ですが、特定の因子・水準データだけを他の組み合わせよりも多くテストしたい場合、テストケースの生成方法に工夫が必要になります。 例えば、特に重要な因子・水準は他の因子・水準よりも重点的にテストしたい場合などが該当します...
記事を読むGitHub の外部サービス自動リンク参照で英数字の識別子が利用可能に
GitHub の Pro/Team/Enterprise のアカウントでは、外部サービスへの自動リンク参照が利用できます。 Jira や Zendesk などの GitHub 以外のサービスで課題やインシデントを管理しているいるプロジェクトも多いでしょう。その場合、GitHub の issue、PR、コミットコメントに JIRA#1 のように プレフィクス<ID> の形式で書くと自動でリンクしてくれる機能です。課題やインシデントを追跡する上で役立ちます...
記事を読むエクストリームプログラミング解説 その3:価値(2/2)
はじめに # 中佐藤です。XP解説その3です。一応、エクストリームプログラミング解説 その1:全体像から続き物として読んでいただくことを想定しています。前回は「価値」のうち「コミュニケーション」を解説しました。 価値(続き) # あらためて4+1の価値を再掲します。今回は「フィードバック」から。 コミュニケーション ⇒ その2:価値(1/2)を参照 フィードバック シンプリシティ 勇気 リスペクト 価値:フィードバック # これは理解しやすいです...
記事を読むEKS Blueprints(CDK)ですぐ使える実用的なEKSクラスタ環境を簡単に手に入れる
EKSクラスタを構築するには、Kubernetesだけでなくその土台となるAWSネットワーク・セキュリティの知識も少なからず必要です。 また、素のEKSクラスタをそのまま利用することはほとんどなく、Ingress Controllerやオートスケーラー、メトリクスコレクター等多くのツールを別途セットアップする必要があります。 複数チームで共有するようなマルチテナント環境の場合は、NamespaceやRBAC等、やることはたくさんあります...
記事を読む今さら聞けないMaven – コンテナも一緒にビルドしたい。テスト実行前にコンテナを起動したい
Javaの開発ではMavenなどのビルドツールでビルドやテストの手順を定義し実行するのが一般的ですが、コンテナも一緒にビルドしたいなぁと思うときはありませんか?また、マイクロサービスの普及に伴ってREST通信を行う処理が多くなってきましたが、REST通信部分のテストは手間が掛かるので、いっその事、スタブにコンテナを使いたいけど、テスト実行前にコンテナを起動するにはどうしたらいいんだろう?など...
記事を読むエクストリームプログラミング解説 その2:価値(1/2)
はじめに # 中佐藤です。エクストリームプログラミング解説 その1:全体像に続き、その2です。なぜかその2から入ってしまった方は、その1から読んでください。ここまでで、価値・原則・プラクティスという3つの概念をざっとご紹介しました。 最初のXPプロジェクト # 早速「価値」について・・・と行きたいところですが、その前に、書籍(第2版)でも紹介されている、最初のXPのプロジェクトにちょっと触れておきます。1996年、クライスラー社の給与計算プロジェクトです...
記事を読む自動打鍵テスト - 画面操作・検証だけでなくテストコード自体も自動生成してしまう真の自動化
イントロ # この記事では、豆蔵が支援するプロジェクトでのWebアプリに関するテスト自動化の事例を紹介します。 特にそのプロジェクト特有という内容ではなく、どのプロジェクトでも共通するポイントについて具体例を交えてまとめました...
記事を読むkubectl debugを使ってKubernetesのコンテナをデバッグする
2022-08-23にKubernetesのv1.25がリリースされました。 Kubernetes公式ブログ - Kubernetes v1.25: Combiner PSP(Pod Security Policy)の削除等、多くの変更がありますが、Ephemeral ContainersがBetaからStableバージョンとなりました。 この機能はkubectl debugコマンド[1]で使用できますが、あまり使ったことがなく、これを機に改めて使い方を調べてみましたのでご紹介します...
記事を読むGitHub Actions 再利用可能ワークフローでネスト呼び出しと Matrix strategy が解禁
以前の「GitHub Actions - 再利用可能ワークフローを使う」の記事時点では、以下のような制約がありました...
記事を読む豆蔵社員のリモートワーク環境ご紹介 その9 ずっと作業に集中できる環境
はじめに # はじめまして。鵜野です。 リモート環境について書いてほしいと熱望リクエストがあり記載します。 豆蔵は2005年入社ですので、だいぶ古株となってしまいました。 私の仕事について # 現在の私が担当しているプロジェクトでは、稼働したシステムの保守しながら、新機能、新サービスを開発したりとお客様のビジネス拡大をお手伝いしています。 役割的には、コンサル・各人のマネジメント・アーキテクト・実装と、いわゆるプレイングマネージャをしています...
記事を読む今さら聞けないMaven - JUnit5のテストクラスがなぜか実行されない
JUnit5のテストクラスをEclipseなどのIDEからは問題なく実行できるのにMavenコマンドから実行するとなぜかテストクラスが検出されず実行されなくなる。そんなお困りの事象と対処方法について今回は説明します。とりあえずどうすればいいかだけ教えて!という方は対処からどうぞ。 --> 今さら聞けないMavenMavenが誕生してから早20年ですが、開発で使っていると未だにハマってしまうことやコレってどうやるのだろう?と思うことがあったりします...
記事を読む