生涯未熟

生涯未熟

プログラミングをちょこちょこと。

k6を使いこなしてみよう

この記事は MIXI DEVELOPERS Advent Calendar 2022 6 日目の記事です。 負荷試験を行う機会が年に何度かあるのですが、以前まではvegetaを使っていましたがちょっと高めの負荷をかけた時の挙動がよろしくなく、k6を試してみたところ不満が無かったので最近は…

Googleのソフトウェアエンジニアリングを読んだ

www.amazon.co.jp を読みました。ソフトウェアエンジニアリングを広範に取り扱っためちゃくちゃ良い本だったので、下の連ツイを基にちまちま感想などを書いていく。 ※ 684ページという大ボリューム&プライベートで様々なイベントがあったので読むのに3ヶ月…

Next.jsでyarn exportが何故か失敗する

謎の地雷を踏み抜いたのでメモ。 Next.jsで静的HTMLを出力する next export がありますが、これをローカルで実行すると何故かエラーが吐かれ失敗するという事象がありました。 Error occurred prerendering page "/hoge". Read more: https://nextjs.org/doc…

CypressのinterceptでGAと通信してるか確かめてみた

Cypress入門1日目だけどやってみてハマったので書く。 interceptについて ネットワークリクエスト・レスポンスのSpyとStubが出来るよって機能らしい。 docs.cypress.io 今回のやりたいことはGAと通信しているかどうかなので、GAへのリクエストをSpyしてレス…

GitHub API v4でProjectV2のNode IDを取得する

GitHubから2022/10/01よりプロジェクト情報を取得する ProjectNext が廃止となり、代わりに ProjectV2 を使おうというお達しがありました。 docs.github.com ProjectNext で使っていたNode IDを ProjectV2 でも使えるのかなとやってみたらダメだったので、新…

Next.js + TypeScriptな環境にRollbarを組み込んだ(SourceMap対応付)

やってみたのでメモとして書く。 やらなきゃいけないこと 対応しないといけないことは以下になります。 CIなどでSourceMapをRollbarにアップロードする productionBrowserSourceMapsを有効化する TypeScriptでSourceMapを有効化する スニペットを組み込む CI…

遊撃部隊を立ち上げてみて10ヶ月経った

所属しているチームで遊撃部隊の立ち上げをしてから上期・下期を経て、色々とまとめていきたくなったのでまとめる。 遊撃部隊 is 何? 前段として弊チームではバックエンド・フロントエンド・アプリ・インフラの垣根なく、皆で全領域をこなせるようになろう…

久々にOSSにPR投げてマージされた

とある日、会社で突然CIがぶっ壊れる事象が発生しました。 原因としてはk8sのmanifestsのチェックにkubeconformを使っているのですが、チェックするために利用されるデフォルトのschemaファイルが最近のコミットで変更が加わっていたためです。 github.com ※…

Spring v4.0.0にアップグレードしたらbundle exec rails cが死んだ話

所属チームにRenovateを導入してウキウキ気分で依存ライブラリのアップグレードをやっていたのですが、Springをシュッとv4.0.0にアップグレードしたらbundle exec rails cなどが動かなくなりました・・・ どのように動かなくなったかというと bundle config …

Linuxで動かしながら学ぶTCP/IPネットワーク入門を読んだ

bells17さんのメモ書きを読んで、そういえば積ん読になってたな〜と思い出したので引っ張り出して読みました。 zenn.dev 結論から言うと凄い良本でした。 感想 今までこの手のネットワーク本は「ネットワークはなぜつながるのか」くらいしか読んだことがなか…

cURLでIAP越えするためのトークンを吐き出す

zenn.dev こちらの記事みたいに gcloud auth print-identity-token で取りたかったが上手く出来なかったので上手く出来るようにやってみた。 どう失敗した? $ gcloud auth print-identity-token foo@bar.iam.gserviceaccount.com --audiences="hoge.apps.go…

社内勉強会でCI/CD・自動化について喋った

社内勉強会にてチームで取り組んでいるCI/CD・自動化についてお話させて頂きました。

Terminated, NodeShutdownのPodをCronJobで滅した

GKEを運用している中で何故かTerminatedやNodeShutdownなPodが残ったまんまになってるな〜〜〜と神経質な自分にとっては許しがたい事象が数ヶ月続いていました。 やっとこさ本腰入れて調査出来る時間が取れたので、この気持ち悪い状態で残ってるPodを滅する…

BigQueryのスケジュールクエリが作成できない

軽い備忘録。 チーム内でBigQueryのスケジュールクエリを作成する際に、「スケジュールされたクエリのエラー」とだけエラー表示されてどうにもならんという報告があり、手元でも再現したのでちと調べてみた。 ※これだけ出されても何もわからん 日本語表記だ…

SRE NEXT2022に参加した!

SRE NEXT2022で様々なセッションを聴講した記録です!自分用のメモをちょいと整理して書き起こしてみました https://sre-next.dev/2022/ Day1 How We Foster "Reliability" in Diversity SRE NEXT 2020から2年ぶり2回めの開催 会社紹介-> Topotal: sreを軸に…

ポーカーやり始めて2ヶ月でポーカーチェイスの最高ランク帯到達した

