銀座Rails#21を開催しました

去る2020/05/15(金)、銀座Rails#21を開催しました。

ginza-rails.connpass.com

togetterのまとめ: togetter.com

@morimorihogeさん「出張!Railsウォッチ in 銀座Rails

speakerdeck.com

今回のトップバッターは毎月恒例、森(@morimorihoge)さんによる出張!Railsウォッチ。 今回は「標準仕様を読むためのABNF」特集でした。

ABNFとは、標準仕様の中で使用されているメタ言語で、RFCW3Cなどで利用されています。

今回の発表ではRFC3339を参照しながら、実際にtimestampをどうABNFで表現するのかについての解説をして頂きました。

@ginkouno「テストがないRailsプロジェクトにテストを足す話」

speakerdeck.com

今回は残念ながら公募枠に応募が無かったため、コンテンツを埋めるべく、私が登壇させて頂きました。応募がありませんと、私の業務日記になってしまいますので...是非皆様ご応募下さい...🙏

内容は前回のアンケートでのご要望に沿い、「テストがないRailsプロジェクトにテストを足す話」でした。 テストを足す目的を明確にし、カバレッジ等の準備をし、不要なコードを消してから、コツコツ足していきましょう、というお話をさせて頂きました。

スポンサーセッション forkwellさま

継続的にご支援いただいたforkwellさま。いつもありがとうございます。 安定の「雑な一括送信などがない」スカウトサービスがついたforkwell jobs。皆様も登録してみてはいかがでしょうか。

限定登録プレゼントキャンペーンだけでなく、フルリモートでのRailsエンジニアの人材も募集されているとの事です。 jobs.forkwell.com

ゲストスピーカー @toshimaru_e さん「Fat Model の倒し方」

今回はゲストスピーカーとして、以前の懇親会にてリクエストがあった @toshimaru_e さんをお招きしました。

speakerdeck.com

タイトルは「Fat Model の倒し方」。 Rails習熟度がある程度高まっているメンバーが開発するプロジェクトにおいて、FatになりがちなのがModel。その解消方法について、Rails Way、Sub-Rails Way、Non-Rails Wayの3つのアプローチに基づいてお話頂きました。

Rails WayはRailsに備わっている機能を使うが手段が少なく、Sub-Rails wayはgemやsassに切り出してFat Modelへの対処を図るが見極めが必要、そしてNonRailsWayには正解は無いが4つの例を例示し、うまく導入できれば強力...など、アプローチ毎の具体例やその性質についてお話されました。

次回、銀座Rails#22について

次回銀座Rails#22は2020/06/12(金)、オンラインでの開催となります。

ginza-rails.connpass.com

ゲストスピーカーは 神速 さん。

Rails on Docker」と題し、Dockerを使ってどのような課題を解決するか、実際にDockerコンテナを作るときのコツなどについてお話頂きます。

現在登壇者一名および参加者を募集中です。

銀座Rails#20を開催しました

去る2020/04/17(金)、銀座Rails#20を開催しました。

ginza-rails.connpass.com

コロナウイルスの影響を受け、今回の銀座Railsもオンラインでの開催となりました。

前回と同じく発表者との相互コミュニケーションツール「CommentScreen」を用いたコメント投稿を実施したため、 togetterのまとめも少なくなっております。ご了承下さい。 togetter.com

スポンサーセッション リンクアンドモチベーションさま

リンクアンドモチベーションさまからは、いつもの通り磯崎さんがご登壇。 リモート勤務になり、「ゼロからわかる Ruby 超入門」を読みながら勉強をはじめているとのこと。今後の発表が期待されます。

セッション内ではBtoB / BtoCで展開している4つのプロダクトを紹介、その中で使われている技術等についてお話されました。 エンジニア募集中との事です。 www.wantedly.com

@morimorihogeさん「出張!Railsウォッチ in 銀座Rails

speakerdeck.com

