Google Apps ScriptのOIDCトークンを使ったAWSアクセス
庄司です。 6月28日に「Google Apps ScriptからAWSにアクセスするための署名の実装」という記事を公開しました。この記事で Google Apps Script で SigV4 による AWS へのアクセス方法を解説しました。 本記事では、Google で発行される OIDC トークンを使って一時的な認証情報を取得するコードを説明します...
記事を読むTerraformでのAmazon Aurora PostgreSQLのメジャーバージョンアップ手順
営業支援システム(Sales Support System)で実施したAmazon Aurora PostgreSQLのメジャーバージョンアップ手順について紹介します。 前提事項 # ここで紹介する手順では以下のことを前提としています...
記事を読むBlocklyによるビジュアルプログラミングの紹介
教育の現場ではプログラミング教育が必修となりましたが、プログラミング言語も日本語や英語と同じ言語ですので文法や単語を覚える必要があります。また、プログラミングが難しいと思われる原因の1つにキーボードでのキー入力があるかと思います。 ビジュアルプログラミング環境としてBlocklyが注目されています。 Blocklyはプログラムがテキストではなくブロックとして表現されています。極力キー入力せずにマウス操作でブロックを選択し、組み合わせることで直感的にプログラムロジックを構築できます...
記事を読む「スクラムの拡張による組織づくり」
こんにちは、庄司です。 7月に1回、8月にうっかりもう1回の合計2回、アマゾンで予約していた「スクラムの拡張による組織づくり」が届きました。つまり、2冊です (笑)。1冊は保管用にします。 スクラムは開発者、プロダクトオーナー、スクラムマスターが一体となって開発を進めます。コミュニケーションの複雑さを減らすために、チームは2枚のピザを分け合える程度の人数で構成することが良いとされています...
記事を読むHomebrew で導入した ZooKeeper の admin port を変更する方法
はじめに # ZooKeeper は分散システムにおいて構成情報の維持、同期処理、ネーミング、グルーピングなどのサービスを提供するソフトウェアです。 Apache ZooKeeper --> Informationネーミングの由来は Zoo (動物園)に由来しています。分散システムの調整は動物園を維持管理するように大変なタスクという意味なのでしょうか...
記事を読むAmazon Comprehend はアンケート分析に使えるのか試してみた
はじめに # こんにちは。教育グループの高です。ようやく新人研修も終わりましたので、久しぶりに記事を書いてみたいと思います。 今回は、アンケート集計に関するお話です。新人研修に限らず研修を実施した際、受講者のみなさまにはアンケートにご回答頂いています。私はざっくり以下の手順で、自由記述のアンケート集計、分析していました...
記事を読む業務システムにおけるアジャイル その1:「システム」の範囲
はじめに # 中佐藤です。アジャイルの中でもマイナー領域を攻めることにかけては割と自信があります。 そもそも私がアジャイル関連の仕事を始めた2008年頃には、アジャイルそのものがマイナーだったのです。いつの間にかすっかりメジャーになってしまいましたが。というわけで、アジャイル開発の話の中でも範囲をぐっと狭めて「業務システムにおけるアジャイル」について、連載を始めようかなと思います。 業務システムとは # 上の文章で、ん?と思われた方はいると思います...
記事を読むイベント駆動アーキテクチャ時代の非同期 API 業界標準 AsyncAPI とそのエコシステム
はじめに # イベント駆動アーキテクチャ(Event-Driven-Architectures: EDA)について耳にする機会が増えてきました。EDA ではマイクロサービス間で同期的な通信を行うのではなく、イベントをトリガーとした非同期的な通信を行います。これによりスケーラブルで応答性の高いシステムが構築できる、IoT などの多数のイベントソースからの情報をリアルタイムに処理できるなどのメリットがあります...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その3:テストケースをまとめる編)
前回は「Mockito」でvoid型メソッドをモック化する方法について解説しました。 今回は「複数のテストケースを1つのテストケースにまとめる」方法について解説したいと思います。 テストケース数が多くなりすぎた時 # これまで使用してきたサンプルプログラム「FooController」と「BarSensor」の仕様を再度確認します。 「BarSensor」の仕様: 対象物との距離を測定する「scan」メソッドを持つ。戻り値はInt型...
記事を読むAWS Device Farmでスマートフォンのクロスブラウザテスト環境を構築する
はじめに # 「AppiumとAndroidエミュレータでスマートフォンのクロスブラウザテスト環境を構築する」 はローカル環境での実行方法の説明でした。 今回はAWS Device Farm での実行方法を説明させていただきます。 --> AWS Device FarmAWS Device Farm は、広範なデスクトップブラウザと実際のモバイルデバイスでテストすることにより、ウェブアプリとモバイルアプリの品質を向上させるアプリケーションテストサービスです...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その2:void型メソッドのモック編)
前回は「Mockito」の基本的な使い方を解説しました。 今回は「void型メソッド」をモック化する方法を解説したいと思います。 「whenメソッド」と「doメソッド」 # void型メソッドのモック化について解説する前に、モックの動作定義について再度説明したいと思います。 前回はモックの動作を定義するとき「whenメソッド(when/thenReturn)」を使用しました...
記事を読むVue3ベースのバリデーションフレームワークVeeValidate(v4)を使う
Vue2ユーザーの皆さん、Vue3への移行はお済みでしょうか?[1] 今回はこの移行で悩ましいバリデーションフレームワークのお話です。 Vueで代表的なバリデーションフレームワークと言えばVeeValidateがあります。 VeeValidateは多機能で使いやすいフレームワークですが、Vue2系に対応するv3とVue3系に対応するv4では、別物と言ってもいいくらい使い方が変わっています。 今回はそんなVeeValidate v4の使い方を整理したいと思います...
記事を読むVS Code で .NET MAUI の開発環境を構築する(macOS/iOS)
はじめに # 先日終了した夏のリレー連載2023において社内 Hackathon の紹介記事が投稿されましたが、その後年1回のオフラインイベントが開催されました。最近ネタ切れ気味の筆者も参加して .NET MAUI の開発環境を構築してみたので記事にさせていただきます。 .NET MAUI は .NET Xamarin 後継のクロスプラットフォームなネイティブアプリケーションフレームワークです...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その1:基本編)
「Mockito」とは # Mockito は、Java でユニットテストを行う際に使用されるモック・フレームワーク(mocking framework)です。 Mockito を使用すると、実際のオブジェクトの代わりに「モック(仮の実装)」を作成し、テストケース内で特定の振る舞いを模倣できます。 外部依存の他のクラスが完成していない状態でも、独立してテストを実行することができます。 Mockito は、テスト駆動開発(TDD)と相性が良く、コードの品質を向上させるのに役立つツールです...
記事を読むミュータブル・イミュータブルって何のこと?
この記事は夏のリレー連載2023の14日目の記事です。 はじめに # 日頃、Javaの初心者からベテランまで様々なスキルレベルの方から質問を頂く立場で仕事しておりますが、Java言語を使用するうえで基本事項でありながらも、あまり理解されていない事柄があると感じています。これらの事柄については改めて誰かに質問できず、「そういうもの」として無理やり納得しやり過ごしている方がいるのではないでしょうか...
記事を読むプログラミング未経験者がJava Gold取得してきました
この記事は夏のリレー連載2023の13日目の記事です。 はじめに # 4月から新卒で入社しました塚野です。入社前はアフリカツメガエルという手のひら大のカエルから毎日卵を絞りだしては、それを実験材料に顔や目、鼻などを作る遺伝子の研究をしていました。 そのためプログラミング未経験での入社で、7月末までは新人研修として基本的なITの知識と、Java、JDBC、JSP・サーブレットに関する講習を受けていました。 8月からは社内プロジェクトに配属となり、日々謎の呪文たちと戦っています...
記事を読むScrapboxでMermaid記法を可視化するUserScriptを作った話
この記事は夏のリレー連載2023第12日目の記事です。 弊社豆蔵では、Helpfeel社 による Scrapbox を社内公式ツールとして導入しています。 Scrapboxはそのままでも十分に便利で面白いツールなのですが、UserScriptを使うことでさらに自由度の高いカスタマイズができます。 今回は、Scrapbox上でMermaid記法のコードを可視化して表示するUserScriptを作成した話をしたいと思います...
記事を読む日本語GPTで雑談対話モデルを作ろう
この記事は夏のリレー連載2023の11日目の記事です。 はじめに # 最近ChatGPTをはじめ生成系AIツールが様々、発表されています。 大量のテキストデータを使ってトレーニングされた大規模言語モデル(LLM)では、そのモデルを用いたツールはもちろんのこと、モデルそのものも日進月歩の勢いで多数開発されています...
記事を読むRust でML に挑戦してみた
この記事は夏のリレー連載2023の10日目の記事です。 1. はじめに # こんにちは。この記事が初投稿となります、松本です。よろしくお願いします。 さて、C/C++ に代わる言語として注目を浴びている Rust ですが、ML や NN の記事量は圧倒的に Python で、Rust で書いた例はググってもあまり見ない気がします。しかし速度を重視する場合、必ずしもメモリ安全ではない C/C++ を使わざるを得ず、メモリ安全で高速な Rust は魅力があります...
記事を読む品質保証者の憂鬱「そこのあなた、無闇にメトリクスを増やしていませんか?」
この記事は夏のリレー連載2023第9日目の記事です。 いやぁ、本当に毎日暑いですね。 なので今回はちょっとゾッとする(肝が冷えるかどうかは別ですが)話をしたいと思います。 「エビデンスを見せろ」と詰められる # 前回はトム・デマルコ氏による「計測できないものは制御できない」について筆者の思うところを語りました。 筆者はソフトウェア開発現場で長い期間にわたり品質管理・品質保証の仕事に従事してまいりました...
記事を読む