My Note

自己理解のためのブログ

Go

APIGateway + Lambda + Go(Echo)をSAM(Serverless Application Model)でAWSとローカルにデプロイする

はじめに 前回、APIGW + Lambda + Go(Echo)のローカル環境をSAMで構築しました。 今回は、samでローカルではなく、AWS環境にデプロイをしました。ローカルも同じ設定で利用可能です。 yhidetoshi.hatenablog.com 本記事ではAWSにデプロイする部分にだけ記載…

APIGateway + Lambda + Go(Echo)で開発するためのローカル環境をSAM(Serverless Application Model)で再現する

はじめに ローカル環境構築 デプロイと動作確認 さいごに はじめに 前回の記事では、サーバレス環境をローカルに用意するためにserverless frameworkを利用しました。そこで今回はSAMを利用して同じ環境を構築してみます。 基本的にServerlessFrameworkを利…

APIGateway + Lambda + Go(Echo)で開発するためのローカル環境をServerlessFrameworkで再現する

はじめに 構成 ローカル環境 デプロイと動作確認 さいごに はじめに 以前の記事で APIGW + Lambdaで GoのフレームワークであるEchoを動かす検証を実施しました。 実際にデプロイすることができたので今回は開発を行うためにローカル環境をServerlessFramewor…

APIGateway(HTTP API) + Lambda環境に echo(Goのweb Framework) を ServerlessFramework でデプロイする

はじめに 変更部分 ServerlessFramework 動作確認 さいごに はじめに 前回の記事で APIGatewayの REST API で EchoをAWS Lambdaで簡単なAPIをデプロイしました。 今回は、APIGatewayの HTTP API に変更します。差分について記述していきます。 yhidetoshi.ha…

APIGateway(REST API) + Lambda環境に echo(Goのweb Framework) を ServerlessFramework でデプロイする

はじめに コード echoのコード ライブラリをざっくり確認 環境構築 ( ServerlessFramework ) 作成されるリソース Lambda APIGateway APIGWのリソース 動作確認 備考 さいごに はじめに 今回は goのwebフレームワークであるEchoをLambdaにデプロイして簡単なA…

個人開発中 ( 金融資産管理サイト) のここまでのまとめ ( Go Echo on GAE + PlanetScale(DB) + Upstash(Redis) )

はじめに システム システム構成図 システムの概要 機能 各ページ画面のスクリーンショット テーブル構成 データベース PlanetScale( DB ) Upstatsh (Redis) CI / CD について バッチ処理の実行について ログインパスワードの暗号化について ORマッパーにつ…

go-echartsを使ってグラフを描画する

はじめに グラフを描画する さいごに はじめに 今回は個人開発をしていてGoでグラフを描画したくて、何かいい方法がないか調べたときに go-echarts というOSSパッケージを見つけました。 スター数もかなり多く、サンプルコードも豊富だったので利用しました…

GoのWebフレームワーク Echoでの開発記録(bcryptを利用してログインパスワードを暗号化)

はじめに bcryptについて 確認 はじめに 今回は bcrypt を利用してログインパスワードを暗号化します。 今回は以前にまとめた内容のアップデート版。 yhidetoshi.hatenablog.com bcryptについて 説明については以下の記事がわかりやすく参照しました。 mediu…

GoのWebフレームワーク Echoでの開発記録 (GoのORM( GORM )でPaginationを利用する)

はじめに 個人開発中のWebアプリでPaginationのページを作成する機会があったので調べながらやってみました。 開発環境は Go1.6 + Echo + MySQLコンテナ + Redisコンテナで、ORマッパーに "gorm" を利用し、htmlのページは Goでレンダリングしています。 ■ G…

GoのWebフレームワーク Echoでの開発記録(Deep Health Checkパターンを追加)

