chobishibaにっき

どこかに行ったりやったりしたことの記録

沖縄Ruby会議02に行ってきました

ruby.okinawa

沖縄Ruby会議01に参加した人がとても楽しかったと言っていたのと最近地域Ruby会議が楽しいなと思うようになり会社から支援ももらえたので沖縄Ruby会議02に行ってきました。天気もとてもよく移動していると汗ばむ陽気でした(体感東京の5月)

カンファレンス詳細

全体の感想

Rubyで行う機械学習というかデータサイエンスのような話題が多かったです OSSのプロジェクトが今どのような形で行われているかや 使ったことないRubyのメソッドを知ることができました 喜々として話されているのを聞くと使ってみたくなる発表のうまだったりが印象的でした Ruby をキメるってこういうことかぁとなってました 現役大学生の発表もありそちらはとてもフレッシュでした

個別の感想

Red Data Tools @kou

内容

Red Data Toolsプロジェクトの実装紹介。Red Data Toolsはデータ処理用のツール

  • 頑張りすぎると長く頑張れない
  • 一回だけの活発な活動より小さくても継続的に活動することの方が大きな力になる
  • 今知らないことは始めない理由にならない
  • 外野の声にかまってる時間なんてない
  • 楽しくやろう
  • レベルアップへの道はNG集をたくさん覚えるより、よいコードにたくさん触れる方がいい

感想

継続的な活動のためにはどんな活動にでも言えることだと思いました 特にプライベートでの活動などのときは折に触れて思い出していきたいです よいコードに振れるからこそNGがわかるような気がするのでどんどん触れいていきたいです

TracePoint Tips Talk @_simanman

内容

TracePointの紹介

  • TracePointはRubyの様々なイベントをフックできるRubyの組み込みクラス
  • Ruby2.0から利用可能になったが知名度が低い
  • TracePointのここがすごい
def f(x)
  if x 
   unless x 
     p :foo # <= ここに到達できる
   end 
  end
end
  • TracePointの活用例を紹介
  • TracePointを使ってtspecというRubyの型チェックできるを作ったがもう書いた本人もわからないほどのカオスになったとのこと

感想

使いたいシーンがぱっとうかばなかったのですが発表聞いた後にはすごい!使いたい!となる発表でした 楽しそうにしてる人を見ているだけで楽しくなってしまう上に学べる素敵な発表でした。是非資料だけでなく動画が公開されたら見ていただきたいです

A ripper based syntax highlighter@pocke

内容

シンタックスハイライターIroの紹介

  • 既存のシンタックスハイライターの問題
  • ハイライターは完璧でもない
    • 少し込み入った書き方をしたらちゃんとハイライトが行われない
    • ?????:?: => ?? ? ?? : ?: の意味だがそうはハイライトしてくれない
  • Iroが込み入った表現をどうやって解決しているかの紹介
  • Rubyで書いてるので正規表現よりみやすいはず
  • Tokenize、Parseなどの紹介

感想

私も常日頃正規表現は人類には早すぎるって思っています 使いたいものを自分がメンテしたい形で作るというのは大事なことだなと思いました

はじめてのアジャイル開発×Railsで得たこと @puremoru0315

内容

沖縄の大学3年生によるenPit(高度IT人材を育成する産学協働の実践教育ネットワーク)に参加して初めてアプリを複数人で開発した経験発表

  • 恋愛支援アプリ
  • Railsアプリを6人で開発
  • チームでのコミュニケーション
    • チームメンバーを尊重することが大事だと学んだ
  • 途中で実装するのと同じくらいテストに時間がかかるのでテストを断念
  • 終わってから思うこと
    • もっと早く公開してユーザーの意見を取り込んだらよかった
    • 役割ごとの情報共有が難しかった
  • Web アプリケーション開発の役割分担をどうしたらいいかは未だによくわかってないのでプロのアドバイスが欲しい

感想

