くりにっき

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

YARDで継承関係を明示的に伝えたい

こないだgemを作ってて調べたやつのメモ。 前置き 解決方法:@!parse で書く 前置き 例えば下記のように Hashie::Mash を継承した Pixela::Response があるとします module Pixela require "hashie/mash" # Pixela API response # # @see https://www.rubydo…

地域.rbカレンダーをconnpass API v2に移行した

先日作ったgemを使って移行しました sue445.hatenablog.com github.com モチベーション ハマったこと:Serverless VPC Connector削除後にVPCがなかなか消えなかった モチベーション 費用面が大きかったです。 下記でも書いたようにconnpass API v1では送信元…

connpass API v2に対応したAPIクライアントgemを作った

前置き 作ったもの:connpass_api_v2-ruby 使い方 前置き 先日connpass API v2が発表されました。 【お知らせ】connpass API をメジャーバージョンアップし、「connpass API v2」を公開しました。APIの詳細な仕様や利用方法につきましては、以下のAPIリファ…

自分がメンテしてるRuboCop gemをPluginに移行した

RubyKaigiの自分の発表*1の準備がだいたい終わったので、 id:koic さんの記事を読んでRubyKaigiの予習がてら自分がメンテしてるRuboCop gemをPluginに移行しました。 koic.hatenablog.com github.com github.com Migration Guideを見ながら作業するだけだっ…

RubyKaigi 2025 Mapを作った #rubykaigi

RubyKaigi 2025 関係のPartyが多すぎて把握しきれなくなったので自分用にGoogleマイマップにまとめました。(Day0〜4のイベントはだいたい網羅してるつもり) 記事執筆時点でまだ全部のPartyが公開されてないので気づいたら追加していきます。 ブラウザで3rd…

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追記 2026/05/14 16:21追記 前置き ファミリーコンピュータ コントローラー | My Nintendo Store(マイニンテンドーストア) はSwitchの両サイドに1コンと2コンを挿して…

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 は引き続き使い続けるつもりです。 コンテンツ 現時点で作っ…