くりにっき

フルスタックキュアエンジニアです

GitHub Actionsでmatrixを共通化する

前置き tl;dr; 解説 動的にmatrixを生成する JSON文字列からmatrixを生成する 前置き GitHub Actionsではworkflowのyamlファイルに下記のように jobs.<job-id>.strategy.matrix を書くことでmatrix buildを作ることができます。 *1 # .github/workflows/build.yml jo</job-id>…

go-gitlabが GitLab.com に移管していた

前置き 雑に置き換えるコマンド 前置き 個人OSSに入れてるdependabotでmoduleをアップデートしてたらgolangci-lintでこういうwarningが出ていたので気づいた。 *1 Running [/home/runner/golangci-lint-1.60.3-linux-amd64/golangci-lint run] in [/home/run…

自作gemでモンキーパッチrbsを利用する

コンテキスト 構成 手順 モンキーパッチrbsを使うメリット 最後に 2024/12/05 20:27追記 コンテキスト 僕が直近2〜3年以内に新しく作ったgemでは全てrbsとsteepを導入してガッツリ型を書いています。 しかし自分のgemのrbsは書けても、自分のgemが依存してい…

AWSのTerraformでDynamoDB state lockingからS3-native state lockingに移行する

前置き 手順 Terraformのbackendを書き換える Terraformで使ってるIAMユーザやIAMロールがterraform.tfstate.tflockにアクセスできるようにする この時点でTerraform実行時にDynamoDBが不要になっているはずなのでTerraformを実行する 問題なければTerraform…

Go 1.23でgo.modにtoolchainを書かなくてよくなった

tl;dr; ~Go 1.20 Go 1.21~1.22 Go 1.23~ tl;dr; タイトルが全て ~Go 1.20 go.modに go 1.20 のようにマイナーバージョンまで書いていてもDependabotでエラーが起きませんでした。 Go 1.21~1.22 go 1.21 のようにマイナーバージョンまで書いていた場合、…

create-merge-requestを作った

これ何? サンプル 頑張りポイント gitコマンドを使わずにgitリポジトリにアクセスした 可能な限りパラメータを省略できるようにした おまけ これ何? GitLab CI上で行った変更をMerge Requestとして投げるためのツールです。(開発期間は1週間くらい) gitl…

terraform-version-updaterを作った

これ何? 最初の構想 GitHub Actionsで動かす これ何? https://github.com/tfutils/tfenv で使われる .terraform-version を自動でバージョンアップするためのツールです。(制作期間2日) github.com 最初の構想 最初は https://github.com/minamijoyo/tfu…

feed_squeezerを作った

これなに? モチベーション 2024/06/21 19:59 追記 使った技術 工夫ポイント 配布形式をどうするか GoでGoogleライクな検索クエリで文字列マッチするような関数を作った 取得したフィードを一瞬だけキャッシュする バイナリにviewを同梱する 最近のエコシス…

マッドマックス:フュリオサを見た感想

映画『マッドマックス:フュリオサ』 を3回見に行った感想。 せっかくなので全部別々の劇場に見に行った 新宿バルト9(DolbyCinema) 立川シネマシティ(極上爆音上映) グランドシネマサンシャイン 池袋(ULTRA 4DX吹替) 特に記載がない場合は字幕版です。…

#RubyKaigi 2024に参加した& #kaigieffectLT 大会に登壇した

RubyKaigi 2024 気になった発表 RubyGems on ruby.wasm The depths of profiling Ruby、 Vernier: A next generation profiler for CRuby その他 やんちゃハウス2024 #kaigieffect LT大会 RubyKaigi 2024 rubykaigi.org 気になった発表 RubyGems on ruby.was…

IntelliJ IDEAなどのTerminalでvimを使うと壊れる件の回避策

前置き 期待した挙動(Macのitem2) 実際の挙動(IntelliJ IDEA内のTerminal) 確認した環境 OS vimのバージョン IDE 分かったこと 回避策 前置き IntelliJ IDEAなどでgit操作をする時はIDE内のTerminalを使っているのですが、1〜2週間前からcommitメッセー…

地域.rbカレンダーでconnpass APIの個人利用申請をした

tl;dr; 時系列 詳しいログ 具体的にやったこと Before After Terraform ハマったポイント:Terraformでapplyする時だけなぜかエラーになる 最後に tl;dr; connpass APIの仕様変更で 地域.rbカレンダー を閉じるつもりでしたが、個人利用申請を行ったので2024…

kagaribiを作った

kagaribiって? Cloud Firestoreを手軽に使うためのgemです。 https://github.com/petergoldstein/dalli や https://github.com/redis-rb/redis-client のようなシンプルなインターフェースでFirestoreにアクセスしたくて作りました。 github.com 元々は個人…

Switch用ファミリーコンピュータ コントローラーを本体以外でも充電したい

前置き 実際に充電できたやつ 実際に買って試したけどダメだったやつ 2024/07/18 11:00追記 前置き www.nintendo.com このコントローラはSwitchの両サイドに1コンと2コンを挿して充電する方式です。 参考画像: https://news.denfaminicogamer.jp/news/24050…

RubyKaigi 2024 Mapを作った #rubykaigi

RubyKaigi 2024 関係のPartyが多すぎて把握しきれなくなったので自分用にGoogleマイマップにまとめた。 ブラウザで3rd party cookieが無効化されていると地図が見れないので、その場合は下記を見てください www.google.com 備考 アイコンは各日付ごとに色分…

新しいPCを買った

my new gear…(新しいデスクトップPCが届いた) pic.twitter.com/iO5MkIiW8x— sue445 (@sue445) April 9, 2024 コンテキスト OLD NEW コンテキスト 今まで使ってた私物のデスクトップPCは7〜8年前くらいに買ったやつなんだけど、数日前からHDDかCPU辺りから…

Cloud Functionsのデプロイ時に使われるArtifact Registryで古いタグを削除する

GCP

前提 手順1. Cloud Functionsが作ったArtifact RegistryのリポジトリをTerraformにimportする 手順2. Artifact RegistryにCleanup Policyを適用する 他のソリューション 前提 Google Cloudの Cloud Functions の第2世代ではデプロイする時には自動的に Artif…

シレン6のとぐろ島の神髄をクリアした

神髄99F踏破ktkr! 装備が微妙で終盤の敵の攻撃がほぼ致命傷だったけど印の数でゴリ押してそれなりに殴りあえた #風来のシレン6 #NintendoSwitch pic.twitter.com/gb3UCmXkfs— sue445 (@sue445) 2024年3月6日 とぐろ島の神髄って? 準備 立ち回り 序盤 中盤 …

actions/upload-artifactとactions/download-artifactは同時にバージョンアップする必要がある

前置き 実際の設定 参考リンク 実際に作られたPR 前置き actions/upload-artifact と download-artifact がそれぞれv4になりました。 github.blog 個人リポジトリの .github/dependabot.yml で下記のような自動更新設定を入れていたのでそれぞれバージョンア…

rbs_collection.lock.yamlをGitHub Actionsで自動updateする

ruby-jp slackでそういう需要があるので作った ワークフローの設定 実際に作られたPR 事前に必要なもの GitHub App ワークフローの設定 最低限いるのはこの辺。必要に応じてslack通知とか足してください *1 name: rbs-collection-updater on: schedule: - cr…

MDの使用デッキで振り返る2023年 #遊戯王AC

はじめに これは 遊戯王 Advent Calendar 2023 の1日目です。 adventar.org はじめに sue445と遊戯王 前置き 解説 実際にまとめたやつ 2023年総合 月ごとに振り返り 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 FAQ Q. なんで勝敗数をつけてるの? 2日目…

ISUCON 13に1人チームで出場して再起動試験でfailした話

tl;dr; タイトルが全て tl;dr; 今年の準備 リポジトリ PRとDatadogを見ながら当日やったことを振り返り 当日10:00〜18:00のDatadog晒し sinatraのAPM サーバ全台 puma MySQL 具体的にやったこと CloudFormationから起動した直後のインスタンスにベンチマーカ…

ruby-wasm-vdomで雑なオレオレツールを作った

作ったもの モチベーション 使った技術 感想 作ったもの https://sue445.github.io/annict-vod-search/ github.com モチベーション 最近縁があって Annict の編集者*1 になって、気がついた時に各アニメの配信サイトの情報を登録しています。 その時にいちい…

Google Slidesで作ったスライドをSpeakerDeckに公開するためのTips

前置き フォントをM PLUS 1pにする 絵文字は使わない ソースコードを貼り付ける時にいい感じにシンタックスハイライトを効かせるやつ SlidesCodeHighlighter Carbon VSCodeなど 前置き 普段発表用の資料は Google Slides で作成し、Google SlidesでPDFにエク…

個人メモ用のNotionを作った

sue445.notion.site モチベーション 業務で Notion を使ってるんだけど、データベース機能が圧倒的に強いので個人メモ用にもNotionを使ってみることにした。 maekdownで書ける方が嬉しいので esa は引き続き使い続けるつもりです。 コンテンツ 現時点で作っ…

Twitter botをAPI v2移行する(Ruby編)

https://github.com/sue445/pribirthdaybot をTwitter API v2移行した時のメモ tl;dr; 移行先のgem その他に必要になりそうなgem botでAPI v2対応する時の注意点 追記: 2023/07/21 10:40 手順 リフレッシュトークンを作成する botでのAPI v2移行 tl;dr; http…

simple_twitterのメンテナになった&v2.0.0をリリースした

tl;dr; メンテナになった経緯 v2.0.0について 今後の展望 tl;dr; id:yhara さんのsimple_twitterのメンテナになりました。 github.com simple_twitter については下記エントリを参照 zenn.dev メンテナになった経緯 https://github.com/sue445/pribirthdaybo…

mainブランチよりも古いブランチでCIを実行できなくしたい

CI

たまにやりたくなるやつメモ モチベーション 実際のスクリプト おまけ:実際にGitLab CIで動かしてるやつ 2024/06/28 22:06追記:GitHub Actionsの場合の注意点 モチベーション CIでTerraformを動かしていると mainブランチを自動apply PRとかでマージ前に挙…

研鑽Rubyプログラミングを読んだ #研鑽Ruby

最近家で読書する習慣が薄れてたのですが *1 頑張って研鑽Rubyプログラミング(以下:研鑽Ruby)を読みました。 研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフwww.lambdanote.com 雑感 読書中のメモ 宣伝 雑感 リファクタリング:Ruby…

GitHub Actionsで特定の条件の時だけenvironmentを設定したい

tl;dr; environment を三項演算子でいい感じにする モチベーション TerraformのワークフローをGitHub Actionsで動かしてるんだけど、terraform apply した時(具体的にはmainブランチか手動でのbuild実行時 *1 )のみ environment をセットしてDeployments *…