2024-01-01から1年間の記事一覧

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 …

XP入門

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

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

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに 私は、新潟に住みながらフルリモートでエンジニアとして働いていました。その理由の一つは、男子新体操の練習を続けるためです。しかし、2022年の冬頃からエンジニアのイ…

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

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} Functions Framework を用いた Cloud Functions 開発 Google Cloud Functions は、サーバーレスコンピューティングの強力なソリューションです。Functions Framew…

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

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} GCP コスト管理の重要性と可視化の必要性 クラウドコンピューティングの普及に伴い、多くの企業が Google Cloud Platform (GCP) を利用しています。しかし、クラ…

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

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

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

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに 私はエンジニアであり、男子新体操というスポーツをやっており、プライベートの時間に練習し、大会に出場してたりします。 私は個人競技をやっており、飽き性なため、4…

TROCCO と BigQuery で始める ETL 入門

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

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

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} データベースを操作する SQL SQL(Structured Query Language)は、関係データベース管理システム(RDBMS)でデータを管理・操作するための標準化された言語です…

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

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに 外部のライブラリを使用して実装し、テストを書いていたらfinalクラスがモックできずに詰まったので、その解決方法を解説していきます。 また、解決にあたりサービスコン…

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

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} AWS Step Functions の「フロー」を触って挙動を確認します。 AWS Step Functions 様々なアプリケーションのワークフローを一連の処理として定義し実行できるサー…

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

この記事は個人ブログと同じ内容です // .table-warp {overflow-x: scroll;} はじめに 2024年1月30日にAWS実務未経験で3ヶ月でAWS SAAに合格することができましたので、 その合格体験記を書きたいと思います。 私の背景 私のエンジニア歴は3年程度で、普段…

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

この記事は個人ブログと同じ内容です www.ritolab.com // .table-warp {overflow-x: scroll;} ログの分析をどのような手段で実施するか ログの多くはテキストファイルであることが多く、DB に格納されていないことがほとんどです。 しかも、ログファイルは大…

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

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

Laravelを使用したStripeのCheckoutの決済済みかどうかの判定の実装

この記事は個人ブログと同じ内容です Laravelを使用したStripeのCheckoutの決済済みかどうかの判定の実装 // 前回と前々回の記事の続きです。 https://zenn.dev/ota_rg/articles/5bb03b17198f58 https://zenn.dev/ota_rg/articles/836c891b481c23 概要 今回…

Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【決済フォーム埋め込み編】

この記事は個人ブログと同じ内容です Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【決済フォーム埋め込み編】 // 前回の記事の続きです。 https://zenn.dev/ota_rg/articles/5bb03b17198f58 概要 LaravelとNuxt.jsでStripeの決済処理を実装しまし…

Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【Stripe決済ページ遷移編】

この記事は個人ブログと同じ内容です Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【Stripe決済ページ遷移編】 // 概要 LaravelとNuxt.jsでStripeの決済処理を実装しました。 Stripeにはいくつか決済方法があるのですが今回はCheckoutと呼ばれる、S…

Node.js サーバーアプリケーションにおけるトークンバケットを用いたレートリミットの実現

この記事は個人ブログと同じ内容です Node.js サーバーアプリケーションにおけるトークンバケットを用いたレートリミットの実現 // はじめに こんにちは、株式会社 ROXX で back check というサービスを開発しているぐっきー(@Area029S)です。 リクエスト…