毎度おなじみ 森(@morimorihoge)さんによる、出張!Railsウォッチ。 今回は「Excelと仲良くするという選択」という、聞いただけでうっと声を出してしまう人も居そうなタイトルでしたが、非エンジニアである運用担当者がExcelでデータを取り扱えるようにするために、エンジニアが出来ることは何か、という現実的なご提案でした。

具体的な例として、テキストでのExcelへのコピー / ペーストなど、実装の手間を抑えつつ、手持ちの手札でなるべく良い成果すためのノウハウをお話頂きました。

@yahondaさん「How to git bisect ruby/ruby repository」

いつもOSS活動への関わりを、わかりやすくお話して下さる 本多(@yahonda)さん。 今回は「How to git bisect ruby/ruby repository」と題し、実際のrubyリポジトリに対し、git bisectの利用して、不具合が発生した原因となるcommitを探すお話でした。

speakerdeck.com

まずはRailsのCIとRubyのversionの関係を解説、実際にRuby2.8.0でのみredになっているRails CI(actionpackのmaster)を例示し、git bisectコマンドを使って対象となるRubyのコミットを見つける手順を、コマンドの実行例とともにお話頂きました。

スポンサーセッション forkwellさま

毎度おなじみ、いつもお世話になっておりますforkwellさま。 今回も「あなたの価値が世界に届くポートフォリオサービス」forkwell、「一括送信のない、市場価値がわかるスカウト」forkwell jobsのサービスの良さをお話頂きました。 そしていつもの限定登録プレゼントキャンペーンに加え、更に今回はforkwellを開発するgrooves社も人材を募集されているとの事でした。 jobs.forkwell.com

ゲストスピーカー すがわらまさのり(@sugamasao) さん「Ruby on Rails6エンジニア養成読本から学ぶRails6.0新機能 + Rails6のRuby2.7対応」

今回はゲストスピーカーとして、「Ruby on Rails6エンジニア養成読本」「パーフェクトRuby on Rails」などの著者である、すがわらまさのりさんをお迎えし、主にRails6のお話をして頂きました。

speakerdeck.com

まずはRailsの機能のなかでも「omakase」な箇所であるWebpackerについて、その使うべき状況はいつなのか考察。次に複数DB機能について、基本的な機能のおさらいと制限事項について考察。

今回はWebpacker、複数DB、並列テストについて、その使い所や制限について解説。またRuby2.7 & Rails6.0の組み合わせについて、現時点ではWarningが出るものの、以前ご登壇頂いた kamipoさんをはじめとする開発者の方々のおかげで次のversionでは大幅に改善しているとの見込みであることを共有されました。

次回、銀座Rails#21について

次回銀座Rails#21は2020/05/15(金)、今回同様オンラインでの開催となります。

ginza-rails.connpass.com

ゲストスピーカーには @toshimaru_e さんをお招きし、「Fat Model の倒し方」についてお話頂きます。 現在参加者募集中です。

銀座Rails#19を開催しました

去る2020/03/19(木)、銀座Rails#19を開催しました。

ginza-rails.connpass.com

新型コロナウイルス感染症の影響で、初のオンライン開催となりました。

当日の様子につきまして、togetterのまとめを御覧ください。 (ただ今回はコメントをCommentScreenにて募ったため、少なめのtweetとなっております...) togetter.com

スポンサーセッション リンクアンドモチベーション

いつも場所をご提供下さっていたリンクアンドモチベーション様ですが、今回はインターネット回線の状況やご家庭の都合でご自宅からのZoomでの配信が難しい登壇者の方への場所の提供をして頂きました。

スポンサーセッションでは、リンクアンドモチベーション社で提供している様々なサービスの紹介をして頂きました。

「出張Railsウォッチ in 銀座Rails」@morimorihoge さん

恒例の出張Railsウォッチ。今回は開発チームの冗長化に関するお話でした。

speakerdeck.com

