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

銀座Rails#4を開催しました。

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

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

当日のtweetの様子です。

https://togetter.com/li/1302469

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

いつもドリンク等のご支援を頂いているForkwell様。 今回登壇した中野さんはなんと、インターンの大学生であるとのこと。 緊張しているような雰囲気を見せることもなく、スムーズにお話をされていました。

エンジニアイベントのサポート金額がついに1000万を超えたとのことで、これを中野さんの出身地である宮崎の名産である高級マンゴーに例えると2000個分!とアピールされておりました。

高級マンゴー、美味しいんでしょうねぇ...。ちなみに私が食べた一番美味しかったマンゴーは、ミニストップのパフェに乗っているやつです。

今回も提供されているサービスのご紹介と、当日参加されている方のためのキャンペーンを実施されていました。 https://forkwell.com/

atsss(伊藤 敦之)さん「Rails アプリを個人開発からチーム開発に成長させる」

株式会社ローカルワークス社にお勤めのatsssさん。 「趣味は寝坊と夜更かし。今週は一度も出社に間に合っていない」宣言で場をあたためた後、 社内で一人で始めた開発が、どのようにチーム開発へと移行していったか、その経緯をお話されました。

UIの設計をSketchで実施した後、フロントエンドにどのJavaScript frameworkを使うかなど、 各種技術の比較と採用理由などについて、実際の検討過程を紹介されました。

qsonaさん「Microservice is dead. Long live microservice (with Rails)」

https://speakerdeck.com/qsona/microservices-is-dead-long-live-microservices-number-ginzarails

FiNC Technologiesにお勤めのqsonaさんは、Microserviceに関する考察の発表でした。

自らを「マイクロサービス穏健派」と位置づけるqsonaさんは、マイクロサービス原理主義を唱えるべき時期は過ぎたとし、 「コンセプト」と「エコシステム」という観点から、うまくマイクロサービスと付き合っていこう、という話をされました。

それに関連し、Railsの機能の分割/統合、MicroFrontendとの組み合わせなど、周辺技術に関する話題を展開されました。

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

毎回綺麗な会場を提供して下さる、リンクアンドモチベーション様。 毎度お馴染み採用責任者の尾上さんからのスポンサーセッションでした。

今回はいつもの「モチベーションクラウド」のご説明はそこそこに、主に採用情報に関する具体的な話をされていました。 https://www.wantedly.com/companies/lmi/projects

公式ページの採用情報でも、現在最上位に「Webエンジニア」の求人が載っておりました。 https://www.lmi.ne.jp/recruiting/midcareer/jobs/

現在Webエンジニアを絶賛募集中との事です。

t_wada(和田 卓人)さん「地獄の軽減税率シミュレータライブコーディング」

ゲストスピーカーとして、TDDやテスト駆動開発』『プログラマが知るべき97のこと』『SQLアンチパターン』の翻訳で著名なt_wadaさんに登壇頂きました。

「本日の講演内容に何らかの政治的意図はありません」との前置きをした上で、今話題の軽減税率についてのライブコーディングを披露して下さいました。 簡単な事例に対しテストを書き、失敗させ、実装し、テストの成功を確認し、またテストケースを追加し、失敗させ、実装し...を高速に回しながら、どんどん複雑になるモデルを実装していきました。

やはりライブコーディングは難しく、一部うまくいかないところなどもありましたが、その度に聴衆を巻き込みながら話は進み、大変盛り上がったセッションとなりました。

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

次回の銀座Rails#5は、2019/01/25(金)に開催致します。 ゲストスピーカーとして、著書「パーフェクトRails」や各社の技術顧問として著名な、willnet(前島真一)さんをお迎えします。

現時点でまだ発表枠が1つ残っております。残席もございますので、お気軽にご参加下さい。

[本編] https://ginza-rails.connpass.com/event/112093/

[懇親会] https://74284f630e710a7c63f8599d5f.doorkeeper.jp/events/85101

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

2018/11/21(水)に、リンクアンドモチベーション様の会議室をお借りし、 銀座Rails#3を開催しました。 今回も100人を超える方にお越し頂き、大盛況となりました。

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

当日のtweetを、登壇者でもあった @igaiga555 さんがまとめてくれました。

https://togetter.com/li/1290813

