stefafafan の fa は3つです

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

技術

Go Conference mini 2023 Winter IN KYOTO にスタッフとしても参加した #kyotogo

Go Conference mini 2023 Winter IN KYOTO - connpass にボランティアスタッフとして参加しました。スピーカーとして登壇した話については以下の記事に軽く書いています。blog.stenyan.jp上の記事に書いてあるように、Goコミュニティでの存在感を出していき…

社内でオーナーとして運営しているチーム横断の「Goサブ会」について登壇した #kyotogo

Go Conference mini 2023 Winter IN KYOTO というイベントに参加して、表題のGoサブ会について発表しました。 speakerdeck.com Goサブ会設立までの経緯について大体資料に書いてありますが、そもそも自分がGo言語への関心が高まっている背景も少し書いておこ…

ISUCON13 に参加した (最終スコア 17996点) #isucon

今年もISUCONという大会に参加しました。去年と同様「天下n品」という同僚2名とのチームで挑戦しました(が、1人諸事情により参加が難しくなったため、今回は2人で最初から最後までやりました)。例年通りGoでやりました。なおスコアについては、自分たちで…

テックリードとして技術的施策をチームに提案する際に意識すべきポイント

私はいま会社でテックリードをしていますが、いちエンジニアとして技術的改善をチームに提案するスキルに関してまだ課題感を持っています。その際同じくチームに所属しているエンジニアリングマネージャー(EM)の方にヘルプしていただき、実際に提案資料を…

Webアプリケーションエンジニアとして1on1してもらう際に考えていること

同僚が1on1の際に他の人がどういう話をしているのか気にされていたので、便乗してブログに書きます。 ということで人が1on1の時間に何を考えてどう使っているのか気になっている1on1で何を話すか考えてる - tomato3713’s blog 前提 株式会社はてなは新卒から…

Go のアプリケーションで uber-go/zap を使っている場合は暗黙的にサンプリングが有効になっていないか見直しましょう

表題の通り、Goでロギングに GitHub - uber-go/zap: Blazing fast, structured, leveled logging in Go. を使っている場合、サンプリングの設定を見直しましょう。 背景 GitHub - uber-go/zap: Blazing fast, structured, leveled logging in Go. のFAQによ…

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…