トラックナンバー(バス係数)」、すなわち「トラック(バス)に轢かれた人がいた場合にプロジェクトが継続できなくなる人数」を意識してみると、その人数が少ない(特に1だったりする場合)、特定のエンジニアに何かと情報が偏りがちな状況というのは、サービスやビジネスが立ち行かなくなる恐れが大きいと考えられます。

そこでRailsプロジェクトにおいて、開発系、運用系などそれぞれのケースで、どのような点が危険で、どのような対策を取れるか、などの実例を挙げて頂きました。

小林ノエルさん「railsとserverless技術で鉄道アプリを作った話〜なぜ僕はrubyでバイナリをパースしたのか〜」

前回は金融業界での開発の話をして頂いた小林ノエルさん。 今回は鉄道プロジェクトのお話です。

speakerdeck.com

とにかく業界特有の慣習により、「ヤバさしか無い」「サンプルもくれない」つらい思いをした小林さんですが、そのプロジェクトをRailsを使い、様々な創意工夫やツールを駆使しRubyでバイナリをパースするなどして完成までこぎ着けた経緯をお話頂きました。

ほんとうにつらそうでした。

スポンサーセッション forkwell さま

いつもご支援頂いているforkwellさま。銀座Railsのオンライン開催につきまして、資金からノウハウ提供までサポート頂きました。

スポンサーセッションでは、forkwellの「嫌なスカウト」ではないエンジニアフレンドリーなスカウトの仕組みを備えた「forkwell scout」のしくみのお話でした。

スポンサーセッション ScoutAPM さま

いつも銀座の地ビールをご提供頂いていたScoutAPMさま。今回オンライン開催となったため、残念ながら地ビールはお預けとなってしまったのが残念ですが、また現地開催となった場合にはサポートいただけるとのことでした!

スポンサーセッションでは、改めてAPMの必要性について解説。

N+1、SlowQuery、TransactionTraceでの分析、github連携など、機能の説明も交え、試したい方にはトライアルでの無料試行が可能とのことです。

ゲストスピーカー f_subalさん「The Majestic MPA」非SPAをまともに開発するために何をするべきか

今回はpixiv社にてフロントエンドエンジニアをされている @f_subalさんをお招きし、Railsとフロントエンドに関するお話をお願いしました。

実際に携わられているpixivFactoryという「フロントエンドが分厚い」「非SPA(=MPA)」のサービスを例として、jQueryやReactなどが混在する状況を、「Universalをあげて規約で殴るという手法」を用いて、それぞれが共存できる土台を作って運用する実例をお話頂きました。

speakerdeck.com

前提となる設計思想から個別のノウハウまで、過去の資料の例示なども含めて知見の詰まった内容で、Railsにおけるフロントエンド開発に悩む参加者の方も「頷きすぎて首がもげる」とコメントされたほど盛り上がりました。

銀座Rails#20について

この記事の次の回にあたる銀座Rails#20、2020/04/17(金)にオンラインにて開催しました。 後ほどレポートを書く予定となっておりますので、しばらくお待ち下さい。

また銀座Rails#21を、2020/05/15(金)に開催予定です。 ginza-rails.connpass.com 現在ご登壇者を募集中ですが、オンライン開催ですので、全国どこからでもご登壇頂けます。時間も5分〜15分まで選択でき、内容のご相談にも乗りますので、お気軽にお申し込み下さい。

銀座Rails#17を開催しました

去る2020/01/16(木)、銀座Rails#17を開催しました。

ginza-rails.connpass.com

毎度おなじみGINZA SIXにあるリンクアンドモチベーションさまのスペースをお借りしました。 当日の様子につきましては、togetterのまとめを御覧ください。 togetter.com

野呂浩良さん「ルワンダでのRubyプログラマ育成報告」

プログラミングスクールである「DIVE INTO CODE」を運営されている野呂さん。 ルワンダにてRubyプログラマの育成をされているということで、今回はそのお話を披露されました。

