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

去る2019/08/29(木)、銀座Rails#12を開催しました。

ginza-rails.connpass.com

今回はDeNA様よりお誘いがあり、渋谷ヒカリエにて開催しました。 当日の様子は、Togetterのまとめをご覧下さい。

togetter.com

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

DeNA様より登壇されたのは、DevRelを業務とされている玉田さん。 銀座線発着駅ということで、会場が銀座Railsにふさわしい理由を説明し、会場の皆さんに納得していただけたようです。

DeNA社は「Delight and Impact the World」というコンセプトを大事にしているとのことで、完成度の高い動画でそれを説明されていました。 また、RubyRailsを積極的に使われているということで、「RubyThursdayを毎週実施」「世界規模の高トラフィック」「複数DB」「グローバル大ヒットタイトルをすべてRailsでさばいている」など具体的に述べられ、今後Rails Communityに積極的に貢献していきたいとお話されていました。

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

今回も採用担当の磯崎さんがご登壇。エンジニアを理解するため、継続的にRailsを触る活動をされており、今回も進捗を報告されました。
先月の約束として、「Githubを使う」「RailsTutorialをやる」と宣言されていましたが、実績としてRailsTutorialを2章まで進めたとの事でした。 引き続き、3章以降の写経と、Githubを使うことにチャレンジするとの事です。

そんな採用担当の磯崎さんの会社の募集要項はこちら

www.wantedly.com

「出張Railsウォッチ in 銀座Rails

speakerdeck.com

今回もBPS株式会社から、TechRachoを運営されている森さん、八田さんが登場。 まず事前アンケートの結果を参加者の皆さんに共有。5.2系にversionを上げて使っている方が多かったのが印象的でした。

またRail6に興味を持つ方が多かった結果から、dockerでRails6を簡単に試す方法をまず共有。 そして数ある新機能の中より複数DB機能に焦点を当て、ユースケースの考察やshardingに対応していないなどの制限事項、現存するgemとの機能比較、使い方の説明などを共有して下さいました。

また、Railsウォッチでは常時ご意見募集との事です。

坂川雅俊さん(株式会社ソニックガーデン)「Rails使いのNuxt.js入門」

speakerdeck.com

伊藤さんと同じく株式会社ソニックガーデンにお勤めの坂川さん。 趣味はサウナだそうで、木曜はサウナの日にしているとの事なのですが、このイベントの開催日も木曜日。サウナに行けたのでしょうか...

発表頂いた内容は、「Rails使いのNuxt.js入門」。

Nuxt.jsを使った開発方法について、まずはざっくりと開発の流れについて解説。 次に具体例として、チェックボックスのクリックでリストが切り替わる機能を例とし、プロジェクトのnpxによる作成から、実際に開発を実施する各場面のコードなどについて説明されていました。

ゲストスピーカー @jnchito(伊藤淳一) さん 「プログラマがコードを書きながら考えること 」

今回のゲストスピーカーには、「プロを目指す人のためのRuby入門」などの著書で著名な伊藤淳一さんをお招きしました。

まず伊藤さんは、すごいプログラマはどんなふうにプログラムを書いているのか、たとえばMatzさんとかものすごいスピードで開発しているのではないか、など気になりませんか、と問いかけ、今回は自分がどのように書いているのか、恥ずかしいが動画で共有しますと宣言。 ホテルの予約を定期的に見に行くクローラーを題材に、2倍速の動画にて、実際に開発する流れを共有されました。

動画中では、後から見直して自らツッコミを入れる箇所もちらほら。後から考えるとこうだったな、というリアルな状況が再現されていました。また参加者の方々も食い入るように動画を見続け、「こんな使い方があったのか」「確かに名前付け悩む、自分だけではないのだな」「テストから書くのが良い」など、様々な感想が上がっていました。

speakerdeck.com

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

次回銀座Rails#13は2019/09/12(木)に開催。

ginza-rails.connpass.com

