自分は運がいい

と思うことがよくある。

例えば今年、PCのビデオカードを購入したが

kheiakiyama.hateblo.jp

今はビデオカードが手に入りづらくなっていて、1万円程値上がりしている。 あのときに買えてよかった。

他にも7,8年前、オシゴトで周囲にスキルセットを持った人がいなかったことで自分が DevOps 寄りの業務を担うことになり、現在の自分にとって有用な技術を身につけるきっかけになった。

オリンピックのチケット当選した(有観客開催されなかったけど)

こういう出来事はだいたい「運がいい」という感想に帰結する。

「運を掴み取る人は努力を積み重ねた上で機会を逃さなかった人」なんて話をたまに見かけるけど、そんなに大そうな努力なんて別に必要ない。

ちょっとした行動を起こすだけで運がいい、と感じられるような出来事がやってくることもある。 それを実感しながら生きてくのは大事だなあ、と思った、そんな年始。
エモい。

2022年もよろしくお願いします。

Microsoft Azure の資格に紐づくアカウントを整理する

先日レジュメサイトを見直したときに、思い立ってアカウントを整理したのでそれについて書く。

レジュメサイトの乗り換えについては以下。 kheiakiyama.hateblo.jp

結論を3行で

  • 資格情報はプライベート利用の個人アカウントにひもづけたほうがいい
  • 資格情報が紐づくアカウントの切り替えは、 Q&A に投稿することでサポートメンバーに対応してもらえる
  • Microsoft Learn は Azure 使っていなくても学習に便利

整理前の状況

Microsoft Azure の資格情報は以下の URL で確認できる。

ダッシュボード

この資格情報は個人アカウントに紐づく仕様となっている。

私に紐づいているアカウントは以下のとおり。

  • プライベートメールアドレスの個人アカウント
  • 職場メールアドレスの個人アカウント(Microsoft Azure 資格)
  • 職場メールアドレスの組織アカウント

現在勤めている Colorkrew Inc.Microsoft のパートナーで、資格情報を持つ個人アカウントに職場の組織アカウントに紐づけることで、パートナー要件に反映できる。
資格は "職場メールアドレスの個人アカウント" に紐づいていたので、それをそのまま職場メールアドレスの組織アカウントに紐づけていた。

整理が必要な理由

アカウントの整理をした理由は以下の通り。

  • 資格情報の確認が Microsoft Learn 配下のシステムになっている点
  • 職場が変わった場合に手間が発生する点
  • 職場メールアドレスがそもそも永続的に利用できない点

順に説明する。

資格情報の確認が Microsoft Learn 配下のシステムになっている点

繰り返しになるが、資格情報の確認は以下のサイトで行う。

ダッシュボード

上記ページはコンテンツの拡大が著しい、 Microsoft Learn の配下にあるのがポイントだ。

docs.microsoft.com

私の場合、Microsoft Learn はプライベートのアカウントで学習状況を進めており、これが分散されるのは嬉しくない。(見直したところ、職場メールアドレスでも行っていた・・・)
いまいち達成感はないが、ポイントが加算されてレベルが少しずつ増えてほしいものだ。
(ようやくレベル7 !)

また、資格の有効期限延長が可能になり、これが Microsoft Learn 上でレコメンドされるようになっている。

Microsoft 認定ダッシュボード

12月15日、Microsoftは、学習者が最新の状態を維持できるように 新しいアプローチを導入 しました。6か月以内に有効期限が切れる有効な認定資格をお持ちの方は、Microsoft Learnの更新アセスメントに合格することで、毎年、無料で認定資格を更新することができます。

Microsoft認定資格を更新する | Microsoft Docs

このあたりからも Microsoft Learn で主に利用するアカウントと、資格情報が紐づくアカウントが同じであるほうがスムーズであることがうかがえる。

職場が変わった場合に手間が発生する点

docs.microsoft.com

上記のよくある質問を読むと、

  • パートナー組織に紐づけたユーザが、別のパートナー組織に紐づけできる
  • パートナー組織の全体管理者は、ユーザの紐づけを解除できる

らしいことが読み取れる。
問題は私が "職場メールアドレスの個人アカウント" を利用していたことにある。
もしも職場が変わると、離職に伴いこの個人アカウントは利用できない。
つまり自分でパートナー組織の紐づけを解除したり、切り替えることができないことになる。

離職前の会社の全体管理者に依頼するしか解決手段がないことになるため、セルフコントロールできないのはあまりよろしくない。