「全ての人がテクノロジーを武器に」をコンセプトとして活動しているDIVE INTO CODE。そのターゲットとして、教育の最高難度と言われ、さらにRubyKaigi2019で来場者が誰もいなかった「アフリカ」にて機会提供をしようと決意。1ヶ月自分で住み込み、英語でRubyのレクチャーをしたとの事。 クラウドファウンディングで運営し、18名が卒業、その中から3プロジェクトの実務に携わる人が生まれたそうです。 日本発のカリキュラムが世界で通用する教育する事例として、その詳細について語って頂きました。

speakerdeck.com

okuramasafumiさん「ブロック - 入門から応用まで」

いつもコードに関する具体的なトピックを持ち込んで下さる大倉さん。今回はブロックについてのお話でした。 ブロックとはなにか、どう便利なのか、そもそもどう使うのかについて、デモで実際にコードを披露しながら説明。更に利用例として、RakeやFactoryBot、RSpecに代表されるDSLなどを挙げ、実際にRSpec風のDSLについてのコードを見せながら、説明されていました。

@morimorihogeさん「出張RailsWatch」

speakerdeck.com

毎度おなじみ出張RailsWatch。今回も @morimorihogeさんからのお話です。 ニュースとしてはやはり、Ruby2.7.0リリースについてのお話。ただ、今の時点で実践投入をすると、production logがWARNINGで溢れて辛いとの事。 また今日のメインテーマとして、「リソース管理スコープ」の話をされました。これは造語だそうですが、サーバサイドアプリケーション開発者から見たときに、保存参照するデータがどこに保持されていて、それらがどういう特性をもつのか、それについて整理して開発しよう、というお話でした。

スポンサーセッション リンクアンドモチベーションさま

いつも素晴らしい会場、ドリンクの提供など、様々なご支援を下さるリンクアンドモチベーション様。 久しぶりに磯崎さんが登壇され、エンジニアとしてRailsを学ぶ企画は途中で断念との事。ただどれだけ難しいかがよくわかったとの事で、エンジニアへの理解が深まったとお話されていました。

また様々なサービスを作る上で、まだまだ全方面でエンジニアが足りていないとの事。 そんなリンクアンドモチベーション様の求人情報はこちらから。

www.wantedly.com

スポンサーセッション forkwell さま

今回はいつもと異なり、forkwell様からはエンジニアリングマネージャである吉永さんがご登壇。なんとこの日がお誕生日であるとのこと。 「中の人が語るForkwell」と題し、エンジニアリングマネージャとしての仕事とForkwellの役割が重なっており、意義を感じながら開発をしているとのこと。 現在のエンジニア組織について紹介され、現在人材募集中との事でした。

www.wantedly.com

スポンサーセッション ScoutAPM さま 「Rails Performance Tips #1」

前回に引き続き、銀座地ビールスポンサーをお引き受け頂いたScoutAPM様。 今回は「Rails Performance Tips #1」と称し、RailsのN+1問題などをどのように解決するのか、ScoutAPMを使った事例を含めてご紹介頂きました。 またScountAPMのキャラクターの名前「Doggo」が紹介され、かわいいとの評判を多く得ていました。

ScoutAPM 無料トライアルはこちらから。

try.scoutapm.com

ゲストスピーカー SHIBATA Hiroshi(@hsbt)さん「OSS 開発の勘所: RubyGems と Bundler の事例 」

今回のゲストスピーカーの柴田さん。GMOペパボ社にてVPoE、執行役員、技術部長をしており、仕事ではコードを書いていないとの事。 しかしOSSでは、rubyrubygems、bundlerに多くのcommitを積まれています。 まずはRubyGem、Bundlerの現況についてご紹介。それぞれをどのような方向で開発しているのか、開発中の苦労、Ruby3に向けたロードマップなどを紹介されました。