ゲストスピーカーには一周年を記念し、第一回にもお越しいただいた、RubyRailsのコミッターである @a_matsuda 松田明さんをお招きしました。「Railsのパフォーマンスをチューニングしてみる話」をして頂きます。 またトップバッターにはおなじみ @morimorihogeさんの「Railsウォッチ出張版」、公募枠は@masa_iwasakiさん「fixture再考」、@neko314さん「JS Lv.1だけどRailsアプリ上でのVue.jsのよい書き方を調べてみた」。充実した内容となっております。

発表者の募集について

銀座Railsでは、登壇される方を毎月募集しております。

15分は敷居が高いという声に応え、5、10、15分の中から選択できるようにしました。 現在、10月〜12月の発表枠について募集しております。 敷居の低い登壇チャンスのご提供が一つの目標となっておりますので、皆様お気軽にお申し込み下さい。

t.co

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

去る2019/07/24(水)、リンクアンドモチベーション様の会議室をお借りし、銀座Rails#11を開催しました。

ginza-rails.connpass.com

当日の様子は、Togetterのまとめを御覧ください。

togetter.com

スポンサーセッション Forkwell様

「帰ってきたForkwell」ありがたい事に再度のご支援をお申し出頂いたため、懇親会のピザのご支援をお願いしました。 Forkwell様の活動の紹介や、SONY様との連携のお話などを、動画にて流させて頂きました。

forkwell.com

@ken1flanさん「取り柄のないボクがGinza.rb、社内勉強会、技術書典の出店とか、なんでやってるんだっけ?(仮)」

@ken1flanさんはGinza.rbの主催をされており、私もちょくちょくお邪魔しております。

「突出した凄さはない」と自称される@ken1flanさんですが、一エンジニアとしてGinza.rbの主催、技術書典への出店、社内での非エンジニア向けの勉強会など、様々な活動をされています。 そんな活発な活動を続けている中でのモチベーションや出来事、うまくいった例などを挙げ、みんなもなにかやってみようよ、とあたたかい声で呼びかけていらっしゃいました。

www.slideshare.net

その後懇親会ではぎんざRuby会議02の開催を迫られ、冷や汗をかいておられました。(私も煽りましたが...)

@okuramasafumiさん 「Web開発におけるテスト戦略」

Grow.rbの主催など、活発な活動をされている@okuramasafumiさん。2度目のご登壇です。 今回は 「Web開発におけるテスト戦略」と題し、テスト全般についてのお話でした。

speakerdeck.com

まず用語の定義を行い、次になぜテストを書くのか、開発者の幸福のためであるという点にフォーカスされていました。 そして「プログラマの三大美徳」を参照し、それぞれの美徳に合わせたテスト戦略について具体例をお話されていました。

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

いつも会場やドリンクのサポートをして下さる、リンクアンドモチベーション様より、前回に引き続き磯崎さんがご登壇。 人事採用担当ですが、エンジニアを理解すべく日々奮闘。 前回は「本を一冊読んでくる」という約束をされましたが、「全く覚えられなかった」ものの、「ゼロからわかる Ruby 超入門 はじめてのIT技術講座」を一冊読み切った!と報告されていました。

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)

ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)

次回の目標は、「Githubを使ってみる、Railsチュートリアルをやってみる」だそうです。次回の報告に期待しましょう。

またリンクアンドモチベーションでは、引き続きエンジニアを募集しているとの事です。

www.wantedly.com

@yahonda 本多康夫さん 「ActiveRecord::Migrationのうしろ側 / How ActiveRecord::Migration converts create_table DSL into SQL statements 」

今回のゲストスピーカーには、 Active Record Oracle enhanced adapterのメンテナーであり、Ruby on Railsのcontributor でもある @yahonda(本多康夫)さんをお招きし、ActiveRecord::Migrationのうしろ側についてお話頂きました。

speakerdeck.com

Railsを使われている方でしたら誰でも使うであろうMigration機能。そのMigration fileにはTable自体の定義、 Columnの定義など様々な定義が含まれていますが、それらがActiveRecordの中でどうClassとして表現され、また主にMySQLの場合においてどのようにsql文になっていくかについて、その流れと詳細を語って頂きました。

@morimorihogeさん(BPS株式会社) 「出張Railsウォッチ in 銀座Rails

