バージョン情報 Ruby 2.7.1 Rails 6.0.2.2 Vue 2.6.11 vue-turbolinks 2.2.2 解決したい問題 Ruby on Rails + Slim 環境で Vue の Slot を使いたい。 ネット上で情報が少なったので、記録しようと思う。 試行錯誤して、動いたものを以下記載する。 Vue公式 名前付きスロット Slim
はじめに 駆け出しエンジニアの私が、AtCoderやpaizaでアルゴリズム問題を解いていく中で、とても便利だったメソッドを書き残す。 puts, p, printの違い 自分の言葉で説明しようと思ったが、web上に山ほど記事があったので、止めることにする。 【Ruby超入門】print、puts、pの違い https://yukimasablog.com/ruby-print-puts-p 【Ruby】p, puts, printメソッドの違い https://qiita.com/rkkmshde/items/daf75aca9675f5a01d17 デバッグの時に使いこなせると、複雑なコードを書く時にかなり効率よくエラーやその原因に気づける。 三項演算子 if 〜 else 〜 end をもっと効率よく書くことができる。 number = 24 if number.even? n =
コードのドキュメント化 YARD(英語) および RDoc(英語) は、コードをドキュメント化するために複数のライブラリで使用される最も一般的なドキュメント生成ツールです。RubyMine では、クイックドキュメントルックアップを使用して、YARD または RDoc 構文で記述されたドキュメントを表示できます。さらに、RubyMine は、YARD タグで動作する拡張機能を提供します。 欠落している YARD タグを作成する YARD タグの有効性を確認して修正する YARD タグを活用して、コードインサイトを向上させる (たとえば、オブジェクト型の決定、メソッドのパラメーター情報の表示など。) YARD タグの作成と修正 ここでは、いくつかのパラメーターをとるメソッドを文書化する方法を示します。この場合、メソッドは 2 つの引数を取り、これらの値の積を返します。
はじめに Rubyは毎年12月25日にアップデートされます。 Ruby 2.7については2019年11月23日にpreview3がリリースされました。 Ruby 2.7.0-preview3 リリース この記事ではRuby 2.7で導入される変更点や新機能について、サンプルコード付きでできるだけわかりやすく紹介していきます。 ただし、Ruby 2.7は多くの新機能や変更点があり、1つの記事に収まらないのでいくつかの記事に分けて書いていきます。 本記事で紹介するのはパターンマッチ(もしくはパターンマッチング)です。 前編と後編にわかれています パターンマッチは説明する内容が多いので、次のように前編と後編の2部構成になっています。 前編 = パターンマッチの概要、case文っぽい使い方、配列やハッシュとのマッチ、変数への代入 後編 = 自作クラスをパターンマッチで活用する方法、パターン名の整理
Rubyの定数、注意点についてまとめておく 注意点 Rubyの定数は、多言語とは異なる仕様になっている 異なる仕様について プログラミング言語における定数とは 書き換え不可能 wikipediaで調べてみる 一度初期化するとその内容を変更することはできない。よって、内容が変化しないことが保証される名前が必要なときに使用される。 (https://ja.wikipedia.org/wiki/%E5%AE%9A%E6%95%B0_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)) 定数の内容は変化しない、これはruby以外の言語を学んだ人であれば当たり前のことだろう。 Rubyおける定数とは 書き換え可能 Rubyの定数について詳しくみていく 定義 アルファベット大文字で始まる識別子 例:Abc、ABC、ABc
ブログ記事からの転載です。 追記 pipeline operator の議論は RubyKaigi 2019 の Ruby Committers vs the World で話が出ていたみたいですね。 [JA|EN] Ruby Committers vs the World - YouTube 取り急ぎまとめ。 今日、Ruby の開発者会議に参加させて頂いて、さっき返ってきて ML みてたんですがいつの間にか pipeline operator がマージされていました。 思わず3度ぐらい ML と commit を見直してしまいました。 え、ほんまに??? commit: Add pipeline operator [Feature #15799] · ruby/ruby@f169043 · GitHub issues: Feature #15799: pipeline operator
ISUCON のブログ記事等で当たり前に出てくる「N+1問題」を知らなかったので、調査した結果です。 TL;DR N+1問題とは、このブログ記事にもう全部書いていますが、 N件のデータ行を持つテーブルをごそっと読みだすのに1回 別のテーブルから、先述のテーブルの各行に紐づくデータを(1件ずつ)読み出すのに計N回 合計でN+1回のクエリを実行している状態です。 (1+N問題と考えた方が理解しやすい) Nが大きいときは処理に非常に時間がかかるため、対応が必要になります。 対応策としては、 JOIN句による表の結合 Eager Loading(必要なデータを事前にロード) の2種類があります。 例 図書館の本貸出管理システムを考えます。 以下のように、「書籍」テーブルと、図書館の「利用者1」テーブルがあるとします。 各書籍について、借りている人の名前と、年齢を知りたいときを考えます。 欲しいのは
はじめに 皆様、こんにちは! 佐久間まゆちゃんのプロデューサーの@hiroki_tanakaです。 私はRailsアプリケーションの保守に関わっているのですが先日、本番環境に大量の不要データが存在していることが判明しました。 それがキッカケでRailsでの大量データの削除方法を検討したので、調べたことをまとめました。 Railsにおけるdestroyとdeleteの違い まず、Railsには2つのデータ削除メソッドのdestroyとdeleteがあります。 それぞれの違いを簡単にまとめたいと思います。 destroy/destroy! ActiveRecordを介して指定した1レコードを削除します。 ActiveRecordを介するためcallbackメソッド(before_destroyやafter_destroyなど)やvalidationが機能します。 また、削除対象のModelにd
はじめまして。2019年4月から妊娠・出産アプリ『Babyプラス』の開発チームにJOINした濱田です。 『Babyプラス』のバックエンドはRailsで実装されているのですが、とあるCSV生成処理がとても遅かったので100倍以上に高速化しました。この過程でRailsアプリの処理高速化に関する以下の知見が得られたので、具体例を交えて共有します。この知見は、ActiveRecordを使用してMySQLなどのRDBMSからデータ抽出をする様々な場面で活用できると思います。 いわゆる「N+1問題」を起こさないのは基本 「ActiveRecordインスタンスの生成コスト」はそれなりに高い pluckはjoinsと組み合わせることで他テーブルのカラム値も取得できる 前提: DBスキーマとデータ規模 今回の処理高速化に関わるモデルのDBスキーマとデータ規模は以下の通りです。なお、これらは本エントリ向けに少
初めに 認証メールに画像やアイコンを載せたく、試みようとしたらDeviseの認証メールをカスタマイズしないといけなかったので、その経緯を記してみます( ..)φメモメモ カスタマイズせずに試みたコード view <!DOCTYPE html> <html> <%= stylesheet_link_tag 'mailer', media: 'all', 'data-turbolinks-track': 'reload' %> <p><%= @email %> ○○○へようこそ!</p> <p>メールアドレスの確認をした後にご利用頂けます。</p> <%= image_tag 'mail.png' %>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く