そして昨年約3200ものcommitをした柴田さんが普段どうやってOSS開発に毎日携わっているのか、そしてなぜOSSをやっているのか。また続けるためのマインドセットとノウハウについて、貴重なお話をして頂きました。

www.slideshare.net

次回、銀座Rails#18について

次回銀座Rails#18は2020/02/20(木)、 今回と同じくGINZA SIXのリンクアンドモチベーション様のスペースをお借りしての開催です。

ginza-rails.connpass.com

ゲストスピーカーにはすがわらまさのり (@sugamasao)さんをお招きし、「Ruby on Rails 6 エンジニア養成読本から学ぶRails 6の新機能 」についてお話を頂きます。 只今登壇者、参加者ともに募集中です。

銀座Rails#16を開催しました

去る2019/12/13(金)、銀座Rails#16を開催しました。

ginza-rails.connpass.com

今回もGINZA SIXにて、リンクアンドモチベーションさまのスペースをお借りしました。 当日の様子につきましては、@narita1980 さんが作成した下さった、togetterのまとめを御覧ください。 togetter.com

出張Railsウォッチ in 銀座Rails

出張Railsウォッチは今回も、BPS株式会社から、TechRachoを運営されている@morimorihoge (森) さんがご登壇。

まずはRuby2.7のクリスマスリリースが迫り、参考になる情報の共有から。

@tmtms さんの怒涛のAdvent Calendar qiita.com

@jnchito さんのパターンマッチ解説 qiita.com qiita.com

また今回は設計の話について。

コードレビューではなく設計レビューについて、大きな機能の実装の前に行うと手戻りのリスクを減らせるとし、実際に機能要件の確定からPull Request作成までの流れについて、実例を示されていました。

詳細については、TechRachoさんのページに解説されていますので、是非ご覧ください。 techracho.bpsinc.jp

サトウリョウスケ(@ryosuke_sato) さん 「今年 会社でのレビューで話した事」

会社の勉強会で45分 x 2回お話されたことを、15分にギュっと凝縮して持ってこられたというサトウさん。 まずは設計における「抽象度」のお話。抽象度が揃っているとはどういうことなのか、揃っていることでどのようなメリットがあるのかについて説明されていました。

また「継承」について、継承する場合もいくつかのパターンがあるものの、そのうちのどのパターンを使っているのか、複数使って複雑になりすぎていないかを意識することをご提案。 最後に「現実から学ぶ」と題して、現実にあるものから設計に役立つものがあるとし、その例を挙げられていました。

speakerdeck.com

小林ノエル(@free_world21) さん「金融機関の(システムの)作り方」

初登壇の小林ノエルさん。趣味はポイント集めで、プログラマとして会社員とフリーランスを兼業されているとの事。 テーマは「金融機関のシステムの作り方」ということで、新株予約権を販売するサイトを作った際のあれこれを共有されました。

金融業は規制産業なので、行政当局からの規制があり、それに従って開発をする事が必要との事。 機能要件、非機能要件、その他運用など多岐に渡り具体的なガイドラインがあるため、それに回答できる形でシステムを構築する必要があり、それをどのように実現していったかをお話されました。

speakerdeck.com

スポンサーセッション forkwell さま

今回はForkwell様から、永田さんが初登壇。

キャリアアップできるエンジニア / できないエンジニアの差について、「社内評価と市場評価が一致しているかいないか」であると述べられ、これを一致させるためには懇親会などに参加し情報を集めていくのが有効であるとのこと。

ただ毎日懇親会に出ることはできないので、その代わりになるものとして、Forkwellのスカウトサービスを紹介されていました。

jobs.forkwell.com

スポンサーセッション ScoutAPM さま

今回は銀座地ビールスポンサーとして、ScoutAPM様に再びご支援頂きました。

ScoutAPMの紹介としてその簡単な使い方をご紹介。 まずinstallすることでざっくり確認、そこからTransaction Traceで細かい分析。 Auto Instrumentsがcontroller一行毎の時間を自動的に計測。