新企画として、「Railsウォッチ」を書かれている @morimorihogeさんをお招きし、「出張Railsウォッチ in 銀座Rails」を開始しました。 第一回となる今回は、懇親会の冒頭に設置し、参加者の皆さんの属性をお伺いしながら、Rails6.0の話題などについてお話しました。

techracho.bpsinc.jp

今後も定期的にお越し頂き、1ヶ月のRailsの動きを軽く振り返る機会をご提供頂く予定です。

次回銀座Rails#12について

次回銀座Rails#12は2019/08/29(木)に開催。 ゲストスピーカーには「プロを目指す人のためのRuby入門」などの著者である @jnchito(伊藤淳一)さんをお招きし、「プログラマがコードを書きながら考えること 」について、実際のプログラミングの流れの再現とともにお話頂きます。

また会場がいつもと異なり、渋谷DeNA様での開催となります。お間違えの無いよう気をつけてお越しください。

ginza-rails.connpass.com

lsyncdでlocalとremoteのソースコードの同期をする

きっかけ

今使っているMacBookProのメモリは16G。dockerやらvagrantやらchromeやらslackやらを立ち上げていると、メモリがあっという間に枯渇してしまう。つらい...

32Gメモリ搭載のMacBookProを買うことも考えたものの、「dockerなどはLinuxの方がサクサク動く」という話をちらほら聞いたので、Linux機を買おうか自作しようかと悩んでいたところ...

ということでオススメ頂いたIntel NUCその他部品を購入し、Linux PCを半自作。メモリを32G載せました。

これに1TのSSDを買っても、合わせて10万円以下!素晴らしい。

で、一旦以下のような方針を立てた。

  • MacBook(= local)のエディタとか諸々の開発環境はそのまま使う
    • SlackとかiTunesとかその他便利ツールとかを一切放棄するのはまだつらい
  • docker、vagrantなどはNUC(= remote)に任せる

f:id:ginkouno:20190721193318j:plain

そこでlsyncd

ようやく本題。remoteとlocalとでソースコードを同期するため、lsyncdを使用した。

インターネット上を探すと、lsyncdに関する情報はいろいろあったが、ちょうど自分が使いたい設定でのサンプルが無かったので、ここにメモっておく。

前提

  • sshの鍵認証でremoteと接続する
  • 転送にはrsyncを用いる
  • remoteのOSはDebian 10 Buster

remote

rsyncを入れておく。

sudo apt-get install rsync

なおsshを用いた鍵認証を使っているが、そのあたりの設定はググるとたくさんあるので省略。

local

関連するものをHomeBrewでガバっとinstall。

brew install rsync lsyncd lua

luaはlsyncdの設定ファイルがluaで記述できるとのことで、とりあえず入れておいた。

なおこちらもsshでの鍵認証のやり方の詳細は省略する。

~/.lsyncd というフォルダを作り、そこにlsync.conf.lua というファイルを設置。

settings {
  logfile = "/tmp/lsyncd.log",
  statusFile = "/tmp/lsyncd.status",
  insist = true,
  nodaemon = true,
  statusInterval = 10,
  maxProcesses = 1,
}

sync {
  default.rsyncssh,
  delete = true,
  delay = 0,
  source = "/Users/ginkouno/project/awesome",
  host = "192.168.0.111",
  targetdir = "project",
  rsync = {
    binary = "/usr/local/bin/rsync",
    archive = true,
    compress = true,
    rsh = "/usr/bin/ssh -i /Users/ginkouno/.ssh/id_rsa -l ginkouno"
  }
}
  • Default Configはrsync接続、ssh key認証のためにdefault.ryncssh を指定しましたが、他の指定をする場合はsync の中での記載方法がだいぶ変わるので、それっぽいoptionを突っ込んで悩んだりせずにmanualを見るのが良いです(反省)

Lsyncd - Config Layer 4: Default Config

  • binary の指定ですが、これを指定しないと、元からinstallされている古〜い/usr/bin/rsyncを掴んで下記のようなエラーが起きてしまうことがあるため、先の手順にてHomeBrewでinstallした/usr/loca/bin/rsync を指定しておきます
    • ↓こんなエラーが出ることがある
