みなさんこんにちは!宮水です。
今日は、平成Ruby会議に参加してきました!
Compassのページに繋がると思ったら、なんて可愛らしいサイトなんでしょう!!!
↓↓↓こちらはスポンサーのSTORES.jpさんが作成したサイトだそうです!!
すごいいいい
今回のイベントもとても刺激になる内容ばかりでした!
拝聴した登壇について、あとでしっかり復習するためにメモブログを書きました🙇♀️
個人的に難しい内容もかなり多かったので、「あとで読みます」「あとで理解します」という発言が多いですが、どうかお許しくださいませ...
keynote: @yui-knkさんの What is expected?
これはRubyのparserについてのお話でした。
ある時点で次に来ることができる文字列(expected token)をどうやって知ることができるのか?
んんん...!? 住んでいる世界線が違いすぎて面食らった発表でした...。
自分で普通にサーバーサイドの勉強をしているだけじゃ絶対に入ってこないような情報だったので、parserという単語を持ち帰れただけ本当に嬉しいです。ありがとうございます。以下の参考文献を読んでRubyのparse.yやこちらのスライドについて時間をかけて理解していきたいと思います。
ref: ruby-hacking-guide.github.io
ref: Rubyのしくみ
@shugoさんのTextbringerでつくるTextbringer
textbringerとは、「簡単にいうとRubyで書いたEmacs」 だそうです。
Rubyでエディタが書ける事自体にまず衝撃を受けました。
evalは混沌の力(多様性・変化)で、VimやVScodeは法の力(秩序や規律)で...と中2病感あるワードが散りばめられている面白い発表でした!
テキストエディタを書くにはテキストエディタが必要ということで、Vimでこのテキストエディタを作成していらっしゃったとの事ですので、Vim好きの私には嬉しかったです。あとでこちらのコードを拝読させていただきます🙇♀️
@fujimuraさんのSimpleDelegator活用のご提案
「SimpleDelegatorは便利なのにあまり使われていない!!」
私も本日初めて聞きました。
- オブジェクトに局所的な振る舞いを後から追加できる
- デコレーター簡単にかける
- その他小技
移譲先のオブジェクトを返してくれる具象クラス...ですって...!?
スライドとドキュメントを読んであとで絶対完全理解します!!
「哲学科出身だから名付けにうるさい」という自己紹介かっこよすぎました!!
あと、あんまり関係ないんですけど公式ドキュメントを読んでメソッド名を_hoge_みたいにするの、なんでか調べてなかったのであとで調べるぞ!!
@expajpさんのActiveSupport::Concernで開くメタプログラミングの扉
私も最近メタプログラミングRubyデビューしたので、メタプログラミングという言葉に惹かれて...
しかも鳥取県、同じ出身地で嬉しいです!笑
表題にもあるActiveSupport::Concernは、「たった50行のコードで世界中の問題を解決している」から推しのコードらしいです!!笑
コードに推しがあるって素敵です。推しができるまでコード読み倒したいですね!!
「メタプログラミングを学ぶことは、初学者にとって最後の壁」と最後におっしゃっていたのがとても印象的でした。名言過ぎます...。
これもあとで公式ドキュメントと読み合わせて完全理解します💪
@sat0yuさん Async/Await functions in Ruby
JavaScriptのAsync/Awaitはなんとなく聞いたことがあったのですが、今回はRubyのFiberを使ってAsync/Awaitを実装するという内容でした!
まずはGraphQLとGraphQL batchの違いから完全理解します😭
@sanfrecce-osakaさん Procのススメ
先日社内であったRuby勉強会でProcの概念に出会ったので、Procという文字に惹かれて...
「社内で使ってる人ー!」っていうのに手を挙げなかったんですけど、社内で使ってました。また後日使っているコードを完全理解したいと思います。
printデバッグで途中の配列が見れるのとてもいいですね!!!!便利です!!!!知見!!!!
Procについてはこれがわかりやすかったそうなのであとで読みます(社内の強強エンジニアさんに教えてもらいました)
@tashiro_rbさん モブプログラミング
次はモブプログラミング!!
3人のグループを作って、OSS活動に取り組みました。(しかも登壇者のexpaさんと同じチーム!!やったね!!)
好きなgemの...ということだったので、gemの概要を知っているRspecを選択。
ご存知の方も多いと思いますが、OSSにも「Good first issue」ラベルがあります。それならいけるかな!!!と思って、取り組みました。(Good first issueについては先日つよつよエンジニア上司に1on1で教えてもらいましたてへぺろ)
ISSUEの内容は、「あるメソッドについて、ドキュメントを追加する」というもの。
どのコードを変更すればドキュメントが反映されるのかと、軽くメソッドの中身を見るだけで終わってしまいました。
なんか挑戦できそうな気がするので、後日続きをやってみようと思います!!
@ryamakuchiさん 逃げちゃだめだ!RSpec を導入していく戦い
あるプロジェクトにアサインされてRspecを導入していくというハートフルストーリーでした...( ; ; )
私はrryさんがアサインされたようなrubocopも入れてないテストも書いてないkus...コードを生み出すだけ生み出して逃げ出した側の人間ですので、そういったプロジェクトをなんとかしていこうという話は尊すぎて耳と胃が痛かったです。
テストが書けない場合はメソッドに仕事を背負わせすぎてしまっているですとか、もう心当たりがありまくりすぎて...
このスライドにはキャッチアップした時系列やテストを書くときのポイントが満載だったのでめちゃくちゃ参考にさせていただきます😭ありがとうございます!!
@kinoppydさん Ruby力を上げるためのコードリーディング
Rubyのプロダクトコードを書く力をあげるなら、みたことある!と思うコードを増やすこと!人のコードを読むこと!!なるほど!!
- ActiveRecordのコミットログを読む
- Sinatra
- (Rack の中の Rack::Builderもおすすめ by 弊社つよいエンジニア)
- メタプログラミングRubyを読む
- RubyMine
→コードジャンプが素晴らしい
→ステップ実行できるpry-byebug
→OSS活動をするとアカウントもらえる
→登壇者はもともとVImmerの方
コードは全部読みます!!!はい!!!
推しのエディタがVimなので心苦しいですが、gemの中身をメソッドジャンプするときだけRubyMine使おうと思いました...!説得力のありすぎる布教でした...
RubyMineでVimのキーバインドも超ありですね...ぐぬぬ...
@ikaruga777さん やわらか増税 〜はじめての増税対応〜
こちらの登壇は、EC2サービスで増税対応のお話でした。
オーナーショップが税率を設定する商品があったり、一次ソースが国税庁だったり、taxesテーブルが爆誕したり...
消費税、まだまだ今後も上がりそうなので真剣に聞いてました。
DBやRspecなど、増税対応でかなりためになるお話を伺うことができました...🙏
ここまで拝聴して、用事があったために帰宅してしまいました...🙇♀️
発表者のみなさま、お疲れ様でした!ありがとうございました!
感想
現時点での私のRuby歴を記録しておきます。
- 今月(2019/12)で2年2ヶ月
- 今年の5月くらいにrubykaigiに参加して「ナニモワカラナイ」
- 今年の8月にRuby Silverを取得してようやくRuby自体の面白さに気づき
- 11月に社内勉強会をきっかけにメタプログラミングRubyを読んでメタプログラミングに目覚めて、RubyGoldを受験して73点で不合格(合格点は75点w)
ようやく今年から真面目にRubyと向き合ってRubyが楽しいと思い始めて、本当の意味で何もわからないRubyエンジニア爆誕です。
今回平成Ruby会議に参加して、今年の5月よりは(Rspecを書くようになったり、オブジェクト指向やRubyGoldの勉強した甲斐もあって)少しだけみなさまの発表内容をようやく理解できるようになってきたとちょっぴり自信がついた反面、まだまだ自分は勉強するべきことが多いこともかなり痛感しました...。
今年ようやくRubyエンジニアとしてスタートラインに立てたと思うので、来年はこういったイベントで登壇したり、RubyのOSS活動に挑戦したり、RubyGoldを取得したり、めちゃくちゃインプット&アウトプットしていこうと思います!!本当にやる😭ぜったい😭やる😭
スポンサーやスタップのみなさま、このような素敵なイベントを開催してくださりありがとうございました。お疲れ様でした。発表者のみなさまお疲れ様でした。
お読みいただきありがとうございました。