Gotanda.rb#57
去年から運営を再開した
オーガナイザーも募集中
お手伝いできそうならやりたいかもな〜
たくさん集まってくれて嬉しい
発表者5名、参加者50名、すごいよな
最近話題になったブログを書いていた堀井さんはご兄弟
1ファイルでも1秒とかかかる
なぜ遅い
実行のたびにrubocopを読み込む
読み込むだけで0.8秒かかる
実行フロー
rubocop-deamonを起動する
コードを渡す
lintを実行する
LSP (Languege Server Protocol) Mode エディタから使うのならLSP Modeでよさそう
生産性、DevOps、テストの話が好き
エディタへのつらみ
RubyMineすごいけど重い
好きなエディタで快適なコーディングができる世界へ
LSPとは
特定の言語に対して高度な言語機能を提供するサーバープロトコル
特徴
高パフォーマンス
型チェックや型注釈を必要としない
定義元ジャンプの対応が入った
外部 gem のコードも参照可能
開発が活発
Shopify/ruby-lspのつらみ
定義元ジャンプができないケースがある
addon の開発はまだまだこれから
そのほかRuby開発での工夫
今回がほぼ初めてのLT!えらい!拍手!!
どんなGemをつくったのか
エラーとの遭遇、何もわからない
解決方法を好きなキャラクターが優しく教えてくれたらがんばれそう
エラーをネコちゃんが解説してくれるGemをつくった
つくってよかったこと
クラスの継承についてちょっとわかった(きがする)
OSSのありがたみを感じた
いいはなし
今後やりたいこと
対応するエラーを増やしたい
ネコちゃんのレパートリー
デバッグを学ぶ方法はすくない
Amazonで「デバッグ」で検索すると30件くらいしかヒットしない
どうやって学ぶか?
実際にあったバグを一緒に直すのが一番いい
OSSを見ながらバグを見てデバッグしてみよう
おおくらさんがつくったJSONシリアライザのgem
例1: ネストした要素にlowerCamelケースが適用されなかった、というissue
エラーが再現するテストコードを書く
例2: バージョン3にあがったときにbooleanだとおかしい、というissue
booleanは関係なかった
test という属性をつかってるのがだめだった
Kernel#test が使われてしまってた
メールのFrom
ヘッダーFrom
エンベロープFrom