rsync: -stl: unknown option
rsync error: syntax or usage error (code 1) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(1337) [client=2.6.9]
  • rsh ではssh接続時のコマンドラインの一部を記載しておきます。今回は鍵認証のために-iで鍵ファイルを、またremote側にはginkounouserでログインしたいので-loptionでuser nameを指定しています

実行

sudo lsyncd .lsyncd/lsync.conf.lua

これで、MacBook側のeditorでソースコードを編集しつつ、NUC上のdockerでテスト!などを行うための土台ができた。(なおdockerを動かす際には、remoteにsshでloginして動かすことを想定)

皆さんも潤沢なメモリを積んだLinuxマシンで、dockerをドッカ〜ンと動かしましょう。

dockerでrubyの開発環境を用意してgdbでcodeを追う

rubyソースコードを読もうとしたが、自分が使っているNote PCはMacで、個人的にはLinux環境でやりたい。 またcodeを読むに当たり、gdbでゴニョゴニョしながら動きを追いたい。

そこで、dockerでrubyの開発環境を用意し、gdbを使ってコードを追うことにしたが、そのための環境の作り方について自分用にまとめておく。

docker環境を頂く

ささださんが用意してくれているものを、ありがたく使わせて頂く🙏

github.com

Note: docker 環境(Ubuntu 18.04 base)を作ってみました。 docker pull koichisasada/rhc で試してみてください。su rubydev でアカウントを rubydev でご利用ください。

docker-compose.ymlにoptionを固める

動作に必要なoptionをdocker-compose.ymlに書いておき、docker-compose upで立ち上がるようにしておきたい。 自分はこんな感じにしている。

version: '3'
services:
  rhc:
    image: "koichisasada/rhc"
    volumes:
      - ./workspace:/home/rubydev/workdir
    tty: true
    cap_add:
      - SYS_PTRACE
    security_opt:
      - seccomp:unconfined

volumesについて

コードやbuildしたものは永続化しておきたいので、volumes で手元(host)側の作業ディレクトリをcontainerにmountしておく。./workspace にはrubyソースコードがgitからcloneされたりすることを想定。container内でbuildしたり実行したりするが、fileの編集はhost側のeditorで行う。

cap_add、security_optについて

これらはコンテナ内でgdbを使うためのもの。無いと、gdbを起動した際にOperation not permitted などと怒られる。 gdbはptrace(2)システムコールを利用しているため、ケーパビリティにSYS_PTRACEを追加して許可を与える。 またsecurity_optではseccomp = secure computing modeをunconfinedにしているが、これによりseccompによる制限が無効化され、ptraceが使えるようになる。

起動

ふつうにdocker-compose up し、docker exec -it rhc_rhc_1 bash などと実行してcontainerに入り、su - rubydev でrubydevユーザになっていろいろやる。

あとは読んだりいじったりするだけ

ディレクトリ構造、ビルド方法などは、とても丁寧にRubyHackChallengeのコンテンツに書いてある。

rubyhackchallenge/2_mri_structure.md at master · ko1/rubyhackchallenge · GitHub

gdbデバッグしつつコードを追うには、上記コンテンツでconfigureを実施するときに、最適化無効のためのoptflags="-O0" オプションをつける。

$ ../ruby/configure optflags="-O0" --prefix=$PWD/../install --enable-shared 

あとはRubyHackChallengeの内容に従ってbuildし、出来たrubygdbで動かしてやればよい。 ↓がとても参考になるので読みながらやる。 techlife.cookpad.com

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

去る2019/06/21(金)、リンクアンドモチベーション様の会議室をお借りし、銀座Rails#10を開催しました。

https://ginza-rails.connpass.com/event/133628/

当日の様子は、Togetterのまとめを御覧ください。

https://togetter.com/li/1373226

オープニング

今回は、銀座Railsのもう一人のスタッフである江上さん(@masatoegami)が司会を務めました。 現在銀座Railsは2人のスタッフと、会場スポンサーの方々のご助力で運営しております。 私は今回はレポート係でした。

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

前回に引き続き、リンクアンドモチベーション社から、採用担当の磯崎さんご登壇です。

Rubyで開発をしてくる!と前回宣言したものの、「何も出来ませんでした!」と平謝り。 ただお話によると、自腹でMacBookを購入し、黄色いカバーまで付けたのに、やってみたら難しすぎた...との事でした。「開発者の皆様への多大なる尊敬の念が生まれた」との事です。

