品質保証者の憂鬱「制限事項 VS 注意事項」
前回は「管理」と「保証」の違いについて考えてみました。 今回は開発部門と品質保証部門、さらにマーケット部門、営業部門、調整部門などを巻き込んで日夜展開される「制限事項 VS 注意事項」をお話したいと思います。 出荷前夜 # 製品・サービスの開発が順調に進んでいて、開発部門から「最終チェックも終わるし、”大体”OKなんじゃね?」って声が出てきて、さらに品質保証部門としても「指摘は”ほぼ”是正されたし、弊社の定める品質基準も”ほぼ”クリアになったんじゃね?」となったとします...
記事を読むJSTQB認定テスト技術者試験(CTFL)受験記
庄司です。 ソフトウェアテスト技術者の認定資格「JSTQB認定テスト技術者資格 Foundation Level試験」を3月4日受験しました。 この試験は AWS 認定資格同様 NDA があるため出題内容等については書くことができませんのであらかじめご了承ください。 受験までの流れ # まず、日本におけるソフトウェアテスト技術者資格認定の運営組織である JSTQB の試験実施要領にアクセスしました。 ここで、2022年10月から CBT に移行したことを知りました...
記事を読む異言語間でContract Testを実施する
前回の記事でTipsを書きますと告知してから早3ヶ月となります。 これ以上ハードルを上げると小ネタといいつつそこそこのものを書かないといけないことになりそうなので、今回はPactの利点の1つである異なる言語間でのContract Testの実装例を紹介します。 前回までのおさらい # 前回までにフロントエンド/バックエンドの間でhttp通信を行うサンプルアプリを題材にして、Contract TestでAPIの結合可能性を検証可能なことを説明してきました...
記事を読むGitHub Packages Container Registryをモデリングしてみた – UMLを理解の道具として
コンテナイメージのコンテナレジストリとしてGitHub Packages Container Registryを使っていますが、コンテナイメージとリポジトリの関係やコンテナイメージ登録時の初期設定などが直観的でなく毎回?となるため、理解の整理と今後の備忘を兼ねGitHub Packages Container Registryの構造とコンテナイメージ登録時の挙動に関係する者たちをUMLでモデリングしてみました...
記事を読むDeno 1.31で安定化されたプロセス起動 API Deno.Command を使ってみる
Deno にはサブプロセスを起動する API がいくつかあります。現在公式マニュアルに記載されているのは Deno.run です。 Creating a Subprocess | Manual | Deno Deno 1.28 で Deno.Command が不安定版として追加され、1.31 で安定化されました...
記事を読む今さら聞けないMaven – 3.9.0で追加されたローカルリポジトリの分割
これまで久しく大きな機能追加が行われてこなかったMavenですが、2023年1月31日にリリースされたMaven 3.9.0でコレは!と思うローカルリポジトリの分割機能が追加されました。今回はこのローカルリポジトリの分割機能を紹介します。 なお、3.9.0ではJava8が必須になるなど他に多数の改善や変更が加えられています。他の変更詳細についてはリリースノートを参照ください...
記事を読むJavaコードで理解するTOTPの仕組み
庄司です。 システムやサービスへのアクセスでユーザ名とパスワードだけの認証はセキュリティが弱く、多くのサービスでは多要素認証 (Multi-Factor Authentication) の利用が一般的になっています。 例えば AWS アカウントのルートユーザーアクセスでは多要素認証 (MFA) の利用が強く推奨され、企業のポリシー等でも MFA の利用が強制されることも増えています...
記事を読むPytestを使ってみる(その2:VSCode拡張機能編)
前回はPytestのインストールと簡単なサンプルを実行してみました。 今回はPytestを便利に使うVSCodeの拡張機能「Python Test Explorer for Visual Studio Code」を紹介したいと思います。 拡張機能のインストール # VSCodeを起動して「拡張機能」から「Python Test Explorer for Visual Studio Code」を検索して、インストールします。 VSCodeの左側のパネルの「テスト」を選択します...
記事を読む今さら聞けないMaven – コンテナのビルドと一緒にpushもMavenでしたい。
「今さら聞けないMaven – コンテナも一緒にビルドしたい。テスト実行前にコンテナを起動したい」ではMavenを使ったコンテナイメージのビルド方法を説明しました。今回は前回と同じfabric8のdocker-maven-pluginによるもう一歩進めた使い方としてコンテナイメージのタグ付けとコンテナレジストリへのpushをMavenで行う方法を紹介したいと思います...
記事を読むVue3+D3.js アプリを Nuxt3 に移植して Netlify にデプロイしてみた
「Vue 3 と D3.js で作る可視化アプリ」の記事では、D3.js を使った可視化のための簡単な Web アプリを Vue3 の SPA で作成しました。 Nuxt3 への移植 # Vue3 がなんとなく分かった気がしたので、次に Nuxt3 への移植にトライしました。 --> Information豆蔵デベロッパーサイトには Nuxt3 の充実した入門記事があります。以下のインデックスページからどうぞ...
記事を読むOIDCトークンによるAWSの一時的な認証情報の取得方法
庄司です。 2023年1月4日の CircleCI のセキュリティインシデントのレポートの中で、セキュリティのベストプラクティスの1つが次のように書かれています。 可能な限りOIDCトークンを使用し、CircleCI に長期間の認証情報を保存しないようにする。 AWS のための CI/CD では、GitHub Actions には AWS for GitHub Actions リポジトリの configure-aws-credentials に OIDC トークンを使用する実装があります...
記事を読むNode.js v19.7で実験的に導入された Single Executable Applications で単独実行可能ファイルを作成する
Rust/Golang/GraalVM/.NetのSingleFile等、昨今は実行環境を必要とせず、単独で実行可能なバイナリファイルにパッケージするものが多いかと思います。 これにより、事前のランタイム環境のセットアップが不要となり、環境構築やデプロイ作業が大幅に簡素化されてきました。 JavaScriptでは、Denoがこの実行可能ファイルへのコンパイルを標準搭載していますが、Node.jsは公式にサポートしていませんでした。 そこで最近以下の記事を目にしました...
記事を読むPytestを使ってみる(その1:準備編)
Pythonでプログラムを書いていて「TDD(テスト駆動開発)」にトライしてみたいと思ったことは無いでしょか? そんなときは「テスティングフレームワーク」がおすすめです。 JavaではJUnitが有名ですが、Pythonにもテスティングフレームワークが用意されています。 Pythonには標準装備の「unittest」というテスティングフレームワークがありますが、今回は人気のある「Pytest」を紹介します...
記事を読むGitHub Code Search で世界中のコードを検索する
GitHub Code Search は GitHub にホストされているリポジトリのコードベースから検索できます。当然のことながら Google 検索などの汎用検索サービスよりソースコード検索に特化したサービスになっています。昨年プレビュー版がリリースされ waitlist で順次利用可能になっていました...
記事を読むSLF4J 2.0のfluent logging APIでログ出力も流暢に
昨年8月にリリースされたSLF4J 2.0の一番の目玉はJava9で導入されたモジュールシステム対応ですが、もう一つの目玉としてfluent logging API(fluent API)の追加があります。ログ自体が地味な機能のためあまり注目されることはないですが、少し使ってみたところイイ感じだったので今回はこのAPIを紹介したいと思います。 旧来のAPIとfluent APIの比較 # 難しいAPIでもないので実際の例を見てもらうのが一番早いです...
記事を読む音声合成マークアップ言語 - Speech Synthesis Markup Language (SSML)
庄司です。 現在では様々なところで、コンピュータを使用した音声合成を聞くことができます。 音声合成のマークアップ言語の仕様として、W3C による「Speech Synthesis Markup Language (SSML) Version 1.1」があります。 この SSML をサポートするサービスには次のようなものがあります...
記事を読むTypeORMのスキーママイグレーションを使う
少し前ですがJavaScript/TypeScript版ORマッパーのTypeORMの導入記事を書きました。 この記事は予想に反して(?)多くのアクセスをいただいており、JavaScript/TypeScriptでのORマッパーの需要は結構高いのかなと思いました。 そこで今回は、その時に紹介できなかったTypeORMのスキーママイグレーションの機能についてご紹介しようと思います。 TypeORM Doc - Migrations 一般的にRDBではスキーマのバージョン管理は非常に重要です...
記事を読む新米スクラムマスターの思考メモ(その5 まとめ)
はじめに # 前回の記事よりも少し間が空いてしまいました。先月末で社内案件のスクラムチームから離れ、本業の教育案件の方に戻りました。 このシリーズの最終回として、私がスクラムについて感じたことをまとめてみたいと思います。今回も個人的主観を多分に含んでお送りします(笑)。 なお、Sprint Review や Refinementについては、今回は執筆を見送ることにしました。ということで、この記事が本シリーズの一応の最終回となります...
記事を読む品質保証者の憂鬱「管理か保証かそれが問題だ」
前回の投稿から随分と時間が空いてしまいました。 申し訳ありません。 前回は”品質”と品質保証部、その役割と課題などについて述べさせていただきました。 今回は”品質”というワードで必ず登場する”品質管理”と”品質保証”について、筆者の思うところを述べてみたいと思います。 新参者の品質保証者の悩み # 筆者が開発部門から品質保証部門に異動して間もない頃、品質保証部門は品質保証部員を、開発部門が開催するもろもろの会議(レビュー会議、進捗会議、フェーズ移行提案会議などなど)に積極的に送り込んでいました...
記事を読むVSCodeのESP-IDF拡張機能「Espressif IDF」を使ってみる
以前のIoT記事にてArduino IDEを紹介しましたが、いつも使用しているVSCode(Visual Studio Code)でESP32のプログラムを作成できたら便利だなと思っていました。 今回はVSCodeでESP32のプログラムが作成できる ESP-IDF拡張機能「Espressif IDF」を紹介します。 ESP-IDF とは # ESP-IDF は”ESP-IoT Development Framework” の略です...
記事を読む