勤務先で『あなたの知らない超絶技巧プログラミングの世界』の書籍紹介をした

勤務先のおすすめ書籍の紹介イベントで、『あなたの知らない超絶技巧プログラミングの世界』を題材にした話をした。 あなたの知らない超絶技巧プログラミングの世界作者:遠藤侑介技術評論社Amazon 当日のスライドは以下。 全体としては、鍋谷さんなどが行わ…

エンジニアリングマネージャー研修を社内開催した

勤務先の 岡島 CTO から社内の組織としてエンジニアリングマネージャー (の考え方や役割) を増やしたいという話を受けて、セミナーを設計して開催しました。勤務先で自分が所属しているのは Ruby x Agile をビジネスの中核にしている部署ですが、今回はクラ…

SlackへのGitHub通知先をスレッドからチャンネルにする

SlackへのGitHub通知先をスレッドからチャンネルにする方法です。 最初にまとめ。先月2022年10月下旬に、Slack への GitHub 通知がスレッド宛てになったのを、/github settings と Slack チャンネルで入力してチャンネル宛ての通知にできるといったものです…

Lint Night #1 に登壇した

Lint Night #1 に登壇した。 lintnight.connpass.com 当日のスライドは以下です。 今回は Kuniwak さんの方でそもそも「Lint とは?」といった前段の話をしていただけるというのと、"Lint" を冠したイベントを考えて、ここなら事前に求める前提知識をいくつ…

Ruby 3.2 (dev) のビルドに Bison 3 以上が必要になる

Ruby 3.2.0-dev のビルドで、手元の Bison が古いと以下のようなエラーになります。 % rbenv install 3.2.0-dev rbenv: /Users/koic/.rbenv/versions/3.2.0-dev already exists continue with installation? (y/N) y To follow progress, use 'tail -f /var/…

Lint Night #1 に登壇します

Lint Night #1 に登壇します。 lintnight.connpass.com Lint というテーマに絞っているイベントであることに加えて、そもそも Lint とは何かなどといった話は Kuniwak さん が話されるということで、今回の話はマニア指向で作るつもりです。なので、エンドユ…

XP祭り 2022 に登壇した

XP祭り 2022 に登壇した。 当日のスライドは以下です。昨年のような機材トラブルもなく無事に終えられて良かったです。 話としては今年の 6 月くらいの @beakmark との「エンジニアリングマネージャーの仕事」に関するやりとりをきっかけに、エンジニアリン…

勤務先で『NO HARD WORK』の書籍紹介をした

勤務先の社内イベントにある『DE ラジオ』の『DE の手書きポップ』という書籍紹介コーナーで話すことになり、『NO HARD WORK』を題材にした話をしました。 NO HARD WORK! 無駄ゼロで結果を出すぼくらの働き方 (早川書房)作者:ジェイソン フリード,デイヴィッ…

CircleCIのGitHub連携でPermission denied (publickey)が起きたときの対処

