Cognitive Service を使った Jekyll 製の翻訳サイトを話題の Static Web Apps に載せ替えた

昨日書いた Azure CDN + Blob Static website のサイト、載せ替えたい欲求が高まったので載せ替えた。

今回の変更は Build 前だったのだが、今やるなら話題の Static Web Apps で実装するのがよさそう。というかもう載せ替えたい。

kheiakiyama.hateblo.jp

ホスティング

f:id:khei-fuji:20200525124958p:plain
hosting

これまで Azure CDN + Blob static website だったのが Static Web Apps に変わったので非常にシンプルになった。

デプロイ

f:id:khei-fuji:20200525125018p:plain
deployment

デプロイも構成要素が減った分シンプルになった。
Static Web Apps ではリソース作成時、GitHub Action が作成され、 GitHub の Secret にデプロイ用のキーが登録される仕様なので、それを使ってデプロイされる。

パイプラインは こちら

f:id:khei-fuji:20200525125855p:plain
GitHub - Secret

現在は Preview で課金されないことになっているが、個人サイトで使うには金額次第で元の構成に戻す可能性があるため、前の GitHub Action はファイルを残してある。
Disable にできない仕様のようなので、意味がない Trigger 設定にしておく。
参考: How can I disable a github action? - GitHub Community Forum

つまづいた点

Jekyll でデプロイできない

このサイトでは Jekyll を使っていて、Hugo のチュートリアル を見てデプロイ設定を推察して書いていたが、デプロイできずに Issue 投げて質問して解決した。

How do we use for jekyll? · Issue #27 · Azure/static-web-apps · GitHub

これだと NG(Hugo はこのパターン なのに・・)

        app_location: '/'
        app_artifact_location: '_site'

これで OK

        app_location: '_site'
        app_artifact_location: ''

一応回答の通りに対応したが、それだと app_artifact_location がなんのためにあるのかって気もしていて、たぶんそのうち解決するのだと思う。

感想

Static Site 部分、API 部分どちらも Consumption Plan になりますように。(個人でも払える範囲だといいなあ)

Effective DevOps ―4本柱による持続可能な組織文化の育て方

Effective DevOps ―4本柱による持続可能な組織文化の育て方

GitHub Actions を使って Azure CDN + Blob Static website を使った Cognitive Service の翻訳サイトをデプロイ

昔作った Cognitive Service による翻訳サイトのホスティングを普通の方法にアップデートした。

github.com

以前の課題

kheiakiyama.hateblo.jp

  • Azure Function Proxy で静的ホスティングは現代的ではないのと、Function のコストが微妙にかかるのでやめたい
  • Travis CI やめたい
  • 昔の記事まで保持するとコストかかる

ホスティング

f:id:khei-fuji:20200523230047p:plain
hosting

以前は Function Proxy + Blob Storage で配信していた。
当時は Blob Static website や Front Door がなく、CDN の設定もやりづらかった印象だったが、今はよくなっているので Azure CDN に置き換えた。
今回の変更は Build 前だったのだが、今やるなら話題の Static Web Apps で実装するのがよさそう。というかもう載せ替えたい。

デプロイ

f:id:khei-fuji:20200523230104p:plain
deployment

これまで Travis CI で処理していた部分を GitHub Actions で書き直した。
GitHub Actions での Blob へのデプロイは install-azcopy-action でインストールした azcopy が行う。
自分の cv サイトがほぼほぼ同じデプロイ方法 なので簡単に載せ替えできた。

翻訳記事の生成

f:id:khei-fuji:20200523230021p:plain
translate

このサイトは RSS フィードを更新することが目的にあるため、コンテンツが追加されるごとにサイトが再度 Generate されないといけない。
以前は Travis CI のジョブを API で呼び出していたが、今回は GitHub Actions を呼び出す。
公式にあるように repository_dispatch を呼び出す必要がある。

参考:

ほか

ついでに Blob Storage のライフサイクル管理をいじって、90日前より前のコンテンツはすべて削除することにした。
RSS フィードを1週間読まないことはあっても 90日はさすがに不要なので。
経費削減。

Azure Storage のライフサイクルの管理 | Microsoft Docs

