→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
こんにちは。サーバーサイドグループの山田です。 先日StudyplusのRailsアプリケーションのRubyを3.3にアップデートしました。 Ruby3.3ではYJITによるパフォーマンス改善が目玉の1つですが、弊社のアプリケーションでどのような変化があったかを報告します。 前提 本記事で記載している集計データは以下のようなアプリケーションおよび条件で取得しています。 Studyplusのマイクロサービス群の中で最も規模の大きなRailsアプリケーション Railsバージョンは7.1.3 Ruby3.2.2でYJIT有効化済みの状態からRuby3.3.0にアップデートした際の変化 APIリクエ…
「ここのページだけReact使いたいんだよな〜」とか「ページのここの部分にReact入れ込みたいんだよな〜」ということはありませんか? 今回はそんなあなたにReactを部分的に使用する方法を紹介します。 こちらの記事を応用していきます。↓ www.mof-mof.co.jp 下準備 Reactの導入方法はこちらの記事をご参照ください↓↓ www.mof-mof.co.jp 手順 package.json に記載されているビルドスクリプトのビルド対象に app/javascript/*.* が入っていることを確認する。 入っていない場合は以下を参考に書き換えてみてください。 "build:js"…
やりたいこと ECサイトで商品購入した際に購入商品の明細をメールで送りたい. 注意点: 今回はactive mailerの設定とどのようなメールが届くのかというのを開発環境で見ていこうと思います。実際のメールに届くわけではありません。 完成像 全体像 ①メーラーを作成する. ②メーラーの編集. ③viewを作成と編集する. ④好きなコントローラーでメーラーのアクションを呼び出す. ⑤letter_opener_webというgemをインストール. ⑥railsでletter_opener_webの設定をする. ①メーラーを作成する 下記のコマンドでメーラーを作成 bin/rails genera…
このviewsだけにこのJSを読み込みたい・・・! という時があると思います。 今回はそんな時のためにJSファイルを個別に読み込む方法を紹介します。 (esbuildを使用している前提で進めていきます) 手順 package.json に記載されているビルドスクリプトのビルド対象に app/javascript/*.* が入っていることを確認する。 入っていない場合は以下を参考に書き換えてみてください。 "build:js": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds" JSファイルを…
Rails7のアプリでJSのビルドツールはesbuildを使用します。 環境構築の方法はこちらを参照ください↓↓ www.mof-mof.co.jp ReactとTypeScriptをインストールする 以下のコマンドで必要なパッケージをインストール yarn add typescript react react-dom react-router-dom @types/react @types/react-dom @types/react-router-dom package.json のビルドスクリプトの末尾に --loader:.js=jsx を追記 例) "build:js": "esbu…
はじめに ◆この記事は何か 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…
2024/04/25分のコミットです。 CHANGELOGへの追加はありませんでした。 Merge pull request #51653 from Earlopain/fixup-51619 activesupport/test/deprecation_test.rbの修正です。 Ruby 3.4のinternal frameをfilterする挙動のテストがfailしていたのを修正しています。 Add more gem docs in Rails Application Templates guide rails guideのRails Application Templatesの修正です。…
初めに 学習中のエラーを自分でまとめてみました なるべくわかりやすく説明していこうと思います。 背景 dockerを利用して、Railsアプリケーションとpostgresをセットアップをして実行する。 docker-compose buildの際にエラーが生じた。 docker-compose.yml version: '12' volumes: db-data: services: db: image: postgres environment: POSTGRES_PASSWORD:password volumes: - 'db-data:/var/lib/postgresql/data' …
2024年4月25日に、QYResearchは「伸縮式スライド―グローバル市場シェアとランキング、全体の売上と需要予測、2024~2030」の調査資料を発表しました。本レポートは、伸縮式スライドの世界市場について分析し、主な総販売量、売上、価格、主要企業の市場シェアとランキングに焦点を当てています。また、地域別、国別、製品タイプ別、用途別の分析も行っています。伸縮式スライドの市場規模を2019年から2030年までの販売量と売上高に基づいて推計と予測しています。定量分析と定性分析の両方を提供することで、企業がビジネス成長戦略を策定し、競争環境を評価し、市場位置を分析し、伸縮式スライド関連情報に基…
担当授業でAWS Academyを利用させていただいています。BYODで学生も端末を毎日持ち歩くようになったので(とはいえ一部はスマホだけ(T_T))、Dockerでやればいいなと思った時期もありましたが、やはりAWSの方が楽といえば楽です。 今期もAWS Academyを使おうとクラスを作成して、履修者も確定したのでメンバーを招待して、事前にインスタンスを立ち上げて確認しようとしました。 AWS EC2のイメージって変わるんですね。。。接続先によっても異なったりして。なので、プレインストールされているRubyのバージョンとRailsのバージョンを確認しておこうと思ったのでした。 しかし。。。…
こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 Ruby や Rails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 Ruby や Rails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。Ruby や Rails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rail…
こんにちは、スタメンでTUNAGの機能開発チームに所属している森(@hisayuki_mori)です。 今回、2023年の11月からスタートした新機能開発においてフロントエンド側の開発を担当しました。 この5ヶ月の間に新しくチャレンジしたことの紹介をします! チャレンジしたことまとめ 背景 詳細 Node.jsを18系から20系にアップデート Reactを17系から18系にアップデート Storybookの8.xをalpha版から導入 Biomeの導入 testing-liblraryの導入(v12)とアップデート(v15) やりきれなかったこと 最後に チャレンジしたことまとめ Node.j…
こんにちは。@chaspyです。技術戦略グループのマネージャをしています。 本記事では dep-doctorという依存ライブラリのメンテナンス状態をチェックするツールを活用した事例を紹介します。 依存ライブラリのメンテナンス状態を確認したい スタディサプリ小中高では、言うまでもなく多くの OSS / ライブラリに支えられています。しかし、それらのライブラリがメンテナンスされなくなってしまったとしたら、以下のリスクが存在します。 セキュリティ: 既知の脆弱性が修正されない可能性があります。新たに発見された脆弱性に対して、パッチが提供されないため、プロジェクトがセキュリティ上の危険にさらされる可能…
2024/04/24分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionpack/CHANGELOG.md Fix Mime::Type.parse handling type parameters for HTTP Accept headers. Fix PostgreSQL Cidr#change? when changed address prefix. Fix #51582 activerecord/lib/active_record/connection_adapters/postgresql/oid/cidr.rbの修正です。 PostgreSQL…
RakeはRubyビルドツールで、MakefileのRuby版です。 あるプログラムを別のプログラムの後に実行したいといった、順序を制御したい場合、あるプログラムが別のプログラムの生成ファイルの存在を前提とする場合など、異なるタスクをつなぎ合わせて機能させたい場合に利用できます。 あまり知られていない気がしますが、日常用途でもかなり使えます。たまに使おうとして、使い方を忘れていて困ることがちょくちょくあるので、ChatGPTに聞きました。 RubyのRakeの使い方を教えてください。 namespaceとタスク名を指定するにはどうすれば良いのですか? どのタスクにも依存しないタスクは、明示的に…
引き続き"Real World HTTP"を読んでいるにゃ。 「いやお前もうエンジニアで就職してもうとるから、はよ応用情報(なんかな?よくわかんない)の範囲とか勉強しとけや」と言う人もあるかもしれない(いない気がする)が、あたし*1はやりたいようにやっていきたい。 ローカルでサーバーを立ててみようという話になっているにゃんね。Railsで開発環境使うときはではいつもなんとなくlocalhost:3000ってChromeの検索窓に打ち込んでいたけど、実はローカルサーバーは「Well Known Port(よく使われているポート番号)」以外なら何使ってもいいらしいというのがわかったモギ。Rails…
こんにちは、よっちゃんです。 2023年の12月からエンジニアになるためフィヨルドブートキャンプで学んでいました。 この度、僕の通っている高校のゼロ高等学院(以下、ゼロ高)用に 目標共有アプリの「Zero Steps」をリリースしました! この記事では、作成の経緯から感想まで書いていきます。 最後まで読んでいただけますと嬉しいです。 作ったアプリのURLです↓ https://zero-steps.onrender.com Githubのリポジトリです↓ https://github.com/yocchan-git/zero-steps 自己紹介 作った経緯 使い方 タイムライン ログイン ユ…
$ sudo vim /etc/nginx/nginx.confでserver_nameを変更する。 server{ server_name 〇〇.com; #ここにドメインを入れる。 proxy_set_header X-Forwarded-Host $host; location / { proxy_pass http://127.0.0.1:3500; } } SSL化については以下の記事参考。 ⑤Railsアプリをデプロイするまで【SSL】【Let’s Encrypt】 - U-Yuri’s 備忘録
rakeタスクを確認する lib/tasks/〇〇.rakeファイル 実行方法 rake greet:say_hello #基本形 namespace :greet do desc "タスクの説明" #desc → description(説明) task task_name: :environment do #task_nameは自由につけられる # 実行したい処理を記述する場所 end end #lib/tasks/greet.rake namespace :greet do desc "Helloを表示するタスク" task say_hello: :environment do puts…
/etc/systemd/system/に〇〇.serviceファイルを作成する。※〇〇はなんでもいい(アプリの名前)。 [Unit] Description=Mudazero App #アプリの説明 After=network.target #ネットワークの準備ができた後 [Service] Type=simple User=debian #自分のパソコンのuser WorkingDirectory=/home/debian/mudamuda/ #アプリのダイレクトリー(pwdで調べる) Environment=RAILS_ENV=production #本番環境で動く設定 ExecStar…