stefafafan の fa は3つです

"すてにゃん" こと id:stefafafan のブログです

技術

GitHub Actions から Google Cloud を使う際の gcloud バージョンを固定することにした

弊チームではGitHub ActionsからGoogle Cloud Runにアプリケーションをデプロイしてプレビュー環境として利用しています。具体的な構成などについては以下の記事をご参照ください。 developer.hatenastaff.com先日、内部で使われているGoogle CloudのCLI gcl…

2023/12/31 より Go1.x ランタイムを利用している AWS Lambda Function が非推奨になる件の影響範囲や取れる対応

社内向けに周知を書いてたけど、そのままパブリックにも書けばいいかとおもって書きます。関連エントリ: aws.amazon.com gs2.hatenablog.com 概要 AWS Lambda Function を Go1.x Runtime で動かしている場合は、2023/12/31に非推奨になるので対応しましょう …

非公式のPHPカンファレンス福岡2023 前夜祭と前々夜祭に参加・登壇しました #全然野菜 #yaphp_fuk

PHPカンファレンス福岡2023 の前夜祭や前々夜祭 (全然野菜) に参加しました。PHPカンファレンス本編のほうは記事を分けて別にまた感想まとめます。 【非公式】PHPカンファレンス福岡全然野菜 pepabo.connpass.comこちらでは登壇をしました。誕生日だし福岡に…

Go Conference 2023 Online に参加しました #gocon

仕事でGoを書いているので参加しました!gocon.jp LT落選 実はLTを申し込んでいましたが落ちています。社内で「Goサブ会」というチーム横断の会をやっていて自分が運営メンバーの1人ということでついでに話そうかなと思って応募してみましたが、これはまた別…

DAIMYO Meetup #1 に参加しました #Tech_DAIMYO

5月のイベントで今更ですが参加してきましたブログを書きます。nulab.connpass.com DAIMYO Meetupとは? 福岡に「大名」というところがあり、そこ近辺にオフィスを持つ会社やエンジニアが集まるイベントです。自分の会社は大名と何も関係ないですが、5月に福…

YAPC::Kyoto 2023 に 参加しました #yapcjapan

ブログを書くまでがYAPCということで書いていきます。yapcjapan.org 前日祭 前日祭から参加しました。 yapcjapan.connpass.com自分ははてな社員だし、もっと登壇とかしていきたいしということでYAPCにプロポーザルを出したのですが残念ながら採択されず、そ…

YAPC::Kyoto 2023 Reject Con で 発表します #yapcjapan

YAPC::Kyoto 2023 が久々のオフライン開催で今回は京都ということで張り切ってもう京都にきました。私もPerlを書いたりしている者ということでプロポーザルを出していましたが、残念ながらRejectされ涙を流していたところ、前日の祭で話せることとなったので…

GitHub Actions の actions/setup-go などで go-version: 1.20 を指定すると Go 1.2 が入ってしまう件

先日リリースされた Go 1.20 をGitHub Actionsで使いたい場合、以下のような記述をすると Go 1.2 が入ってしまいます。 - uses: actions/setup-go@v3 with: go-version: 1.20 この件は golangci-lint の Go 1.20 対応 Pull Request でもはまっていたのをみか…

Redash で扱える数字の精度について簡単にまとめる

最近社内でRedashを利用している。色んなデータソースにたいしてクエリを書くことができて便利です。 redash.ioただ、たまに数字の出力で精度について気になることがあるのでブログにまとめておきます。 前提: Redashを開いているタブで開発者コンソールから…

GitHub Reusable Workflows と Composite Actions の使い分けについて考えた

English translation of this post:GitHub Reusable Workflows vs. Composite Actions | stefafafan's tech blogComposite Actions を触っていたところ、 Reusable Workflows との違いが分かりづらいと感じたので自分の中で考えた使い分けについて整理してま…

Astro + Vercel で英語の技術ブログを新たに作成した

English translation of this post:I've created a new tech blog using Astro and Vercel | stefafafan's tech blogこれまで記事を書くのにはてなブログを使ってきましたが*1、これとは別に英語で技術記事を書くためのブログを用意したい気持ちになりました…

『UNIXという考え方―その設計思想と哲学』を読んだ

English translation of this post:Read the book "The UNIX Philosophy" | stefafafan's tech blogあけましておめでとうございます。『UNIXという考え方―その設計思想と哲学』という本を読んでいたら年越していました。この記事は はてなエンジニア Advent …

AndroidでTwitterシェア時に「入力した単語の検索結果はありません」というエラーが返ることがある件

最近Androidで一部のサイトのツイートボタンを押したら「入力した単語の検索結果はありません」というエラーとともに前の画面に戻されシェアに失敗することがある。この件について軽く調査・検証してみる。注意: 2022/12/30 時点の検証なのでまた仕様は後ほ…

はてなのエンジニアとして日々意識しながらやっていることを紹介します

この記事ははてなエンジニア Advent Calendar 2022の29日目の記事です。*1昨日は id:koudenpa による 破棄し忘れたクラウドリソースに半年間金を払い続ける方法 - koudenpaのブログ でした。今回は私のはてなエンジニアとして個人的に意識していることを一部…

Go 1.18 に入った Generics の練習がてら math パッケージの関数を整数対応させてみる

Go 1.18でGenerics対応が入りましたが、個人的にはまだ活用できていませんでした。 https://go.dev/doc/go1.18#genericsそんな中、最近目にしたコードで、 math.Min を使いたいがためにcastしている事例がありました。 // foo と bar はどっちも整数 baz := …

