記事っぽい読み込み中プレースホルダをかんたんに作る

こういう見た目のやつ loading 僕の Next.js で作ったポートフォリオサイト https://pokutuna.com/ では、blog エントリ情報や github の活動は、Cloud Firestore から読み込んで表示していて、その読み込み中の表示を作る話です。 よくあるのは、くるくる回…

Cloud Functions で標準出力に書かれた JSON 文字列がそのまま jsonPayload に入るようになった

タイトルままの話。 GCP では各プロダクトで出力したログが Cloud Logging に集約されて、横断的に見たり検索したりできて大変便利。フィルタして BigQuery に流し込めるのも最高オブ最高。仕事が楽になるっていうのはこういうことやで。 ただ、プロダクトご…

docker build と docker-compose build でレイヤーキャッシュが共有できない問題を回避する

まとめ BuildKit 使ってなくても COMPOSE_DOCKER_CLI_BUILD=1 を使う キャッシュが効いてない CI をいじっていてタイトルの問題に気づいたのが発端。 Cloud Build でキャッシュを使いつつ、ビルドとテストを実行するためにこうしていた。 1 前回のビルドのア…

Automator で .HEIC をオートに変換

Mac

AirDrop で iPhone から Mac へ撮った写真を移すのは一瞬でできるのに、Mac に移してから .HEIC フォーマットの画像を他サービスに貼り付けたりする時の面倒さたるや... 今まで Preview.app で開いて保存し直したりしていたけど、領収書の写真を何枚も変換す…

BigQuery GENERATE_ARRAY でバケットを作って集計

昨日やった作業。 例えばこういうテーブルがあったとして count timestmap 3 2020-07-07 10:30:00 5 2020-07-07 12:34:50 7 2020-07-07 21:07:10 11 2020-07-07 21:10:00 1時間ごとの count の合計値を出したい場合以下みたいなクエリを書く WITH data AS ( …

TSDoc を書きたい & TSDoc で使えるタグ一覧

いつも TypeScript 書いてるんですよ、そしたら function の前にコメント書くじゃないですか、/** ... */ で書いてるけど正直のところ中身は勘で書いている。@returns や @deprecated とかよく見るし、雰囲気で使っているけど、本来なんのタグが使えるかあん…

DataStudio で条件付きの割合スコアカードを作る

こういうやつ Google DataStudio1 でこういう表示をしたい場合は多い。目標の達成割合とか、アプリケーションログから何らかのアクションを取ったユーザの割合を出したりだとか。とりあえず使うだけなら簡単に使える DataStudio だけど、これはシンプルな表…