次回までの約束として、Rails本を一冊読破してくると宣言されていました。

またリンクアンドモチベーション社では引き続き、エンジニア絶賛採用中とのことです。

www.wantedly.com

@ryosuke_satoさん 「My API CLIENT」

二度目の登壇ご登壇となる@ryosuke_satoさん。株式会社フィードフォースにて、Railsなどを用いたバックエンジニアをされていらっしゃいます。

まず前回発表したRubocopChallenger gemの話の続きとして、gemの効果で.rubocop_todo.ymlとの長い戦いに区切りがついたことを報告。
https://github.com/ryz310/rubocop_challenger

github.com

また今回は、やはり自作のgemであるMy API CLIENTの紹介です。

github.com

My API CLIENTはこれは世間に数多あるWebAPIに対し、Clientを簡単に作れるようにするためのフレームワークとして開発を始めたとのこと。 機能的には、generatorによってスッと作成でき、エラーハンドリングなどもサポート、BUGSNAGとも連携しやすいように作っているなど、便利機能が充実。
発表時点ではまだversionが0.5.1でベータ版(本記事執筆時には0.6.2)とのことですが、日本語ドキュメントもあるので、ぜひ触って欲しいとのことです。

発表資料はこちら。

speakerdeck.com

@morimorihogeさん 「RDBMSのVIEWを使ってデータアクセスをいい感じにする」

株式会社BPSにお勤めの @morimorihogeさん。運営されているTechRacho 週刊Railsウォッチには、私もいつもお世話になっています。

techracho.bpsinc.jp

今回はRDBMSのVIEWに関するお話。

まずはVIEW機能についての軽い解説の後、ActiveRecordからでも普通にVIEWにを使える点をご紹介。 そして「いい感じに」使う事例として、有効なユーザだけを取得したい、ユーザ毎に公開可能なカラムを設定したい、複雑なテーブル構造の中から、様々なテーブルの項目を横断して参照したい、など実用的な事例を列挙。 最後にRailsで使う場合の注意点を挙げられていました。

コードの例など、詳しい解説は TechRachoのこちらのページに記載されております。

techracho.bpsinc.jp

ゲストスピーカー @moro 諸橋恭介さん「オレオレフレームワークを作らない方法 / How NOT to build own framework on Rails

@moro(諸橋恭介)さんはベテランのRailsエンジニアで、 Rails勉強会の実施やRailsレシピ本、Cucumber本などを書かれたりしております。私も一時期開発現場でご一緒したことがあり、たいへん勉強になりました。

今回は「オレオレフレームワークを作らない方法」と題してのお話。

まずはフレームワークとライブラリの違いについて解説、その上でフレームワーク化された場合のデメリットとして、フレームワークになるとその上での活動に制約ができること、コード自体が複雑になること、そのフレームワーク自体の学習コストがかかることなどについてご説明。

そしてフレームワークを作らずに制御構造を使い手に委ねる方法の具体策として、ふつうにメソッドに抽出する、ストラテジーパターンを使う、ブロック渡しを使う、などを挙げられていました。 実際のコードなど、詳細は以下の資料に記載されております。

目先の新しいことではなく、基本的なRuby / Railsの使い方を突き詰め、工夫によってよりよいRailsでの開発を目指すお話でした。

speakerdeck.com

スポンサーセッションメドピアさま

今回ピザスポンサーとしてご支援くださったメドピアさまより、川井田さんがご登壇されました。 自分がいかに失敗 -> 成功 を高速に繰り返し成長したか、そしてそれを受け入れるメドピア社の良さについて、体当たりの発表をされておりました。 メドピア社には銀座Rails#5にも登壇された @netwillnet(前島真一)さんも技術顧問として在籍されており、Railsで困った時のアドバイスなどを受けることができます。

エンジニア募集中とのことで、ご興味のある方はこちら。

www.wantedly.com

次回銀座Rails#11について

