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

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

Ruby

anyenv + n から asdf に乗り換えた感想

Ruby, Python, Node.js のバージョン管理に anyenv と n を使っていたのですが、asdf に乗り換えてみました。メリット・デメリットをまとめました。

Homebrew Tap の SHA256 ハッシュを簡単に更新できるようにする

Homebrew Tap の SHA256 ハッシュを curl でひとつひとつ更新するのは大変なので、スクリプトでまとめて更新できるようにしました

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 の姿だった!

esa から Notion へ API を駆使して移行した話

esa から Notion に、esa API と notion-py を使って移行した話です。 コメントを移行したり、画像をNotionに上げ直したりをスクリプトでおこなっています。

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 のドキュメントを読んでも細かいところがよくわからないよ! という方のためのマイグレーションガイド

Docker の ARG の宣言箇所に注意

ARG の宣言を FROM の後に書くようにすべき話と、ADD や COPY でソースとして扱えるファイルは特定ディレクトリ以下だよ、って話

DiscordのbotをRubyで簡単に作成したのでコード晒します

同僚と松屋で食べてたら盛り上がって、 Discord の部屋を立てました。 Slackと違ってアプリ連携できないよな〜と思ってたら bot は作れると知ったので「よっしゃ! 作るしかない!」と Ruby で作りました。 1. 完成形 こんなものができました。 2. 必要なも…

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…

Mac で最初にやった、オススメソフトのインストールやら設定リスト

Macは環境移すソフトがあるらしいので大丈夫だと思うけど、 きっと未来の自分はおこなった設定を忘れてると思うので、思い出せる範囲で、 週末に MacBook Pro が届いてからおこなった設定。 1. Safari から Firefox をインストール Firefox派で、ブックマー…

Eclipse 4.4.2 Luna に Ruby 開発環境をインストール

Eclipse に新しい言語の開発環境を入れると言えば、 下の1で示す、「新規ソフトウェアのインストール」をクリックしてウィンドウを開き URLを入力して……という流れが一般的だったが、これからはURLを探す必要はない。2で示す、Eclipseマーケットプレースか…