おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

パーフェクト Ruby on Railsの改訂2版を書きました

ここ数年、色んな人に「パーフェクト Ruby on Railsの改訂版まだですか」と言われて申し訳ない気持ちでいっぱいでした。が、ついに改訂版が発売されることになりました!もちろん最新のRailsである6.0に対応しています。 発売日は7月25日ですが、先行して発…

我々はConcernsとどう向き合うか

この文章は先日開催された大阪Ruby会議02での登壇内容Concerns about Concernsをブログエントリにしたものです。書いている内容は登壇内容とだいたい同じですが完全一致ではなく、構成を変更したり喋っていない情報を足したりしてます*1。 大阪Ruby会議02に…

Ruby on Rails 6 エンジニア 養成読本という本を書きました

@sugamasaoさんと共著でRails本を執筆しました。Railsを始めたばかりの人向けの特集から、Rails 6の新機能紹介まで幅広く書かれたムック本です。今日から9日後の10月26日に発売予定です(電子書籍も同じくらいに発売されるはず)。 Ruby on Rails 6 エンジニア…

大阪Ruby会議02でConcernsについて発表してきました

先日開催された大阪Ruby会議02で、なんとなく使われがちな機能であるConcernsの使い方について話してきました。資料はこちら。 発表内容について Concernsに関する説明は「関心事を分離するぞ!」のような抽象的なものが多く、 何を関心事として分離するとよ…

ajax_error_renderer 0.2.0をリリースした

個人的に便利に使っているajax_error_rendererなのだけど、フォームが長いときに「エラーメッセージがブラウザのスクリーン外に表示されてしまいユーザが気づけない」というケースがあったので、デフォルトでエラーメッセージのある場所までスクロールするよ…

Rails Developers Meetup 2019で、再び綺麗なテストコードの書き方について発表した

先日行われたRails Developers Meetup 2019で、Clean Test Code Revisedというタイトルで発表しました。スライドはこちら。 動画も上がっているようなので興味のある方はどうぞ*1。 所感 ご存知のかたもいると思いますが、この発表は2017年5月に行われたRail…

株式会社ウィルネットは設立2周年を迎えました

昨日、2月21日は弊社の設立記念日でした*1。 株式会社ウィルネット二周年記念 (\( ⁰⊖⁰)/) (\( ⁰⊖⁰)/) (\( ⁰⊖⁰)/) pic.twitter.com/Ll3nDwbl4X— willnet (@netwillnet) 2019年2月21日 というわけで法人成りして2年経ちました。最初はフリーランスの延長のつも…

銀座Railsで「個人でつくるwebサービス」という話をした

昨日行われた銀座Railsで登壇させていただきました。 資料はこちら。 所感 複数の主張したいことを一つの発表に盛り込んでしまったので、ちょっとぼんやりした発表になってしまったかもなーという反省があります。 個人でwebサービス作るのはいいぞ 個人開発…

turbolinksとform_withを便利に使うためのgemを作った

前提 rails標準のわりに使っている人の少ないturbolinksですが、僕は便利に使っています。turbolinksはご存知の通り、リンクを全部ajaxリクエストに置き換えてページ遷移を早くするライブラリです。 turbolinksが実現している「リクエストは全部ajaxにして、…

find_by_sqlしたあとにkaminariでページネーションするには

課題 Railsでページネーション機能を作るときにはkaminari を使うのが定番ですね。Active Recordのクエリメソッドに対してメソッドチェーン形式でpageやperを追加するだけで手軽にページネーションができます。 ただ、find_by_sqlを利用してActive Recordの…

現場で使えるRuby on Rails 5 速習実践ガイドを読んだ

著者の櫻井さんから献本いただきました。遅れましたが感想書きます! 現場で使える Ruby on Rails 5速習実践ガイドposted with amazlet at 18.11.04大場寧子 松本拓也 櫻井達生 小田井優 大塚隆弘 依光奏江 銭神裕宜 小芝美由紀 マイナビ出版 (2018-10-19)売…

ginza.rbでstimulusについて紹介した

今日のginza.rbはBasecamp製のjsフレームーワーク、stimulusがテーマでした。 Ginza.rb 第64回 Stimulusは新たな刺激となりうるか? - Ginza.rb | Doorkeeper 資料はこちら 所感 資料の中にも書いていますが、「サーバサイドな人が片手間で書いているjsをも…

良いエンジニアを採用するにはどうしたらいいか

以前ソフトウェア開発者採用ガイドの読書感想文を書いたときに反響が思ったより大きかったので、エンジニア採用というテーマは関心が高いのだなと感じました。 上記感想文のエントリでも書いていますが、お手伝いしている会社の方などから「どうやったら良い…

技術的負債を貯めずに開発するには

先日行われたMedBeer -Rails開発での技術的負債との付き合い方で、「Rails Good Parts, Bad Parts」というタイトルで発表しました。 資料はこちら。 内容を要約すると、技術的負債を貯めずに開発するには (Railsプロジェクトであれば)Railsの便利な機能を活…

社内読書会のススメ

