Diary of a Perpetual Student

Perpetual Student: A person who remains at university far beyond the normal period

テクノロジー

Go のテーブル駆動テストは map を使って書きたい

Go 言語のプログラムのテストでは、テーブル駆動テストと呼ばれる書き方をすることが多いです。シンプルに例を挙げると以下のような形。 func TestAdd(t *testing.T) { cases := []struct{ title string inLhs int64 inRhs int64 want int64 }{ { name: "1 +…

docker build 時に private リポジトリから go get する

要件 Go 言語で作られた、GitHub の private repository の go module に依存しているアプリケーションについて考えましょう。例えばオープンソースではない社内ライブラリに依存している、という状態です。 手元の開発マシン上では GOPRIVATE 環境変数を利…

AWS Certified Solutions Architect - Associate になりました

気づいたら社会人2年目が始まっていた id:arthur-1 です。 この度、めでたく AWS SAA-C03 試験に合格しました。 得点は 796 / 1000 点(ボーダー 720点)で可もなく不可もなく。早く仕事がしたかったので制限時間を半分以上残して退出したのですが、もう少し…

『「気軽にアウトプット」する危うさ』をアウトプットする危うさはあるか

これはただ思考実験したというメモ。 note.com を読んだ。 とにかくだ、Bad Practiceを広めるな (中略) 結局行き着く先は、間違った情報の拡散による、その技術を扱う者へのダメージ源になるだけだ。 とある。 直接的ではないにせよこの記事も技術に関する…

2023 GW のゆるふわ日記

これはゆるふわアウトプット。 同僚の家にお邪魔してアイドルの動画を見ながら朝まで酒を飲んだところで GW が始まった。前々からなんとなく憧れのあったライダースジャケットを頂いた。ポップとクールの狭間で生きたいと思っていて、このオトナなアイテムを…

あなたの Twitter の ALT の使い方は間違っている

Twitter での alt 2020年ごろから Twitter に投稿した画像に対して alt を設定できる機能が追加された。 test pic.twitter.com/Sui87RABA7— Arthur (@Arthur1__) 2023年4月10日 埋め込みだと様子がよくわからないので、下にスクリーンショットを掲載する。 a…

メモ: PTCGL の通信だけを VPN 経由にした

Windows の標準機能で VPN に接続している、かつ Powershell スクリプトが書ける人向けです。とりあえず tunnelbear 入れようみたいな人には役に立たない情報が載っています。 インストール・アップデート時 msi ファイルが置いてある CloudFront の IP アド…

lambroll を GitHub Actions で動かすときには明にバージョンを指定しよう

3行 lambroll を GitHub Actions 上で実行するには fujiwara/lambroll@v0 が使える input に lambroll の version があるが必ず明に指定しよう そうしないと、default 値として古い lambroll で動いてしまう - uses: fujiwara/lambroll@v0 with: version: v0…

AgricolaDevJP という org を作りました

GitHub org: AgricolaDevJP GitHub 上で AgricolaDevJP という organization を立ち上げました。今さっき作ったみたいな書きぶりをしていますが、実際に org を作ったのは 2022 年 8 月ごろです。もう半年以上経っていますね。 github.com これまで、ボード…

YAPC::Kyoto 2023 は血の通った人間の匂いがした

なけなしの社交性を YAPC::Kyoto 2023 で全て使い果たしてしまって元気がない id:arthur-1 です。 前日祭で登壇した話はすでに書いたのですが、(こっちも読んでね) blog.arthur1.dev 先のエントリでは触れなかった、参加者目線での YAPC::Kyoto 2023 に関…

YAPC::Kyoto 2023 前日祭 ネコトーストラボ杯争奪東西対抗LTマッチ に登壇しました

YAPC::Kyoto 2023 前日祭の一コンテンツである、ネコトーストラボ杯争奪東西対抗 LT マッチに登壇してきました。 blog.yapcjapan.org 東西対抗とあるように所属企業の所在地で東西チームに分けられており、順番に自分は西チームのトリを飾らせていただきまし…

FY2023上半期を振り返る・広く浅く

こんな形で今後も public な振り返りを定期的に書いていきたいですね。 blog.arthur1.dev ということで、2022年8月〜2023年1月の振り返りを書いていきます。 幅広い技術とコンポーネントに触れた Mackerel は多くのコンポーネントから構成されています。Web …

パフォーマンスだけを考えると WMI を使わないほうが良いのかもしれない

OS 名は WMI から取得したほうが良いが…… 前にこんなエントリを書いた。 blog.arthur1.dev このエントリを要約すると、「Windows の OS 名を取得するとき、レジストリにアクセスするのではなく WMI を使って取得しよう。なぜなら、Win 11 が Win 10 として認…

GitHub Actions の ::set-output 脱出 上級編 便利ツールでカバーできないケース

::set-output 脱出 進んでますか? github.blog エンジニアで GitHub Actions を利用している人はだいたい知っているであろう、 ::set-output や ::save-state の非推奨化問題。このコマンドを利用していると2023年5月末にはエラーになってしまう予定となっ…

学園祭のWeb開発を語る: 抽象編 自分たちの責務をどう絞り、どう委嘱するか

遠い昔に学園祭の Web 開発をしていた話をするシリーズもの最終回 具象編1: 講習会と砂場遊びで支える組織 具象編2: 開発体験・保守性を投げ捨てる 抽象編: 学園祭の開発部署という組織や、学園祭Webサイトというプロダクトの性質から語る ←イマココ ここか…

僕は技術エントリを自分のために書いているわけではない

blog.arthur1.dev おかげさまでたくさんの方に反応していただきました、ありがとうございます。 まだ全然読みきれていないけど、少しずつ丁寧に咀嚼していこうと思います。 技術エントリは自分のために書いている、というコメントが多かったので一つだけ。 …

Windows の OS 名をレジストリから取得するのはやめよう

3行 Windows の OS 名をレジストリから取得すると、Win 11 が Win 10 として表示されてしまう 例えば、WMI を使って取得する方法が正攻法っぽい Go から WMI を触るサンプルコードもあるよ Win 10 が Win 11 として Mackerel に登録されている 自分は OSS の…

next-gen Slack App で AWS のサービスと接続するとき気をつけたいこと3選

年末から Slack App の次世代プラットフォームを試してみています。現在はオープンベータ版となっており、有料の Slack ワークスペースでしか利用できません。 api.slack.com 次世代プラットフォームはこれまでの Slack App を取り巻くエコシステムと大きく…

技術的なアウトプットに疲弊したので振り返る

2022年は技術的なエントリをそれなりの数書いてきた。特に12月は計10本のエントリを出し、まだ世に出せていないネタもたくさんあるという状況である。 ところが、当人の感覚としては暖簾に腕押しだなあと思っている。ということでちゃんと振り返ってみること…

ent + gqlgen で怠惰に GraphQL API を作る

この記事ははてなエンジニア Advent Calendar 2022 の 2023年1月4日の記事です。 Go 言語の ORM である ent をご存知でしょうか? ent はコード生成を用いて型安全に RDB のクエリを記述できる ORM です。エンティティ間の関係を Edge として定義するのが特…

GitHub Actions の workflow の lint を Github Actions で動かす

GitHub Actions で色々なコードの test や lint を動かしていると思います。 その際に workflow を yml で定義するのですが、この workflow ファイルはちゃんとチェックしてますか? 「見よう見まねで yml を書いて push したけど、キー名が間違っていて動か…

Mackerel Advent Calendar 2022 完走したので全部読む

Mackerel Advent Calendar 2022 の運営をしておりました、 id:arthur-1 です。この度は、Advent Calendar にご参加いただき、もしくは閲覧していただき、ありがとうございました。 qiita.com 25日分の記事が集まり、最後まで完走することができました。自分…

買って良かったものランキング 2022

ランキングと銘打っていますが特に順位はつけていません。悪しからず。 ガジェット編 YAMAHA のヘッドセット ヤマハ YAMAHA スタジオ音質ヘッドセット YH-G01 ブラックヤマハ(YAMAHA)Amazon 軽い!聴こえる音が良い!マイクの音質も良好!ということでおすす…

学園祭のWeb開発を語る: 具象編2 開発体験・保守性を投げ捨てる

遠い昔に学園祭の Web 開発をしていた話をするシリーズもの 具象編1: 講習会と砂場遊びで支える組織 具象編2: 実際に使っていた技術や開発の仕方について語る ←イマココ 抽象編: 学園祭の開発部署という組織や、学園祭Webサイトというプロダクトの性質から語…

学園祭のWeb開発を語る: 具象編1 講習会と砂場遊びで支える組織

学園祭の Web サイト開発に関する良いエントリが出たので読んでいた。 zenn.dev これを読んで、色々な学園祭のWeb開発がどういう組織形態で、こういう取り組みをして成功/失敗した、という話をもっと聞きたいと思った。 アウトプットが進めば、学園祭Webサイ…

URL から profile を自動判別する Smart Google Chrome を作ろうとした

結論 URL を見て profile を自動判別して開くアプリ、もうあるってよ brew install --cask choosy Chrome の profile Google Chrome の profile 機能を使っていますか? これは、ブックマークや履歴などの情報や設定を使い分けることができるものです。 supp…

Lambda 新機能の Telemetry API を利用した mackerel-lambda-extension-agent 試作

この記事は Mackerel Advent Calendar 2022 16日目の記事です。 こんにちは、id:arthur-1 です。2022年にはてなに新卒入社して、Mackerel 開発チームのアプリケーションエンジニアをやっています。また、今年の Mackerel Advent Calendar の運営を担当してお…

時間やネットワークトラフィックの単位が追加された Mackerel でネットのスピード監視

この記事は Mackerel Advent Calendar 2022 1日目の記事です。 こんにちは、id:arthur-1 です。2022年にはてなに新卒入社して、Mackerel 開発チームのアプリケーションエンジニアをやっています。また、今年の Mackerel Advent Calendar の運営を担当してお…

Advent Calendar を Mackerel で監視する 〜新卒の暮らし方を添えて〜

この記事ははてなエンジニア Advent Calendar 2022 1日目の記事です。 こんにちは、id:arthur-1 です。2022年に新卒入社して、Mackerel 開発チームのアプリケーションエンジニアをやっています。 arthur-1 という id に掛けて、トップバッターをいただきまし…

Jest で落ちたアサーションを GitHub のアノテーションに出す

最近 GitHub Actions を弄くり倒すことにハマっていて、 GitHub の Checks API を利用して annotation を出すおもてなしをすることだけが生きがいだと思って生活していました。 そんな中、JavaScript (TypeScript) のコードのテストでよく使われている Jest …