次回銀座Rails#11は2019/07/24(水)、新コーナー「出張Railsウォッチ in 銀座Rails」が始まります。今回ご登壇頂いた週刊Railsウォッチの @morimorihoge さん(BPS株式会社)をお招きし、「これを聞けばここ一ヶ月のRailsの動きがなんとなく掴める!」を目指します。

またゲストスピーカーには Oracle ACEでありActiveRecord Oracle enhanced adapterのメンテナである@yahondaさんをお招きし、ActiveRecord::Migrationの実装についてお話頂きます。普段使っているRailsの中身についてのお話を聞ける良い機会ですので、ぜひお気軽にご参加下さい。参加者募集中です。

ginza-rails.connpass.com

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

去る2019/02/22(金)、リンクアンドモチベーション様の会議室をお借りし、銀座Rails#6を開催しました。

https://ginza-rails.connpass.com/event/112094/

当日の様子は、Togetterのまとめを御覧ください。

https://togetter.com/li/1322418

スポンサーセッション Forkwell様

いつもお世話になっているForkwell様より、前回に引き続き大学生インターンの中野さんが登壇されました。 今回はポートフォリオサービスの中から、日報機能についてご説明。 その日の活動、たとえばPull Requestやその日に実施したコード変更の量などをまとめ、コメントで説明を加える事ができるとの事です。 またおなじみAmazonのギフト券をGetできるキャンペーンも紹介されていました。

ポートフォリオサービスはこちら https://portfolio.forkwell.com

shinkuFencerさん「テストコード未経験者がRailsでそれなりにRSpecがかけるようになるまでの話」

https://speakerdeck.com/shinkufencer/inexperience-rails-developer-use-rspec

前回ご登壇頂いた平野さんの「銀座Railsは発表のハードルが低い」というtweet見て応募されたshinkuFencerさん。 今回はテストコードをそれなりに書けるまでの道のりを共有して頂きました。

新卒の頃よりいろいろな言語での実装を経験されたshinkuFencerさんですが、それまでの現場ではテストを書く習慣、文化がなく、またテストを書こうかなと考えてもスケジュール的に工数が取れなかったとのこと。

ところがある案件にて、開発一人体制になり、そちらでプロジェクトの懸念点を解消するためにテストを導入。 足回りの整備から知識の補充などを着々と進め、今ではテストを書かないと怖いという感覚になっているとの事です。

cawaさん「Rails6からRailsをわかっていく」

京都で個人事業主をされているcawaさん。Kyoto.rbのオーガナイザもされています。 今回は「Railsについてわからないことがたくさんあるので、聞いてみようと思ってやってきた」とのこと。 2016年頃からRailsを触り始めたcawaさんですが、ちょうどRails6が出るタイミングなので、これを機にわかっていこうと決めたそうで、そのためにどのような情報を読み、どう感じたか、そしてわかったりわからなかったりしたかを共有して頂きました。

当日の発表資料に情報源のリンクが多く掲載されております。 https://speakerdeck.com/cawa/rails6kararailswowakatuteiku

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

今回も開場提供ならびにゲストスピーカ招致にご協力頂いたリンクアンドモチベーション様。 銀座Rails第一回目より、エンジニアリングの会社になろうとしていると継続的にお話されておりますが、 その一環として、RubyKaigiのRubyスポンサーや、RailsGirlsの年間スポンサーにもなったとのことでした。

またエンジニアの働きやすい環境作りを目指し、技術書購入し放題(ノールック承認!)、PCスペック選びたい放題など、 魅力的な制度を提供されているとのことです。 https://www.wantedly.com/companies/lmi

onk(大仲 能史)さん「1からの再出発」

今回のゲストスピーカーは、現在はてなにてご活躍中の @onk(大仲 能史)さんでした。 いままでRailsの現場で、開発効率を向上させ、それを「ふつう」レベルとして維持し、更に改善していくという活動を続けてきたonkさんですが、 その「ふつう」を如何に新しい環境にて実現/展開していくか、段取りやマインド面から実際に行ったことなど、さまざまな角度からお話されました。 また転職先はPerlを採用していることで著名な会社であったため、参加者からはPerlとの付き合い方などについても質問が寄せられていました。

(当日の発表資料は公開され次第リンクを掲載します)

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

