SPAで起こるリビジョンのズレ問題とその解決方法

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに 現在、Nuxt.jsを使ってSPA(Single Page Application)としてフロントエンドを構築しています。その中で、ユーザーが長時間アプリを開いたままにすることで発生する「リ…

【3日で開発】Google AI StudioでAIにアプリを作らせてわかったこと

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} ⏱ どれくらいで作れたの? 今回のアプリはGoogle AI Studioとやり取りしながら3日で開発しました。アイデア出しから実装、3D表示、デプロイまでをAIと対話しながら進めたプロセス…

BigQuery の自動メタデータ生成機能を試す(プレビュー版)

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} .table-warp > table {width: max-content;} 2025 年 4 月 9 ~ 11 日に開催された Google Cloud Next '25 にて、BigQuery に関する新機能も多く発表されました。…

PostgreSQL Row-Level Security 入門 : 行単位でデータアクセスを制御する方法

この記事は個人ブログと同じ内容です // はじめに 「このデータはあのユーザーには見せたくない」「マルチテナントアプリでユーザーには自分の会社のデータだけ表示したい」 データベースを運用していると、こんな悩みが出てくることはありませんか? Postgr…

最近のインフラの学びまとめ

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} 最近インフラ関連のことで学んだり、初めて知ったことをまとめました。 ECSサービス間の通信 サービスコネクト 同じECSサービス間でのみ通信する場合に使用する。 呼び出す側の場…

for文を減らして読みやすく。Goのmapsパッケージを使ったmap操作の整理術

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} .table-warp > table {width: max-content;} Go の map 型を扱うとき、キーだけを取り出したり、値だけを集めたり、2 つの map を比較したりと、さまざまな操作が…

ECS FargateでGoogleCloudとのWorkloadIdentity連携の際のハマった話

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに Google CloudとWorkload Identityで連携されているECS Fargateで動いているアプリからGoogle Drive APIを使おうとしたら以下のエラーが出ました。 Post \"https://www.go…

k6 を用いた API 負荷テストの導入とシナリオ実行の基礎

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} .table-warp > table {width: max-content;} Webサービスを提供する上で、一定の負荷やスパイク的なアクセスがあっても安定して応答できるかどうかは非常に重要で…

Workload Identity連携でAWSからGoogle Cloudにセキュアにアクセスする

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに GoogleCloudのWorkload Identityでの連携をAWSのLambdaを使用し、S3のファイルをGoogle CloudのCloud Storageにアップロードする方法を解説します。本記事では、Workload…

TerraformでSecurity Command CenterのアラートをSlackに通知する

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} Security Command Center(SCC)とは Google CloudのSecurity Command Center(SCC)は、クラウド環境のセキュリティリスクの可視化・検出・管理を行うためのセキュリティ管理ツール…

Tidy First? を読んでみた

この記事は個人ブログと同じ内容です // Tidy とは「整頓する」という意味。 コードを書く際に、いきなりシステムの振る舞いを変えるような大きな変更をするのではなく、まずは周辺を整えるような小さなリファクタリングから始めようというのが本書の大筋に…

Go における Adapter パターン - インターフェースの適用と統一

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} ソフトウェア開発では、異なるインターフェースを持つコンポーネント同士を統一的に扱いたい場面があります。そのような場合に役立つのが Adapter(アダプター)…

ALBで簡単にメンテナンスモードを実装する

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに サービス運用の中で、計画的なメンテナンスや障害対応時に「メンテナンスモード」を導入することは重要です。本記事では、AWSのアプリケーションロードバランサー(ALB)…

NotebookLMの実践レビュー

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} NotebookLMとは NotebookLM(Notebook Language Model)は、Googleが提供するAIアシスタントツールで、指定したソースに基づいて質問に回答したり、情報を整理する支援を行います…

Go学習ロードマップを完走!141時間かけて学んだこと

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} Go の理解を深めるために roadmap.sh を利用し学習したので紹介します。 roadmap.sh とは roadmap.sh は、開発者向けの学習ロードマップを提供するオープンソース…

