言葉の解説
ネットで話題
関連ブログ
→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
解説の続きを読む
bulletとは https://github.com/flyerhzm/bullet The Bullet gem is designed to help you increase your application's performance by reducing the number of queries it makes. It will watch your queries while you develop your application and notify you when you should add eager loading (N+1 queries), when yo…
バリデーションでエラーになった際に、エラーメッセージを各テキストフィールド等の下部に表示したい時があると思います。 今回はそんな時に便利な各attributeごとにエラーメッセージを抜き出す方法を紹介します。 手順 例えば User の email のエラーは以下のように抜き出します。 user = User.new user.valid user.errors.where(:email) 抜き出したものは配列になっているので、以下のようにすれば全てのエラーメッセージを日本語化した状態で取得できます。 user.errors.where(:email).map(&:full_message) …
ゼネットの土屋です。 先日Rails 7.2 Beta 1について投稿させていただきました。 その際、大きな変更点については触れましたが、非推奨への変更については触れませんでした。 media.zenet-web.co.jp 今回はRails 7.2で非推奨となる「enumでキーワード引数を使用した列挙型の定義」について触れていきたいと思います。 非推奨警告の内容 modelのenum定義がキーワード引数を使用した列挙型の場合、下記のような非推奨警告が出力されます。 DEPRECATION WARNING: Defining enums with keyword arguments is de…
こんにちは。エンジニアの森本です。 kickflowでは、申請するチケットに対してファイルを添付することができます。これらをActive Storage のダイレクトアップロードを使って実現しています。 以前からファイルを大量に添付したチケットを申請すると、タイムアウトが発生してしまう問題がありました。APMサービスを見てみると、ファイルをダウンロードしている処理がありました。 今回は、ダイレクトアップロードを利用していてファイルを大量にアップロードしたときにタイムアウトが発生しないように行った工夫を共有したいと思います。
RailsのActive Supportには便利なメソッドがたくさんあります。 ふと思いつきで、その便利メソッドを自分で実装して、Railsの実装と見比べたら何か気づきがありそうと思ってやってみました。 対象は、truncateメソッドです。(オプションはomissionだけ対応) railsguides.jp 実装してみたコード class String def truncate(num, omission: '...') omission_count = omission.size if size <= num # そのまま表示できる場合 self else # 「...」など表示する場合…
概要 何気なく、使っていた下記のようなテストですが、 expect(subject).to be_truthy 正しく使い方を知らないと、通るテストを書いているだけ出会ったことを学んだので、共有します 内容 今回、テストを書こうとしていたものは下記のようなメソッドです def admin? user.role == 'admin' end テストでは、下記のように書いていました context 'user role is admin' do let(:user) { create(:user, role:) } let(:role) { 'admin' } subject { user.adm…
unsignedって? Railsでunsignedな値を設定する 全テーブルの一括unsigned変更 unsignedって? 数値型のカラムにおいて、マイナスの値を取らない(取れない)データ型のことです。 マイナスを示すデータを持つことが出来ないためマイナスの数値を表現できませんが、その分プラスのデータの最大値が増えます。 type min max INT -2147483648 2147483647 UNSIGNED INT 0 4294967295 BIGINT -9223372036854775808 9223372036854775807 UNSIGNED BIGINT 0 184…
2024/07/11分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activesupport/CHANGELOG.md Optimize load time for Railtie#initialize_i18n. Filter I18n.load_paths passed to the file watcher to only those under Rails.root. Add documentation for delegated methods on Metal actionpack/lib/action_controller/metal.rb、 acti…
※ 掲載内容は寄稿日現在の情報です。現在も本記事の職種が同条件で募集されているかどうかは要確認 はじめに 今回ご紹介するのは、株式会社Stockが募集しているフロントエンドエンジニアの求人です。株式会社Stockは、非IT企業向けの情報共有ツール「Stock」を開発・運営するスタートアップ企業です。この記事では、求人情報から読み取れる会社の特徴や、フロントエンドエンジニアとしての役割、そして非IT企業の業務効率化に貢献する意義について深掘りしていきます。 株式会社Stockとは 株式会社Stockは、「世界中の『非IT企業』から、情報共有のストレスを取り除く」をミッションとして2014年に設立…
Web開発において、バックエンドフレームワークは不可欠な要素です。効率的でスケーラブルなアプリケーションを構築するためには、適切なバックエンドフレームワークを選ぶことが重要です。この記事では、バックエンドフレームワークのトップ10を紹介し、PythonとJavaのバックエンドフレームワークについても詳しく解説します。 バックエンドフレームワークトップ10 Django (Python) フルスタックフレームワークで、迅速な開発が可能。セキュリティ機能も豊富。 Flask (Python) 軽量なマイクロフレームワーク。シンプルで柔軟性が高く、拡張性に優れる。 Spring Boot (Java…
はじめに こんにちは!株式会社スマートバンクでサーバサイドエンジニアをしている @nagasawa です。 2024年6月より弊社では Ruby 3.3.2 を本番アプリケーションで稼働させ始めたため、バージョンアップ前と比較してどの程度パフォーマンスに変化が現れたのかをご紹介いたします。 また、今回を機に YJIT Metrics の可視化と YJIT の遅延起動にも取り組んだため、その手法や効果についてもこの記事内でシェアできればと考えています。 前提 下図のシステムアーキテクチャ図の通り、弊社では Ruby と Rails で開発されたいくつかのシステムを稼働させています。 この記事では…
はじめに こんにちは、torihaziです ただいま朝の8時半です。 今、Rails React のSPAで devise-token-authを使って認証周りを作成中です ただcurlでPOSTリクエスト使って登録やろうとしたんですけど うまくいかず。 なんででしょうね。これ書いてる今も解決してません。 ということでゆるくいきます。 現状 gemにdeviseとdevise-token-auth、rack-cors入れてbundle installやりました。 その後で rails generate devise:install rails generate devise_token_aut…
2024/07/10分のコミットです。 CHANGELOGへの追加はありませんでした。 Merge pull request #52293 from akhilgkrishnan/upgrade-ruby-variant-devcontainer .devcontainer/Dockerfileの修正です。 Devcontainerで使用するRubyのバージョンを3.3.4に更新しています。 Merge pull request #52276 from andycroll/guides-h2-code-css guides/assets/stylesrc/_main.scssの修正です。 ra…
こんにちは、MedPeerの開発を担当している森田です。 今回は私が開発に参画しているMedPeerに元々E2Eテストで利用していたCapybaraと、reg-cliを利用してビジュアルリグレッションテスト(以下VRT)を行える環境を整備したので、それについてご紹介させていただきます。 なぜ、VRTを導入するのか? VRTの要件と技術選定 実際に構築したVRT基盤の概要 VRT基盤の具体的な話 System Spec内でスクリーンショットを取得する reg-cliでスクリーンショットの差分をチェックする 分かりやすいコマンドでVRTを実行できるようにする CIで差分をチェックする OS間での利…
こんにちは、プロダクトエンジニアのceris(せりやん)です。 SmartHR は今年の 6 月に「HR アナリティクス」機能をリリースしました。 わーーー、めでたい。 プレスリリースも出ているのでぜひあわせてご覧ください。 収集した人事データを分析できる新機能「HRアナリティクス」を公開 | SmartHR|シェアNo.1のクラウド人事労務ソフト 丹精込めて作ったプロダクトが世に出て、人に使っていただけるというのはとても気持ちがいいですね。 既にユーザー様からの要望やお問い合わせも頂いており、開発チームのメンバーもそれらを目にしながらより良いプロダクトに進化させようと日々モチベーションを高め…