→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…
昨日というよりむしろ今日、午前1時に帰宅しました。 久しぶりに深夜近くの残業でした。 たまに押し寄せる様に不測の仕事が来ます。 しかし、そんな怒涛の仕事と物理的に無理じゃない?という このギリギリな感じが実は一番燃えます!! 友人からはワーカホリックとよく言われますが、 今日は駆け抜けるような一日でした。 昨日は自分のタスクが結構あったので、 遅くなるのは覚悟はしていたのですが、 余りに、他事が多かったので、 だいぶギリギリな感じになりました。 自分の仕事はもちろん、後輩の進捗の確認は必ず行わないといけません。 朝イチ進捗確認するのですが、うまい具合に進んでいない様子です。 決められた工程に合…
2023/09/28分のコミットです。 CHANGELOGへの追加はありませんでした。 Make sure scheduled_at is a Time object when asserting enqueued jobs activejob/lib/active_job/test_helper.rbの修正です。 Active Job用のtest helperでjobのdeserialize時にscheduled_atをTime objectに変換するよう修正しています。Set, serialize, and deserialize Active Job scheduled_at as Ti…
目次 目次 概要 Basic認証とは Basic認証とよくあるフォーム認証との違いとは ステートレス、ステートフルについて 認証フォームについて 認証情報の保持について 認証情報の有効範囲について ユーザー情報について ログアウトについて Basic認証とフォーム認証の認証フローを比較してみる Basic認証の問題点 Basic認証を実装してみる 動作確認 終わり 参考記事 概要 Basic認証とフォーム認証の違いをあまりよくわかっていなかったので、まとめます。 Basic認証とは Basic認証とは、HTTPのプロトコルに標準で用意されている認証方法の1つです。Basic認証を導入している場…
はじめに 今回は実施まであと10日に迫ったIPAのDBスペシャリスト試験への対策としてDBの基礎的な部分の復習をしていきます。 本業に加えて副業、個人開発等も行いながらのため対策の時間をなかなか捻出できていませんが、受験申し込みはしたので試験当日はしっかり受験会場には行きたいと思います。 RDB(関係データベース)の基本概念の簡単な紹介 関係データベース(RDB: Relational Database)は、関係モデルに基づいてデータを管理するデータベースです。このモデルでは、データはテーブル(関係)の形で格納され、テーブルは行(タプル)と列(アトリビュート)によって構成されます。各行はユニー…
発端 ChatGPTが普及して少し経ってから私もChatGPTを積極的に利用するようになりました。最初は「ChatGPTやっぱり便利」と思っていたのですが、個人的には通常のブラウジングとChatGPTの使い分けに課題を感じるようになりました。「これは通常のブラウジングのほうが求める結果を見つけるのは速いのでは?」などと感じる機会が少なからずあったからです。個人的に感じているストレスとそれに対する解決策を考察したものですが、今後も使い分けについて考えることがありそうです。 ストレスな部分 一部前述していますが、ChatGPTでストレスに感じた部分は以下です。 レスポンスの遅さ 「 通常のブラウジ…
テックゲート転職は、エンジニア職に特化している転職エージェントです。 ・・とはいっても、実際のところどんなメリットがあるのか、どんな人に向いているのかさっぱり分からないのが現実だと思います。 そんなわけでこの記事では、テックゲート転職の独自の特徴や強み、テックゲート転職を実施に利用されている方のリアルな口コミをご紹介していきます。 テックゲート転職とは? 会社概要 エンジニア未経験OKの求人が豊富! 開発言語やフレームワークを選んで求人を絞ることが可能 テックゲート転職の気になる評判は? まとめ テックゲート転職とは? 冒頭でもご説明したようにテックゲート転職は、エンジニアの転職に強い転職エー…
こんにちは。 id:Pocke です。最近は秋の味覚にあけびの皮の味噌炒めを楽しみました(今年は不作で品薄みたいですね)。 さて今回は登壇のお知らせです。 来る10月27日と28日に Kaigi on Rails 2023 が東京は浅草橋で開催されますが、マネーフォワードからも私 pocke と koyama の2名が登壇します。 この記事では登壇内容の紹介を簡単にさせていただきます。 Active Record クエリクイズ (pocke) kaigionrails.org 日時 Day 1. 2023-10-27 18:10-18:25 概要 このトークでは、Active Record が…
Agile Journeyをご覧のみなさん、はじめまして。株式会社リンクアンドモチベーションの川津(@KawatsuYusuke)です。こちらの記事では主に私たちがFour Keys メトリクスを元に、開発生産性向上を目指した活動に関する話題についてお伝えします。 と言っても、『LeanとDevOpsの科学』をはじめ、Four Keysの運用に関するトピックはすでに多く語られています。また、Four Keysは便利なメトリクスであるがゆえに、ときに「Four Keysを改善する」という手段が目的化してしまうことがあります。本稿では主にこれから開発生産性向上に取り組もうとしている方に向けて、私た…
昨日は2連休最終日ということで、久しぶりに夜は実家に行って晩御飯でした。 最近は母親と仕事についての話をよくするのですが、 昨日は久しぶりに父親と仕事とデザインについての話をしました。 うちの家族構成は 父親:元大手の家電メーカーのデザイナーで、定年退職後 現在フリーのデザイナーをのんびりやってます。 母親:デザイン事務所経営 企業デザイナーを経て、30代で起業して今もバリバリやっています。 私:某ハウスメーカーで建築設計に携わる一級建築士です。 妹:美大出身、複数の留学と海外での仕事を経て、海外の方と結婚し、今海外でのんびり生活しています。 うちの家系で一番自由に生きている人だと思います。笑…
2023/09/27分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Fix duplicate quoting for check constraint expressions in schema dump when using MySQL activestorage/CHANGELOG.md Add expires_at option to ActiveStorage::Blob#signed_id. actionpack/CHANGELOG.md Add support for #deep_merge and #…
消費税は逆進性が高すぎるので零細自営業者からは取らないよう例外を設けることで消費税制が成立したのに、それから34年も経ってから「零細自営業者から搾り取らないのは不公平だ」って言われてもなぁ、と思っている。 #インボイス— 小野マトペ (@ono_matope) 2023年9月26日 「Google スプレッドシート」のことを「スプシ」ということには慣れたけど、「Excel やスプシ」と聞くと「Excel もスプレッドシートでは?」と一瞬思ってしまう病にかかっています。— とみたまさひろ🍣🍺 (@tmtms) 2023年9月27日 Netflix で「GAMERA -Rebirth-」を見た。人…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング 本番環境でStatic画像(静的な画像)を表示するにはあらかじめコンパイルしておく必要があります。 以下のコマンドを実行してコンパイルを行います。 コマンド rails assets:precompile RAILS_ENV=production 次に現状のアプリケーションをGithubにコミットします。 コミットの手順は以下の通りでお願いします。 ソース管理を選択します。 ソース管理 「+」をクリックして全ての変更をステージします。 全ての変更をステージ コミットネームを入力します。 コミットネームを入力 チェックマーク…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Railsで開発したアプリケーションにStripeコネクトを導入している場合、本番環境で利用する際に設定が必要です。 開発環境のlocalhost:3000からHerokuのドメインに変わるためです。 では順を追って説明します。ストライプのダッシュボード左の「設定」をクリックします。設定connectの設定をクリックします。connectの設定 リダイレクトで「URI追加」をクリックします。URI追加 URIは「https://macoshigoto.herokuapp.com/auth/stripe_co…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Herokuデプロイ設定 Ruby on Railsで開発したアプリケーションをデプロイする際、開発時にdevelopment.rbファイルに記述してきた設定を本番環境用設定ファイル「config\environments\production.rb」に書き写し、新たに本番環境用設定を書き加える必要があります。 順を追って解説します。 「config\environments\production.rb」ファイルを編集していきます。 httpsの設定 https通信の設定を行い、SSLに対応させます。 47行目のコメントア…
RakeタスクでとあるCSVファイルをダウンロードしながら(CSV.foreach)、データの加工やDBへの保存処理を行うスクリプトを作成していたところ、以下にあるような課題に当たって、ヘルパーメソッドを作成したので背景とともに残しておく 背景と課題 ローカルで手軽にRakeタスクを実行したいが、HerokuでホストされているDBへのIOに時間がかかる heroku runコマンドで実行するRakeタスクの引数に、GCSの公開バケットのURLを指定して、DBとスクリプトの実行環境を近づけることに GCSのバケットにあらかじめアップロードしておいたCSVファイルをURI.parse('<http…