くりにっき

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

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で動かしてるやつ モチベーション CIでTerraformを動かしていると mainブランチを自動apply PRとかでマージ前に挙動を確認したい場合はPRに出ているブランチを手動apply…

研鑽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 *…

rspec-parameterized v1.0.0をリリースした

gem

リリースノート 主な変更点 コンテキスト 頑張ったこと:可能な限り全てのコミットを移行した リリースノート https://github.com/tomykaira/rspec-parameterized/blob/master/CHANGELOG.md#v100-2022-12-31 主な変更点 rspec-parameterizedの実装を https:/…

gem_rbs_collectionを使ってるgemをいい感じにCIする

前置き やったこと gem_rbs_collectionをsubmoduleとして追加する 手元でrbs validateを叩けるようにする CIでrbs validateを実行する submoduleとしてgem_rbs_collectionをdependabotで定期更新する 前置き gemを作る時にはだいたい最初に bundle gem コマ…

DependabotがマージしたPRのジョブに対してsecretsを渡したい

前提 事象 GitHub Actionsの設定 ジョブの実行結果 原因 解決策 2022/10/5 19:50追記 前提 GitHub.com Dependabot GitHub Actions 事象 Dependabotが作成したPRに対して @dependabot merge のようにコメントをつけるとPRのジョブが全て正常終了した時にDepen…

個人gemのドキュメントを全部GitHub Pagesに移行した

gem

自分が作ってるgemでは https://github.com/lsegal/yard でドキュメントを書くことが多くて、そのドキュメントをホスティングする場所として https://rubydoc.info/ を使っていました。 しかし https://rubydoc.info/ がここ最近ずっと重くて表示するのに十…

doorkeeper_jp gemを作った

gem

doorkeeper_jpとは Doorkeeper のAPIクライアントgemです。 doorkeeper_jp (0.1.0): API client for https://t.co/uLAis9frLT https://t.co/TI6u4CpaiW— rubygems_news (@RubygemsN) 2022年9月29日 github.com 自分のアプリで Doorkeeper API を使おうと思っ…

Herokuにあった個人アプリを軒並み対応した

背景 やったこと1. 廃止 やったこと2. GCPに移行 ユースケース図 URLベースで見たユースケース図 実行環境で見たユースケース図 実際にGCPに移行したアプリ達 Cloud Run Cloud Functions AppEngine GCP移行した全てに共通してること やったこと3. CircleCIに…

emoy_webhookをDockeriseした

emoy_webhookについて Dockeriseした発端 こだわりポイント Dockerイメージの配布方法 emoy_webhookについて Slackにemojiを追加した時に通知してくれる君です sue445.hatenablog.com github.com プリッカソン以降もRubyやgemのバージョンを定期的に最新にし…

複数のアプリのバージョンを一箇所で集中管理してCIから一括バージョンアップできるようにした

モチベーション リポジトリ 動いてる風景 対応形式 仕組み 各リポジトリに適用してるItamaeのレシピファイル こだわりポイント CI用にGitHub Appを作った モチベーション dependabotだとライブラリの自動バージョンアップはできるのだが、RubyやGoなどのラン…

シレン5の運命の地下を99F踏破した

うおおおおおおおお!!!!!! うまく夜抜けできたおかげで原始よりは楽だった #不思議のダンジョン #風来のシレン #NintendoSwitch pic.twitter.com/Hie7SytL67— sue445 (@sue445) 2022年8月2日 原始99F踏破した時の記録 運命の地下って? 立ち回り 序盤 中盤 …

ISUCON12に1人チームで出て予選敗退した話 #isucon

去年のやつ 今年参加するためにやったこと 作ったもの一覧 rubocop-isucon mysql2-nested_hash_bind datadog_thread_tracer itamae-plugin-recipe-rust itamae-plugin-recipe-datadog isucon-snippets チェックリスト Datadog Datadogでalpを実装した。 Data…

itamae-plugin-recipe-rustを作った

github.com モチベーション 使い方 モチベーション Ruby 3.2.0-devでYJITを使うにはRustの処理系が必要なのですが*1、Ruby 3.2.0の正式版がリリースされた時に https://github.com/itamae-plugins/itamae-plugin-recipe-rbenv でYJIT付きでビルドするために…

datadog_thread_tracerを作った

ISUCON合わせで作ったやつ第n弾 github.com モチベーション 実装までの経緯 datadog_thread_tracerを使った時 頑張りポイント rbsを書いた モチベーション ISUCONの素振りでパフォーマンスチューニングのために重い処理を threads = [] threads << Thread.st…

mysql2-nested_hash_bindを作った

ISUCON合わせで作ったやつ第n弾です。*1 github.com モチベーション 使い方 頑張りポイント モチベーション 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践:書籍案内|技術評論社(通称ISUCON本) を読んでた時に SELECT `posts`…

Ruby 3.1.2 with YJIT vs Ruby 3.2.0-dev with YJIT

tl;dr; モチベーション Ruby 3.2.0-devの何がすごいか Ruby 3.2.0-devでRust版のYJITを使う方法 計測対象のアプリケーション 使ったバージョン 比較 CPU ホスト全体 Ruby 3.1.2 + YJIT Ruby 3.2.0-dev + YJIT pumaのmasterプロセスとworkerプロセスをピック…

Macでsudo無しでdockerコマンドを使えなくなってハマった

tl;dr; コンテキスト 環境 調査内容 dockerコマンドの実体 ~/docker.sockのパーミッションを調べる おかしくなってた原因と思われるもの tl;dr; docker.sock のパスがおかしくなってた。 コンテキスト Macを利用してるんですがいつの頃かsudo無しでdockerコ…

AWS Certified Solutions Architect - Professional(AWS SAP-C01)に合格した

AWS

AWS Certified Solutions Architect - Professional(AWS SAP-C01) について 勉強方法 参考書 動画講座 公式のサンプル問題 感想 おまけ AWS Certified Solutions Architect - Professional(AWS SAP-C01) について aws.amazon.com AWS Certified Solutions Ar…

なるべくお金をかけずに個人アプリを運用したい

前々からこの手のことを書きたいとは思ってたけど id:k0kubun さんの下記エントリに触発されて書きました。 k0kubun.hatenablog.com tl;dr; 個人アプリ開発歴 前提 Heroku GCP Google App Engine Cloud Run Firebase Cloud Functions GitHub Pages 2022/8/14…

シレン5の原始に続く穴を99F踏破した

うおおおおお!!!!!!原始99F踏破!!!金喰い装備で途中ギタン尽きたり何回か大部屋モンハウ遭遇して死期をさとったけどクリアできてよかった #不思議のダンジョン #風来のシレン #NintendoSwitch pic.twitter.com/GaVzISDBCB— sue445 (@sue445) 2022年4月26日 …