What is it, naokirin?

GitHub ActionsでRails edgeでのテストを実行してみる

皆さんは、パッケージやフレームワークのアップデートに追われていたりしないでしょうか? 特に業務では、事業上や法務上の対応など、アップデート以外にも多数行うことがあり、残念ながらEOLギリギリで対応、もしくは超過してしまっていることも多いのでは…

Kaigi on Rails 2023に参加しました!

Kaigi on Rails 2023に参加しました! 久しぶりに、オフラインのカンファレンスに参加したのですが、オンラインとは違って会場の雰囲気などもあって楽しいですね。 kaigionrails.org ここからは、カンファレンスで聞いた内容の感想を簡単に書いておきます。 …

RailsからgRPCのリクエストをしてみる

今回は、RailsからgRPCのリクエストしてみたので、その方法を書き残しておきます。 必要なGemのインストール Railsプロジェクトの準備は済んでいるものとして、Gemをインストールします。 Gemfile に以下を追加して、 bundle install します。 gem 'grpc' ge…

Railsとrails_event_store で始めるイベントソーシング

こんにちは。 今回は、Railsで rails_event_storeを用いたCQRSとイベントソーシングの実装について試してみたので、イベントソーシングとその実装方法について紹介してみます。 Railsでのイベントソーシングについて検討する際の参考になれば幸いです。 なお…

Ruby on Rails(ViewComponent)に Storybook を導入してみる

(個人的な観測範囲からですが)React界隈を中心にデザインシステムなどとともに、Storybookを導入している企業が増えてきているように思います。 自分は直近では、Ruby on RailsでSSRをメインに開発をしていることが多いため、導入がやや難しいと感じていま…

Typescript + vite_rails で Rails に Vite を導入してみる(Hot Module Replacementまで)

最近、フロントエンドは Vite で開発するのが主流になっていると思いますが、Railsの場合、なあなあでそのまま来ている場合も多いかなと思います。 開発体験の改善ができないかということを考える機会があり、RailsでViteを導入する際の手順を vite_railsを…

無料のデータ分析サービス Mi-Analyzer のサーバー構成を解説します!

Mi-Analyzerを4月23日にリリースしました! --- 2021/11/7 追記 --- すみませんが、Mi-Analyzerのサービス提供は終了しました。 多少お時間をいただく可能性が高いですが、今後、OSSとして一部公開を目指しています。 --- 追記終わり --- Mi-Analyzerはスプ…

Rails のモデルを整理しよう

Rails では様々な機能を使って、共通化や抽象化、シンプルなコードへの書き換えなどを行えるようになっています。今回はモデルに焦点を絞り、それらをまとめていきたいと思います。また、整理を始める前に気をつけるべきことをまとめておこうと思います。 Ra…

Rails migrationで使うデータ型を考える

ざっくり migration で指定するデータ型について書いておきます。 型の種類 文字列の扱い 小数の扱い ID パスワードの保存 まとめ 型の種類 Rails の Migration で指定できるデータ型としては一般的に以下があります。(今回の説明のため primary_key は除い…

kaminari に入門して、ページネーションしよう

github.com kaminari といえば、Rails などでページネーションするための gem です。 今回は Rails に導入してみて、ページネーションしてみることにします。 今回は Rails 5.2, kaminari 1.1.1 で行っています。 kaminari をインストールする 確認用に User…

Ruby on Rails の has_secure_password のコードを読んでみる

最近は個人アプリ開発だと OpenID Connect などで済ませてしまうかもしれませんが、Ruby on Railsで直接パスワードを記録する際にデフォルトで利用できる has_secure_password メソッドの実装を読んでみました。 読んだのは Rails v5.2.3 になります。 has_s…