職場メールアドレスがそもそも永続的に利用できない点

最後にこれは当然といえば当然だが、離職すれば職場メールアドレスは利用できない。
せっかく取得した資格を喪失するのはもったいないので、プライベートのメールアドレスに紐づけておくのが無難だろう。

どのように資格の紐づけを変更するか

Microsoft Learn 内の Q&A ページに投稿することで、資格を紐づけるアカウントを切り替えできる。
私の投稿は以下のリンクなので参考になれば。

How to change email address on Certificate Profile with my MCID? - Training, Certification, and Program Support

MCID や個人情報のやり取りを行う都合上、パブリックな Q&A ページではなくプライベートメッセージでのやりとりが必要になる。

以前のアカウント

  • プライベートメールアドレスの個人アカウント
  • 職場メールアドレスの個人アカウント(Microsoft Azure 資格)
  • 職場メールアドレスの組織アカウント

現在のアカウント

  • プライベートメールアドレスの個人アカウント(Microsoft Azure 資格)
  • 職場メールアドレスの個人アカウント
  • 職場メールアドレスの組織アカウント

また、同時に Microsoft のパートナー組織への紐づけもプライベートメールアドレスに対して行うように設定をし直した。

おわりに

余談だが Microsoft Learn は Git や GitHub などの Generic なコンテンツも扱っているため、Microsoftクラスタに若干遠い人も利用してみるとよいと思う。

すべて参照 - Learn | Microsoft Docs

レジュメの Static site を Jekyll(Azure CDN) から Hugo(Static Web Apps) に乗り換えた話

タイトルで8割書いてるので、あとは補足だけ書く。

サイトはこちら。

cv.kheiakiyama.com

背景

理由1: ビルド遅い問題

GitHub Actions を使ってビルドしているが、ビルドからデプロイまで、約8分前後の時間がかかっていた。

内容を精査すると、主に Jekyll でビルドするための bundle install に時間が大半を占めていた。
また、 Gemfile が Dependabot に検知される要因になっていて、地味に嫌な感じだった。

移行先を検討していたところ、Hugo は使ったことがあり、 2021年時点でベストな静的サイトジェネレータの一つらしいのでそれにした。

Best static site generators of 2021 | TechRadar

理由2: Static Web Apps 使いたい

Azure Static Web Apps – App Service | Microsoft Azure

単に使いたかった。
静的コンテンツだけなら Azure CDN と大して変わらないが、 PullRequest でレビューできるのは便利。

Azure Static Web Apps における実稼働前環境での pull request の確認 | Microsoft Docs

そのうち Function 機能もちゃんと使ってあげたい。

移行方法

Jekyll から Hugo

頑張って載せ替えるだけ。

Jekyll to Hugo by kheiakiyama · Pull Request #2 · kheiakiyama/kheiakiyama.github.com · GitHub

個人のレジュメサイトなので、移行前に使っていたデザインテーマはあきらめて別のテーマに移行した。

Azure CDN から Static Web App

Static Web App への載せ替えは淡々とやるとして、移行は TXT レコードを使ったダウンタイムなしの移行を試したが動かなかったのであきらめて CNAME を切り替えてしまった。

Set up a custom domain in Azure Static Web Apps | Microsoft Docs

TXT record validation 、現在は Zone Apex しか対応してないのでは?というのが予測。

移行後

約8分かかっていたビルド&デプロイが1分10秒前後で終わるようになった。

速いのは正義。

GeForce RTX 3060 購入した

なぜ購入したか

年末に自作デスクトップパソコンを購入して QOL が高まったのだが、ビデオカードは正直そこまで高性能というほどではなかった。

kheiakiyama.hateblo.jp

Steam で買った PC ゲームをときどきやっていて、今後も踏まえるとグラフィック性能でボトルネックを感じない状況に改善しておきたかった。 また、今年からの BTC 需要の過熱 *1 により、秋葉原に徒歩で行ける環境であってもビデオカードを非常に入手しづらい状況となったため、マイニング効率に制限をかけた*2 RTX 3060 の発売タイミングはちょうどよかった。

購入日(発売日)の様子

ツクモ公式のネットショップで 2/26 6am 頃に購入し、2/27 6am 頃に発送された。

購入した商品は以下。
ZOTAC ゾタック ZTRTX3060TWINEDGEOC-12GBGDR6/ZT-A30600H-10M 《送料無料》|TSUKUMO公式通販サイト

2/26 日中にアキバを散策したところ、さすがに平日ということもあり在庫があった。