PageSpeed Insightsの値を返すだけのGitHub Actionsを作った / Mackerel にも簡単に投稿できる

「PageSpeed Insightsの値をMackerelに投稿」をやってる人が身の回りにたまにいて、よく考えると便利Actionが自分でも作れる気がしたのでやってみましたという記事です。 作戦 stefafafan/psi-action みたいな、実行したらWorkflowの次のStepにScoreやWeb Vi…

Mackerelのサービスメトリックを簡単に投稿するためのGitHub Actionsを作った

このエントリは Mackerel Advent Calendar 2022 および GitHub Actions Advent Calendar 2022 の20日目の記事です。*1 今回はMackerelのサービスメトリックを投稿するためのGitHub Actionsを新規で作ったのでその紹介をします。 GitHub Actions経由でメトリ…

GitHub + Slack Integration の通知でSlackのスレッド内に入り込むのを無効化する設定

GitHub + Slack Integrationとは、SlackにGitHubの通知を流すときに便利に利用できるアプリのことです。最近の仕様変更によりSlackのスレッドをデフォルトで活用するようになりました。GitHub上にリポジトリはありますが、現在実装はオープンソースになって…

Mackerelを振り返りやキャパシティプランニングのために毎月眺めている

はてなでWebアプリケーションエンジニアとして働いています。今回は私が所属しているチームでどのようにMackerelを活用しているのかを紹介します。 はてなでは多くのチームで「Performance Working Group」という定例を実施している 弊チームで実施しているP…

AWS CLIでSSOログインしたプロファイル名を fish shell の prompt に表示したい

aws sso --profile foo-profile login とかでログインした後ログアウトを忘れたり、いまどのプロファイルでログイン中かとかが気になるようになってきた。ログアウト忘れてもしばらくしたら勝手にセッションは切れるけどなんとなく作業が終わったらすぐログ…

ソフトウェア開発サイクルの改善を行う際に認識すべきボトルネックの種類

去年認定スクラムマスターになって、実際に自分の開発チームにScrumを導入したり、最近ではチーム内でテックリード交代して開発プロセスの高速化についてより考えるようになってきた。Agile, Lean, XP, DevOps, Four Keys, Team Topologies など様々なフレー…

fish shell の Private Mode

fish shell を最近利用している。デフォルトの状態で過去の履歴を元にSuggestionをどんどん出してくれたりする。一方で、Suggestionが問答無用で表示されていたり、→を押すとSuggestionがすぐさま採用されたりして困る場面もあった。ドキュメントをみてみた…

GitHub Actions の set-output を sed で $GITHUB_OUTPUT 形式に置換

github.blogという記事を今日みて、 echo "::set-output name=hoge::fuga" みたいなことをやってたのがdeprecatedになると知った。以下のドキュメントを参考に置換すればOKとのことだったので、せっかくなのでsedでやってみた。 https://docs.github.com/en/…

Renovate で Dockerfile 内の Node.js のバージョンも LTS版まであげてもらう

Renovateを使ってるときに、Node.jsをv15とかv17とかにあげるPull Requestが出ることがあって気になっていたところ、特定状況下だとこうなることがわかったのでブログに書いておきます。なお、Node.jsのバージョンについては https://github.com/nodejs/Rele…

チームでのソフトウェア開発で100点を目指すための簡単な近道は存在しない

ソフトウェア開発に限らないと思うけど、結局「人間」も「チーム」も「プロダクト」も性質は十人十色なので「これさえパクれば開発速度10倍!利益10倍!顧客満足度1000%!」というものはありません、という前提がある気がする。大学でCSの学位を取ったとして…

Next.js 12.2以降では keepAliveTimeout が設定できる

Node.jsのkeepAliveTimeoutのデフォルト値が5秒で、Next.jsからこれが操作できなくて不便という話題が Next.js 12.1以前までありました。この値を調整したい場合はパッチを当てるなどして対応する必要があるようでした。 zenn.devこの件について議論元のDisc…

Twitter API v2 と Google Apps Script で定期実行で検索結果取得するやつ作るときのメモ

100万番煎じという感じの記事だけど、Twitter API v2 は初めて触ったのでメモとしてちょっと書いておきます。 Twitter API Playgroundが便利 TwitterのDeveloper Portalに入ると、API Playground使ってみてねと言われて以下のURLに飛ぶので、ここでどのAPIを…

GitHub Actions の setup-go や setup-node で指定されるバージョンを go.mod や .node-version から取ってくる

たとえばGoで書かれているプロダクトのCIをGitHub Actionsでやっていて、Goのバージョンがあがるたびにこのファイルを毎回ちまちま更新しているとあまり面白味のない作業になってしまう。最近だとGo 1.18 から 1.19 にあげるときに以下の go-version に書い…

ISUCON 12予選参加したけど最終スコア12171点で惨敗 #isucon

予選の結果は明日出て追試とかあるので失格チャンスもあるが、とりあえず最終スコアは12171だった。isucon.net2022/7/24 追記: 予選結果が出て追試は通ったようだったので、12171点で確定のようでしたが、予選は敗退しました。 ISUCON12 オンライン予選 全て…

ISUCONの素振りで private-isu をやってGo実装で32万点までひとまず行った

今週土曜はISUCON予選なので、今日はひとりで private-isu をやっていました。自分のリポジトリはこれです (INDEX貼ったりとかmy.cnfいじったりとかはサーバ上でやってるのでここに反映されていないですが) github.com 環境 READMEにあるようにx86_64のAMIを…