→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
プラットフォーム部 DevEx チームの河井です。 8月に弊社サービス TUNAG(ツナグ)で使っている Ruby on Rails のバージョンを 6.1 から 7.0 に上げたので共有します。 やったこと 一般的なバージョンアップのフローについては多くの記事がありますので、ここでは影響が大きかった仕様変更の対応方法について紹介します。 フォーマット指定なしの to_s to_s にフォーマットを渡すことが非推奨化されました。 この変更により、引数なしの to_s の挙動が変わってしまう問題がありました。 そこで、影響を受けるクラスについて to_s をオーバーライドし、フォーマットがこれま…
親に紐づく子を作る https://zenn.dev/murakamiiii/articles/5ecefb7a58d1ef 親に紐づく子を削除 https://qiita.com/NateRive/items/be35c1a52aef8fd0d355 調べた背景 良く見かけていたから。 パラメーターさえ受け取ってしまえば、accepts_nested_attributes_forメソッドを使うだけで、 子を作る 親に紐づく子を削除 が簡単に行えるみたい。 楽をするための技術のようです。 所感 けっこうな黒魔術なので、プロダクトで取り入れる際は検討した方が良い気もした。 実装する際は ・子を作…
はじめに 初めて構築してみたので、指摘等がたくさんあるかと思いますが、 一読してもらえると嬉しいです。また、指摘ありましたらコメント下さい。 環境 Rails 7.0.8 Ruby 3.2.0 Docker Docker-compose MySQL 学び 各ファイルについては、割愛します。(ネットにたくさんの記事が出ているので、重複することが多いです) 仕事でも使うことがあるので、わかっているが自分のPCに余計なものを読み込ませる必要が無いことが一番のメリットでは無いでしょうか。 下記のコマンドは何気なく使っていたのですが、docker desktopをみてびっくりしました!! docker …
VS Codeの右下に「Rubocopが動かないよ!」という旨のエラーを出すことがある。 対処法を何度も検索しているのでメモしておく。 VSコードが出すコマンドをターミナルで叩いてみる。 $ /Users/xxx/.rbenv/shims/rubocop .rubocop_todo.yml: Rails/SelectMap has the wrong namespace - should be Performance Error: unrecognized cop or department Rails/RedundantActiveRecordAllMethod found in .rubo…
1. はじめに こんにちは、SWEのあかりです。 記事を書くまでがカンファレンスということで、(1)大阪Ruby会議03のLT会で発表した「RAILS_ENVを統合する取り組み」についてと(2)大阪Ruby会議03に参加した感想について報告させていただきます。 2. 発表内容について LT会では、「RAILS_ENVを統合する取り組み: 開発用デプロイ環境をよりシンプルに」というタイトルで発表してきました。 発表スライドは以下のSpeaker Deckにて公開しているので、よければご参照ください。 speakerdeck.com 発表内容のストーリー自体はシンプルで、かつ、説明もスライド内に全…
こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話をします。 目次 前提 対象プロジェクト CIの状況 改善結果 改善内容 前提知識: CIのキャッシュ機能 webpack buildのキャッシュを活用 RuboCopのキャッシュを活用 ESLintのキャッシュを活用 Jestのキャッシュを活用 RSpec Jobをテスト特性ごとに分割 CircleCIのリソースクラスと…
RailsのDockerイメージを作成する時のmaster.keyの取り扱い zenn.dev docker buildkitを使って解決って手段の例。
0. はじめに こんにちは、SWE のやなせです。 暑い日が続きますね。この記事を書いている日の最高気温は34℃だそうです。34℃という数字を見てもすっかり慣れてしまった自分に驚きました。 今回は自分が所属する施工案件管理チームで一番ホットな、2023年7月にリリースした「写真台帳 Excel 出力機能」の概要と、その実装時に直面した技術的課題について紹介します。 1. 施工案件管理と写真台帳作成について 私の所属する施工案件管理チームでは、ANDPAD のコア機能である施工案件管理を開発・保守しています。 工事現場では、施工前から完成後まで多くの写真を撮影し、工事が適切に施工されたことを証明…
はじめに Dockerを使用すると、アプリケーションの開発環境を簡単かつ効率的にセットアップすることができます。 本記事では、Docker Composeを使ってRailsアプリケーションの開発環境を構築する手順を詳しく解説します。 はじめに この記事でわかること 前提 Docker化手順 1. アプリケーションの作業ディレクトリを作成 2. GemfileとGemfile.lockの作成 3. Dockerfileの作成 コードの解説 4. docker-compose.ymlの作成 コードの解説 5. .dockerignoreの作成 6. Railsアプリケーションの生成 7. Dock…
気になった用語や感想をまとめる(使用頻度が高くないもの等細かい所はきる) 導入(下記参考文献2より) putsはpと省略可(微妙に挙動が違う) オブジェクトを操作するのがメソッド「オブジェクト.メソッド」 オブジェクトは何らかのクラスに所属する オブジェクト(インスタンス)はクラスから作られる「オブジェクト=クラス.new」 1列は一次元配列、2列以上は多次元配列 インスタンス変数はオブジェクトのメソッドからのみ参照できる ただしアクセサを使うとオブジェクトの外から参照できる(ex. attr_accessor :xxx) 第1章_本書を読み進める前に ローカルで環境構築した 第2章_Ruby…
昨日は有給で休みでした。 プログラミング勉強以外にも、充実した一日となりました。 住宅設計をやっていると、 少し前からインスタでの施工実例を持って来られるお客様が増えてきました。 最近はむしろ、その傾向が当たり前のようになってきているように思います。 そして ご希望された時に どういった提案をするのか、 どのメーカーの商品なのか、知っておく必要がありますし 必要であれば別途調べる必要もあります。 割と、ご希望の内容はトレンドなどを押さえた実例が多いので、 我々、設計も事前にある程度勉強が必要になります。 プログラミングの勉強のルーティーンは良く書いていますが、 基本、建築の勉強についても毎日、…
2023/09/26分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionmailer/CHANGELOG.md Introduce ActionMailer::FormBuilder activesupport/CHANGELOG.md Add a new public API for broadcasting logs [skip ci] Missing language highligting added for bash code block rails guideのUpgrading Ruby on Railsの修正です。 exampleコードにcod…
はじめに Fly.io の Volumes の導入を取りやめた理由 正しい Volumes の構成 Amazon S3 を選択する 参考 Amazon S3 を設定する はじめに Next.js と Rails を使ってオリジナルの Web アプリを開発しています。 github.com 前回の記事で Fly.io の Volumes を外部ストレージに設定しましたが、Amazon S3 に乗り換えることにしました。 shirotamaki.hatenablog.com 今回の記事は、乗り換えた理由と乗り換え後の Amazon S3 の設定手順についてまとめた内容になります。 Fly.io の…
はじめに Fly.io の Volumes とは Volumes 利用時に考慮すべき内容 Volumes 設定時のルール 無料枠 Fly.io を初期化する 登場人物 Fly.io を初期化しデプロイをやり直す手順 fly launch 後の状態 Volume を作成 Machine と Volume の対を 1 組追加する Machine を削除する クローンする クローン後の結果 Volume をマウントするために App を設定する デプロイする PostgreSQL Free builder とは おわりに はじめに Next.js と Rails を使ってオリジナルの Web アプリ…
はじめに 効率よくRubyの学習をすることができる「Rubyフラッシュカード」をリリースしました! ruby-flash-card.fly.dev 目次 はじめに アプリの概要 ここがポイント 細かいポイント 技術スタック 開発で大変だったこと なぜやり直す事になったのか? 最初に作ったオンラインエディターもセキュリティの課題を抱えていたので作り直した 上記の問題をどうやって解決したか プログラミングスクールで学んだ半年間を総括する フィヨルドブートキャンプのカリキュラムは本格的で大変だった フィヨルドブートキャンプで学んで良かったこと 最後に アプリの概要 私が厳選した これを覚えるとコード…
こんにちは!もとひろです。 今回は、初めて輪読会に参加してから1ヶ月が経過したので、感想を書いていこうと思います! 完全に感想のみで、書籍の内容等には触れていませんのでご了承ください。 現在の輪読会参加状況 🚂 パーフェクトRuby on Rails 輪読会 🍒 早朝チェリー本輪読会 輪読会初期の自分 今の自分 感想 🚂 パーフェクトRuby on Rails 輪読会 🍒 早朝チェリー本輪読会 感想まとめ 輪読会自体の説明等はこちら↓ 輪読会は参加しよう! - もとひろ blog 現在の輪読会参加状況 🚂 パーフェクトRuby on Rails 輪読会 8月21日〜 今日で23回開催 パーフェ…
はじめに Next.js と Rails を使ってオリジナルの Web アプリを開発しています。 github.com Playwright を導入し E2E テストの実装は問題なくできましたが、その後 CI でのテストの自動化がうまくいかず数日ハマってしまいました。今回の記事ではその原因と結果についてまとめています。 Playwright 導入については以下記事にまとめています。 shirotamaki.hatenablog.com CI 環境構築 ローカル環境下でパスした E2E テストの自動化に取り組みました。 GitHub Actions に yml ファイルを用意し自動化のためのワー…
はじめに こんにちは!Akira(彰)です! 本日は 現場で使える Ruby on Rails 5速習実践ガイド を読んだ感想を、 良かったこと 学んだこと 難しかったこと に分けて書いていきたいと思います。 良かったこと Railsの基本原則に沿った開発を意識できる この本では実際に実装のコードを書いた後に必ず基本原則に沿うようにリファクタリングを行うので、実際にどのように考えてリファクタリングをするか、という流れが明確でした。 Railsアプリケーション作成の全体像を知れる 実際にハンズオンでタスクアプリの土台を作り、そこから機能を追加していく流れを知った上でRailsで使われている技術の…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ransackは簡単にセットアップでき、既存のRailsアプリケーションに統合しやすいです。 シンプルな構文を使用して検索フォームを作成し、モデルのクエリを生成できます。 また、Ransackはカスタマイズが容易です。 検索フォームのデザインや検索条件、ソートオプションなどを自由に調整できます。 カスタムの検索ロジックを実装することもできます。 まずはGemFileにgemの記述を追加します。 gem 'ransack', '~> 2.6' バンドルします。 コマンド bundle コントローラーに検索メソッドを追加します…
JAWS-UG朝会 #49 jawsug-asa.connpass.com ちょっとは秋らしい涼しさの朝です。 セッション セッション① 徹底比較!RDS vs RDS Custom 富士通 齋藤理沙子さん ざっくり RDS について 数クリックで DB を立てれる 6種類の DB エンジン:MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, Aurora リードレプリカでスループット耐久性向上 別 AZ スタンバイレプリカに同期可能 パッチ当てやバックアップなど「差別化に繋がらない管理」を自動化 RDS Custom RDS よりユーザーが手を加え…
昨日は詳細図、展開図などのディテールの図面の嵐でした。 この細かなつくりを描くことで、完成した時の見栄えに大きく影響します。 そして 各お客様の工程進捗状況の確認を各担当に向け社内連絡ツールを使い 行っていきました。 これは、随時管理していかない内容になります。 この確認を行うのが、割と皆得意ではないので、結構お守りをしていかないといけません。 むしろ、これが苦手とか業務を円滑に進めるには、ありえないと思うのですが、 結構できない人が多いです。 その確認、連絡の中で どう考えても土地の関係で、不可能な完工を担当営業と店長から言われたので、 進捗確認と現行の工程の認識の甘さについて、かなり店長と…
2023/09/25分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Allow SQLite3 busy_handler to be configured with simple max number of retries Performance tune the SQLite3 adapter connection configuration activestorage/CHANGELOG.md Allow attaching File and Pathname when assigning attributes …
俺の、って書いておかないとマサカリ飛んできそうなので。
以下のようなコードを読んで疑問に思って調べました https://github.com/fjordllc/bootcamp/blob/715b5994d918fa0b12075c31cd52b849696429cf/app/models/user.rb#L171 条件付きのバリデーションが多いです。 with_options if: -> { %i[create update].include? validation_context } do # create or updateアクションの際に、バリデーションを実行 validates :login_name, presence: true,…