NotebookLMの実践レビュー

この記事は個人ブログと同じ内容です NotebookLMとは NotebookLM(Notebook Language Model)は、Googleが提供するAIアシスタントツールで、指定したソースに基づいて質問に回答したり、情報を整理する支援を行います。特に、セキュリティや業務関連の質問回…

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

この記事は個人ブログと同じ内容です www.ritolab.com Go の理解を深めるために roadmap.sh を利用し学習したので紹介します。 roadmap.sh とは roadmap.sh は、開発者向けの学習ロードマップを提供するオープンソースプロジェクトです。 フロントエンド、バ…

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

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

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

この記事は個人ブログと同じ内容です ECSタスク定義とECRリポジトリの設定で苦戦したため、その解決の記録を共有します。 起こった問題 インフラ側 ECSタスク定義を作成する際、指定するECRリポジトリが空の場合、タスク定義の作成が失敗する問題が発生しま…

スクラム入門

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

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

この記事は個人ブログと同じ内容です Dockerイメージサイズを削減することは、プロジェクトの効率化やコスト削減において非常に重要な取り組みです。特に、Laravelのようなフレームワークを使ったプロジェクトでは、サイズが膨らみがちで、ビルドやデプロイ…

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

この記事は個人ブログと同じ内容です www.ritolab.com Go では、構造体を利用してデータを管理することが一般的ですが、オプションの多い構造体の初期化や、変更を避けたいオブジェクトの生成には工夫が必要です。 本記事では、柔軟かつ一貫性のあるオブジェ…

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

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

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

この記事は個人ブログと同じ内容です www.ritolab.com GraphQL サーバと gRPC サーバを Go で実装し、それらを連携させた簡単なローカル環境を構築しました。この記事では、その手順と体験をシェアしていきます。 全体アーキテクチャの概要 全体のアーキテク…

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

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

XP入門3

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

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

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

XP入門2

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

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

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

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

この記事は個人ブログと同じ内容です はじめに プライベートサブネットにあるEC2インスタンスに、VPCエンドポイント経由でAWS Systems Manager(SSM)を使って接続する際、かなり苦戦したので、その対処法についてこの記事でまとめます。 SSMで接続できない…

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

この記事は個人ブログと同じ内容です Session Managerについて Session ManagerはAWS Systems Managerの一部であり、安全にEC2インスタンスなどに接続するためのツールです。Session Managerを使用すれば、SSHキーやパブリックIPを割り当てることなく、AWSの…

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

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

XP入門

この記事は個人ブログと同じ内容です はじめに 今年の6月からスクラムマスターの役割を担うことになりました。 しかし、私自身現在の会社に勤めるまでアジャイル開発の経験が全くなかったので、理解を深めるために XP について学ぶことにしました。 この記事…

地方在住エンジニアが上京して変わったこと:技術イベント参加を通じて得た経験

この記事は個人ブログと同じ内容です はじめに 私は、新潟に住みながらフルリモートでエンジニアとして働いていました。その理由の一つは、男子新体操の練習を続けるためです。しかし、2022年の冬頃からエンジニアのイベントに参加したいという気持ちが高ま…

【ローカルで動作確認】Functions Framework を用いた Cloud Functions 開発

この記事は個人ブログと同じ内容です www.ritolab.com Functions Framework を用いた Cloud Functions 開発 Google Cloud Functions は、サーバーレスコンピューティングの強力なソリューションです。Functions Framework を使用することで、開発者はローカ…

Looker Studio で Cloud Billing データ(料金・コスト)を可視化する

この記事は個人ブログと同じ内容です www.ritolab.com GCP コスト管理の重要性と可視化の必要性 クラウドコンピューティングの普及に伴い、多くの企業が Google Cloud Platform (GCP) を利用しています。しかし、クラウドサービスの利用が拡大するにつれて、…

IntelliJ + DevContainer + Zenn CLI でブログ執筆環境を構築する

この記事は個人ブログと同じ内容です はじめに この記事では、IntelliJ IDEA と DevContainer, Zenn CLI を利用してブログ執筆環境を構築する方法をご紹介します。 DevContainer とは 以下が参考になりました。 Devcontainer(Remote Container) いいぞという…

男子新体操とはエンジニアリングである

この記事は個人ブログと同じ内容です はじめに 私はエンジニアであり、男子新体操というスポーツをやっており、プライベートの時間に練習し、大会に出場してたりします。 私は個人競技をやっており、飽き性なため、4種目の演技を毎年作り変えています。 ※一…

TROCCO と BigQuery で始める ETL 入門

この記事は個人ブログと同じ内容です www.ritolab.com データ分析基盤を構築する上で欠かせないのが ETL ツールです。外部データソースの取り込みを一元管理し、分析基盤のデータを最新に保ちます。 今回は、TROCCO と BigQuery を使って分析基盤を構築し、…

SQL クエリを効率よく書こう: CTE, Window 関数編

この記事は個人ブログと同じ内容です www.ritolab.com データベースを操作する SQL SQL(Structured Query Language)は、関係データベース管理システム(RDBMS)でデータを管理・操作するための標準化された言語です。データベースに格納された情報を効果的…

外部ライブラリのfinalクラスをモックする

この記事は個人ブログと同じ内容です はじめに 外部のライブラリを使用して実装し、テストを書いていたらfinalクラスがモックできずに詰まったので、その解決方法を解説していきます。 また、解決にあたりサービスコンテナ周りで得た知見の共有をしていきま…

はじめまして。AWS Step Functions のフローを理解する

この記事は個人ブログと同じ内容です www.ritolab.com AWS Step Functions の「フロー」を触って挙動を確認します。 AWS Step Functions 様々なアプリケーションのワークフローを一連の処理として定義し実行できるサービス。Lambda invoke や SNS Publish, E…

【AWS】SAA [SAA-C03] 合格体験記 2023/01

この記事は個人ブログと同じ内容です はじめに 2024年1月30日にAWS実務未経験で3ヶ月でAWS SAAに合格することができましたので、 その合格体験記を書きたいと思います。 私の背景 私のエンジニア歴は3年程度で、普段はWeb開発のフロントエンドとバックエン…

瞬時に、柔軟に、そして簡単に。Amazon Athena で行うログ分析

この記事は個人ブログと同じ内容です www.ritolab.com ログの分析をどのような手段で実施するか ログの多くはテキストファイルであることが多く、DB に格納されていないことがほとんどです。 しかも、ログファイルは大抵、複数の環境から吐き出されたり、量…

テーブル結合は JOIN と FROM どちらで行うべきか。両者の違いと注意点

この記事は個人ブログと同じ内容です www.ritolab.com JOIN での結合式と、FROM での結合式 テーブル結合といえば JOIN 句が一般的ですが、FROM 句に複数テーブルを指定することでもテーブルを結合できます。例えば、以下 2 つのクエリは全く同じ結果を返し…