ベンチマーク

GeForce GTX 1650 SUPER -> GeForce RTX 3060 への変更なので、ビデオカード依存のベンチマークはかなり結果に変化が出た。
なお、面倒なのでビデオカード依存のものだけしか計測していない。

3DMark TimeSpy 4931 -> 8390

f:id:khei-fuji:20210307230117p:plain
3DMark - TimeSpy

FFXV 5015 -> 8600

f:id:khei-fuji:20210307230121p:plain
FFXV

おわりに

ところで Amazonアフィリエイトリンクで販売元(メーカー)を選択して貼るのってどうしたらいいんだろう。
こういう記事で貼るときに割高に転売するメーカーを助長しないようにいい感じにやりたいものだがわからん。

RTX 3060 の中でも割高で在庫が残っている MSI の VENTUS を貼っておくことでお茶を濁す。(そこまで貼りたいのか)
現時点(3/7 23:13)で¥71,239 となっている。

MSI GeForce RTX 3060 VENTUS 2X 12G OC グラフィックスボード VD7553

MSI GeForce RTX 3060 VENTUS 2X 12G OC グラフィックスボード VD7553

  • 発売日: 2021/02/26
  • メディア: Personal Computers

2020年に買ってよかったもの

お題「#買って良かった2020

作業環境

Microsoft Pro IntelliMouse シャドウ ブラック NGX-00018

Microsoft Pro IntelliMouse シャドウ ブラック NGX-00018

  • 発売日: 2019/08/02
  • メディア: Personal Computers

数年前は Microsoft IntelliMouse Optical を使っていたが、普通に買える後継モデルとしてあったので購入。
無線マウスを使っていた時期もあったが、電子レンジなどとの干渉や反応が悪いタイミングがどうしても小さなストレスだったので有線にした。
快適。

仕事で非常にお世話になった。
余計な音は拾わず、ノイズも少ない。安定感ある音が共有できる。
リモート中心となった今は音質の低いメンバが会議に入っているとストレスを感じるレベルなので、啓蒙活動していきたい。

まだ使い始めたばかりだけど便利。
このへんのくだりは前記事参照。
デスクトップPCを自作購入した - ぐだぐだ言ってないでコードを書けよ、ハゲ。

定期購入系

剝がれたり引っ越したらまず買うやつ。
チラシを捨てるゴミ箱がマンションについてるが、その捨てる行為自体が非生産的なので(メールのスパム設定をあえて外しているようなもの)マストアイテム。

スマホを落としたときの身代わり。
最近はガラスタイプで複数枚セットが売ってるのでそれを買って、ちょっとでも割れたら遠慮なく貼り直すスタイルにしている。
割れ窓が指に引っかかるのは許せない。

カルビー マイグラ 700g×6袋

カルビー マイグラ 700g×6袋

  • 発売日: 2018/03/26
  • メディア: 食品&飲料

長い付き合いのフルグラで、一周したのかシンプルタイプのマイグラに落ち着いた。
やる気がない日の夜ご飯として。
1年後にこの習慣がどうなってるかは不明。

ずっと買っていたナッツがレビューで「虫が入っていた」など見かけるようになり、切り替えた。
風味がよい気がする。

振り返ると異世界転生物が多い。

異世界転生物のはしりのころの作品。
アニメ化するらしいがそれよりもコミックを待ちたい。

これまた異世界転生物。

ダンジョン飯 1巻 (HARTA COMIX)

ダンジョン飯 1巻 (HARTA COMIX)

異世界転生+料理物。

異世界転生+料理物その2。

おわりに

昨年も言ってたが、Amazon で買い物はしているものの、他でも買うようになってきてる気がする。

デスクトップPCを自作購入した

なぜデスクトップなのか

ノートパソコンを少し前に買った が、金額に対して得られる性能に不満があった。正直コスパが悪いと思う。
昨今の情勢もあり、カフェ作業する機会もほぼなくなったし、Appleの気まぐれ(バグ)で iOS14 のテザリングが壊滅したので踏ん切りがついた。

購入選定

Intel NUC -> BTO ショップ PC -> 自作PC の順に検討が進んで、自作PCに落ち着いた。
NUC はサイズの割に高性能なのはよかったが、性能の割に高価なのとグラフィックボードはほぼ積めず、その場合は NUC なのに大きいのでやめた。

BTO ショップはハイスペックなPCを探すとほぼゲーミングマシンしかなく、高い性能のグラフィックボード(5-6万)はあってもメモリは16GBという歪なバランスの PC しか組めないので断念した。