初めてで6人は大変だったと思います(最近よく聞かれるのですが個人的に好きなプロジェクト人数は3人です。5人越えると工夫が必要になってくる気がしてます) 無事アドバイスもらえたのか気になるところです

Fast Code for Ruby@284km

内容

Rubyで速いコードを書くこととbenchmark_driverの紹介

  • benchmark_driverはRubyの標準添付ライブラリ
  • 速いコードを書くというRubyの楽しみ方
  • 速いコード
    • 計測して速い方が速い
    • 条件に依存する場合がある
    • 必ずしもその書き方がよいとは言えないこともある
  • 速さと読みやすさ
    • yield/Proc#callとか
    • 何が読みやすいかはチーム事情によって変わる
  • 速さは静的解析ツール(rubocop)を使うことも有効
    • 速い書き方を教えてくれる
  • 最新のRubyを知る→知ってると仕事が楽になる→追うのが楽しくなる ループ

感想

yieldは苦手意識があります… やっぱりバージョン上げて最新の恩恵を受けていかないとなと改めて思いました あとサンプルコードのハッシュに自己紹介が入っているのすごく上手いなと思いました。いつかどこかでやってみたいです

文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった @masayoshi-tokumoto

  • 沖縄の大学4年生
  • 初学者の学習手順(Point:最初にRailsチュートリアルからやらない)
    1. Webについて
    2. HTML, CSSについて
    3. Rubyの基本
    4. Sinatraでアプリづくり
    5. Railsチュートリアルをやってアプリを作る
  • Rubyを学んで変わったこと
    • 沖縄の大学生のバイト事情の紹介
    • プログラミングをやって人の役に立つ、社会の役に立つと思えた

感想

確かにWebの知識を付けずに(土台がないのに)積むと揺らぐのでいい戦略に思えました 最初にCやって途方にくれたことを思い出しました

大規模アプリケーションにおけるRailsとマイクロサービス @yotaro-fujii

内容

マイクロサービス化した時の工夫と現在の状態を紹介

  • 開発チーム体制
  • 色々問題点があった
    • 同時リリースだから問題の切り分け難しい
    • 軽微な修正でもテスト時間かかる
    • スケールがしにくい
    • 常に全体を把握する必要あり
  • committee gem を使った
    • APIのテスト
    • OpenAPIでの定義と実際のAPIレスポンスの差異検知してくれる
  • 最適な粒度の見極めは難しい
    • 設計は極めて難しい
    • 最適な粒度で分割するには十分なモデリングが必要
  • パフォーマンスの問題
    • API連携が前提の構成になるため必ず生じる
    • 複雑さも増す
  • マイクロサービスとモノリス
    • チームの作り方を間違えたらマイクロサービス化も失敗する
    • 全員で全体をカバーできるならモノリスでよいそれが一番よくて効率がいい
  • マイクロサービス化をしたことでよかったこと
    • 新しい技術へのTryできるようになった
    • 変化に柔軟に対応しやすくなった
    • 今回分割したサービスはRuby,Railsの最新版にすぐに追従していけた(今までは影響範囲が広すぎでなかなかできなかった)

感想

マイクロサービス化は一度やってみた人のお話を聞いてみたいと思っていたのでとてもよかったです

運営

「継続してやっていきたいから無理しない」ということで以下の工夫をされていました

  • タイムキーパー置かない(発表者を信じる。休憩時間で調整)
  • ポスター手書き
  • 受付なし(無料だったからかも)
  • 名札なし
  • 写真と動画撮影はやる(記録は残す)

懇親会

沖縄の台所ぱいかじ 沖国大前店 ほりごたつのテーブルがあるゆったりできる場所で発表についての続きの話をしたりデバッグ始まったりLEDライトがついたりなんでもありな感じでした 大学生に就活の相談を受けましたがまぶしかったです 場所柄かリモートワークについての話題も多かったです(リモートワークで働きたい人、導入したい企業で働いている人) あと沖縄在住の同僚おすすめの紅芋のポテトフライがとてもおいしかったです