生涯未熟

生涯未熟

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

2022-01-01から1年間の記事一覧

Authyで発行される2段階認証コードを1Passwordでも発行する

最近はどんなサービスにも2段階認証は付いていますが、その2段階認証コードを発行するAuthenticatorであるAuthyについてのお話をば。 AuthenticatorはAuthyに限らずGoogle Authenticatorなど色々ありますが、複数のAuthenticatorを使ってるよ!って方は少…

GitHub APIでissueを連続作成してたらGraphQL error: was submitted too quicklyで怒られた

所属チームではスクラムを導入していて、スプリントプランニング時に作成されたマイルストーンに対してリリースタスクなど毎回同じタスクissueを作成していました。 これはトイルだなぁとなって、GitHub API v4を使って複数のマイルストーンに数個のissueを…

突発的な過負荷に耐えるため急造で仕組み作りをしてみた

この記事は MIXI DEVELOPERS Advent Calendar 2022 18 日目の記事です。 普段はSREチックなことをやっているしがないエンジニアなのですが、とある日に「もしかしたら突発的に大量のアクセスが来るかもしれない」というお話が降って湧いたため、こりゃいかん…

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ともに裏でバ…