2024-01-01から1年間の記事一覧
この記事は個人ブログと同じ内容です ソフトウェア設計をする際に以下のような課題が発生する場合があります。 ドキュメント化のコストと、管理コストの増加 システムが複雑化するにつれて、コードの理解が難しくなる 一貫性のない命名規則 これらの課題を解…
この記事は個人ブログと同じ内容です 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種目の演技を毎年作り変えています。 ※一…
この記事は個人ブログと同じ内容です www.ritolab.com データ分析基盤を構築する上で欠かせないのが ETL ツールです。外部データソースの取り込みを一元管理し、分析基盤のデータを最新に保ちます。 今回は、TROCCO と BigQuery を使って分析基盤を構築し、…
この記事は個人ブログと同じ内容です www.ritolab.com データベースを操作する SQL SQL(Structured Query Language)は、関係データベース管理システム(RDBMS)でデータを管理・操作するための標準化された言語です。データベースに格納された情報を効果的…
この記事は個人ブログと同じ内容です はじめに 外部のライブラリを使用して実装し、テストを書いていたらfinalクラスがモックできずに詰まったので、その解決方法を解説していきます。 また、解決にあたりサービスコンテナ周りで得た知見の共有をしていきま…
この記事は個人ブログと同じ内容です www.ritolab.com AWS Step Functions の「フロー」を触って挙動を確認します。 AWS Step Functions 様々なアプリケーションのワークフローを一連の処理として定義し実行できるサービス。Lambda invoke や SNS Publish, E…
この記事は個人ブログと同じ内容です はじめに 2024年1月30日にAWS実務未経験で3ヶ月でAWS SAAに合格することができましたので、 その合格体験記を書きたいと思います。 私の背景 私のエンジニア歴は3年程度で、普段はWeb開発のフロントエンドとバックエン…
この記事は個人ブログと同じ内容です www.ritolab.com ログの分析をどのような手段で実施するか ログの多くはテキストファイルであることが多く、DB に格納されていないことがほとんどです。 しかも、ログファイルは大抵、複数の環境から吐き出されたり、量…
この記事は個人ブログと同じ内容です www.ritolab.com JOIN での結合式と、FROM での結合式 テーブル結合といえば JOIN 句が一般的ですが、FROM 句に複数テーブルを指定することでもテーブルを結合できます。例えば、以下 2 つのクエリは全く同じ結果を返し…
この記事は個人ブログと同じ内容です Laravelを使用したStripeのCheckoutの決済済みかどうかの判定の実装 前回と前々回の記事の続きです。 https://zenn.dev/ota_rg/articles/5bb03b17198f58 https://zenn.dev/ota_rg/articles/836c891b481c23 概要 今回はCh…
この記事は個人ブログと同じ内容です Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【決済フォーム埋め込み編】 前回の記事の続きです。 https://zenn.dev/ota_rg/articles/5bb03b17198f58 概要 LaravelとNuxt.jsでStripeの決済処理を実装しました。…
この記事は個人ブログと同じ内容です Nuxt.js+LaravelでStripeのCheckoutの実装をやってみた【Stripe決済ページ遷移編】 概要 LaravelとNuxt.jsでStripeの決済処理を実装しました。 Stripeにはいくつか決済方法があるのですが今回はCheckoutと呼ばれる、Stri…
この記事は個人ブログと同じ内容です Node.js サーバーアプリケーションにおけるトークンバケットを用いたレートリミットの実現 はじめに こんにちは、株式会社 ROXX で back check というサービスを開発しているぐっきー(@Area029S)です。 リクエストを受…