Contract Testの使いどころを考える
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第9日目の記事です。 前回の記事ではContract Testについてサンプルを交えて簡単に説明しました。その範囲では、どのようなケースで有効なアプローチなのかまでは紹介しきれていません。 今回は、Contract Testをどのように開発に取り入れるのが効果的なのかを、同じようにサンプルコードを使いながら考察していきます...
記事を読む基本から理解するJWTとJWT認証の仕組み
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです...
記事を読むTellerでキーストアからシークレット情報取得&ソースコード埋め込みを検知する
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第7日目の記事です。 昨今セキュリティ意識の高まりとともに、シークレット情報の運用は以前よりも注目度が高くなっていると感じます。 また、DevSecOpsの浸透もあり、ソフトウェアライフサクル全体で継続的にセキュリティを確保することが推奨されています...
記事を読むVS Code の CodeQL 拡張と Starter workspace でコード分析する
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第6日目の記事です。 6月の「GitHub の脆弱性検出機能 Code scanning alerts と CodeQL について」の記事で、CodeQL の概要と Code scanning alerts を GitHub Actions ワークフローを使って有効化する方法を紹介しました...
記事を読む新米スクラムマスターの思考メモ(その2 Retrospective編)
はじめに # 「新米スクラムマスターの思考メモ」の2回目の記事です。今回の記事では新米スクラムマスターとして、Retrospectiveではどのようなことを感じ、行動したかについてまとめてみたいと思います。ちなみに、前回の記事は以下の通りです...
記事を読むAWSが公開したFinchでコンテナ実行/イメージビルドをする
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第5日目の記事です。 今回はAWSが2022/11/22に公開したコンテナ開発ツールFinchを使ってみた感想を書きたいと思います(ググるとすでに結構な数のブログが出てきますが)...
記事を読むJJUG CCC 2022 Fall
庄司です。 これは、豆蔵デベロッパーサイトアドベントカレンダー2022第4日目の記事です。 11月27日にオフラインとオンラインのハイブリッドで JJUG CCC 2022 Fall が開催されました。春と秋に開催される JJUG CCC では COVID-19 パンデミック以来久しぶりのハイブリッド開催となりました。 --> JJUGとは日本 Java ユーザグループ (JJUG) は、2007年4月に発足した Java 技術の向上・発展、開発者の支援を目的とした任意団体です...
記事を読むIoT を使ってみる(その9:FreeRTOS基本編)
今回はESP32などの安価なIoTデバイスで利用できるRTOS(Real Time Operating System)の「FreeRTOS」を紹介したいと思います。 FreeRTOS とは # FreeRTOSはフリーに利用できるRTOS(Real Time Operating System)です。 上記の説明ではただ単語に分解しただけなので、もう少し詳しく説明しましょう。 FreeRTOS は以前は”例外条項付きGPL”の下で配布されていましたが、現在はAmazonが権利を保有しています...
記事を読むContract TestツールPactの紹介
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第3日目の記事です。 マイクロサービスのようにAPIを介して要素を結合させてシステムを構成する場合、要素間の結合可能性をどのように担保していますか。 要素単体でキッチリとテストを済ませて、いざテスト環境にデプロイしてみたらAPIの不整合で動かなかったような経験は、かなりの方にあるのではないかと思います。 APIの結合性をデプロイ前に検証するアイデアとしてContract Testという考え方があります...
記事を読むCRaCによるJavaの高速化
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第2日目の記事です。 先日、JavaのLambda関数の起動を高速化するLambda SnapStartがAWSから発表されましたが、このLambda SnapStartにはJavaのCRaC(Coordinated Restore at Checkpoint)が使われています。 CRaCは起動の高速化と即時にピーク性能を発揮させる技術です。CRaCが登場した背景にはJavaの起動の遅さがあります...
記事を読む個人開発活動2022
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第1日目の記事です。 豆蔵デベロッパーサイトは11月29で1周年を迎えました[1]。この1年で執筆者が増え、バラエティに富んだ記事が数多く投稿され、アクセスも伸び続けて順調に成長しています。そして12月はちょうどアドベントカレンダーの季節。「アドカレやろうよ!」と同僚に呼びかけ、お願いしまくってカレンダーを埋めてもらっています。 言い出しっぺなので初日の記事を担当することにしました...
記事を読むGitHub Actions ワークフローでリテラルの AWS アカウント ID を使用しないためのヒント
庄司です。 GitHub Actions で AWS にアクセスする場合 GitHub の OIDC プロバイダから発行される ID Token を AWS の IAM 外部プロバイダとして使用できます。 これにより、AWS_ACCESS_KEY_ID や AWS_SECRET_ACCESS_KEY のような永続的なクレデンシャルを設定する必要がなくなり、誤って公開されるリスクが大きく減少しました...
記事を読むペアワイズ法テストケース生成ツール「PictMaster」のカバレッジ指定を使う
前回はペアワイズ法テストケース生成ツール「PictMaster」の”無効値”機能について紹介しました。 今回はPictMasterの”カバレッジ指定”機能について紹介したいと思います。 2因子より多い組み合わせ数を指定する # テスト対象の因子の数が多く、因子間の影響が2因子間に限定できない場合には、因子の組み合わせ数を2よりも大きくしたいケースがあります...
記事を読むDeno を始める - 第7回 (All in one な deno のサブコマンド)
ここまで Deno の様々な機能を見てきました。今回は、Deno のツール(サブコマンド)について見ていきます。 Deno のサブコマンド # 第1回でも軽く紹介したように、deno CLI は多くのサブコマンドを提供しています。表にして本連載で取り上げたものは該当の箇所にリンクを貼ってみました...
記事を読む新米スクラムマスターの思考メモ(その1 スクラムマスターになるまで)
はじめに # 今回、縁あって短い期間ではありますが、社内プロジェクトでスクラムマスターを担当することになりました。社内プロジェクトには数か月前から参加していましたが、参加以前はスクラムについて何となく知っている程度でした。当然、スクラムマスターとしての経験はありませんでした。 この記事では、スクラムマスターを担当するにあたって、新米スクラムマスターの視点で感じたことや考えたことなどをまとめてみたいと思います...
記事を読むDeno を始める - 第6回 (Deno Deploy で静的ファイルを配信)
今回は Deno Deploy についてです。Deno Deploy は JavaScript / TypeScript / WebAssembly を実行できるエッジサービスです。Deno の開発元 Deno Company が運営しています。今年の5月 Beta 4 に到達し、一般提供を間近に控えています。 Deno Deploy Beta 4 現在34のリージョンに展開されており、日本にも Tokyo と Osaka リージョンがあります...
記事を読む明日から使えるEnterprise Architectの小技集
みなさん、モデリングツールは何を使っているでしょうか。 そうですね、Enterprise Architectですね。 今回はEnterprise Architectの小技をいくつか紹介しようと思います。 コマンド編 # 同じ種類の接続を連続で引く # 連続で同じ接続を引きたい時、どのようにしていますか。 (毎回)ツールボックスから選択する人 (毎回)要素のクイックアイコンから接続を引いて種類を選択する人 最初の一本目はそうしてください。 その後は「F3」キーを押してみてください...
記事を読むGoogle Test を使ってみる(その4:VSCode拡張機能編)
前回は Google Test のテストフィクスチャを使うことで、テストケースを実行する前に、データをテストケースに渡すことができることを確認しました。 今回はテストケースの実行をサポートするVSCode拡張機能「GoogleTest Adapter」の設定や使い方を紹介したいと思います。 VSCode拡張機能「GoogleTest Adapter」 とは # VSCode(Visual Studio Code)は拡張機能をインストールすることで便利な機能を追加できるようになっています...
記事を読むMicroProfile OpenTracingとJaegerで理解する分散トレーシング
今回のテーマは前回のMicroProfile Metricsに続き可観測性のもう一角をなす分散トレーシングのMicroProfile OpenTracing(MP OpenTracing)です。MP OpenTracingの仕様は主にランタイム提供ベンダー向けのもので利用する側はランタイムがトレース情報を自動計測してくれるため、その存在を意識することはほぼありません...
記事を読むJamstack Community Survey 2022から現在のフロントエンド業界の動向を見てみる
先日、Netlifyが運営するJamstackコミュニティから、2022年のアンケート調査結果が公開されました。 Jamstack gives developers full-stack powers - Findings from the Jamstack Community Survey 2022 このレポートによると、2022年は以下の点をキーポイントに挙げています...
記事を読む