→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 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…
ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action View ヘルパーの章です。 railsguides.jp ベンチマーク リンクはこちら viewの中でかかった処理時間を計測できる。 結果はログに出力される。 <% benchmark "Benchmark Test" do %> <%= sleep 3 %> <% end %> Started GET "/books" for ::1 at ... Benchmark T…
ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、レイアウトとレンダリングの章です。 railsguides.jp render inline リンクはこちら ガイドの中でも「このオプションを実際に使う意味はめったにありません。」と記載がありますが、コントローラでerbを直接記載できます。 class BooksController < ApplicationController def index @books = Book.all r…
昨日は遠方の支店で、 大型住宅の内装や造作の部分をその支店の設計と一緒に、 お客様との打ち合わせでした。 大詰めなので、ほぼ確定です。 大量のタイルをサンプル取っていたのですが、そこも決定です。 そんな忙しくも楽しい打ち合わせの合間に水を差すことも起きて、 色々な一日でした。 本社でもそうですが、支店でも派閥があって、上長同士が仲が悪いことがあります。 昨日は、本社の二人の争いに私も若干巻き込まれてしまいました。 一人は昔から仲の良い重鎮ともう一人は、新しく出世した人です。 新しい人も私は特に仲は悪くないですが。 昨日はその二人の間に挟まる感じになりました。 私としては、基本、正しいことが正し…
はじめに Brakemanとは 導入方針 導入方法 終わりに はじめに 普段アルバイト事業部で主にバックエンドの開発をしている@ayumu838です。 最近はStaubのホーロー鍋を買って煮込み料理をよく作って食べています。 食欲の秋なので日々のカロリー摂取量は増加の一途を辿っているのが少し心配です。 ところで皆さんは、自身のRailsプロジェクトに対してセキュリティチェックを行っていますか? この記事では、GitHub Actionsを使ってRailsプロジェクトに対してBrakemanを導入して、セキュリティチェックを行った時の話です。 Brakemanとは ソースコードに対してSQLイン…
Railsでconfig配下に置く各種初期化ファイルについて、それぞれのユースケースや実行の順番について整理しておきます。 今回はRailsガイドでも挙げられている、代表的な初期化コードの配置および定義場所を扱います。 config/application.rb config/environments 配下 config/initializers 配下 initialization events config/application.rb Railsアプリケーションの起動時にgemなどに依存しない、1番はじめに実行させたい共通の初期化コードを書きます。 Rails::ApplicationはR…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Rails 6を使用してGoogleの自動補完(Autocomplete)を実装するには、以下のステップに従うことができます。 Googleの自動補完は、通常、Google Places APIを使用して実装されます。 まずはGoogle Cloud PlatformにGoogleアカウントでログインしてAPIキーを取得してください。 手順は以下の通りにお願いします。 mrradiology.hatenablog.jp GemFileに以下のgemを追加します。 gem 'geocoder', '~> 1.8', '>= …
前書き オリジナルアプリを開発中データベースに文字数制限のバリデーションをかけようとして最大文字数を何文字で設定するのがいいのかな?と疑問に思ったので将来の自分へと、また同様の疑問を抱いた人に有益になるように記事に残します。 結論 ⇨アプリの仕様次第 私のアプリの仕様 月間目標のカラムの文字列を制限しようとしました。月間目標の例 中間テストで400点取るなど 文字数が1000文字2000文字になることは考えにくい。なのでvarchar(255文字)でいいと判断できる。 varchar(255)とvarchar(65535)の違いは? ⇨文字数が多い方がデータベースの容量をとる。ただし10文字登…
概要 表題の通り、Rails v7.1.0 で APOSTROPHE (U+0027) が SINGLE QUOTATION MARK (U+2019) に変わります。 github.com 既存のRailsアプリをアップグレードする際に影響が大きそうなので、記事を書きました。 影響範囲 テストでエラーメッセージを検証していた場合、Rails v7.1.0 のアップグレードによって検証に失敗するようになります。 Expected: "can't be blank" Actual: "can’t be blank" 今回の変更を知らない場合、このテストのエラーメッセージだけで ' と ’ の違い…
こんにちは、mimoと申します。デザインシステム部とpixivFACTORY部を兼務しており、普段は主にフロントエンド領域の仕事をしています。 今回、ピクシブは2023年10月27日~10月28日に渡って開催されるKaigi on Rails 2023にRuby Sponsorとして協賛いたします。 また、Kaigi on Railsをピクシブらしく盛り上げたいと考え、弊社主催の懇親会「RubyMusicMixin on Rails 2023」を開催いたします。 RubyMusicMixin on Rails 2023とは Kaigi on Rails 2023の日程に合わせて開催するピクシブ…
ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。 実は今年の4月に育児休業から復職していました。 このブログの主旨からは外れるので特段書きませんが、育休は最高の体験でした。機会があればお勧めします。 今回から何回か使って弊社アプリケーションで発生したエラー事象とその調査について記事を書きます。 エラーが発生したアプリケーションはいわゆるwebアプリケーションなのですが、原因の調査手法としてはパケットキャプチャを行うことになりました。 普段webアプリケーションの開発ではあまり出番が無い(と思う)パケットキャプチャなので、方法などを共有できればと思いま…
みなさん、こんにちは。パーソルキャリアのCTO 岡本です。 2023年8月29日~31日にサンフランシスコで開催されたGoogle Cloud Next '23へ行ってきました。今回はGenerative AIから、Cloud Collaborationといった幅広いプログラムが用意されていることもあり、自分自身の学びを深めるためにも、参加することを決めました。 一緒に同行してくれたのは、デジタルテクノロジー統括部 ゼネラルマネジャーの斉藤さんです。彼と共に今回のイベントを振り返っていきたいと思います。 イベント概要 参加したプログラムやセッション、その様子 ここでちょっと小話。 印象に残った…
昨日は現場打ち合わせが19時までかかり、会社へ戻り、今週末の打ち合わせ準備を行いました。 今回の現場打ち合わせで、この大型住宅は10月には引き渡しです。 打ち合わせ内容は外構打ち合わせとなりましたが、打ち合わせ後、 器具付け中の現場をお施主様と内覧しました。 かなり規模が大きかったので、打ち合わせは大変でしたが いよいよ形になってきました。この最後の瞬間が楽しみの一つです。 私は、建築を設計する際に注意する点は 第一に、違和感をなくすことを基本に行います。 これは、先輩から教わったことなのですが、 デザイン云々の前に、 窓や建具、壁、設備などなどのラインの通り や意図のない不要な線、 見せたく…
はじめに 転職を考えたきっかけ 入社したきっかけや入社を決めた理由 転職先を探していたときに重視していたこと 入社したきっかけ 入社を決めた理由 入社前の不安とその後 入社後の仕事内容 開発チームの雰囲気 コミュニケーションスタイル ペアプログラミングと認識合わせ オープンなフィードバック 育児と仕事の両立について 両立するための工夫 共働き夫婦の協力体制 まとめ 採用情報 会社紹介資料 採用情報詳細 はじめに はじめまして、開発チームの岩本です。 2023年5月に業務委託から関わらせてもらい、2023年8月から正社員としてチームメンバーとなりました。 現在は熊本県在住で、夫と3歳と1歳の男の…
2023/09/20分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Dump PostgreSQL schemas as part of the schema dump. Ensure the SQLite3 adapter handles default functions with the || concatenation operator railties/CHANGELOG.md Require concurrent-ruby in config/puma.rb so that Puma can boot i…
実務で初めて触ったgem「jb」について、自分なりの解釈を書いて行きます🙌 もし不備などがあれば教えてください! jb ピュアな Ruby の文法で書ける、JBuilder オルタナティブな JSON 生成用テンプレートエンジン 公式様様はこちら↓ github.com JSON形式のデータを簡単に作成する事が出来る整形ツール、かつ高速とのことです。 名前が短くどんなgemなのかパッと見わからなかったのですが、Jbuilder から取った名前みたいですね。 公式githubに記載ある使い方の欄に Put a template file named *.jb in your Rails app'…
DOM操作に苦戦しました。 radioボタンの選択肢によって、fileタグが表示される、という機能を作っているのですが、苦戦しました。 実際に書いたコードは以下です(途中です。冗長な箇所を治す予定) = f.radio_button :thumbnail_type, Article.thumbnail_types.key(1) = f.label :thumbnail_type, value: Article.thumbnail_types.key(1) = f.radio_button :thumbnail_type, Article.thumbnail_types.key(2) = f.l…
こんにちは!TECH Street編集部です! 2023年6月15日(木)に開催した、 「Go言語/最新情報・活用事例セミナー」のイベントレポートをお届けします。 今回はGo Conferenceの主催や一般社団法人Gophers Japanの理事を務める清水 陽一郎さんと、一般社団法人Gophers Japan の監事として Women Who Go Tokyo や Go Conference といった Go 言語コミュニティを運営されている白川 みちるさんをお招きしてGo言語を学ぶセミナーを開催しました。その様子をレポートいたします。 登壇者はこちらの方々! 清水 陽一郎さん/株式会社La…