開発環境でも手軽に無料でパフォーマンス改善ができる、との事です。

scoutapm.com

ゲストスピーカー @sinsoku_listy(神速)さん「Railsアプリの設計」

今回のゲストスピーカーには、メドピア株式会社にお勤めの神速さんをお招きし、設計についてのお話をして頂きました。

sinsoku.hatenablog.com

まずコードの読みやすさの話として、何がRailsらしい読みやすいコードなのか、その答えは公式ドキュメント、railsが生成するコードにあると例示。

また設計の時の流れとして、要件定義、画面設計、リソースとDB設計、クラス設計、実装 の順で進めていると共有の上、それぞれの局面で何に気をつけているかについてお話されました。

更に実装時に気をつけている事として、コードを短くすること、RuboCop標準に合わせること、その際の判断基準などについても具体的に述べられていました。

次回、銀座Rails#17について

次回銀座Rails#17は2020/01/20(木)、 今回と同じくGINZA SIXのリンクアンドモチベーション様のスペースをお借りしての開催です。

ginza-rails.connpass.com

ゲストスピーカーとして柴田博志(@hsbt)さんをお招きし、「OSS 開発の勘所: RubyGems と Bundler の事例 」と題して、 多くの人が使うソフトウェアの日々の開発からリリースマネジメントなど、 OSS の開発を燃え尽きないように続けていくコツをご紹介頂きます。

まだ現時点で空き席が多少ございますので、お気軽にご参加下さい。

銀座Rails#15を開催しました

去る2019/11/15(金)、銀座Rails#15を開催しました。

ginza-rails.connpass.com

今回もGinzaSIXにて、リンクアンドモチベーションさまのスペースをお借りしました。 当日の様子につきましては、togetterのまとめを御覧ください。

togetter.com

スポンサーセッション リンクアンドモチベーションさま

当日は都合により、リンクアンドモチベーションさまからのご登壇はありませんでした。 採用は継続して実施中との事ですので、興味がある方はこちらを。

www.wantedly.com

出張Railsウォッチ in 銀座Rails

毎度おなじみ出張Railsウォッチ。BPS株式会社から、TechRachoを運営されている@morimorihoge (森) さんがご登壇。

今回はRubyWorld Conference 2019のお話の共有から。例年スーツを着た方が多く、以前行った時は1/2がスーツ着用だったところ、今年は1/3にと割合が減ってきたなと感じたそうでうs.また特にRubyPrizeの糸柳さんの受賞スピーチが良い話だったとの事で、7時間39分あたりから聞くことができます。

www.youtube.com

また、今回はRailsにおける production / staging / developmentという言葉の使い方についてのお話でした。受託開発を8年やっていると、いろいろな定義で使われていて混乱するとのこと。認識齟齬についてどのような事が起きるかの事例や、自分はこう分けているなどのお話をされていました。

techracho.bpsinc.jp

@yalab(よしだあつし)さん 「Service クラスと Form Object をやめよう。サブクラスを使おう」

株式会社ジラフにてCTOを勤めていらっしゃる @yalab(よしだあつし)さん。Railsはver. 0.8から使われているベテランです。 今回はServiceクラスについて、出自と言われるものが多種に渡り定義が曖昧で、「要は使いどころだよね」のような議論は、レビューがしにくくなるのでやめるべきだと主張。

その対案として、Serviceクラスを使うのではなく、サブクラスに分割するという方法を提案され、fat mode対策としてのその利用事例を示されていました。

www.slideshare.net

シロ(@shiroemons)さん 「個人アプリをRails 6.0.0rc2に上げたらバグを踏んだのでRailsにIssueを投げた話(仮)」

イベント初登壇のシロさんは、銀座Railsには初回から休み無く連続出席して下さっています。今回は趣味の個人アプリの開発から、Railsにissueを投げるに至った経緯をお話されました。