{
    "rules": [
        {
            "enabled": true,
            "name": "SaveCosts",
            "type": "Lifecycle",
            "definition": {
                "actions": {
                    "baseBlob": {
                        "tierToCool": {
                            "daysAfterModificationGreaterThan": 30
                        },
                        "delete": {
                            "daysAfterModificationGreaterThan": 90
                        }
                    }
                },
                "filters": {
                    "blobTypes": [
                        "blockBlob"
                    ],
                    "prefixMatch": [
                        "translated"
                    ]
                }
            }
        }
    ]
}

感想

GitHub Actions じわじわ詳しくなってきた。

Effective DevOps ―4本柱による持続可能な組織文化の育て方

Effective DevOps ―4本柱による持続可能な組織文化の育て方

モニターアーム設置したらリモート環境のクオリティが高まった

はじめに

ということで最高。
もっと配線キレイにしたい。

今の環境

わりとありふれた感じだと思う。

f:id:khei-fuji:20200421131100j:plain

下はこんな感じ。

f:id:khei-fuji:20200421210236j:plain

内訳

PC デスク

Garage というメーカーの評判がいいと聞いて2年前に購入。
重いのでその分耐久力があって信用できる。
天板はそんなに厚くないのと、裏面の設置面の奥行きがせまいので、モニターアームによっては合わない可能性があるのが注意点。

モニターアーム

ディスプレイの重量とデスクの厚みや設置面の奥行きだけ確認して評価が高いやつを購入。

ノート PC

jp.ext.hp.com

支給品。
Core i5/ 16GB メモリ/SSD 512GB 保証付きで20万円切ってた気がする。
最高ではないけど及第点。

キーボード

前職の退職祝いにもらった(欲しいもので指定した) が最高。
タイプするときに小さい幸せを感じる。

PC スタンド

クラムシェルで縦置きも可能。
ノートPCの高さが合わないとつらいのでちょうどいい。

ディスプレイ

購入当時タイムセールで 14,500 だった。
本当はもう少し大きいサイズがほしいが、不満もない。
次はデュアルディスプレイかな。

ヘッドセット

弊社推奨品。経費で購入。
雑音拾いづらいし、快適。
人より頭が大きいためか、つけていると疲れるので、ときどき左右入れ替えてる。

椅子

疲れない。よい。
Amazon だと高いので後述のお店がオススメ。

www.iamworkaholic.jp

WORKAHOLIC が近くにあったので一通り座って試した上でこれが一番合ったので購入した。
PCデスク同様に2年前の時点で 77,566 。

今は需要が高まってるんだろうなあ。

オットマン

きの小いす ワインレッド

きの小いす ワインレッド

  • 発売日: 2006/10/16
  • メディア: ホーム&キッチン

かわいい。

おわりに

色んな人のリモート環境の記事見て妄想を膨らませてる。
いろいろ見たい。

GitHub Actions / install-azcopy-action v1.0.1 リリース

github.com

azcopy をインストールする GitHub Action "install-azcopy-action" v1.0.1 をリリースした。
内容は npm package を更新しただけ。

初回リリースのときの記事は以下。

kheiakiyama.hateblo.jp

GitHub Action は作るのが簡単なので思いついたら開発していきたい。

英語学習15ヶ月でやったことと結果

はじめに

2019年1月から本格的に英語学習を開始した。
それからしばらく経過したので振り返る。

やったこと

DMM 英会話

概要

2019/1 に開始。
毎月平均8時間(月20レッスン受講)、先月末(2020/3)でトータル118時間利用。

スタンダードプラン 毎日1レッスン25分 月6,480円 を契約。
料金プラン - オンライン英会話ならDMM英会話
当時はもう少し安かったが途中で値上がりした。
ありがたいことにレッスン料の半分は勤務先に負担してもらっている。

所感

レッスンの99%は デイリーニュース を利用した。

最初の1ヶ月は英語を話すことに対する謎の恥ずかしさがあったが、時間が解決した。
また半年程度経った頃、急に聴き取れるようになったのを感じた。毎日勤勉に学習してたわけではなく、2,3 日サボった翌日のレッスンでそれが起きたため、人間は睡眠でスキルが身につくというのはあながち間違ってないのかもしれない。

スタンダードプランではレッスンの9割がフィリピン国籍になるのでフィリピン人の英語はそこそこ聴き取れるが、他の国籍の英語にも慣れる必要性を感じる。
最近インド人と話す機会があったが、1割も聞き取れなかったので今後の課題が大きすぎて絶望する。