ひょんなことから世界のヨコサワさんの動画を観て、「そういやポーカーやりたい欲求あったな〜」って思い出したので3月からポーカーを開始。 ※エンタメに富んでて面白い ルールや基本的なことを覚えてからエムホールデムから始めたが、演出がくどいのと役成…

エンジニアはもっと図を書こう

たまには軽い話題をば。 自分の中で信頼できるエンジニアかどうか?を見極めるひとつの指標で「込み入った議論の時に図を書くかどうか」というのがあります。 今までの経験上、図を書く派のエンジニアは割と良い感じの人が多かったので採用している指標なの…

GitHub Projects(beta)からバーンダウンチャートを生成する君を作った

所属しているチームで本格的にスクラムを回していくにあたって、タスク管理しているGitHub Projectsでバーンダウンチャートを生成出来ないか?という話になったのでサクッと作ってみた。 前提 目的としてGitHub Projects(beta)にあるスプリントバックログ…

GCPのIAP周りの隠れ仕様

dev, staging環境のアクセスを社内の人間のみに制限したいな〜って時にGCPのIAPを使っているのですが、そんなIAPの隠れ仕様を見つけたのでメモ✍ どんな仕様? IAPはOAuth2 Client IDを必要とし、IAPを有効化することによってOAuth2 Client IDが増えていきま…

cloud_sql_proxyをv1.15からバージョンアップさせたら大怪我した

cloud_sql_proxyをかませてCloud SQLへの接続を行っているのですが、v1.15からエイヤッでv1.28.1に上げたら事故ったので簡単にメモ。 何が起きた? 全てがこれに詰まってます。 github.com で、このissueにも書いてあるような nc を使ったLivenessProveを行…

DropDownButtonのselectedItemBuilderを初めて活かせた話

Flutterにはドロップダウンリストを作るためのDropDownButtonがありますが、このクラスのプロパティの一つである selectedItemBuilder が正直何に使うのか分からなかったけど初めて活かせた話をします。 selectedItemBuilderとは何なのか? こちらを参照 api…

GKEノードの自動アップグレードを監視する

所属しているチームでは様々なイベントを監視し、Slackのモニタリングチャンネルへ通知を飛ばしています。 ※ エラーログではエラーが発生したCloud Loggingのリンクが貼り付けており、詳細を追従しやすくなっています この中で、PodのCreate / Deleteを監視…

Flutterでログイン後に再インストールしたらログイン済みのままなのをどうにかした

相変わらずFlutterやってるおじさんです。 今回はFirebase Authenticateを用いてログイン済みのユーザーが、アプリを再インストールしたらログイン済みのままになっていたのが気持ち悪いのでどうにかしました。 何故そうなったか? iOS, Androidともに裏でバ…

2021年の振り返り

今年もあっという間に過ぎて1年の振り返りをする時期になりました。 振り返ればブログを開始してから12年経過し、干支も一周するくらい続けてきたなぁと我ながら驚いています。 そんなこんなで今年1年やってきたことを振り返ります。 1 ~ 3月 1 ~ 3月は仕…

「開発環境の使用状況分かるくん」を作って冗長コミュニケーションを無くした話

本記事は ミクシィグループ Advent Calendar 2021 の22日目の記事です。 前置き 私が現在所属しているプロジェクトでは「アプリケーション × 4 + 開発環境 × 3」という環境で開発しており、機能開発後のQA作業などのため常に3つある開発環境がどこかしら使…

Google PCAに合格した

「Googleの資格試験代を補助するので受験したい人〜」と社が募集していたので、これ幸いと受けたら合格しました。 何したか 普段業務でGCPをちょろちょろ使っていたので、その知識+Googleのオススメ勉強コースに従って勉強しました。 正直、仕事とプライベ…

GCPプロジェクトが削除されたら何が起こるのかメモ

過去に書いた記事ですが、 Google Cloud Platform Advent Calendar 2021 の13日目の記事としました。 (1日だけ空いてるのが気持ち悪かったので・・・) 概要 開発に使っていたGCPプロジェクトが誤削除される事態があったので、後学のために何が起こるのか…

レビュー待ちのPR列挙くんを作った

GitHub Actionsでレビュー待ちのPR列挙くんを作った。こんな感じのイメージ。 コード 【2021/08/10 追記】 そういえばこの状態だとApprovedのPRも列挙してしまうので、弾きたい場合は各々のPRにrequest飛ばして( github.pulls.get )、response内の mergeab…

Firebase Authenticationの電話番号認証でOTP Autofillを体験したかったけど敗北した

前段 Firebase Authentication、便利ですよね。各種主要な認証をポチポチっと様々なプラットフォームで実現できる、素晴らしい。 ただ、電話番号認証でOTPのAutofillをやる際にはとなったのでメモ書き。 やったこと きっかけとして何がやりたかったかという…

GitHubのREADME.mdにある画像をPurgeするGitHub Actionsを公開したよ

社内でGitHub Actionsを拵えた時に、掲題のGitHub ActionsがMarketPlaceに意外と無かったので作って公開したよ。 github.com それ何? GitHubのREADME.mdに貼った画像はセキュリティの観点やらでOSSのcamoを使ってホスティングされているんですよね。 docs.g…