#railsdm で @netwillnet さんに聞きたかったのだけど、タイミングがあわなかったのですが…。輪読会をどういう風にやってるのか。とかコツとか苦労話とかブログにまとめられてたりしないのだろううか。— Hiroki OHTSUKA (@HIROCASTER) 2018年7月17日 という…

「技術顧問という働き方」について発表した

Rails Developers Meetup 2018 Day 3 Extremeでの登壇機会を頂いたので、技術顧問という「なんかすごそうだけどよくわからないお仕事」の内容について話をさせていただきました。以前書いたブログエントリをもう少し深掘りして、現状僕が感じている課題感を…

headless chromeでcookieを扱う方法

headless chromeでcookieを読み書きする方法もブログ書いたほうが良いかな…(メドピアさんとは別案件だったので書かなかった— willnet (@netwillnet) 2018年7月4日 poltergeistからheadless chromeへ移行する時に気をつけること - メドピア開発者ブログ の続…

Railsの可読性の高いコードについて議論するコミュニティを作りました

Railsで可読性の高いコードを書くにはどうしたらいいのか。コミュニティやブログなどで個別の事例について言及されることはありますが、横断的なまとまった情報はほとんどないのではないかと思います。みんな、散らばった情報を集めて自分なりのやり方を模索…

技術顧問業を始めて2年がたった

2年ほど前から「フリーランスRails技術顧問」みたいな肩書で複数社のお手伝いをしています。すると知り合いに、技術顧問って実際どんな感じで仕事してるの?と聞かれることが多いので、「これ読めばわかるよ」と言えるように実際にどんなことをしているのか…

Rails Developers Meetup 2018でモデレーターをした

Rails Developers Meetup 2018の最後のセッション「基調Q&A」でモデレーターをしてきました。 Rails Developers Meetup 2018: Day 1 Rails Developers Meetup 2018: Day 2 事前に皆さんから集めたお便りとビールを元に、日本が誇るRailsコミッターたちにいろ…

定期的にyarn updateするには

ライブラリは定期的かつこまめにアップデートすることで辛さを減らしていく、というのは最近の開発現場では定説ではないかと思います。Railsプロジェクトの場合、Gemfileの定期更新を実施している現場も多いのではないでしょうか*1。 最近のRailsアプリケー…

RailsガイドでOSS貢献するのはどうだろうか

日本語版のRuby on Rails ガイド、日本人Railsエンジニアなら一度はお世話になったことがあると思うのだけど。読んでいるとtypoだったり、てにをはがちょっとおかしいところだったり、古いバージョンの記述のままだったりするところがあります。 ぼくは技術…

Rails Developers Meetup 2017でレールの伸ばし方について話した

Rails Developers Meetup の年末拡大版である、Rails Developers Meetup 2017で発表させていただきました。 Railsアプリケーションの可読性を保ちつつ開発をすすめるにはどうしたらよいか、みたいな話です。資料はこちら 所感 この辺の情報は、英語圏だとち…

RejectKaigi2017でファイルアップロードについて発表した

先日行われたRejectKaigi 2017でファイルアップロードについて発表しました。資料はこちら。 内容的には、WEB+DB PRESS Vol.95で書いたファイルアップロード話を最新にしたものになります。Rails5.2で新しく追加されるActive Storageというファイルアップロ…

「Rails5.1時代のアプリケーション開発」というテーマで発表した

昨日「Rails5.1時代のアプリケーション開発」というテーマで発表しました。 MedBeer -Rails 5.1での開発について- - connpass スライドはこちら。内容的には、web開発難しいので頑張って勉強していきましょうというメッセージになっています。若干エモ寄り。…

ActionCableでフィーチャスペックを書く

最近自分の作っているサービスにActionCableを導入しました。そこでフィーチャスペックを書いていくつかハマったので内容を共有します。 使っているのはcapybara & poltergeistです。 Capybara.serverをpumaにする Capybaraのデフォルトのサーバは、ざっと見…

rspec-style-guideの英語版ができた

先日のRails Developer Meetupで発表したrspec-style-guideですが、ありがたいことにPull Requestをいただき英語版ができました。 rspec-style-guide/README_EN.md at master · willnet/rspec-style-guide Pull Requestしてくれた@gazayasさんありがとうござ…

ぎんざRuby会議を開催します

毎月第三火曜日に開催しているginza.rb、開催を始めてからかれこれ4年になります。このままいくと8月にはなんと第50回のミートアップをむかえることに。というわけで拡大版を開催することにしました。 ぎんざRuby会議です。 公式サイトにも気合が入っていま…

Rails Developers Meetup で綺麗なテストコードの書き方について発表した

昨日のRails Developers Meetupで綺麗なテストコードの書き方について発表してきました。 Rails Developers Meetup #1(東京会場) - connpass 資料はこちら 余談 もともと数年前くらいから、テストコードの書き方についてまとめたいなーと思っていたのです…

メドピア開発者ブログに寄稿した

お手伝いしているメドピアさんのブログに、Railsのコード可読性を保つための知見の一つであるform objectについて寄稿させていただきました。 form objectを使ってみよう - メドピア開発者ブログ 最近は技術顧問として複数社のエンジニアに対して、主にRails…