My Note

自己理解のためのブログ

Go

個人開発中 ( 金融資産管理サイト) のここまでのまとめ ( 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サーバのスト…

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…

GuardDutyの結果をLambda ( Go ) でSlackに通知する

はじめに Slack通知を設定 アーキテクチャ 通知結果 CloudWatchの設定 Lambda関数 ServerlessFrameworkを利用したデプロイ まとめ はじめに AWSのセキュリティ対策のひとつにGuardDutyというサービスがあります。 aws.amazon.com GuardDuty はインテリジェン…

Goの文法学習 ( 自分用Memoで適宜更新 )

Go

Map mapを作成 mapリテラルをつくる 値チェック key/valueを削除 key/valueの全取得と要素数の取得 error Slice (スライス) make()関数 append()関数 copy関数 構造体/JSON 構造体の初期化 構造体配列 ネスト構造体 ネスト構造の実用例 Marshalを使う Unmars…

CodeBuildの実行結果をLambda(Go)でSlackに通知する

目的 アーキテクチャについて 実装について Lambda関数とCloudWatchEventの作成 Lambda関数の実装 Slackの通知結果 デプロイ方法 まとめ 目的 AWS CodeBuildの実行結果をLambdaを使ってSlackに通知するようにしました。 前回のブログで、CodeBuildでMackerel…

Mackerel監視設定の管理をServerlessで自動化

目的 アーキテクチャについて 実装について Lambda ( Go ) APIGateway Mackerel LambdaのGoコード CodeBuild 機密情報の扱い Lambdaで作成した環境変数を利用 デプロイについて まとめ 目的 mackerelの監視設定を作成、削除、更新するときに mkrコマンドを利…

MackerelのCPU・Memoryアラート発生時にそれぞれの高負荷なプロセスをSlackに通知するツール ( 改修とAnsibleデプロイ )

修正・追加したこと 1. mackerelのapi-keyをsystemで環境変数から参照 3. Ansibleでツールを設定する tasks templates vars files まとめ 以前に以下の記事を作成した。この記事の内容からツールをアップデートした事について書きます。 yhidetoshi.hatenabl…