AWSのEC2にPHP+Nginx+phpMyAdminの環境を構築する

この記事は個人ブログと同じ内容です // はじめに 本記事では、EC2上で Nginx と PHP、および phpMyAdmin をインストールし、MySQL データベースとの接続を行う手順を紹介します。実際にコマンドを実行しながら、各設定の意味や注意点も含めて解説します。 …

GitHub ActionsとECSタスク定義の循環依存を解消した話

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} ECSタスク定義とECRリポジトリの設定で苦戦したため、その解決の記録を共有します。 起こった問題 インフラ側 ECSタスク定義を作成する際、指定するECRリポジトリが空の場合、タス…

スクラム入門

この記事は個人ブログと同じ内容です // この記事はスクラム開発について学ぶために読んだ SCRUM BOOT CAMP の読書メモと感想です。 本について SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発 西村 直人, 永瀬 美穂, 吉羽…

Laravel Docker イメージサイズ削減に挑戦!~実践と効果~

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} Dockerイメージサイズを削減することは、プロジェクトの効率化やコスト削減において非常に重要な取り組みです。特に、Laravelのようなフレームワークを使ったプロジェクトでは、サ…

Go における Builder パターン - 構造体生成の整理と制御

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} Go では、構造体を利用してデータを管理することが一般的ですが、オプションの多い構造体の初期化や、変更を避けたいオブジェクトの生成には工夫が必要です。 本…

ALPS, ASD でセマンティクス重視のドキュメントを作成する

この記事は個人ブログと同じ内容です // ソフトウェア設計をする際に以下のような課題が発生する場合があります。 ドキュメント化のコストと、管理コストの増加 システムが複雑化するにつれて、コードの理解が難しくなる 一貫性のない命名規則 これらの課題…

GraphQL + gRPC + Go で作るバックエンド環境

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} GraphQL サーバと gRPC サーバを Go で実装し、それらを連携させた簡単なローカル環境を構築しました。この記事では、その手順と体験をシェアしていきます。 全体…

Go 言語における Functional Option Pattern をラーメン屋で理解する

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} Functional Option Pattern は、Go 言語でよく使用される設計パターンの 1 つです。このパターンを使用することで、柔軟で拡張性の高い API 設計が可能になります…

XP入門3

この記事は個人ブログと同じ内容です // 前回までの振り返り 第1章~第16章は実践的な内容で、XP (エクストリームプログラミング)における開発手法や考え方について学びました。 XP入門 XP入門2 今回の内容 今回は17~25章を読み進め、XP の哲学や歴史的な背景…

BigQuery パイプ構文を試す - 直感的で読みやすい新しいSQLクエリの書き方

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} 2024 年 10 月 9 日の Google Cloud Blog にて、BigQuery と Cloud Logging における「パイプ構文」導入の記事がアップされました。 Introducing pipe syntax in …

XP入門2

この記事は個人ブログと同じ内容です // 前回の振り返り 簡単に前回を振り返ると、XP (エクストリームプログラミング) は、アジャイル開発の手法の一つです。 XP において「価値」「原則」「プラクティス」は重要な概念であり、それぞれの要素が連携してソフ…

Workload Identity 連携で GithubActions から GCP リソースをデプロイする

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} GCP 外のアプリケーションから GCP リソースを操作する場合に、サービスアカウントキーを用いずに安全にリソースへアクセスできる Workload Identity 連携を用い…

AWS セッションマネージャーでEC2に接続できない時の対処法

この記事は個人ブログと同じ内容です //

AWSのプライベートサブネットにあるEC2にSession Managerを使ってセキュアにアクセスする

この記事は個人ブログと同じ内容です //

Vercel へのビルド&デプロイをローカル環境から行う

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} Vercel は、モダンなウェブアプリケーションの開発、デプロイ、ホスティングを簡単かつ効率的に行うためのクラウドプラットフォームです。AWS Amplify, Firebase …