デイリーニュースで毎回行っているためか、声を出して英文を読むのがだんだんスムーズに行えるようになった。

リスニング・リーディングに一定の効果を感じる一方、スピーキング・ライティングには対して効果を感じない。
自分のボキャブラリーの範囲でしか文章を組み立てることができないので、ボキャブラリーを増やすための別の学習方法を併用するのがマストだと、レッスンを続けながら実感していた。

使用感

はじめは Skype を利用していたのが Web ページ内でそのまま接続できるように変わった。
切り替え当時は安定しておらずお金を払ってデバッグに協力している気分だった。

徐々にシステムが改善され、今は講師側のネットワーク不調とみられるケース以外では安定している。

カレンダー予約を公式に用意してほしいのだが、難しいのだろうか。
現在は以下で対応している。
kheiakiyama.hateblo.jp

iKnow

概要

先月末(2020/3)でトータル27時間利用。

DMM 英会話の契約に付帯しているため、料金は実質無料。

所感

DMM 英会話で感じていたボキャブラリーの拡充を iKnow で補完している感覚があった。が、これだけでも不十分。
リスニングに対してボキャブラリーは急激に増えず、地道にやるしかないので数分でも継続できる習慣づくりが必要。
自分の場合は起床直後に5-10分行う習慣が生まれつつある。

使用感

毎日習慣として使う意味ではスマホアプリがよい。
30分とか1時間利用するシーンでは PC のほうが操作性がよいのでオススメ。

TOEIC 対策

半年位経った頃、学習の成果が点数に反映されてこなかったので10時間程度だけ。

どう回答すべきか、解答を先読みするなどのテクニックを Amazon Prime 会員が読める以下の本で理解。

テストに対する解説を読みたかったので模試を購入。

あまり利用できた感覚がないが、定番の金フレ・金センも購入。

結果

わかりやすいので TOEIC の結果。

始める前は 510 点のスコアが、15ヶ月経った今は 735 点となった。
f:id:khei-fuji:20200402225706p:plain

なお、このスコアは公式のものもあるが IP Test を含む。

毎月のように受験していた時期もあるので、全ての履歴をプロットしたのが以下。

f:id:khei-fuji:20200402225725p:plain

波がありつつもじわじわと上昇傾向にあるのが受け取れる。

kheiakiyama.hateblo.jp

2014/7 時点では 400点だったので、少しずつでも向上しているのは楽しい。

おわりに

2019/9頃に日本語話せない外国人の同僚が増えるなど、英語学習していなかったら対応できない状況だったので、すごくちょうどいい時期にうまくスキルを伸ばせたと思う。

ある程度の成果が出てきたので、セーブしていた他の活動に時間を戻しつつ半分くらいの労力で継続していきたい。

SRE Next 2020 に参加してきた #srenext

はじめに

公式リンクは以下。
sre-next.dev

参加したセッション

【早期来場者特典】SRE NEXT 特別ヨガプログラム

オープニング前にヨガがデリバリされていた。

ヨガしている間は Tweet するのもったいなかったので集中して取り組んでた。
ヨガ初体験。

大満足。

[A0] 分散アプリケーションの信頼性観測技術に関する研究

speakerdeck.com

まさに SRE の "Next" で、どういう分野に課題があって研究が進められているか、という話が中心。
興味深い内容だった。

[A1] 40000 コンテナを動かす SRE チームに至るまでの道

技術的な情報はこちらの記事参照とのこと。

techblog.yahoo.co.jp

[B2] 計画的に負荷リスクを排除するためのキャパシティプランニング

[D3] Practices for Making Alerts Actionable

休憩

[C5] スクラムを1年回してSREと開発組織がどう変わったのか

おわりに

ここまででセッションはほぼ半分だが、力尽きて途中退場した。

WillPowerの上限増やしたい。

IIJmio ひかり IPoE をはじめた

はじめに

こんなニュースが飛び込んできたので、ちょっと調べて対応した。

結果

経過

事前に少し調査してた。

だいたいよさそうなので申し込んだ。

2020/01/20 22:59 申し込み。

2020/01/22 21:31時点で IPv6 確認。48時間以内。早い。

おわりに

Togetter 的な雑記事。

NEC Aterm WG1200HS2 PA-WG1200HS2

NEC Aterm WG1200HS2 PA-WG1200HS2

  • 発売日: 2017/06/08
  • メディア: エレクトロニクス