→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…
Repro では Aurora MySQL を使用しています。いくつか数千万行を越えるデータを持つ大規模なテーブルもあります。 大規模なテーブルのスキーマを変更するときは pt-online-schema-change1 を使用していますが、今回はその必要性を判断するタイミングを早めた話です。 pt-osc が必要になる理由等は次の記事が詳しいです。 - pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub 解決したい課題 Repro では Rails アプリケーションが管理画面や API を…
昨日は現場にて、大型住宅の最終チェック、現在エクステリア工事に差し掛かり、 いよいよ完成です。 ということで引渡し前に設計部署を連れて現場勉強会をさせていただきました。 納まり(つくり)や、どのような方法でスッキリ見せているかの手法、 デザインなどを含め解説させていただきました。 設計課の皆の励みや勉強になってくれればいいですね。 昨日は夜支店に戻り、引き続き、本社業務にてプランを作成していると、 ある営業が私の居場所を見つけてプラン相談にきました。 やはり、どんなに忙しくても、ここまで熱意をもってくれると断れないですね。 横で指導しながら、プラン作成業務を行いました。 その他もろもろ業務もあ…
更新日時 2023/10/03/07:07 Qiita Trends Daily 1位 [New] PowerApps,PowerPlatform,AIBuilder,ChatGPT Qiita Trends Daily 2位 ※前日4位 AWS,OpenAI,bedrock,langchain,LLM Qiita Trends Daily 3位 ※前日3位 Rails,devise,Gem,sorcery Qiita Trends Daily 4位 ※前日7位 読書,まとめ Qiita Trends Daily 5位 ※前日2位 Rails,React,プログラミングスクール Qiita T…
2023/10/02分のコミットです。 CHANGELOGへの追加はありませんでした。 rails db:drop now removes -shm and -wal sqlite files (#49436) activerecord/lib/active_record/tasks/sqlite_database_tasks.rbの修正です。 DBにSQLite3を使用している場合に、db:drop実行時にxx-shm、及び、xx-walファイルを削除するようにしています。性能改善を行った、Performance tune the SQLite3 adapter connection con…
生活と仕事 4:45起床。シャワーを浴びてすっきりして、5:40から仕事を開始。洗濯をしつつ仕事をしてから6:50ぐらいから珈琲貴族エジンバラへ。朝飯を食いつつ仕事を開始。お客さんにメールを送ったんだけど、定型文を修正するの忘れた状態で送ってしまった。あかんあかん。午前中はMapFish PrintをAWS Lambda Web Adapterを取り入れられるか検証していた。github.comとりあえずsam local start-apiが動作するまでは行ったのだけど、PDFが出力できなかった。コツとしてはsam local start-apiが8080ポートを使ってしまうので、ポート番号…
こんにちは!ピクシブでバックエンドエンジニアとして働いているこのぴーです。 今回はpixivコミックストアの作品検索機能をMySQLの全文検索からElasticsearchに移行したときの手順と移行後の効果についてお話していこうと思います。 背景 pixivコミックストアのバックエンドはRuby on Railsで作成していて、今回Elasticsearchへ移行する作品検索機能はMySQLの全文検索を使用して実装されていました。 作品数が少なかった実装当時は問題なく動いていたのですが、取り扱う作品数が数十万作品となった現在、スロークエリの大部分を検索クエリが占めるほど性能が劣化してしまう事態…
大谷翔平 大リーグでホームラン王を獲得 日本選手初の快挙 | NHK つらい記憶のフラッシュバックは「テトリス」をやると減る、研究 海外のCGクリエイターが『シン・ゴジラ』から日米の怪獣映画を比較する動画が面白い「大事なのは視点」「ハリウッドは怪獣を擬人化しすぎ」 四谷大塚の別講師も新たに逮捕 共謀し女子児童を盗撮疑い | NHK サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動 岡田准一11月にもジャニーズ退所か 周囲に意向伝える 事務所2度目の会見と同日発表も(日刊スポーツ) - Yahoo!ニュース [第41話…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Railsで開発したアプリケーションをherokuにデプロイする際、データベースのパスワードや他連携サービスの情報など、機密情報の取り扱いには注意が必要です。 ただ、開発環境と本番環境で機密情報の設定が違うため、アップデートを行う際に開発環境で確認できなくなると不都合が生じます。 そこで、開発環境での機密情報の設定方法と本番環境(heroku)での設定方法を解説します。 まず開発環境での機密情報の設定方法です。 GemFileに「dotenv」gemを追加します。 gem 'dotenv', '~> 2.8…
一昨日、昨日と家族との時間がしっかり取れた2日間でした。 その分、自分の活動は少し抑えましたが、合間、合間で行って行きました。 息子は私が運動会に参加できるのを喜んでいましたし、次の日のイベントに一緒に行けたのも本当に嬉しそうでした。 私の父親は昔からほとんど仕事で一緒に過ごした時間は本当に少なく、 大学の頃から社会人にかけて、やっと落ち着いて二人で話す時間が取れました。 私自身は特に、辛い思いはなかったですが、父親が単身赴任をしていたのもあって、 仕事で会えない頃は、段々と帰ってくる日が逆に嫌というか、めんどくさいというか、そんな風になって行きました。 私も多く影響を受けてますが、父親はとて…
要はバランス バックエンドとフロントエンドで人を分けるべきかは業態による Web開発がCGIでデザイン性のあまりない匿名掲示板を作る位の時代だと、そもそもフロントエンドができることがブラウザの仕様やパフォーマンス上の理由により制限されていたので、今ほど要求は少なかったのですが、デザイン性やUXの部分がプロダクトの中でのウェイトが上がってくるにつれ、ReactやVueを使ったようなサイトも増えバックエンドエンジニアが兼業でフロントエンドを担当するのもつらいシーンも増えました。 そういったケースの場合、Web開発においてバックエンドとフロントエンドを別エンジニアが担当し、分業するのが合理的な場合も…
皆様こんにちは、Amiaです。 私はここ一ヶ月くらいDockerについて学習をしていました。 そのためアウトプットも兼ねてタイトルにある通り『既存のアプリをdockerする方法』ついて今回はブログを書いていきたいと思います。 よろしければご覧になっていただければと思います。 ⚫︎今回の開発環境について ⚫︎手順全体像 ⚫︎手順 ①今回対象のアプリを置くディレクトリを用意する。 ②ターミナルを開き、アプリを置くディレクトリへ移動する。 ③今回対象のRailsプロジェクトをGithubからクローン(コピー)してくる。 ④③でクローンしてきたディレクトリの直下にDockerfileを作成する。 ⑤④…
はじめに SE5年目のしぐまと申します。 2023年6月11日にHappiness Chainというプログライミングスクールに入会し、約3ヶ月半が経過しました。 入会の経緯については以下に書きました! wsigma.hatenablog.com 9月が終わったので、9月にやったことを振り返り、10月の目標を設定します。 9月にやったこと Happiness Chainの課題 目標99時間に対して約108時間。 Docker Udemy Docker講座動画の残り5% インプット教材1 アウトプット課題 インプット教材2(任意) Ruby インプット教材 アウトプット課題5点 SQL SQLのイ…
ブログ筋を失う 25歳定年を迎えた。 周囲に優秀な SWE が増えたり、給料が上がったりして、不満が減った。 インターネットのムードがなんとなく変わってきた。 などの理由で、10年程前からブログを書かなくなった。 ダイジェスト ブログを書いていなかった期間のダイジェスト。 2014 - 1日20kmの深夜徘徊 Ingress にハマり、毎日深夜に家を出て外を彷徨い、明け方に帰ってきて昼まで寝て、昼過ぎから深夜まで仕事する、という生活をしていた。この頃から週1出社/週4リモートワークになった。 2015 - 毎日インクを塗る生活 僕はブレーキが壊れているという自覚があって、家庭用ゲーム機は買わな…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング redirect() Amazon S3にファイルをアップロードして、そのリンク先を表示させるにはビューで以下のように設定できます。 <%= link_to "プライバシーポリシー", 'https://rails6.s3.ap-northeast-1.amazonaws.com/...', target: :_blank %> このようにlink_toメソッドを使えば外部リンクのURLに誘導することができますが、ドメインが変わってしまうことで、サイトの認証プロセスなどで支障がでる場合があります。 そのような時は、rout…
はじめに 前提 OSS活動とは イベントの背景・参加の動機 イベントの概要 ワークショップやセッションの内容 興味深いトピックと学びのポイント OSS活動の流れ 1.まずはWorklogを作成 2.OSSの選定 3.ライセンスの確認 4.ユーザーとしてOSSを利用して気付きを得る 5.気付きをIssueやPRという形で貢献する 初めてのOSSコントリビューション Issueの報告とPR 今回の成果と貢献 提出したIssue 提出したPR 感想とまとめ 参考文献とリソース はじめに 前提 まず前提として、この記事を書いているのは未経験からプログラミングに挑戦中の者になります。学習はフィヨルドブー…