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

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

銀座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…

株式会社ウィルネットを設立した

いわゆる法人成りです。 かっこいい会社の名前が全然思いつかず*1、結局ハンドルネームを採用しました。このブログのタイトル(おもしろwebサービス開発日記)もだいぶアレな感じで、自分の命名センスの無さに震えますね>< 単に名義が変わっただけで、特に何…

ソフトウェア開発者採用ガイドを読んだ

読みました。自分はフリーランスなので直接誰かを採用することはないですが、お手伝いしている会社の方に「どうやったらいいwebエンジニア採用できますかねー?」と聞かれることがよくあるので、そのヒントになるかなと思い。 ソフトウェア開発者採用ガイドp…

Rails 5.x について発表した

昨日開催された、Increments ++ Tech TalkにてRails 5.xというタイトルの話をしました。 内容はWEB+DB PRESSの連載ではページ数の関係で載せられなかったRails 5.0のトピックと、Rails 5.1で入る(入りそう)な機能の話です。分量が多くなってしまい、いろいろ…

WEB+DB PRESS でRubyの連載を始めます

今月の24日発売のVol 93から、WEB+DB PRESS で Ruby の連載をすることになりました。よろしくおねがいします。 初回の題材は、みんな大好き Ruby on Rails の最新バージョンである Rails 5 です。もうじき正式リリースとなる Rails 5 にどんな機能が追加され…

ロシアンドールキャッシュでN+1を解決する

youtube に DHH がしゃべっている動画があったので観ました。 The Complete Guide to Rails Performance という、Railsのパフォーマンスを改良するノウハウが書かれた本のコンテンツ*1の一つらしく、DHH に Rails のパフォーマンスについてインタビューをし…

ginza.rb 第33回で Rails 5 の新機能について学んだ

3/15は ginza.rb の33回目のミートアップでした。 Ginza.rb 第33回 もうすぐやってくる!Rails 5を見ておこう - Ginza.rb | Doorkeeper 前回のミートアップ時に、きっと Rails 5.0 がリリースされているだろうと思い Rails 5.0 をテーマとして設定しましたが…

iosアプリ開発時に実機とローカルサーバを通信させるための快適な設定方法について

iOS アプリ開発をしている時に、web上のサーバではなく、ローカルマシンのサーバと通信させたくなる状況はよくあるかと思います。僕はまず次のようなコードを書いて、さらにコンパイラ用のフラグに -D DEBUG と設定することで対応しました。 #if DEBUG let h…