趣味で東方編曲録というサイトを運用されており、Rails4.1で開発を始めたものを、今年夏から4.2、5.0...と上げていき、最終的に6.0.1まで上げることが出来たとのこと。そして特定の条件で発生するエラーに遭遇。Slack上のruby-jp teamにて相談の上、issueを投げたとの事でした。

touhou.arrangement-chronicle.com

その過程の調査でいろいろなことを知ることができ、Railsガイドを一読すると良い / ruby-jpに相談することがオススメ / 再現コードは最強、などの知見を共有されました。

speakerdeck.com

スポンサーセッション forkwell さま

いつもお世話になっているforkwell様より、重本さんが初登壇。

まずはforkwellをご存じの方!とのお声掛けからでしたが、さすがに8割超の挙手がありました。 forkwellのサービスとしてのコンセプトと、それを実現するために提供しているスカウトサービス、そして「同じものが届く」「誘われたのに志望動機を聞かれた」などのいわゆる感じ悪さを排除する工夫などについてお話されていました。

jobs.forkwell.com

ゲストスピーカー ゲストスピーカー @kamipo(上薗 竜太さん) と @yahonda(本多 康夫) さんのフリートーク

今回のゲストスピーカーにはRailsコミッターである@kamipo(上薗 竜太)さんを、モデレータとしてRailsコントリビュータであり銀座Rails#11などにご登壇頂いた @yahondaさんをお招きし、フリートークをして頂きました。

まずは @kamipoさんのご紹介から。6.0.1に入れたcommit数は、ActiveRecordしかいじっていないにも関わらず、2番目とトリプルスコアの最多。 それら、今回6.0.1に入った、@kamipoさんご自身の3つのプルリクエストのご本人による解説から、

github.com github.com github.com

こんな @kamipoさんのRailsへの最初のコミットに関するお話より、MySQLに詳しい開発者がRailsコミッターに居なかったため、rails newしてみればわかるような事だったがpatchを上げた件、

github.com

また6年間継続して向き合ったcase sensitive問題の件など、

github.com

様々な問題との向き合い方が共有されました。

またpatchが送られてきた時、 @kamipoさんはどうそれに向き合うか、たとえば現象を確かに解消する内容ではあるものの、その原因が解明されていないcodeについてはそのままでは良くないため質問するが、説明があり再現コードがあるものは無言でmergeするなどの説明されていました。

次回、銀座Rails#16について

次回銀座Rails#16は2019/12/13(金)。 今回と同じくGinzaSIXのリンクアンドモチベーション様のスペースをお借りしての開催です。

ginza-rails.connpass.com

@sinsoku_listy(神速)さんをお招きし、「Railsアプリの設計」との題で、Railsアプリに機能を追加(修正)するとき、実装前に考えていることや作業の進め方など、実務的なお話をして頂く予定となっております。

まだ現時点で空き席が若干ございますので、お気軽にご参加下さい。

銀座Rails#14を開催しました

去る2019/10/14(木)、銀座Rails#14を開催しました。

ginza-rails.connpass.com

今回は毎度おなじみGinzaSixにて、リンクアンドモチベーションさまのスペースをお借りしました。 当日の様子につきましては、togetterのまとめを御覧ください。

togetter.com

なお今回のレポートは、 @MasatoEgami さんのご協力によりまとめられております。

スポンサーセッション リンクアンドモチベーションさま

リンクアンドモチベーションさまからは、いつも通り採用担当の磯崎さんがご登壇。

前回「Rails tutorial3章」をやると約束したものの、できなかったとのこと。 できなかった理由を分析し、マックを開く習慣がないこと、一人でやろうとしてしまっていることの2つを挙げていました。

そこで、リンクアンドモチベーション様で開発した「i-Company CLUB」というアプリを紹介、「小さな習慣を」「小さな集団で」実施し、課題解決するものとのことで、これを用いて「毎日10分Macを開く」「一年目のエンジニアと一緒にやる」という2つの宿題を新たに立て実行する、との事でした。

