ようへいの日々精進XP

よかろうもん

2020 年 07 月 20 日 (月)

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

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

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

ジョギング

仕事終わりに走ってきた.

ギョーム

  • なんだかバタバタした一日だった
  • そんな中で AWS Batch についてなんとなく学びがあったし知見を得ることが出来たことが良かった
  • 要らないと思って消した AWS リソースが, 実は使われていたらしくて慌てて Terraform で作り直した (在って良かった Terraform

ディナー

  • 奥さんが鶏ハムに初挑戦, 初挑戦という割にはとても美味しかった
  • 塩サバも下処理がしっかりしてて臭みがまったくなくて, 次はグリルで焼いてくれることを期待

2020 年 07 月 19 日 (日)

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

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

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

ジョギング

昨日の疲れが酷く残った感じがしたので, ペース抑えめで走ったけど辛かった.

ギョーム

  • 休み

ホントなんにもしなかったけど, TypeScript に興味があったので WEB+DB PRESS をゲットしてパラパラと. 気付いたら面白そうな特集記事ばっかりだったので引続き読むのが楽しみ.

ディナー

  • 定番のたこ焼き
  • トッピングは蛸とチーズのみ, とてもシンプルな構成だったけど, おろしポン酢とソース + マヨネーズで美味しゅうございました

2020 年 07 月 18 日 (土)

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

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

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

ジョギング

昨日, 休んだので楽に走れるかなーって思ったけど, 世の中そんなに甘くなかった.

ギョーム

  • 休み
  • CI 環境において, Docker ビルドを速くする方法についてあれこれ調べていた (あまり手は動かせなかったけど

ディナー

  • 手羽ピリ辛炒め, ピーマンの炊いたん, 奥さんの定番メニューで美味しゅうございました
  • いつもありがとう

macOS で ThinkPad TrackPoint II キーボード (英字配列) を利用して一週間が経ったのでメモ

tl;dr

inokara.hateblo.jp

ThinkPad TrackPoint II キーボードを macOS で使い始めて一週間が経ったので使用感等をざっくりと書いてみる.

トラブル

致命的ではなかったけど, 当初は「Bluetooth 低エネルギー」(2.4 GHz USB レシーバーではない方) を使って macOS と接続していただけど, 結構な頻度で「ょう」な入力を取りこぼす現象に見舞われたので, USB レシーバーでの接続に切り替えたところ入力の取りこぼしが無くなった.

f:id:inokara:20200718081248j:plain

パソコン本体から色々と線が伸びているのはあまり好きではなくて, 出来るだけ USB レシーバーは使いたくないと思っていたのでちょっと残念.

その他

良いところ

  • X1 Carbon のような柔らかさが無いものの入力した時のキータッチの反発が心地よい
  • 長時間キー入力しても疲れを感じない
  • 左右の Alt キーを英数かな切り替えスイッチに利用しているけど, 自分の手の大きさだとちょうど良い感じで切り替えることが出来る

なんとかならないかなってところ

  • 前回も書いたけど, TrackPoint の真ん中ボタンがうざい
  • 何らかのミスタイプによってプリントダイアログが出てしまうのが謎
  • TrackPoint で長時間操作しているとなぜか右肩の凝りが強いので, マウスや Magic Trackpad2 を並用している
  • 部屋を暗くして作業することがあるので, バックライトが欲しかった (わがまま

以上

概ね良好で, これからもずっと使っていけそうなので, 良い買い物をしたと思う.

2020 年 07 月 17 日 (金)

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

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

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

ジョギング

完全休養.

ギョーム

二週間ぶりに出社.

  • 久しぶりに濃い打ち合わせがあったり
  • Github Actions をイジったり
  • 古いリソースを削除したり

など. 久しぶりなので, 色々と戸惑うことがあった. ランチはカレー, 夜もカレーだけど.

ディナー

  • カレー day2 昨日よりもコクがあって美味しゅうございました
  • ランチでゲットした Spice のオリジナル調味粉がより食欲を引き立ててくれて美味しゅうございました

Github Actions やりたいこと別テンプレート集 (1)

tl;dr

最近, Github Actions も触り始めて, 色々と学びがあるのでメモしていきます.

GitHub Actions hosted runners の情報を知りたい

概要

  • ビルドで使う環境の情報 (どんなパッケージがインストールされているか等) を知りたい
  • 以下のリポジトリに公開されている

リンク

環境変数を設定したい

概要

ジョブ内で利用する環境変数を指定したいです!

テンプレ

echo ::set-env name=${VARIABLE}::${VALUE} 構文を使うことで, 環境変数を設定することが出来ます.

name: 'sandox-on-push'

on:
  push:
    branches:
      - 'master'

jobs:
  print_environment_variale:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set Environment Variable
        run: |
          echo ::set-env name=TEST_ENV1::foo
          echo ::set-env name=TEST_ENV2::bar

      - name: Print Environment Variable
        run: |
          echo ${TEST_ENV1}
          echo ${{ env.TEST_ENV2 }}

環境変数の値を参照する場合,

  • ${TEST_ENV1}
  • ${{ env.TEST_ENV2 }}

で参照が可能です.

Marketpace で公開されている Actions を利用する場合には, ${{ env.TEST_ENV2 }} を利用すると良さそうです.

サンプル出力

f:id:inokara:20200717005439p:plain

ブランチ名を取得したい

概要

ジョブ内でブランチ名を取得したい場合, https://github.com/marketplace/actions/get-branch-name を使うと便利です.

テンプレ

name: 'sample'
on:
  push:
    branches:
      - 'master'
jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Get Branch Name
        uses: nelonoel/branch-name@v1

      - name: Print Branch Name
        run: |
          echo ${BRANCH_NAME}

サンプル出力

f:id:inokara:20200717010151p:plain

以上

引続き, 精進してまいります.

seiton (整頓) でいにしへの AWS リソースをざっくりと整頓する

tl;dr

古くから存在している EC2 の AMI や EBS のスナップショット等 (以後, AWS リソースと記載) について, 適切にローテーションされていれば良いのですが, 削除されないまま残ってしまっている AWS リソースを日付ベースでざっくりと削除したいと思って, 昔作ったツールを改めて seiton (整頓) という名前で作り直したので紹介させて下さい.

作ったもの

github.com

その名も整理整頓 (seiton) です.

インストールの手順や各種コマンドについては, README をご一読下さい.

seiton (整頓) する

ざっくりとした使い方 (seiton の準備)

以下を実行して, seiton の実行に必要なディレクトリとファイルを用意します.

$ bundle exec seiton init

seiton init では, 以下の処理が行われます.

ざっくりとした使い方 (例えば, 古い AMI を削除する)

例えば, AMI について, 2019 年 12 月 31 日より以前に作成したものについて削除したい場合, 以下のように実行します.

$ bundle exec seiton ami --before-datetime=2019/12/31

--check オプションを付与すると, 削除対象を確認することが出来ます.

$ bundle exec seiton ami --before-datetime=2019/12/31 --check

実際の運用では, 最初に --check オプションを付与して, 対象を確認することをおすすめします.

ざっくりとした使い方 (削除したくないリソース)

例えば, EBS スナップショット snap-xxxxxxxxxxxx と snap-yyyyyyyy は削除したくない場合には, 以下のように実行します.

$ bundle exec seiton ami --before-datetime=2019/12/31 --ignores=snap-xxxxxxxxxxxx snap-yyyyyyyy

もしくは, 以下のような除外リストファイルを作成しておいて, --ignores-file= オプションに渡します.

$ cat ignores.txt
snap-xxxxxxxxxxxx
snap-yyyyyyyy
$ bundle exec seiton ami --before-datetime=2019/12/31 --ignores-file=ignores.txt

必要に応じて除外リストをリポジトリで管理することをおすすめします.

seiton (整頓) されたことを確認する

ざっくりとした使い方 (意図した通りに削除されたか確認する)

削除またはチェック (--check オプションを付与) が実行されると, spec ディレクトリに削除リスト又は awspec で利用可能なテストコードが出力されます.

$ tree spec
spec
├── ebs_snapshots_list.txt
├── ec2_images_spec.rb
└── spec_helper.rb

0 directories, 3 files

尚, ebs_snapshot_list.txt については, awspec で EBS スナップショットの所在をテストする方法を見つけることが出来なかったので, 以下のように describe 系の API を叩いて例外を捕捉するような対応で所在を判定しています.

...
def check_ec2_snapshots(resouces)
  resouces.each do |resouce|
    r, deleted, not_deleted = ignore_resource?(resouce)
    begin
      ec2_client.describe_snapshots({ snapshot_ids: [ r ] })
      log.info(not_deleted)
    rescue
      log.info(deleted)
    end
  end
end
...

rake のタスク一覧を確認してみると, 以下のように rake 経由で意図した通りに削除されたかを確認することが出来ます.

$ bundle exec rake -T
rake check:ebs_snapshots  # Test for ebs_snapshots deleted
rake check:ec2_images     # Test for ec2_images deleted

削除したことのエビデンスが必要な場合には, 出力結果をファイルに出力して提出すると良いのかなと考えています. また, awspec で検証出来るリソースについては, rspec のオプションで HTML とかに吐き出すことも出来るので, 有効活用して頂けると幸いです.

以上

IaC な世の中において, このようなツールへのニーズは非常にニッチだとは思いますが, 業務で不便を感じたことに対して, コードでアプローチ出来たことは良かったかなと思います. とは言え, 古いコードを見ながら, あまり成長が無い自分に残念な気持ちになりましたが, これからも精進していきたいとおもいます. よろしければ, seiton をご利用下さい.

2020 年 07 月 16 日 (木)

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

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

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

ジョギング

朝はゆっくりと散歩.

仕事が終わってから走った.

久しぶりに 10 キロを超えて走った.

ギョーム

  • CloudWatch メトリクスの算術関数とか調べた
  • メンテナンス準備
  • Github Actions 検証 (今までゆるっと使っていたので, ちゃんと検証していく)

ディナー

  • 上沼恵美子のおしゃべりクッキングで紹介されていたカレーを奥さんが再現してくれた
  • 少し汁気の多い感じだったけど, とても美味しくて, も少し辛ければ毎日でも食べたいカレーになった

2020 年 07 月 15 日 (水)

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

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

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

ジョギング

朝はゆっくりと散歩.

仕事が終わってから走った.

ギョーム

  • バタバタした一日だった
  • 社内ネットワーク (VPN がつながらないという問い合わせの対応... 結局, 対応らしい対応が出来ないのが歯がゆい
  • Web に改善リクエストを投げていて, それが取り込まれたものがリリースされて, 思った通りに状況が改善したので良かった

ディナー

  • 奥さんが顔に油が飛んで大騒ぎしながら油淋鶏を作ってくれた, これまた, 我が家の定番にしたいくらい美味しゅうございました

2020 年 07 月 14 日 (火)

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

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

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

ジョギング

仕事が終わってから走った.

走れるようになって初めて, 走っていて気持ちが良かった.

ギョーム

  • 古いリソースの削除したり, 古いリソースを復活させる検証をしたり, とにかく古いリソースと戦っていた
  • エンタープライズ契約している某製品の問い合わせを書いたり

ディナー

鮭のムニエル, タコとゴーヤの和え物, 納豆をお揚げさんでつつんだやつ, 何れもお酒のあてに良くあっていたし, とても美味しゅうございました