大阪Ruby会議02 行ってきたメモ

2019/09/15 大阪Ruby会議02

regional.rubykaigi.org

場所は大阪科学技術館の大会議場。入ったのは初めて。机広くてよかった😄
Wifiなかったのは残念だけど、主催者側で用意するのは大変だよね。

冒頭
関西Ruby会議から、大阪Ruby会議へ名称変した。各都市でできたらと思って。
Ruby関西は各都市のRubyコミュニティをフォローしている。
ステッカーはRuby曼荼羅をイメージしたデザイン。
去年は水の街大阪をイメージしたものだとか。

Twitterタグは#osrk02。略しすぎでは?とtwitter上で突っ込まれてたw twitter.com

Sponsors LT ㈱エイチーム

PHPRubyへの移管について。
MBTI(心理学を活用したもの?タイプに分けて得手不得手を踏まえてフォロー

  • 起業家型
  • 巨匠型

面白い取り組みだった。どうやって判断するのか?タイプはどれくらいあるのか やってみて自社での割合とか知りたかった。

SHIBATA Hiroshi OSS Security the hard way

ペパボさん渋谷から。
Ruby脆弱性対策とそのつらみについて。
どの面(Surface)に対する攻撃か、と攻撃手法。この2つが脆弱性の考慮材料。
脆弱性なのか?不具合なのか?他言語の対処みて判断したりしているPythonとかGo。

  • eval evalに渡した文字をRubyコードとして実行できる
  • SEGV セグメンテーション違反(メモリに対する不正アクセス

脆弱性報告には以下の3つを入れて欲しい

  • Description
  • PoC (Proof of Concept)検証した内容
  • Impact だめな理由。これが抜けやすい

脆弱性対応のリリース前にCVEは発行すること。 各対応に番号付けを行う。一意の番号を振ってくれる。

最近だとRubyGemsの問題。
有名どころのGemアカウントがハイジャックされている
typo狙い。どうもセキュリティリサーチャーがあえて試してる節があるw
gem install 時には気をつける必要あり。

以下の対策は入れて!!

  • パスワードの使いまわしやめて
  • パスワードの文字数は22文字以上にして
  • 2重認証入れろ

22文字以上のパスワードか。もう覚えることは放棄すべき頃合だな。

Kazuhiro NISHIYAMA チャットボットのススメ

Ruby開発さんから
おすすめ理由

  1. テキスト入出力なので単純 複数システムで作ると良い経験になる
    URL→タイトル返す
    外部サービスをAPIで呼び出して表示
    アメダスに問い合わせれば過去の情報もとれる?
    ↑小学生の絵日記対策を思い出してたんたけど、できるが変に公開したら気象庁に怒られるみたいwデータとしての取得は良いとか。
    Swatchのインターネットタイム。普及させようとしてたものw
  2. 人工無能
    AIほど高度ではない
    形態素解析、パターンマッチングで文字から反応を返す
  3. 作成時の注意点
    ボット同士の会話ループ
    大量発言してしまう。多すぎるとBanされちゃう

一度Slackボットを検討してたんだけど😅もう一度やってみようかな

西見 公宏 プログラミングを一生の仕事にする 〜顧問プログラマを8年続けて分かったこと〜

ソニックガーデンさんから。Keynote
顧問プログラマとは? 仕様、問題をロジカルに整理。シンプルにする

こういう仕事の秘訣
サクッと実装して見せる ライブ設計。設計して見積もりできる。技術力が必要となる
やり続けるしかない ネテロの正拳突きのように経験が必要
完成ではなく持続が大事
持続的に改善していけるか?技術的負債が増えてないか?
作ることではなく問題解決が優先
問題をなくすより発生の検知を優先。問題をゼロにするのは無理なもの
完璧を作るコストよりも、早く気づいて対処できることが大事
プロとして説明を尽くすこと 相手のレベルに応じてしっかりと説明することで、理解していただき信頼が生まれる
誠実さ良心
プログラマとして成長し続けるために
成果物として出すより、サービスとして提供
仕事を割り切らず、お互い必要なときに寄り添いながら前にすすめる
製造業からサービズ業へ 越境

納品のない受託開発て本を読んでるので、話聴きやすかった

昼休憩、大会議室は食事OK

Sponsors LT アジャイルウェア様

川端CEO 天満橋 従業員30名
Giji 音声入力で議事録作成 福田プログラマ 3年目

近日発表のGigiてアプリ。音声認識で議事録を自動生成は精度気になるけど楽しみ

Sponsors LT ENECHANGE様

TomoyaKawanishi チーフエンジニア 東京大手町
電力会社、ガス会社の切り替え

ポートフォリオ

  • バッジを貼る
  • 自動レビューの結果を貼る
  • 自己アピール 問題解決のストーリー3つぐらい

転職スカウト使う 転職ドラフト、LAPRASスカウト、Wantedly

ENECHANGEて会社名。まんまの事業されてて、良い会社名

安川 要平 子どものためのプログラミング道場『CoderDojo』を支えるRailsアプリケーションの設計と実装

YassLab㈱さんから、代表取締役社長
CorderDojo
子供 x 技術 x 非営利

なぜRuby?Rapid Prototype 早くだして反応を見て次へ jekyll 静的サイトジェネレーター

Apple podcastで公開
数字が出ると反応も変わる
APIで統計情報出して見せることで、結果的にめっちゃ提携が増えた

SakuraInternet 1Dojo1Server、 DojoPaaS(Node->Ruby Cygames 子供にゲームを知ってもらえる
Progate プログラミング教育始まるから?

知人がメンターしてたな。こんな世界的な事業だと思ってなかった

わかば260 Ruby/Rails Benchmarking and Profiling with TDD

UemoriYasutomo ㈱Amingさんから

  1. Testing
    推測するな計測せよ。プロファイリングとベンチマークは別で。 module Benchmark(公式のベンチマーク stackprof
    サンプリングをとってボトルネックを特定 WallClockTime 開始から終了までの時間 stackprof-webnav ブラウザで結果が見やすい
    stackprof-flamegraph グラフで結果が見れる全体を把握しやすい Gemがすでにあった(rspec-benchmark、rails-perftest)

  2. チューニング パフォーマンス改善の取り組み 社内テスト内容から遅いAPIの調査
    そこから対応する優先順位を検討

推測するな計測せよ。昔不具合を指摘されて。計測結果を数字バッチリ出して文句言ったの思い出した。大事!

Pocke Suppress warnings Kuwabara Ruby-JP

Kibela 情報共有サイト ruby -w オプションで警告詳細が見れる
OSSへのPRとして、最初の1歩としては丁度良い。 Ruby正規表現に対しても警告を出してくれる よくあるuser.rbはvalidationで出やすいので、試してみては?

今回一番興味が湧いた話。OSSへの第一歩としてやってみよ

Sponsors LT インゲージ様

飲食スポンサー。今回は懇親会に補助頂いた。

  • spring gem
    Macでしか動作しない
  • bootsnap gem
    ファイル読み込みを高速化
    キャッシュが保存されるので、遅くなるパターンもある

springがWindows上で動かないの知らなかった。Rails4のときかな、よく固まって再起動した印象が強い

willnet Concerns about Concerns maeshima

Concerns 懸念
concerns 公式には定義されてない。割と好きに使ってる

関心ごとをもmoduleとして分離する
Activesupport::Concern
moduleでconcern作りやすく メタプロRuby本に詳細は書いてる

PORO(Plain Old Ruby Object)で実装することもできる
Concernsに移動するだけになってないか。掃除で移動しただけになってないか考えよう
crean-rails.org 可読性の高いコード

掃除の例えが秀逸で、移動して固めて満足してないか気をつけよ

KaoruHotate Fat Modelに対処するための考え方と6つのリファクタリングパターン

メドピア㈱さん 東京から
対策としてパターン化を入れたい
詳細はTwitterのほうにLink上げました。

speakerdeck.com

時間の都合上説明は2施策だけだったので、上記スライド見ておこう

Tomohiro Hashidate (joker1007) What a cool Ruby-2.7 is

Repro Incさんから CTO
TracePoint hook作って処理抜けた後に処理することができる

TracePoint知らなかった。警告w

yebis0942 いつでもどこでもクールなRubyを書く方法

Rubyの新機能を旧バージョンでできないか?
sourcemap 変換前とあとのコードを紐付ける

新機能を旧バージョンでも試したくなる気持ちわかるw

Yusuke Endoh Ruby 3の型解析に向けた計画 一人で静的解析作ってる 

Cookpad㈱さんから、フルタイムRubyコミッター
キーワード引数の仕様をRuby3で変更
Ruby3の静的解析 理想

  • 目的:バグっぽいコードを指摘する
  • 要件:なしでもできるよう維持したい

変数の型宣言について、会場アンケート

  • 書きたくない(matzは確かこの回答
  • 自分は書く気ないけど、他人が書く分にはお好きに。(自分はこれに挙手
  • 自分は書く気ないけど、他人は書いて欲しい。(登壇者含め結構いたw
  • むしろ書きたい。指定したい。(これもわりといたので、ちょっと意外

アンケ回答3つめ一番自己中だと言われながらも、他人のコード読むときは確かに宣言あったほうが嬉しいかもw