ようへいの日々精進XP

よかろうもん

2020 年 01 月 16 日 (木)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 博多天神周り 11 キロ位 55 分
  • 懸垂 x 8
  • (腕立て x 50 + (腹筋 x 50 x 2)) x 2
  • 通勤往復徒歩
  • 引き続き, 右足の張りが強い

ギョーム

  • リリース Go on Cloud Functions + Terraform, BigQuery
    • あるキーの値が Array 又は String になる JSON をパースしなければいけない状況になったので焦った
  • Terraform のドキュメントを見ても書き方がわからない時にはプロバイダのテストコードを読めば良いという知見を得た

夕飯

鶏もものソテー, 美味しかった!太腿を痛めているので鶏ももを食べて早く治したい.

2020 年 01 月 15 日 (水)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • お休み
  • 通勤は往復徒歩
  • 右足の張りが強い

ギョーム

  • 引き続き, ECS Optimized AMI の更新をしたり
  • AWS Elasticsearch Service の縮退
  • Go on Cloud Functions + Terraform, BigQuery 試行錯誤

Fukuoka.rb

fukuokarb.connpass.com

gihyo.jp

↑の「Ruby書き方ドリル」を音読しながら, 実際にコードを書くというイベントに参加. 学びの多い時間だったし, 自分は本当に Ruby について 1bit も理解せず勢いで書いてきたんだなと実感した.

夕飯

Fukuoka.rb から帰ってきたのが 22 時前だったけど, 奥さんが夕飯作って待っていてくれて嬉しかったし, 奥さんが得意としている生姜ご飯にアレンジが加えられていて桜えびが入っていて旨味があってとても美味しかった.

2020 年 01 月 14 日 (火)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 博多天神周り 55 min 10 キロ位
  • 懸垂 x 8 回
  • (腕立て x 50 + (腹筋 x 50) x 2) x 2
  • 通勤は往復徒歩

ギョーム

  • Cloud Functions -> BigQuery の相談をしたり
  • ECS Optimized AMI の更新をしたり
  • AWS Elasticsearch Service が音信不通になってしまって試行錯誤

ECS Optimized AMI はだいたい二週間から三週間間隔でリリースされている感. 運用しているクラスタが多くなってくると, やっぱり, 更新作業は自動化したい感が強くなる. AutoScaling で組んでいるクラスタは楽だけど, そうでないクラスタは色々とツラミがあった.

Full GC が走りまくっている Amazon Elasticsearch Service ドメインクラスタ, 結局, CloudWatch Subscription を一回無効にして処理が落ち着くのを待つことにした. サービスに影響の無いドメインクラスタだったから良かったけど...(汗 GC が走りまくって CPU 負荷が高まると CloudWatch Logs からのログ転送を Elasticsearch が受け付けなくなってしまい, 雪だるま式にログ転送が増えて続けて更に負荷が高まってしまうという状況を把握.

夕飯

奥さんのスペシャル豚汁. 美味しかったし温まった.

Cloud Functions チュートリアル 〜 季節の郷 (go) と Github Actions を添えて 〜

tl;dr

最近, GCP の Cloud Functions をいじる機会があったのメモしておきます.

作ったもの

HTTP トリガーへのリクエストを Google Cloud Storage に保存して, 保存した内容を BigQuery に突っ込むという流れを作ってみました.

github.com

README にガチャガチャ書いたので, もし興味がありましたらそちらをご一読下さい.

学び

GCP

  • GCP を触ったのはほぼ初めてで, 当初は AWS には無い「プロジェクト」という概念に戸惑ったけど, だいたい慣れた
  • GCPAPI を操作するには, それぞれのサービスの API を有効にすることから始める, また, サービスアカウントを発行して, サービスアカウントに各種権限を付与する必要がある (JSON 形式の鍵をダウンロードして利用する)
  • JSON 形式の鍵ファイルは環境変数 GOOGLE_APPLICATION_CREDENTIALS に設定する必要がある

Golang

  • Cloud Functions のコードは Go で書いた
  • サンプルコードをコピーしてちょっとだけ修正して動いてくれたのが嬉しかった
  • 簡単なテストも書いたけど, モックの書き方は書籍「みんなのGo言語 」がとても参考になった (インターフェースを駆使する方法は実際に手を動かして改めて書いてみたい)

gihyo.jp

Terraform

  • Cloud Function 関数コードを変更して terraform apply してもコードは更新されないので, 一旦, 関数だけ destroy する必要があった...
  • 時代は v0.12.x だった
  • v0.11.x から v0.12.x へのアップデートは苦行になりそう

Github Actions

使い勝手的には Circle CI とほぼ同じでした. いきなり orbs 的な機能が提供されていて CircleCI をライバル視している感を感じました. 今回は, Cloud Function 関数のコードの構文チェックやテストを実行させています.

以下, 実際に利用している YAML の一部抜粋です.

name: CI on push
on: [push]
  go_test:
    strategy:
      matrix:
        go-version: [1.11.x]
        platform: [ubuntu-latest]
    runs-on: ${{ matrix.platform }}
    steps:
    - name: Install Go
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.go-version }}
    - name: Checkout code
      uses: actions/checkout@v1
    - name: go test for codes
      run: |
        for dir in $(ls -l | awk '$1 ~ /d/ {print $9}' | grep -v terraform | grep -v output | grep -v docs) ; do
          echo "=== go test for $dir"
          cd $dir && go test -v ; cd ../
        done

