ぽくつなです

3/17 Born Digital Summit 2022 で発表します

来週 2022-03-17(木) の Google Cloud オンラインイベント 16:20- 『はてな広告配信システムのクラウドネイティブ化への道のり』で発表します。 データセンター環境で運用していた広告配信システムを GCP へ移転する話です。 派手なメッセージな感じではなく…

Google Colaboratory でデータフローのドキュメントを書く試み

この記事ははてなエンジニアのカレンダー | Advent Calendar 2021 - Qiita 2日目の記事です。 最近、データパイプラインの整備や営業チームの人力混じりの運用フローを機械化するなどの業務改善に取り組んでいます。 その過程で、運用ドキュメントを読んだり…

GCP の Application Default Credentials を使った認証

公式ドキュメントで説明されているけど、同僚に何度か説明する機会があったり、作る必要のないサービスアカウントキーを目にすることも多いのでまとめておく。 認証情報が登場しないアプリケーションコード 例えば以下のコードで Secret Manager に保存した…

GKE Autopilot で節約のために asia.gcr.io を使う

追記: 2022-10 移行、無料条件が変わったので Artifact Registry を使うのがよいです blog.pokutuna.com GKE Autopilot に移行してみたところ、意外と費用がかかっていた。 調べたところ、Cloud Storage の egress が支配的で、GCR からのコンテナイメージ転…

Chrome 拡張を Manifest v3 対応した

公式のガイドに従ってやればよい Migrating to Manifest V3 - Chrome Developers background pages が Service Worker に置き換えられた 各 chrome API の Promise 化 リモートのコードが実行できなくなる browser_action と page_action の統合 executeScri…

Flexispot 鬼目ナット化の記録

引越しを機に前から欲しかったスタンディングデスクを買った。 組立てには本体付属の木ねじ(ぐりぐりとねじ込んでいく)を使わず、鬼目ナットを埋め込んで組み立てた。 鬼目ナットを使うと、分解&再組み立てができるし、投機的に埋め込んでおいてリモコン位置…

js を書いて URL やページの内容を加工してコピーできる Chrome 拡張ココピーのご紹介

この記事は はてなエンジニア Advent Calendar 2020 - Qiita の23日目の記事です。 qiita.com 昨日は id:Krouton さんの 30日でできる! OS自作入門 を読むために nasm_of_nask というコンパイラを作った話 - KRAZY感情STYLE でした。よかったですね。 コード…

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

こういう見た目のやつ 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 前回のビルドのア…