ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

Rails

Selenium が ARM CPU だと Selenium::WebDriver::Error::SessionNotCreatedError が出る問題

Rails の rspec によるE2Eテスト(system spec)で Selenium を使うことがあると思うのですが、 selenium/standalone-chrome を使うと、以下のようなエラーが出て system spec が落ちてしまいます。 Selenium::WebDriver::Error::SessionNotCreatedError: Co…

Selenium 3 から 4 にしたら system spec が Net::ReadTimeout で通らなくなったときの対処

Rails の rspec でのE2Eテスト(system spec)用に Selenium を使っているのですが、 バージョンが Selenium 3.141.59-20210929 だったので、 「ぼちぼち上げるか〜」と最新の 4.10.0-20230607 にバージョンアップしようとしました。 selenium/standalone-ch…

rubocop-rails で to_time が怒られなかったので調査した

rubocop (rubocop-rails) を使っていたら to_time が怒られなかった謎を調査するため、我々はアマゾンの奥地へと向かった…。そこで見つけたのは、今は禁じられし DateTime の姿だった!

haml2slim を改善して haml から slim への移行をしやすくしました

haml から slim へ移行しようとして haml2slim を使用しようとしたところ、足りていない機能が多かったので大幅に改善しました。GitHub で公開中です

Rails の Mountable Engine 側の _path や _url をメインアプリから呼び出す

Rails の Mountable Engine 側の routing を、 admin_app.users_path や admin_app.users_url のように xxx_path, xxx_url でメインアプリ側から呼び出す方法について説明しています

Rails の scope をあまり使わない方がいい理由

Ruby on Rails の scope 機能を、チーム開発で使わないほうがいい理由についてまとめています。

Rails 5 から Rails 6 へアップデートした際の手順

Rails5 から Rails6 (Rails 5.2.4.4 → 6.0.3.3)へのバージョンアップをおこなうためにした準備と作業内容をまとめました。

Rails 4 から Rails 5 へのアップデートでおこなった10個以上の対応

Rails4 から Rails5 (Rails 4.2.11.3 → 5.2.4.3)へのバージョンアップをおこなうためにした準備と作業内容を、出来る限り書きまとめました。belongs_to や autoload の仕様変更, time型の話なんかは要チェックです。

PostgreSQL 公式の語るやっちゃいけないことリストがおもしろかった

なにげなく『週刊Railsウォッチ(20200115後編)』を読んでいたところ、 Don't Do This - PostgreSQL wiki ってのが紹介されていたので読んだ。 BETWEEN を timestamp に対して使っちゃいけない話 これの『Don't use BETWEEN (especially with timestamps)』…

refile から shrine へ移行する方法を徹底解説

refile から shrine に Rails の画像アップロードライブラリを乗り換えたいけど、shrine のドキュメントを読んでも細かいところがよくわからないよ! という方のためのマイグレーションガイド

HEIF (.heic) という画像ファイル形式が存在するのを知った

iOS エンジニアの人たちにとっては当たり前なのかもしれないんですけど最近知りました。 Apple 製のデバイスで HEIF/HEVC メディアを扱う - Apple サポート ここにある通り、 iOS 11 以降では、カメラで撮った写真の保存形式が HEIF というファイル形式(拡…

CygWin 環境に nokogiri , ffi, mysql2 をインストールできるようになるまで

Windows で Rails アプリを動かしたくて CygWin で bundle install したら nokogiri で止まってしまうので、必要なものをまとめた。 なお、 Windows 10 64bit 環境に CygWin64 をインストール、 apt-cyg mirror には http://cygwin.mirror.constant.com/ を…

macOS Sierra で mysql2 の bundle install に失敗する場合

Rails のプロジェクトを扱っていて、 gem を bundle install していたところ mysql2 の部分でこんなエラーが… Installing mysql2 0.4.4 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Us…