My Note

自己理解のためのブログ

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

はじめに システム システム構成図 システムの概要 機能 各ページ画面のスクリーンショット テーブル構成 データベース 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サーバのスト…

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

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

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

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

GitHub Actionsで go test & lint(staticcheck)を実行する

はじめに Go Echoで APIを作成していて PullRequest時にテストを走らせたかったので github-actionsで用意しました。 go Echoで実装したAPIサーバーに対して httptestパッケージ を利用してテストコードを作成 - My Note "go test & lint" するコードは以下…

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

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

【Google App Script】+【Google App Enginge ( Go )】+ Google Data Portal】 を利用して金融資産を可視化する

はじめに システムの構成図 GAEについて GAEを無料で使うために 貴金属の情報取得について 投資信託の情報取得について 仮想通貨の情報取得について Gogle App Script ( GAS ) Claspを用いた開発環境の設定 GASで情報を取得 GitHub GitHub Actions Google Da…

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

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

Google App Script(GAS)で スクレイピングとAPIコール で情報を取得 & スプレッドシートのバックアップ を定期実行する

GAS

はじめに スクレイピングする サイトに直接スクレイピングする場合 GAEで実装したAPIをコールする場合 GASに機密情報を登録する シートを別のスプレッドシートにバックアップするコード GASのスクリプトを定期実行する はじめに Google App Scriptを確認あた…

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

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

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

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

claspを利用してGitHub Actionsで Google App Script ( GAS )をデプロイする

はじめに Github Actions はじめに 前回の記事で、google app script (GAS) の開発環境を整えました。なので今回はGASを自動デプロイする環境をGithub Actionsで用意します。 yhidetoshi.hatenablog.com Github Actions 前回の記事にも記載していますが設定…

clasp で Google App Script ( GAS ) の開発環境を整えた

はじめに 設定 インストール Googleアカウントに認証する。 claspのセッティング claspのコマンド例 参考 はじめに Google App Script(GAS) でコーディングするにあたりローカルの開発環境をセッティングしたので備忘録です。 GASを実行するには、https://sc…

Goアプリを Google App Engine ( GAE ) に GitHub Actionsでデプロイする(Workload Identity 連携)

はじめに Google Cloudの設定( IAM と Workload Identity ) GitHub Actionsについて 参考 はじめに 前回の記事でGitHub ActionsでGoogle App Engine (GAE) にデプロイする時の認証にサービスアカウントの秘密鍵を利用しました。 そこで今回はOpenID Connect…

Goアプリを Google App Engine ( GAE ) に GitHub Actionsでデプロイする(秘密鍵を利用する場合)

はじめに 利用するGIthub-Actionsのライブラリ サービスアカウントを作成 GitHub Actionsについて はじめに 今回はGithub ActionsでGoogle App Engine ( GAE ) に デプロイします。認証にはサービスアカウントの秘密鍵を利用します。 後にOpenID Connect(OI…

GitHub Actions からCodeBuildを呼び出してdocker build する

概要 github-actions 概要 以前にGitHub Actionsでビルドする内容について書きました。そこで今回はビルドの処理をGitHub ActionsからCodeBuildを呼び出して CodeBuildでビルド処理を実行します。 yhidetoshi.hatenablog.com この記事の DockerビルドとECRへ…

GitHub ActionsでSPA(CloudFront + S3)にVueアプリをデプロイする

はじめに GIthub Actons OIDCプロバイダを作成 AWSの設定 GitHub Actionsのコード 利用するgithub-actionsのライブラリ はじめに GitHub Actionsで vueアプリをビルドしてS3にデプロイする GIthub Actons OIDCプロバイダを作成 AWSでGitHub ActionsのOIDCプ…

GitHub Actonsで利用するOIDCプロバイダをTerraform(AWS IAM)で作成する

はじめに Terraform はじめに 前回の記事で Github AcrtionsにOIDCでAWS認証してECRにコンテナイメージを登録しました。 前回は手動でAWSコンソールでポチポチ作成したので今回は OIDCをプロバイダをTerraformで作成しました。 terraform以外の部分は前回記…

GitHub ActionsでOIDCを利用してECRにコンテナイメージを登録する

はじめに OIDCプロバイダーを作成 Github Actionsを設定 はじめに Github Actionsで AWSのアークセスキーとシークレットキーを設定しなくてもOIDC ( OpenID Connect) で認証できるようになりました。 鍵情報をセットしなくて済み鍵を管理する必要もないので…

terraformのコードをGitHub Actionsで構文チェックする

はじめに ソースコード はじめに terraformのコードをgithub-actionsでコードチェック(fmt, validate)する設定を書きました。 ワークフローは github/workflows にyamlファイルをセットすれば実行されます。 今回の実行内容 mainブランチに対して "pull re…

TerraformでMackerelのAWSインテグレーションを設定する

はじめに 設定 Terraformの構成 IAMロールの作成 Mackerelのインテグレーション設定 おわり はじめに 前回の記事でMackerelの設定をterraformで行ったので、今回は "AWSインテグレーション" を設定します。 今回もTerraformの実行は 前回の記事と同様に terr…

Terraform ( terraform-cloud )でMackerelをコード管理する

はじめに 環境 やること terraformのコードと構成 terraform-cloudの設定 terraform-registry terraformの構成 serviceを作成 terraform import roleを作成 monitorを作成 notificationを作成 alertsを作成 おわり はじめに 2022年の一本目の記事になります…

"terraform state mv" の備忘録

はじめに 環境 state mv を実行する はじめに 今回はTerraformを利用していると必要となってくる stateファイルを変更する場合の備忘録になります。 環境 Terraformのバージョン Terraform: v1.0.1 リモートのTerraform環境 terraform-cloud www.terraform.i…