この記事は個人ブログと同じ内容です はじめに Google CloudとWorkload Identityで連携されているECS Fargateで動いているアプリからGoogle Drive APIを使おうとしたら以下のエラーが出ました。 Post \"https://www.googleapis.com/drive/v3/files/1234/copy…
この記事は個人ブログと同じ内容です www.ritolab.com Webサービスを提供する上で、一定の負荷やスパイク的なアクセスがあっても安定して応答できるかどうかは非常に重要です。その確認に欠かせないのが「負荷テスト」です。 今回は、開発者フレンドリーで扱…
この記事は個人ブログと同じ内容です はじめに GoogleCloudのWorkload Identityでの連携をAWSのLambdaを使用し、S3のファイルをGoogle CloudのCloud Storageにアップロードする方法を解説します。本記事では、Workload Identityを利用して、IAMロールとGoogl…
この記事は個人ブログと同じ内容です Security Command Center(SCC)とは Google CloudのSecurity Command Center(SCC)は、クラウド環境のセキュリティリスクの可視化・検出・管理を行うためのセキュリティ管理ツールです。 主な機能: • 脆弱性の検出(IAM…
この記事は個人ブログと同じ内容です Tidy とは「整頓する」という意味。 コードを書く際に、いきなりシステムの振る舞いを変えるような大きな変更をするのではなく、まずは周辺を整えるような小さなリファクタリングから始めようというのが本書の大筋になり…
この記事は個人ブログと同じ内容です www.ritolab.com ソフトウェア開発では、異なるインターフェースを持つコンポーネント同士を統一的に扱いたい場面があります。そのような場合に役立つのが Adapter(アダプター)パターン です。 本記事では、Adapter パ…
この記事は個人ブログと同じ内容です はじめに サービス運用の中で、計画的なメンテナンスや障害対応時に「メンテナンスモード」を導入することは重要です。本記事では、AWSのアプリケーションロードバランサー(ALB)を活用して、簡単にメンテナンスモード…
この記事は個人ブログと同じ内容です NotebookLMとは NotebookLM(Notebook Language Model)は、Googleが提供するAIアシスタントツールで、指定したソースに基づいて質問に回答したり、情報を整理する支援を行います。特に、セキュリティや業務関連の質問回…
この記事は個人ブログと同じ内容です www.ritolab.com Go の理解を深めるために roadmap.sh を利用し学習したので紹介します。 roadmap.sh とは roadmap.sh は、開発者向けの学習ロードマップを提供するオープンソースプロジェクトです。 フロントエンド、バ…
この記事は個人ブログと同じ内容です はじめに 本記事では、EC2上で Nginx と PHP、および phpMyAdmin をインストールし、MySQL データベースとの接続を行う手順を紹介します。実際にコマンドを実行しながら、各設定の意味や注意点も含めて解説します。 環境…
この記事は個人ブログと同じ内容です ECSタスク定義とECRリポジトリの設定で苦戦したため、その解決の記録を共有します。 起こった問題 インフラ側 ECSタスク定義を作成する際、指定するECRリポジトリが空の場合、タスク定義の作成が失敗する問題が発生しま…
この記事は個人ブログと同じ内容です この記事はスクラム開発について学ぶために読んだ SCRUM BOOT CAMP の読書メモと感想です。 本について SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発 西村 直人, 永瀬 美穂, 吉羽 龍…
この記事は個人ブログと同じ内容です Dockerイメージサイズを削減することは、プロジェクトの効率化やコスト削減において非常に重要な取り組みです。特に、Laravelのようなフレームワークを使ったプロジェクトでは、サイズが膨らみがちで、ビルドやデプロイ…
この記事は個人ブログと同じ内容です www.ritolab.com Go では、構造体を利用してデータを管理することが一般的ですが、オプションの多い構造体の初期化や、変更を避けたいオブジェクトの生成には工夫が必要です。 本記事では、柔軟かつ一貫性のあるオブジェ…
この記事は個人ブログと同じ内容です ソフトウェア設計をする際に以下のような課題が発生する場合があります。 ドキュメント化のコストと、管理コストの増加 システムが複雑化するにつれて、コードの理解が難しくなる 一貫性のない命名規則 これらの課題を解…
この記事は個人ブログと同じ内容です www.ritolab.com GraphQL サーバと gRPC サーバを Go で実装し、それらを連携させた簡単なローカル環境を構築しました。この記事では、その手順と体験をシェアしていきます。 全体アーキテクチャの概要 全体のアーキテク…
この記事は個人ブログと同じ内容です www.ritolab.com Functional Option Pattern は、Go 言語でよく使用される設計パターンの 1 つです。このパターンを使用することで、柔軟で拡張性の高い API 設計が可能になります。この記事では、Functional Option Pat…
この記事は個人ブログと同じ内容です 前回までの振り返り 第1章~第16章は実践的な内容で、XP (エクストリームプログラミング)における開発手法や考え方について学びました。 XP入門 XP入門2 今回の内容 今回は17~25章を読み進め、XP の哲学や歴史的な背景に…
この記事は個人ブログと同じ内容です www.ritolab.com 2024 年 10 月 9 日の Google Cloud Blog にて、BigQuery と Cloud Logging における「パイプ構文」導入の記事がアップされました。 Introducing pipe syntax in BigQuery and Cloud Logging | Google C…
この記事は個人ブログと同じ内容です 前回の振り返り 簡単に前回を振り返ると、XP (エクストリームプログラミング) は、アジャイル開発の手法の一つです。 XP において「価値」「原則」「プラクティス」は重要な概念であり、それぞれの要素が連携してソフト…
この記事は個人ブログと同じ内容です www.ritolab.com GCP 外のアプリケーションから GCP リソースを操作する場合に、サービスアカウントキーを用いずに安全にリソースへアクセスできる Workload Identity 連携を用いて、Github Actions から GCP リソースの…
この記事は個人ブログと同じ内容です はじめに プライベートサブネットにあるEC2インスタンスに、VPCエンドポイント経由でAWS Systems Manager(SSM)を使って接続する際、かなり苦戦したので、その対処法についてこの記事でまとめます。 SSMで接続できない…
この記事は個人ブログと同じ内容です Session Managerについて Session ManagerはAWS Systems Managerの一部であり、安全にEC2インスタンスなどに接続するためのツールです。Session Managerを使用すれば、SSHキーやパブリックIPを割り当てることなく、AWSの…
この記事は個人ブログと同じ内容です www.ritolab.com Vercel は、モダンなウェブアプリケーションの開発、デプロイ、ホスティングを簡単かつ効率的に行うためのクラウドプラットフォームです。AWS Amplify, Firebase Hosting, Netlify, Heroku あたりと同じ…
この記事は個人ブログと同じ内容です はじめに 今年の6月からスクラムマスターの役割を担うことになりました。 しかし、私自身現在の会社に勤めるまでアジャイル開発の経験が全くなかったので、理解を深めるために XP について学ぶことにしました。 この記事…
この記事は個人ブログと同じ内容です はじめに 私は、新潟に住みながらフルリモートでエンジニアとして働いていました。その理由の一つは、男子新体操の練習を続けるためです。しかし、2022年の冬頃からエンジニアのイベントに参加したいという気持ちが高ま…
この記事は個人ブログと同じ内容です www.ritolab.com Functions Framework を用いた Cloud Functions 開発 Google Cloud Functions は、サーバーレスコンピューティングの強力なソリューションです。Functions Framework を使用することで、開発者はローカ…
この記事は個人ブログと同じ内容です www.ritolab.com GCP コスト管理の重要性と可視化の必要性 クラウドコンピューティングの普及に伴い、多くの企業が Google Cloud Platform (GCP) を利用しています。しかし、クラウドサービスの利用が拡大するにつれて、…
この記事は個人ブログと同じ内容です はじめに この記事では、IntelliJ IDEA と DevContainer, Zenn CLI を利用してブログ執筆環境を構築する方法をご紹介します。 DevContainer とは 以下が参考になりました。 Devcontainer(Remote Container) いいぞという…
この記事は個人ブログと同じ内容です はじめに 私はエンジニアであり、男子新体操というスポーツをやっており、プライベートの時間に練習し、大会に出場してたりします。 私は個人競技をやっており、飽き性なため、4種目の演技を毎年作り変えています。 ※一…