以下のリファレンスをザーッと眺めることをオススメします.

help.github.com

以上

メモでした.

2020 年 01 月 13 日 (月)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 完全休養

博多デート

奥さんと博多デート 2 日目. 美味しいピザ屋さんがあるというので, 朝食抜きで出かけたら, そのピザ屋さんが夜しか営業していなくて心折れて別のお店に入店したら, そのお店がなかなかコスパが良くてよかったというオチだった.

久しぶりにランチでお腹いっぱいになった気がする.

夕飯

二日連続で鍋.

Cloud Functions

色々まとめたものをリポジトリに追加した.

github.com

2020 年 01 月 12 日 (日)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 55 分くらい走れた
  • 懸垂 x 8
  • 腕立て x 50 + ((腹筋 x 2) x 2)
  • 右足太腿, やっぱり張りが続いている... どうやら Zoom Fly3 で走った時に張りが強い気がする

ダラダラ

と一日を過ごしてゆっくり出来た. 夕方から博多阪急の東北物産展に出かける. 喜多方ラーメン食べたり, 日本酒飲み比べしたり身近で東北をぐるっと楽しめた気がした. 黒にんにくといぶり大根を購入. 明日, いぶり大根とクリームチーズで一杯やる予定.

久しぶりの鍋

美味しかった.

2020 年 01 月 11 日 (土)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 久しぶりに 60 分くらい走れた
  • 懸垂 x 8
  • 腕立て x 50 + ((腹筋 x 2) x 2)
  • 右足太腿の裏が若干違和感があったけど, なんとか走れたので良かった

ランチ

久しぶりに香椎の龍一で担々麺. 美味しかった.

夕飯

たこ焼きパーティ. 大きめのタコを惜しげもなく投入した特別なたこ焼きで美味しかった.

2020 年 01 月 10 日 (金)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • 引き続き, ジョギングお休み中
  • ウォーキングで通勤
  • 右大腿の痛みが快方に向かっている感じ

ギョーム

  • 一週間の振り返りを書いたり
  • CloudFront の Cache Statistics 周りを調べたり (とりあえず, キャッシュヒット率は目標値で安定している
  • Cloud Functions -> BigQuery が佳境, やっぱり BigQuery にデータを突っ込むところで色々と学びがあった
  • Github Actions に手を出してみた

夕飯

奥さんが外食するということで, 自分も同僚各位と中洲川端商店街の居酒屋さんで串カツとか手羽先とか. ワイワイ楽しかった.

やっとこさ

関数は全部 Go で書いた. Go 力高めたい.

2020 年 01 月 09 日 (木)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • ジョギングお休み中
  • ウォーキングで通勤
  • 右大腿の痛みが快方に向かっている感じ

ギョーム

  • とある CloudFront のディストリビューションでキャッシュのヒット率があまりにも低すぎて調査, 対応したらキャッシュ率が爆上がりしてビビった
  • WordPress で使っているデータベースの負荷が一時的に高負荷になるので調査, General ログを仕込んだら, 定期的に SELECT 投げているのでビビった

とにかくビビってばかりの一日だった.

AWS re:Invent Recap with Serverless in Fusic

fusic.connpass.com

Fusic さんでワイワイしてきた. やっぱり Fargate Spot とか RDS Proxy は是非触りたいなと思ったり,

こちらもビビることが多すぎた.

夕飯

↑のミートアップでピザを頂いたり, 懇親会兼反省会に紛れ込んでお刺身を頂いたりした.

2020 年 01 月 08 日 (水)

アクティビティ (今までの走行 (歩行) 距離)

https://pixe.la/v1/users/inokappa/graphs/fitbit-activity

Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている. 色が濃くなれば濃くなる程強度が高い (歩行, 走行距離が長い) ということで. 実装の詳細はこちら.

ジョギング

  • ジョギングお休み中
  • ウォーキングで通勤
  • ((腹筋 x 50 x 2) + 腕立て x 50) x 2
  • 右大腿の痛みはまだまだ...

ギョーム

  • カスタマーサポートの技術サポート当番, 知らない仕様があったり, ユーザーさんからの問い合わせ内容を読んで自分が AWS サポートに問い合わせる時に気を付けたいと思ったり, 学びの多い一日だった
  • Cloud Functions を引き続き, Go で関数をちょこちょこ書いていて, GCS をトリガーとする関数までを書いた, あとは BigQuery にデータを突っ込む部分を書いていくぞ!

夕飯

豚こま焼き肉. お肉はちょっと硬かったけど美味しゅうございました.