はじめに APIを追加 確認 はじめに 今回は Deep Health Checkパターンの healthcheck apiを追加します。webアプリ(Echo)のヘルスチェックするapiは作成していましが、DBへのコネクションも正常かどうかを 含めて確認できるようにします。 参考(Deep Health …

GoのWebフレームワーク Echoでの開発記録(DBのデータをmapにしてTemplate Rendering でページに表示する)

はじめに アプリのディレクトリ構成 やること はじめに 以前の記事で初めて Echoで Template Renderingを利用してページを作成しました。 今回はEchoで個人開発をしていてそのTemplate Renderingを利用した備忘録です。 yhidetoshi.hatenablog.com アプリの…

GoのWebフレームワーク Echo で CORS を設定する

はじめに CORSについて コード 動作確認 CORSを検証するための準備 検証 はじめに 最近、Echoで個人開発をしていて(最近の記事に記載)CORSの設定をまだしていなかったので今回追加しました。 CORSについても改めて整理。 CORSについて ■ CORSとは Cross-Or…

GoのWebフレームワーク Echo でJWT ( JSON Web Token )を使う

はじめに コード 動作確認 はじめに 前回はEchoで作成したwebアプリのセッション管理をRedisで行いました。 yhidetoshi.hatenablog.com 今回は JWT ( JSON Web Token ) を利用してAPIに認証をかけます。 ■ JWTとは https://e-words.jp/w/JWT.html JWTとは、J…

Go EchoのwebアプリのセッションをRedisで管理する

はじめに Redisコンテナの準備 コード 動作確認 さいごに はじめに yhidetoshi.hatenablog.com 前回の記事で Echoでサインアップ、ログインの機能を実装しました。 今回はその続きとしてセッションを管理を行いたいと思います。 セッションはwebサーバのスト…

GoのWebフレームワーク Echoの "Template Rendering" を利用してHTMLページを作成する

はじめに EchoのTemplate Renderingを使う 実行結果 さいごに はじめに 本ブログで goのwebフレームワーク "Echo" を利用して APIを作成してきました。Echoでいくつかページを作成したかったので"Template Rendering" を利用して htmlページを作成しました。…

ORMのgormを利用して Echo で サインアップとログイン機能を追加する

はじめに DBの利用 MySQLコンテナの用意 Migrationについて カラムの追加と削除 レコードの追加と削除 コード model view 実行結果 さいごに はじめに サーバーサイドについて実際に手を動かして勉強するために簡単なアプリケーションを作成しました。 今回…

GoのWebフレームワークEchoで実装したAPIサーバーに対して httptestパッケージ を利用してテストコードを作成

はじめに テストコードについて テストする対象のコード テストの内容 JSONファイルの比較に testifyを利用 テストコード Testifyでテスト 備考 さいごに 参考 はじめに 今回は以前に書いた 仮想通貨の価格を取得するAPIに対してテストコードを作成しました…

Echo ( GoWebフレームワーク ) on GAE で仮想通貨の価格を返すAPIを作成した

はじめに データの取得先 APIについて ソースコード デプロイについて はじめに 今回は自分のAPIサーバで仮想通貨の現在価格情報を返す機能が欲しかったので取引所のAPIを使って実装しました。 データの取得先 価格を取得するために、GMOコインとCoincheck …

Echo ( GoのWebフレームワーク ) on GAE で貴金属 ( 金 & プラチナ )の価格を返すAPIを作成した

はじめに データの取得先 スクレイピング APIについて ソースコード デプロイについて はじめに 以前に 貴金属の価格を取得して可視化する内容で記事を作成しました。 今回は Echo( Goフレームワーク ) でデータを取得する部分についてアップデートした部分…

Echo ( GoのWebフレームワーク ) on GAE で投資信託の基準価格を返すAPIを作成した

はじめに データの取得先とISINコード スクレイピング APIについて ソースコード デプロイについて はじめに 今回は金融資産のポートフォリオ可視化するために投資信託の情報を返してくれるAPIが欲しかったので 勉強も兼ねてEchoで作成してみました。 yhidet…

GoでSlackにMessageを投稿する( slack-go/slack )

今回は下記に書いたSlack APIでメッセージをPostする内容の更新版になります。 yhidetoshi.hatenablog.com 今回利用するライブラリは slack-go/slackです。 スター数も多いですしさまざまな機能が実装されているので今後はこちらを使っていこうと思います。 …

【アップデート】GuardDutyの結果をLambda ( Go ) でSlackに通知する

はじめに SlackAppを利用する パッケージ構成 EventBridgeについて Slack通知について さいごに はじめに 今回は以前に書いた "GuardDutyの結果をLambda ( Go ) でSlackに通知する" 内容をアップデートしました。 主な目的はslack通知に利用するライブラリを…

OSSの go-datadog-api にPullRequestを送った

この記事がはてブロの100本目の記事になります!!ついに!という気持ちです。 今回は、Datadogに触れる機会が増えてきてDatadogのAPIレファレンスを見ていて何かAPIを実装したいと思って以下のGitHubリポジトリにPRを送りました。 github.com このリポジト…

mackerel-client-goを使ってMackerelのグラフにアノテーションをする

はじめに アノテーションする 結果 さいごに はじめに 今回はMackerelのグラフにアノテーションをしますー! アノテーションについては↓の記事をみてください! mackerel.io アノテーションする 今回はmackerel-client-goを使ってグラフにアノテーションをし…

ECS FargateでGoコンテナを起動してローリングアップデートする

はじめに アーキテクチャ GitHub ECRに登録するGoコンテナを作成する docker imageを作成 ECRにdocker imageをpushする ECS Fargateのタスクを作成する ECS Fargateのサービスを作成する ALBを作成する サービスをつくる CodePipelineを作成する Source ( Gi…

GoとMySQLの学習メモ ( DB接続とデータ取得 )

Go

今回勉強するにあたってこの記事を利用しました。 tutorialedge.net Goでmysqlに接続するために今回は↓のドライバを利用しました。 github.com ■ DockerでMySQLを起動してGoからDBを操作する。 mysqlコンテナの作成 version: '3' services: db: image: mysql…

mackerel-client-goにfind invitations apiをコミットした

久しびりにブログを書きます。 なるべく小さなことでも書こうと思ってたのですが、風邪やらで体調崩したり週末バタバタしてたりで全然かけなかった。 これからは、小さいことでも自分の備忘録的に書いていきたいー。 今回はmackerel-client-goでユーザの招待…

Google App Engine(Go)とechoを使ってAPIを作ってみた ( 結果の可視化はMackerelで )

はじめに アーキテクチャとフロー Lambda ( Go )のクライアントについて デプロイについて GoogleAppEngine ( Go ) について echoについて echoでやっていること Basic認証 スクレイピングとjson生成 GAEへのデプロイについて 結果 さいごに はじめに Goとec…

金とプラチナの価格をGoとMackerelで可視化する

はじめに アーキテクチャ Lambda ( Go )について デプロイ 結果 ( Mackerelの画面 ) さいごに はじめに 今回は、Goでスクレイピングして金とプラチナの価格をMackerelで可視化します。 yhidetoshi.hatenablog.com こちらと同様にMackerelを使った可視化です…

GoogleAnalyticsのPV数をGoとMackerelで可視化する

はじめに アーキテクチャ Google Cloud Platformについて GoogleAnalyticsについて Lambda ( Go )について 認証ファイル(json)のセット方法 認証ファイルを環境変数にセットできるように加工 GoogleAnalyticsから欲しい情報を取得する Lambdaの定期実行 Mack…