→Ruby on Rails RubyによるWebアプリケーションフレームワーク RoR
Agile Web Development with Rails
10分で作るRailsアプリ for Windows http://masuidrive.jp/rails/
Ruby on Rails公式サイトの採用サイト紹介ページ http://wiki.rubyonrails.org/rails/pages/RealWorldUsage
はじめに ◆この記事は何か Railsのソースコードリーディングをしているとよく見かける以下の1文 extend ActiveSupport::Concern 実際に Rails7.1.3.2 のリポジトリで grep すると235ファイルヒットすることからも ActiveSupport::Concern モジュールは Rails で非常によく使われているモジュールであることがわかる 今回はそんな ActiveSupport::Concern モジュールについて、使い方を確認した上でモジュールの中身を紐解いていく ◆対象は誰か Rails やその他 gem のソースコードリーディングに挑戦しよ…
前書き 本番環境でデータベースをリセットし再びマイグレーションファイルを適用させたいのですがはまったので記事に残します 環境 rails7 ruby 3.0.8 heroku postgresSQL 結論 heroku pg:reset -a <アプリ名> heroku run rails db:migrate heroku run rails db:seed この3つのコマンド実行
Railsプロジェクトを新規作成する機会は多くないため意外とオプションって忘れがちだと思います。 rails new コマンドのオプションなんだったっけかな〜という時のために よく使うオプション、知ってると便利なオプションをまとめてみました。 DB編 使用するDBを指定する場合は -d ほげほげ で指定できます。 デフォルトは sqlite3 です。 PostgreSQLの場合 rails new mofmof -d postgresql MySQLの場合 rails new mofmof -d mysql Oracleの場合 rails new mofmof -d oracle DBを使用し…
Rails7以前で Tailwind CSS を使用したい場合はWebpackerを使って yarn add tailwindcss して ほげほげファイルを追加して〜〜としていたと思います。 Rails7からはWebpackerが標準ではなくなったので、導入方法が変わりました。 プロジェクト作成時に導入する方法と、既存のプロジェクトに途中から導入する方法をまとめてみました。 (今回はesbuildを使用してます。) プロジェクト作成時に導入する場合 rails new mofmof -j esbuild --css tailwind でプロジェクトを作成する 以下を package.json…
以前、Rails7 + PostgreSQLの環境構築をしました。 www.mof-mof.co.jp www.mof-mof.co.jp 今回は、MySQLを使ったRails7の環境構築をしてみます。 本記事ではビルドにimportmapを使用した場合の環境構築を行なっていきます。 esbuildを使用する場合は こちらの記事 を読み替えながら こちらのボイラープレートを参考にしてみてください。 1. ファイルを準備する まず始めに、以下の2つのファイルを作成します。 Dockerfile.dev docker-compose.yml docker-entrypoint-initdb.d/g…
はじめに Rails でアプリケーションを作成中、あるgemのコマンドを実行するとZeitwerk::NameErrorが発生しました。 expected file /Users/suzuka/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/devise-4.9.3/app/mailers/devise/mailer.rb to define constant Devise::Mailer, but didn't (Zeitwerk::NameError) 調べたことの理解を深めるため、解決した手順をまとめます。 実行環境 macOS:Ventur…
これは2024/04/02時点の情報です。 やりたいこと 作成したRailsアプリを無料でデプロイしたい。 利用するサービス Render.com webアプリ公開することができるPaas render.com Neon PostgreSQLのデプロイサービス neon.tech デプロイ手順 Neonデプロイ はじめにNeonの方からセットアップする。 公式サイトにアクセスしてFree Tierでアカウント登録を行う。 画面の指示に従ってdatabaseを作成する。 DashbordからConnection Detailsを開く。 Connection Details内のconnection…
Rails7がリリースされてから、環境構築で躓いた経験がある方は少なくないのではないでしょうか。 今回は、Rails7 + PostgreSQL + esbuild の環境を docker-compose で構築していきたいと思います。 Rails7 + PostgreSQL + importmap の環境構築については以下の記事をご参照ください。 www.mof-mof.co.jp 1. ファイルを準備する まず始めに、以下の2つのファイルを作成します。 Dockerfile.dev docker-compose.yml Rails7.1から rails new で新規プロジェクトを作成した…
Rails7がリリースされてから、環境構築で躓いた経験がある方は少なくないのではないでしょうか。 今回は、Rails7 + PostgreSQL + importmap の環境を docker-compose で構築していきたいと思います。 Rails7 + PostgreSQL + esbuild の環境構築については以下の記事をご参照ください。 www.mof-mof.co.jp 1. ファイルを準備する まず始めに、以下の2つのファイルを作成します。 Dockerfile.dev docker-compose.yml Rails7.1から rails new で新規プロジェクトを作成した…
私自身、立ち上げ期のSaaSサービス・Webサービスの開発、個人開発を通じて学んだ立ち上げ期に役に立つサービスをまとめます。 そもそも、なぜ立ち上げ期で役に立つのか? サービス立ち上げ時は、とにかく爆速でコンテンツの充実・プロダクトの中身を作っていかなければいけません。 そのため、本質ではないところについては、外部サービスを頼る・参考にする事が重要になります。 認証 OAuthを推奨します。 自前でアカウント周りの機能を作成することは控えましょう。 なぜなら、、、 個人開発系のアプリの場合、見ず知らずのアプリでアカウント登録を行うのは心理的な障壁がある 商用、toB系のサービスの場合、個人情報…
homebrew で update が実行されて、パッケージ (formula) が全部更新されて開発環境が壊れる事がある。 タイトルのような MySQL のライブラリとか見てる mysql2 などの gem とかね。 attonblog.blogspot.com とのことで、update も止められるんだけど、一番なのはまず homebrew は homebrew だけ、 formula は formula だけ、でアップデート動作を切り離してほしい〜という感じ。 けどここまで大きくなったサードパーティパッケージ管理だと、たぶんこれ「おまえがアップデート放置してたせいで脆弱性がふじこふじこ!…
花粉症になりかけていたが、それは気のせいだったようだ。単に体調が悪かっただけかもしれない。そういう考えのもと、このあいだもコードを書いていた。文字をクリックするとそこだけ中身が切り替わる、ということを実装したかった。JavaScriptを使わずにやることができた。すこし苦労したのでメモを残しておく。 RailsアプリなのでHTMLではなく、slim記法でviewファイルを書いている。 .area = check_box_tag "userid#{user.id}" = label_tag "userid#{user.id}" .number | 数字表記 .percentage | パーセント…
2024/04/18分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionpack/CHANGELOG.md Fix a regression in 7.1.3 passing a to: option without a controller when the controller is already defined by a scope. activerecord/CHANGELOG.md Allow Sqlite3Adapter to use sqlite3 gem version 2.x Merge pull request #51523 from e…
このブログはなに? 以下のブログ記事への返歌です。 zenn.dev タイトルはマロリーの言葉のオマージュです。 ja.wikipedia.org 自分がカンファレンスに参加するにあたり、考えていることを改めてまとめると、結局タイトルの通り「Because it's there.」に行き着くことに気づきました。 一見すると、先のブログの通り「なんとなく」で参加しているように見えるかもしれませんが、反論でも同調でもない、自分なりの考えを綴りたいと思います。
先日 Railroads という、Rails開発向けのIntelliJ Platform Pluginを作りました。 RubyMine 2023.3系から、rails routes を便利に扱える Railways プラグインが動かなくなったので、代替プラグイン Railroads を作りました - メモ的な思考的な そのプラグインの動作確認をするために rails routes を実行し、設定したルーティグがどのように表示されるか確認 rails routes の結果を元に、Railroadsプラグインでコントローラとメソッドが表示されているか確認 ができるRailsアプリが必要になりました…
こんにちは。SmartHRでプロダクト横断基盤開発チームにて開発をしている rock_san です。 先日開催された第4回SmartHR LT大会の様子を紹介したいと思います! SmartHR LT大会について DevRel主導の元で、有志のプロダクトエンジニアが集まって企画・運営している社内イベントになります。 プロジェクトエンジニアより5分間のLightning Talksを行う11名の登壇者を募り、発表してもらいます。 登壇者はプロダクトエンジニアに限定していますが、大会の聴講は職種によらず全社員可能です。 配信も行っているため、当日オフィスへの出社が出来ない社員でもリモートで楽しめるよ…
業務上、非プログラマも混在したチームで新規プロジェクトの課題管理をする必要に迫られたので、EC2上にRedmineを建てた。 近年では他にも色々と選択肢はあるんじゃないの?という話もあるけども、どうしてもサーバにインストールするタイプのものが必要だったのでRedmineを選択した。それでも他に選択肢はあるだろうけど、選ぶ時間がもったいなかった😇 この記事の本題は、issue tracking system の製品選択の理由や経緯ではなく、「EC2上にRedmineを構築する」ときの作業手順等の記録である。2015年に似た作業を実施していたが、その時は Amazon Linux 1 / Pass…
こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 先日、弊社からFindy Toolsがリリースされました。 今回は、そのFindy Toolsがどのようにして開発されたのか、開発の背景や工夫点などを紹介していきます。 それでは見ていきましょう! Findy Toolsの概要 紹介 Findy Tools は開発ツールに特化したレビューサイトです。第三者の視点で実際にツールの選定をした企業の生の声を集めることで、ツール選定に関する不安を解消し、導入検討に必要な情報を提供します。 「Findy Tools」を開発ツールの導入検討をしているユーザーが利用すると、実際…
2024/04/17分のコミットです。 CHANGELOGへの追加はありませんでした。 Merge pull request #51572 from Bodacious/patch-1 railties/lib/rails/generators/rails/app/templates/config/initializers/enable_yjit.rb.ttの修正です。 RubyVM::YJITがenableかどうかのチェックを括弧で括るよう修正しています。チェックに&&等の条件を独自に追加した場合にチェックが動作するようにするため。 test: fix flaky schema dump t…
・半年に1度ぐらい寝汗びっしょりで目が覚めることがあるのですが、今日がその日でした…とにかく不快でした。 原因は不明ですが、季節の変わり目に起きやすい気がするので、おそらく病的なものではなく体温調整に失敗しているのだと思ってます。 ・昼休みに散歩をすると草花が鮮やかで、1年中この季節ならいいのにと妄想。一番好きなのは藤の花で、木に絡んで緑と紫が調和しているのがグッときます。 社会人 24:00に就寝 機能追加をしようとして既存のバグやマズい実装が出てくるのはあるあるだと思うのですが、今触っている機能は特に プログラマ Rails new からの初期設定など 趣味農家 大雨でネギを心配していたも…
3月13日に Istio 1.21.0 のリリースがアナウンスされました。リリースノートの中でも "Support for all CNIs in ambient mode" が気になったので少し調べてみました。 "Support for all CNIs in ambient mode" とは? "Support for all CNIs in ambient mode" は文字通り Ambient Mode がすべての CNI でサポートしたようです。つまり元々何か問題があって、それを解決した実装がこのバージョンから入ったことを意味します。リリースノートにもリンクされていた下記の記事を読む…
最近、Webアプリ開発とC#アプリ開発は、テクノロジー業界で注目を集めています。これらの技術は、現代のデジタル世界で重要な役割を果たしており、多くの企業や個人がそれらを活用して革新的なプロジェクトを実現しています。ここでは、Webフレームワークを使用したWebアプリ開発とC#を使用したアプリ開発について掘り下げてみましょう。 Webアプリ開発の重要性 Webアプリケーションは、インターネットを介して利用できるアプリケーションです。Webアプリ開発は、ユーザーがブラウザを介してアクセスできるウェブサイトやオンラインサービスを構築するプロセスです。この分野では、多くのプログラミング言語やフレームワ…
Development Division/Platform Team/Sys-Infra Unit で実施した Amazon EMR 1 のバージョンアップについてどのようなことをやったのか紹介します。 Repro では Presto や Hive などのセットアップに EMR を使用しており、以下の用途で活用しています。 プッシュ通知の配信対象を抽出する 管理画面で参照するデータを抽出する S3 などに貯まっているイベントデータを集計する EMR のアプリケーションとしては以下を使用していました。 Presto Tez Hadoop Hive Hue 経緯 Repro では多くのミドルウェア…
2024/04/16分のコミットです。 CHANGELOGへの追加はありませんでした。 Run devcontainer smoke tests in one single job .github/workflows/devcontainer-smoke-test.ymlの修正です。 devcontainerのsmoke testを一つのjobでまとめて実行するよう修正しています。結果の確認をしやすくする為。 Remove rubocop and lint workflows GitHub Actionsからrubocopとlint実行用のworkflowを削除しています。Buildkiteで…
先日 Railroads という、Rails開発向けのIntelliJ Platform Pluginを作りました。 RubyMine 2023.3系から、rails routes を便利に扱える Railways プラグインが動かなくなったので、代替プラグイン Railroads を作りました - メモ的な思考的な 最初に作った段階では「動くものを作り切る」ことを優先し、 動作が正しいことは実機で担保 テストコードは後で追加 という方針でプラグインを作成・リリースしました。 ただ、今後の継続的なメンテナンスのことを考えると、テストコードがあると色々安心できそうです。 そこで、今回テストコード…