リンクアンドモチベーションさまの採用情報はこちらから。

www.wantedly.com

出張Railsウォッチ in 銀座Rails

今回もBPS株式会社から、TechRachoを運営されている@morimorihoge (森) さんがご登壇。

前回までの流れで、やはりRails6の新機能に興味を持たれる方が多いとの事で、今回はActionMailboxの話が中心でした。

まずは最新のRailsを簡単に試すための、Dockerを用いた環境構築のやり方説明から始まり、ActionMailboxの基本的なしくみについて図解。そして実際にインストールからコードの用意、demoと続き、最後に触った感想について述べられていました。

speakerdeck.com

高橋 尚敬さん 「ScoutAPMを活用したRailsパフォーマンス改善」

Scount社にお勤めの高橋さん。今回はRailsのパフォーマンス改善のお話をされました。 まずは、Railsで「2番目」に時間を使っているのはなにか?という4択クイズを出題。答えはActiveRecordに次いで「Custom Code」で、つまりユーザが書いたコードが2番目に時間を使っているとのこと。

ScountAPMではこれを、method毎のパフォーマンス計測などで実施することができ、さらにMemoryの消費などについても計測ができるなど、様々な方法について共有されていました。

たっきーさん「未経験者には全てが黒魔術に見える呪いがある」

営業職からキャリアチェンジしたたっきーさん。現在6ヶ月目とのことですが、「未経験者はどこまでわかっていないのか」について発表されました。

qiita.com

未経験者にとって、最初は目に見えるすべてがわからないことで、何がわからないことさえわからない状態からスタートであるとの体験を述べられ、そこから無知には段階があること、教えてもらう際に言われて良かったこと / 混乱したこと、さらには学習効率を上げるための提案など、体験からノウハウまで共有されました。

スポンサーセッション ScoutAPMさま

2番目のセッションに引き続き、ScoutAPMさまの高橋さんがご登壇。 2009年設立されたScout社は、 NewRelicのオーバーヘッド大きい事が気になり、自分たちで作ろう!ということでAPMに参入。 もちろんRubyに対応しており、日本だとSsmartHRなど、世界的にはGithub社などで利用されているとのこと。 NewRelicより30%はやく、30%やすいとの事で、是非使ってみて欲しいとのアピールでした。

scoutapm.com

ゲストスピーカー @mrkn Kenta Murataさん「Apache ArrowできりひらくRubyの未来」

現在Speeeにお勤めの村田さんは、RubyのCommitterであり、また先日Apache ArrowのCommitterにも就任されました。

まずはApache Arrowの基本知識の説明から。Apache Arrowはデータ処理において、メモリ上に大量データを置いて処理するシステムに対してデータ操作の基本機能を供給し、「速度効率化」「実装効率化」を目指しているとのこと。 その基本的なしくみを、データ効率化、データ処理の高速化、実装コストの効率化などの具体例を交えながら解説。

更にRubyと組合わせて使う場合の未来像として、RDBMSからArrowフォーマットでクエリ結果を受け取ったり、DataFrameを利用して高度なデータ分析ができるようになるなどのメリットを例示。

そして、Arrowの開発などをするプロジェクトである「RedDataTools」、またもうすぐリリースされる1.0に向けたイベント「Apache Arrow Tokyo」が開催されるなど、活発に活動が続いているとのことです。

speee.connpass.com

speee.connpass.com

次回、銀座Rails#15について

次回銀座Rails#15は2019/11/15(金)。 今回と同じくGinzaSixのリンクアンドモチベーション様のスペースをお借りしての開催です。

ゲストスピーカにRailsコミッターである@kamipo さん、モデレータにRailsコントリビュータの @yahonda さんをお招きし、ActiveRecordなどについてのフリートークをして頂きます。 どんなお話が出るのかは、聞いてのお楽しみ...

ginza-rails.connpass.com