stefafafan の fa は3つです

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

技術

OSSコントリビューションへの一歩に悩んでいる方向けにちょっとした事例を紹介

OSSへのちょっとしたコントリビューションに成功したので、どういう流れでコントリビュートしたのかブログに簡単に流れをまとめてみようと思います。OSS活動してみたいけどどういう流れでやれるのか気になっている方の参考になれば幸いです。なお今回の修正P…

Design Dontaku vol.2 #デザドン にエンジニアとして参加しました

今回は福岡で開催されていた以下のイベントにブログ枠として参加してきました!以下エンジニアとしての感想を書いていきます。 nulab.connpass.com テーマはエンジニアとデザイナーのコミュニケーション Design Dontakuなので、デザイナーメインのイベントで…

GitHub App の権限で Songmu/tagpr を利用する

id:Songmu さんが作られた https://github.com/Songmu/tagpr を先ほど使ってみたのですがリリースフローがGitHub Actionsでまとまっているし、リリース内容がPull Requestにまとまってマージしたらいい感じにtag打ってくれるしでとても体験がよかったです。…

ぼんやり思っていることを整理するためにカンファレンスのCfP (Call for Proposals) を利用する

最近少しずつ技術系のイベントでの発表機会を増やそうとしています。その中で、大きめなイベントだとまずCall for Proposals (CfP) という、プロポーザルを出したらそれによって選考が行われ実際に発表できるかどうかが決まる制度があります。ここで出したプ…

Go言語でsliceの重複排除 (slicesやsamber/loパッケージを使う場合)

Go言語でsliceの重複排除について書きます。Go 1.21前提です。 slices パッケージを使っての重複排除 Go 1.21から slices パッケージが増えました。ここに生えている関数を利用して重複削除のコードが書けます。 pkg.go.dev例えば int の slice の重複排除は…

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の学位を取ったとして…