自作するにあたり、要件は以下とした

  • マザーボード: 今後パーツ入れ替えできるように拡張性重視 -> X570 系
  • CPU: コスパと省電力性重視 -> Ryzen5 3600
  • メモリ: 32GB 以上 -> 32GB * 2
  • GPU: ビデオ会議に普段から耐えられる性能。CPU とは別。稀にゲームや動画編集できる -> GeForce GTX 1650 Super
  • ディスク: 早ければ早いほどよい。512GB以上 -> NVMe対応SSD 1TB

自作 PC は10年ぶりだったので2週間くらいハードウェア事情のキャッチアップをして、PCワンズで揃えた。

www.1-s.jp

後から秋葉原の有名ショップをいくつか見てみたが、ワンズの単価はショップの店頭価格よりも少し安いことが多かったので、ネット通販で買ってよかったかなという印象。

以下、パーツ一覧。

●Ryzen 5 3600 With Wraith Stealth cooler (6C12T/3.6GHz(4.2)/65W/Total Cache 35MB) 0730143309936
◇AMD
@24,700×1=24,700 (税込)

●TUF GAMING X570-PLUS 0192876388457
◇ASUS
@18,480×1=18,480 (税込)

●MasterBox CM694 TG (MCB-CM694-KG5N-S00) 4719512087299
◇Cooler Master
@15,800×1=15,800 (税込)

●NeoECO Gold NE550G 0761345116244
◇Antec
@9,080×1=9,080 (税込)

●AD4U3200732G22-D 4582353591719
◇A-DATA
@25,690×1=25,690 (税込)

●PH-GTX1650S-O4G 0192876557655
◇ASUS
@20,980×1=20,980 (税込)

●Windows 10 Pro 64bit 日本語 DSP版
◇Microsoft
@21,290×1=21,290 (税込)

●WDS100T3X0C 0718037865393
◇Western Digital
@16,280×1=16,280 (税込)

この構成だとフロントファンの給電ケーブルだけは追加購入必要だった。
参考: 価格.com - 『フロントファン2つが回りません』 COOLER MASTER MasterBox CM694 TG MCB-CM694-KG5N-S00 のクチコミ掲示板

組み立て

各パーツの説明書とネットの自作ガイドを参考にやった。
大体2,3時間くらいでゴミの片づけ含め完了。
今からもう一回やるなら1時間くらいでできると思う。

ASCII.jp:ジサトラ見習いが初自作に挑戦! 初心者でもわかる、Ryzenで組むPC自作の心得 (1/6)

合わせてそろえたもの

43 インチディスプレイ

2017/3 に当時セールで6万円ほどで購入したものを繋げて使っている。
少し前までは仕事用に 27 インチディスプレイを使っていたが、大きいは正義なのでこっちに変えた。

USB 切替器

仕事でもプライベートでもよい外部デバイスを使いまわしたいので切替器を買うことにした。
USB3.0 以降で4ポートある切替器が欲しかったのでこれになった。
キーボード、マウス、Webカメラ、ヘッドセットで4個埋まる。
今のところは給電ケーブルなしでどうにかなっている。
USB3 にこだわったのがよかったのかもしれない。

LAN スイッチングハブ

インターネット有線接続は切替ではなく同時に接続するのも同じだし、端末が増えたとき(ラズパイなど) にネットワーク上繋がっているほうが何かと都合がよいのでハブにした。
小ささと 1000Mbps のバランス感。

ベンチマーク

比較しても仕方がないが、以前使っていたノート PC とベンチマーク比較を取った。

Cinebench 997 -> 8732

f:id:khei-fuji:20201227093712p:plain
Cinebench

最も差がついたのが CPU。

CrystalDiskMark 1774 -> 3142(Read)

f:id:khei-fuji:20201227093732p:plain
CrystalDiskMark

SSDは善戦してる。ノートPCでも M.2 NVMe 対応の SSD だったので、この数値の差はモバイル用かどうかの差だと思う。

3DMark TimeSpy 2317 -> 4931

f:id:khei-fuji:20201227093818p:plain
3DMark - TimeSpy

はじめに PC 組み上げたときはどうしても 3DMark のスコアが出ず、組み直したところ改善した。(上図は改善後)
2つあるグラフィックボードの電源コネクタを差し替えてみたところ解決したが、この原因はよくわかってない。

3DMark Firestrike 4184 -> 11069

