Entaku.rb#2

概要

自己紹介

おおくらまさふみ

  • @okuramasafumi
  • フリーランスのRubyエンジニア
  • Entaku.rb主催してます
  • Grow.rbの主催でもあります
  • Kaigi on Railsのチーフオーガナイザーでもあります
  • 珈琲にはまってます
  • 個人や小規模チームを対象にしたコーチ・メンターやりたい(https://viasession.com

expajp / Shu OGAWARA

  • @expajp
    • 「えくすぱ」と読みます
  • リンカーズ株式会社というところで働いてます
  • 今年の上半期は仕事やプライベートであまりオープンな活動ができず
    • 本だけ読んでます
    • 最近はSQLアンチパターンとハリポタの原書
  • 最近はマネジメントの方に時間を使っています
    • 仕事のほうで業務フローの改善をやってるので、成果が固まったらどこかで発表したい
    • 先週EM Meetupのスタッフになりました(まだ何もしてないけど)

osyo(おしょー)

  • @pink_bangbi
  • Rails エンジニア
  • 趣味で Ruby にパッチ投げたりしています
  • Ruby で一番好きな機能は Refinements
  • 最近は RubyVM::AbstractSyntaxTree というライブラリで遊んでいます
    • AbstractSyntaxTree とは構文解析ライブラリで Ruby のコードをパースしてツリー構造に変換してくれる奴
  • 最近いろんなオンライン勉強会にいっています
    • Entaku.rb
    • kanazawa.rb
    • Kobe.rb
    • Fukuoka.rb
    • Toyama.rb
    • Ruby Hacking Challenge in Hamada.rb
    • Sendai.rb
    • Gotanda.rb
    • Tama.rb
    • Grow.rb

もりつか

  • @sanfrecce_osaka
  • サーバーサイドエンジニア<フロントエンドエンジニア>
  • 株式会社ラグザイア(at 町田)
  • Machida.rb 主催
  • いろんなオンライン勉強会に(ry
    • 27回/月〜

s4na/nabetani

  • @s4na_penguin
  • アクトインディという会社で働いています
  • 5月からWebエンジニアとして仕事を開始
  • 今2ヶ月目
  • 仕事では基本Railsを書いています
  • Ruby, Rails歴はそろそろ1年
  • 最近仕事が始まって、8時間労働した後に勉強会に参加するととても眠くて生きているだけで精一杯
  • 最近読んでいる本
    • レガシーコードからの脱却

seitaro_1227

  • ここ2週間ぐらいはNuxt.jsとtailwind.cssでコーポレートサイトのリニューアルとi18n対応をしています。
  • SpringBootとReactで介護事業所検索サービスを作っています。
  • Railsは3ヶ月前ぐらいまで触っていて、求人サービスを作っていました。
  • 最近の興味
    • Railsでサービスを開発してある程度してから開発規模を大きくしていくときの知見に興味があります
      • interactor gem や
      • hanami.rb
      • を試したりとか
      • ドメイン駆動設計入門 や
      • オブジェクト指向設計実践ガイド
      • とかを読んでます
    • Nuxt.js
    • 集計用のSQLでサブクエリを使っているけど結構便利

ima1zumi

  • ima1zumi
  • fjord boot campでRuby, Rails勉強中, 転職先探し中
  • 前回のentaku.rbのRailsの勉強法の話で、「Railsのこと階層構造で見られてない!!」と気づけてよかった
    • 新しいものを知るときはなるべく大枠から知るようにしようと思った
    • あと問題解決もできないことがわかった、問題の切り分け難しい…
  • ActiveRecordとかDB周りが好きな気がする
  • Ruby本体に興味があるかも
    • hamada.rbのRuby Hacking ChallengeでRubyビルドした
    • C読めるようになりたい
  • OSSへのPRどういうふうに出せばいいんだろうと悩み中
    • るりまの2.7対応のうちのちょっとしたところ
    • Ruby Hacking Challengeの依存ライブラリをbrewで入れるコマンドとか
      • 1行, 2行くらいの修正ですがPRkowai
  • スマブラ強くなりたい
  • コーヒー好き
  • 最近読んでいる/読んだ本
    • オブジェクト指向でなぜつくるのか(読了)
      • オブジェクト指向がなぜうまれたのか、汎用的整理術としてのオブジェクト指向、とか分かって面白かった
    • Rubyのしくみ
    • はじめて学ぶソフトウェアのテスト技法

yoshihiroUeki/

  • @yoshihiroUeki
  • fjold boot campでRuby勉強しています。
  • 今月はfjold boot camp内で勉強会を主催します。
  • 今回はentaku.rb初めての参加です。
  • 最近読んでいる本は
      - プロを目指す人のためのRuby入門
      - オブジェクト指向設計実践ガイド

話したいこと

[osyo]

  • Ruby の話(Ruby を書いててハマりポイント、Ruby らしい書き方、Refinements などなど…)
  • 開発環境:ソフトウェア(エディタや便利ツールとかとか)
  • 開発環境:ハードウェア(パソコンやディスプレイ、キーボード、机椅子とかとか)

[ima1zumi]

  • OSSへのPRの出し方
  • gemとかRuby本体のデバッグ/リーディング方法
    • binding.pryは神だけどそれだけではわからない
  • 健康管理
    • 首肩こしを傷めない方法

[expajp]

  • 積ん読の管理方法
  • OSSコントリビュートへのきっかけがつかめない
  • チームでの長期開発課題の管理
  • 英語の勉強方法

[s4na]

  • レガシーコード、どこからテストを書いていくか

  • レガシーコードとの戦い方

    • テスト or リファクタリング
    • フロント・バックエンドともに
  • プロダクトの規約をどうやって決める・守るか

    • ディレクトリ・ファイル構成
  • 社内勉強会の時間をいつ作るか

  • 受託開発でどうやって意見を通すか

  • 受託開発で時間労働から逃れるか

[okura]

  • 健康管理
  • RSSフィードとか消化できない…(インプット)
  • Stripeの話

[ヒラカワ]

  • フロントエンドのテスト技法とか観点

[ueki]

  • 運動不足解消について
  • オブジェクト指向がよくわからない
  • 本を読むのがどうも遅いのが悩み

本日のテーマ

  • OSS
  • レガシーコード
  • gemのデバッグ
  • オブジェクト指向

備考

今度こういうアプリ使ってもいいかもです

https://tallk.fjord.jp/

OSS

https://hackmd.io/B5Pud-71TjSe0-9hcpGaxA

レガシーコード

  • テストの話
  • レガシーコードとは?
    • Ruby(のプロダクト)にはレガシーコードはある?
      • バージョンによって挙動が違う
      • ライブラリがもうメンテされていない
      • テストがない
    • 開発する上で何かしら障害があるようなコード
      • 可読性が低い
      • データを作るのが難しい
      • 仕様が曖昧
  • リファクタリングしたいけどテストがない場合、リファクタリングするのかテストするのか
    • あえて臭いものにフタをする
    • 頑張ってテストを書く
  • 銀座Rails

moduleに分けたらテストできるかも。
ただ、現実はそこまで甘くない。。。

class God

  private
  
  def area(radius)
    radius*radius* PI
  end
end

module GodPrivateMethod
  def area(radius)
    radius*radius* PI
  end
end

class God

  private
  include GodPrivateMethod
end

gemのデバッグ

https://hackmd.io/YBQ5bA3OSviSXx_X-PSA7Q

オブジェクト指向について

オブジェクト指向の事がよくわからんない

手続き型

  • データーと処理の接合性が難しい
  • 上から下まで処理が書かれている
  • 触りたくないデーターをうっかり触らないため
      - バグの温床
      - データーと扱う処理はが遠くても書けてしまう。

オブジェクト指向

  • 処理がカプセル化されている
  • 細かい動作の手続きが外から隠蔽されている
  • 車の仕組みと一緒でエンジンの構造見えなくても車を動かせる
  • データーもカプセル化されている
  • 外から勝手に書き換えられない
  • 触りたくないデーターをうっかり触らないため
  • データーと扱う処理は近くに置く

クラスが何が嬉しいか

  • 同じ種類の同じふるまいの別々のオブジェクトを簡単に定義できる
  • オブジェクト指向だと反映しやすい

ソフトウェアの設計

  • 現実をモデルにして設計している

感想

[expajp]

  • OOPのセッション独演会気味になってすみませんでした
  • しばらくコード書いてなかったので、OSSコントリビュートの道筋つけられて大変助かりました おしょうさんと大倉さんに感謝
  • 結構時間がかかる&終わりが遅くなるので、コロナ禍終わってもリモートが良いです
    • ときどきリアルでやるのがイレギュラー、くらいが良いかな

[okuramasafumi]

  • 各セッションの議事録は別々のページがよいかな
  • 30分だとちょっと短いのかも
    • テーマ設定に工夫が必要

[ima1zumi]

  • 問題意識を持ってる点の問題の先まで話せてentaku.rbすごい
  • OSS への PR 出すのに気後れしていたが後押ししてもらえてとてもありがたみがあった
  • 手軽な vote サービスがほしい
  • gem を一人で読むのはたいへんと言うことが読み始める前にわかってよかった
  • テーマ設定だいじ

[osyo]

  • Ruby の話ができてたのしかった(こなみかん)
  • 他の人が気になる点が共有できてよい
  • 画面共有とかしたほうがわかりやすかったかなあ
  • Zoom の URL が腐っていたのが
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 喋りベタなのでつらい
  • 自己紹介とか気になるネタは事前に hackmd に書いておいてもらえるといいのかも
    • 開始は20:00だけど会場は19:30とか?
  • テーマ設定する時にもうちょっとスムーズにできないかどうか
    • 事前にかいてもらったものに書いてもらうとか?
  • 参加しなかったテーマの共有時間があると便利かも?

[s4na]

  • 良い話が多かった。
  • レガシーコードの倒し方がわからなかった。難しい。
  • みんなでGemを読みたい。
    • やろう

[yoshihiroUeki]

  • オブジェクト指向の概念を説明していただいてめっちゃ学べました。
  • どうすればいいかわからなかったけど、フォローがありがたかった。
    • コードの話

[seitaro]

  • 色々話せて良かったです。
  • 特に、忘れていたプレゼン資料のリンク探せたのがとても助かりました。
    • テストがないRailsプロジェクトにテストを足す話

[sanfrecce_osaka]

  • ワイワイ話すの楽しい
  • 若干トークがあちこちに発散しがちだったかも・・・?
  • あげられるテーマが多くてお蔵入りになるものも多いので何回かに1回は休みの日に時間を多めにとっての開催もあり・・・?
Select a repo