次回の銀座Rails#6は、2019/03/26(火)に開催します。 ゲストスピーカーは、RailsGuideの翻訳やRailsTutorialセミナーで著名な、Yasulabを経営されている安川要平さんです。

現在、本編/懇親会ともに参加者募集中ですので、お気軽にお申し込み下さい。

本編 https://ginza-rails.connpass.com/event/120573/

懇親会 https://ginza-rails.connpass.com/event/122091/

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

2019/01/25(金)に、リンクアンドモチベーション様の会議室をお借りし、銀座Rails#5を開催しました。

https://ginza-rails.connpass.com/event/112093/

当日のtweetの様子です。 今回もさまざまなつぶやきが集まりました。

https://togetter.com/li/1315217

スポンサーセッション Forkwell様

前回もいらしたForkwellの中野さん。 インターンの大学生ということで、前回は他の方と一緒に会場にお見えになりましたが、 今回はお一人でのご来場です。

まず最初に「Forkwellをご存知の方?」と会場に問いかけると、8割を超える参加者が挙手。 それを見て「ほとんどの方がご存知ということで、今回は宣伝はいたしません。ビールと会を楽しみ下さい!」という、思い切ったトークにて短時間で終了しました。

個人的にはもっと宣伝してほしいと思うので、URLを貼っておきます。 https://forkwell.com/

yoshi_hirano さん「Rails コントリビューションと私」

RailsDevelopersMeetupの主催でお馴染みの平野さんですが、 今回はRailsへのコントリビュートに関するお話です。

小さなことから始めたOSS活動が、どのようにモチベーションにつながり、 どのように積み重ねられ、どのような結果となっていくのか、 平野さん自身のリアルな体験、心情とともに語って頂きました。

スライドの公開予定は無いとの事で、当日参加した方のみが聞ける貴重なセッションとなりましたが、 これからOSS活動をしよう!という人が生まれそうなとても良いお話でした。

masato_egamiさん「モチベーション革命 〜テスト導入のきっかけと運用体制〜」

会場であるリンクアンドモチベーション様にお勤めのエンジニアである江上さん。 今回は「モチベーションクラウド」を開発するにあたり、テスト導入に関するお話でした。

バグの多さがモチベーションを削るため、なんとか状況を打開すべくテストを導入したとのこと。 そしてテストを増やすと、今度はテスト通過のための時間がかかり、また若手のjoinでRubocopに詰まるようになるなど、 開発スピードが落ちる事態になったそうで、そのために何をしたか、どう割り切ったかなどをお話して頂きました。

会場スポンサートーク リンクアンドモチベーション

いつもきれいな会場をご提供下さるリンクアンドモチベーション様より、おなじみ尾上さんのスポンサートークでした。 今回も絶賛採用中とのことで、様々な好条件をお示しでしたが、今回は「技術書購入し放題 / PCスペック選びたい放題」というアピールがありました。 皆さんも転職されて、ラックサーバーなどを要求してみたらいかがでしょうか?

前島真一さん「個人で作るwebサービス

著書「パーフェクトRails」やブログ、各種登壇等でRails界隈に著名な前島さん。 普段はRails技術顧問という「強い肩書(本人談)」にて活動されていますが、 今回は個人で作るwebサービスと題し、Privateで好きなwebサービスを作る活動についてのお話でした。

個人でやるための省力化の工夫、モチベーションを途切れさせないための仕組み作りなどノウハウから、 実際に個人でサービスを作って感じたメリットまで、幅広く説得力のあるお話をして頂きました。

blogと当日の発表資料は、こちらから御覧ください。 https://blog.willnet.in/entry/2019/01/26/161140

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

次回の銀座Rails#6は、2019/02/22(金)に開催します。

ゲストスピーカーは、現在はてなにてご活躍中の @onk(大仲 能史)さんです。 様々な登壇をされ、どの話も好きなのですが、イチオシのものして以下を挙げさせて頂きます。

https://www.slideshare.net/takafumionaka/rails-77195340

現在、本編/懇親会ともに参加者募集中ですので、お気軽にお申し込み下さい。

本編 https://ginza-rails.connpass.com/event/112094/

懇親会 https://74284f630e710a7c63f8599d5f.doorkeeper.jp/events/86674