f:id:khei-fuji:20201227093758p:plain
3DMark - Firestrike

DirectX 11 系もということで一応取っている

FFXV 中断 -> 5015

f:id:khei-fuji:20201227093845p:plain
FFXV

ノートPCでは途中でフリーズした。

おわりに

環境も整ったのでいろんなことをやっていきたい

GitHub Actions と Azure Pipeline を両方使っていて思うことを書く

この記事は Azure DevOps Advent Calendar, GitHub Actions Advent Calendar 11日目の記事で、表題のとおり両方を実用していて思うところを書く。

はじめに断っておくと、この記事ではマルバツの比較表は出てこない。
特徴を理解して使い分けが必要というのが結論。

はじめに

サービスができた歴史上、GitHub Actions のほうが後発なので、足りないところを感じる場面が多々ある。
たとえば Yaml の書き方で不便さを感じたり、欲しい job が用意されてなかったり、細かい制御ができなかったりという具合だ。

Yaml の書き方

前提として git-flow に近い形で CI/CD を組むことが多いため、それに沿った書き方をしている。
develop に対して開発環境、 master に対して本番環境があるイメージ。

このときのリリースパイプラインは、トリガーやリソースは環境ごとに異なるが、処理の流れは同じパイプラインを組む、としている。
これを Azure Pipeline で組むと、 Template を作ってそこに環境毎の変数を渡す、という形が実装しやすい。

- stage: xxxx
  variables:
  - group: 'dev-env-variable-group' # ここが prod だと変わる
  jobs:
  - template: deployment-template.yml
    parameters:
      azureConnectionName: '$(AzureConnectionName)'
      resourceGroupName: '$(ResourceGroupName)'
      environment: 'DEV' # ここが prod だと変わる

これと同じことを GitHub Actions でやろうとすると、やりづらい。
そもそも GitHub Actions には Template がない
そのため、ブランチによって処理を変えるなどの対応をするか、Yaml を複製することになる。

ここに対するいいアイデアがあったら知りたい。

GitHub Actions で使いたい Job がない

ないのはどうしようもない。
なかったら作ればいいじゃない、ということで GitHub Actions Advent Calendar を見ると結構多くの人が作っているのがわかる。

GitHub Actions では 6000 以上の Job が Marketplace に公開されているとのこと。
私も1つ作った。
kheiakiyama.hateblo.jp

個人的にはイチから OSS を作る機会は初めてだったので、いい経験になっている。

GitHub Actions で細かい制御ができない

Azure Pipeline ユーザにはおなじみの Approvals and check 機能GitHub Actions にはない。
と書くつもりが、 GitHub Universe で今月末にベータ版が公開されるという発表があった。

Environment Protect rulesでは、例えばデプロイ前に人間(required reviewers)の承認を求めるようにしたり、時間を置いたりできる(今月末にベータとして利用可能予定)
GitHub Universe 2020の基調講演で発表された新機能を紹介、GitHub ActionsのアップデートやDependency reviewなど - クラウド Watch

GitHub Actions の agent は Azure Pipeline の fork ということなので、今後も Azure Pipeline にある機能は適宜取り込まれると期待してよさそう。

The GitHub-hosted runner application is a fork of the Azure Pipelines Agent
Specifications for GitHub-hosted runners - GitHub Docs

ところで GitHub Actions のほうが軽量で実行が速い気がするのは fork だからなのだろうか。

導入するまでの敷居

どのクラスタに対して存在するツールか、という問題だと思っている。
自分がたまたま Azure を利用する立ち位置なので敷居は高くないが、たとえば AWS ユーザに Azure Pipeline 勧めるのは現実的ではない。
とはいえ AWS ユーザにも GitHub(Microsoft 傘下!) はかなり使われているため、GitHub Actions に抵抗はそう感じないはずだ。

また、Azure Pipeline ひいては Azure DevOps を使うとなると、エンタープライズ向けのもろもろの機能がついてきてしまうため、そこに目がいってしまい、まずは CI/CD だけ手軽に導入して試す、となりづらい印象がある。
(それもあってか Azure ではいくつかの機能は内部的に Azure Pipeline を作成する、という挙動がある。個人的にはあまり好きではない)

この点、GitHub Actions は GitHub ユーザにスムーズに利用してもらえる位置づけである。
実際のところ、サービス公開以降 Travis CI や Circle CI ユーザが移行しているのを SNS 上で見かけることは多い。

おわりに

ということで、どちらも甲乙つけがたいので今後も両方使い続けていきたい。