topは4次会のラーメンの写真です。すみません...

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

今回もForkwell様にドリンク等の支援を頂きました。 登壇されたのはいつもの増田さん。プレゼンテーションも安定感が増しております。 Forkwellのコンセプト「成長し続けるエンジニアを応援する」を、創業時の言葉「転職しないで済むなら最高ではある」を紹介しながらご説明頂きました。 またコミュニティ支援を継続して行っており、今年は既に900万円を超えているとのこと。これは瓶ビール82年分、獺祭1111本分に相当するそうです!

リニューアルされたForkwellポートフォリオについてのご説明と、それに伴うキャンペーンの概要についてお話頂きました。

@igaiga555(五十嵐邦明)さん「RubyおよびRails書籍の分類と一考察2018年秋版」

https://speakerdeck.com/igaiga/ginza-rails-vol3-igaiga

株式会社万葉の元社員の五十嵐さん。他の登壇者の大場さん、櫻井さんは現時点で株式会社万葉の方なので、今日は一部の参加者から「万葉まつり」と呼ばれておりました。

まず五十嵐さんの立場から、知人や関係者の本を推す、自称「えこひいき」が発生することを事前に説明。 Railsの本は少なめだと話をしつつ、その日登壇される他のお二方が執筆した「現場で使える Ruby on Rails 5速習実践ガイド」をまずは推薦。 次にRubyの本を並べ、ターゲット毎にどのような本がどのようにおすすめかを解説。更にはClassicsと称してRails以前より出ていたRubyの本、更にはBOOTHで販売されている本などを次々と紹介し、最後に「もう自分は本を書くのは疲れたので、みんな書いてほしい」と呼びかけていました。

@tatsuoSakurai(櫻井達夫)さん「現場で使えるゆるいペアプロ

https://speakerdeck.com/tatsuosakurai/light-pear-programming

「現場で使える Ruby on Rails 5速習実践ガイド」の著者でもある櫻井さん。ペアプロ前にあった課題、例えば「わからない事があったら相談しよう」作戦が機能しないことなどを挙げ、それをペアプロによって解消するという話をして頂きました。 ペアプロを気軽にする上でおさえておいた方が良い点を挙げ、実際に実施したメンバーの声など、具体的なTipsを多く公開。参加者の多くはペアプロ経験者でしたが、なるほどと頷く姿も多く見られました。

個人的には、顔文字アップによる独特な間のとり方が印象的でした。

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

いつも綺麗な会場をご提供下さる、リンクアンドモチベーション様。 初めて来た方々は一様に、その設備の良さを口にしていました。

今回もRails製のサービス「モチベーションクラウド」の解説が主でしたが、今回はさらに銀座久兵衛でお寿司を奢られながら話をする回についても宣伝されていました。 今後も実施されるとのことですし、会場の空き状況なども定期的に公開しておられますので、気になる方は担当の尾上さんのアカウントを定期的にチェックしてみてはいかがでしょうか。 https://twitter.com/entrylmi

@nay3(大場寧子)さん「"Railsで開発できる"への道」

https://speakerdeck.com/nay3/railsdekai-fa-dekiru-hefalsedao

株式会社万葉社長の大場寧子さん。「現場で使える Ruby on Rails 5速習実践ガイド」を書くにあたり、「初心者を"Railsで開発できる"に導けるものを」との思いを持っていたとのことです。

まずは、「学ぶことと考えることを往復する」大事さを説明。株式会社万葉ではプログラミング実務未経験者でも採用しているとのことですが、実際にエンジニアを育てたことによる知見と、その知識を記載した本の各章に込めた思いを述べられ、参加者の方々の共感を呼んでいました。

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

次回の銀座Rails#4は、2018/12/21(金)に開催致します。

ゲストスピーカーとして、TDD 実践者であり『テスト駆動開発』『プログラマが知るべき97のこと』『SQLアンチパターン』を翻訳/監訳された和田卓人さんをお迎えし、Ruby on RailsRSpecをからめた話をして頂きます。

現時点で残席ございますので、お気軽にご参加下さい。

[本編] https://ginza-rails.connpass.com/event/108072/

[懇親会] https://74284f630e710a7c63f8599d5f.doorkeeper.jp/events/84035