CircleCI を使った GitHub リポジトリの CI で、ある日突然以下のようなエラーが起きるようになりました。 現象 CircleCI のログを見たところ、GitHub からソースコードをチェックアウトする際に、以下のようなエラーになっていました。 if [ "$existing_rep…

RubyKaigi 2022 に登壇した

RubyKaigi 2022 に登壇した。 rubykaigi.org 当日の発表スライドは以下です。 今回はリアルタイムでのリモート登壇でした。 本編 概ねサーバーモードなしの RuboCop のブートと、サーバーモードありの RuboCop のブートの違いと中身の概略について話せたかと…

RubyKaigi 2022 に登壇します

RubyKaigi 2022 に『Make RuboCop super fast』というタイトルで登壇します。 私の登壇は2日目である 2022年9月9日(金) の 11:30-12:00 です (昨年と同じ日時だった) 。 rubykaigi.org 最近 RuboCop に追加した server mode の話です。server mode 導入のは…

test-queue 0.5.0 をリリースした

前回の v0.4.2 のリリースが 2017年1月らしいので、5年越しのリリースになった。 rubygems.org 自分が欲しかったのは以下の警告を抑制するパッチだったけれど、前回リリースからの差分が他にもあったので、ざっと見ておいたことも書き残しておく。 rspec-que…

test-queue のコミッターになった

Ruby の parallel test runner である、test-queue のコミッターになった。 github.com 数年前に送った自分のパッチのリリースが欲しくて、RubyKaigi 2014 のクロージングキーノートスピーカーでもある @tmm1 とやりとりしたのがきっかけ。@tmm1 は現在使っ…

RuboCop 1.30 で非推奨になった自動修正オプション名

RuboCop 1.30 で、自動修正する際のオプションである --auto-correct と --auto-correct-all は非推奨になり、それぞれ --autocorrect と --autocorrect-all になりました。 変更対象のオプション名は long name のみで、short name である -a と -A に変更…

RuboCopの解析バージョンサポートを見直した

RuboCop は Ruby の EOL バージョンについて、EOL の 1年後までサポートしています。 RuboCop の Ruby バージョンサポートといった時に「ランタイムバージョン」と「解析バージョン」の 2 つがあり、このエントリを書いている時点の最新 RuboCop 1.30 リリー…

Ruby 3.2.0dev にマージされた Rust YJIT をビルドする

YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理…

【iCARE Dev Meetup #32】OSSとの向き合い方に登壇した

@ogijun からオファーをもらって、【iCARE Dev Meetup #32】OSSとの向き合い方に登壇しました。 icare.connpass.com @ogijun とはゼロ年代に Java の勉強会なんかでお互いによく遭遇していたのがはじまりで、かつて高橋会長のでかい文字のプレゼン本を深夜の…

『プログラミング言語Rust入門』を読んだ

Amazon の Kindle Unlimited で読めたので『プログラミング言語Rust入門』を読んでみた。いまのところ Kindle Unlimited で読める唯一の Rust 本っぽい。 プログラミング言語Rust入門作者:増田 智明日経BPAmazon 書評にもあるように、誤字脱字やコーディング…

株式会社永和システムマネジメントのエンジニアリングマネージャーをはじめていた

ちょうど先日 (2022-03-02) 、勤務先で岡島さんとエンジニアリングマネージャ職について社内ラジオ配信する機会があったので、かつて下書きしていたエントリを公開しておきます。 なので、これは勤務先を移籍したとかそういった話ではなく、昨今の社会背景に…

`Lint/InheritException` copにテコ入れした

Standard gem でのイシューについてジャスティンからメンションをもらったのがきっかけで、Lint/InheritException がいろいろとだったのでテコ入れした。対象となる以下の PR に書いていることのサマリーとなる。 https://github.com/rubocop/rubocop/pull/1…

mrubyにパッチを送ったきっかけ

作品を出せるアイデアが浮かぶかどうかは置いておいて、今年の TRICK に向けて『あなたの知らない超絶技巧プログラミングの世界』を読んでいます。それがきっかけで、巡り巡って mruby にパッチを送る機会があったのを書き残しておきます。新しいことを学ぶ…

ActiveRecord Oracle enhanced adapter 7.0.1 がリリースされた

ActiveRecord Oracle enhanced adapter 7.0.1 がリリースされた。yahonda さんありがとうございます。 rubygems.org Rails 7.0 系統に対応している ActiveRecord Oracle enhanced adapter のパッチバージョンとなる。 MySQL に対応する Mysql2Adapter は mys…

RuboCop 1.24.0 と Ruby 3.1 対応

RuboCop 1.24.0 がリリースされました。 github.com このリリースでは Ruby 3.1 のリリースに先行して、いくつかの Ruby 3.1 対応が入っています。 RuboCop の Ruby 3.1 対応の主だったものについて、ユーザー影響のありそうなものをピックアップして記して…

Offers Magazineに技術職のキャリアとコミュニティに関する記事を寄稿した

少し前に Offers さんより、キャリアをテーマにしたアドベントカレンダーというオファーをいただいて Offers Magazine に執筆した。ちょうど1年ぶりの文筆物。 offers.jp 昨今の自分のキャリア形成は「技術コミュニティ」と不可分なところがあるので、そのあ…

Ruby 3.1の構文アップデート

この記事は「ESM Advent Calendar 2021」の1日目の記事です。 adventar.org RuboCop のバックエンドでは、Ruby を解析して AST (抽象構文木) の Ruby オブジェクトとして扱えるようにする Parser gem を使っています。Parser gem のメンテナンスは、Ruby の …

Ruby 3.1を使ってRuboCopでエラーが起きた場合の対処

先日、Ruby 3.1 で起きる each_cons と each_slice の非互換について記しましたが、RuboCop で非互換の影響を受ける部分とその対処について記しておきます。 koic.hatenablog.com 対象となる組み合わせは Ruby 3.1 と RuboCop 1.22.2 以下です。 RuboCop 1.2…

銀座Rails#39に登壇した

銀座Rails#39に登壇した。 主催者の morimorihoge さんからは、3年目あたりを経ったエンジニアに響くような話を題材にというオファーで頂いていた。 11/19の銀座Rails#39 @koic さん登壇テーマは僕が聞きたくてお願いしました。銀座Railsが始まったころに新…

銀座Rails#39に登壇します

2021年11月19日(金) に開催される「銀座Rails#39」に登壇します。 ginza-rails.connpass.com 銀座Rails#9 以来、30回ぶり2度目のゲスト登壇です。 テーマは、「動いた!」の先へ踏み出す、システムのメンテナビリティ向上の基礎技術です。 主催者の森さんか…

Ruby 3.1 での each_cons と each_slice の (コーナーケース?) 非互換変更

先日、RuboCop の ruby-head CI が落ちていたので、bugs.ruby-lang.org にフィードバックしていたイシューが以下。 bugs.ruby-lang.org osyo さんがコメントで教えてくれた PR が以下で、each_cons と each_slice の戻り値が nil から self に変わっていると…

Rails/OSSパッチ会の会場をDiscordにした

勤務先で行っている今月のパッチ会で、Discord に Rails/OSS パッチ会のサーバーを立てていました。 これまでやりとりに使っていた Idobata の rails ルームが 11 月中旬に閉鎖されることになったためです。Idobata を情報チャンネルとしていた方は Discord …