はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基本 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他
all? -> bool[permalink][rdoc][edit] all? {|item| ... } -> bool all?(pattern) -> bool すべての要素が真である場合に true を返します。偽である要素があれば、ただちに false を返します。 ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果が真である場合に true を返します。ブロックが偽を返した時点で、ただちに false を返します。 自身に要素が存在しない場合は true を返します。 [PARAM] pattern: ブロックの代わりに各要素に対して pattern === item を評価します。 例 require 'set' # すべて正の数か? p Set[5, 6, 7].all? {|v| v > 0 } # => true p Set[5, -1, 7].all
reject -> Enumerator[permalink][rdoc][edit] reject {|item| ... } -> [object] 各要素に対してブロックを評価し、その値が偽であった要素を集めた新しい配列を返します。条件を反転させた select です。 ブロックを省略した場合は Enumerator を返します。 例 # 偶数を除外する (奇数を集める) (1..6).reject {|i| i % 2 == 0 } # => [1, 3, 5] [SEE_ALSO] Enumerable#select, Array#reject [SEE_ALSO] Enumerable#grep_v
こんにちは。H.Tと申します。 今年の1月よりGMOソリューションパートナーからGMOアドマーケティングに転籍となりました。 アドマではAkaNe管理画面の開発を担当することになりRails漬けの毎日を過ごしております。 今回は画面のパフォーマンス調査をする機会がありrack-mini-profilerを使ってみたので簡単にご紹介できればと思います。 rack-mini-profilerは手軽にRuby on Railsのパフォーマンス計測ができるgemとなります。 使い方の詳細については下記の通りです。 インストール ローカルなどの開発環境で使う前提の場合は下記のインストールですぐに使えます。
Railsでlink_toを使うときに別タブで表示させたいと思い、実装したのでメモとして残しておきます。 手順 まず link_to で表示させたい文字列とリンク先URLを指定。
論理削除とは 実際にはデータを削除せずに、削除されたと見なすフラッグと呼ばれるカラムを設定することでユーザーには削除しているかのように振る舞うことができることをさします。 例えばtweetsテーブルというものがあった時に、 そのテーブルにdeleted_flagというboolean型のカラムを追加しておきます。 この状態のときdeleted_flagカラムのデフォルト値はnullです。 こうすることによって、ユーザーにtweetの削除ボタンが押された時にdeleted_flagに1という値がセットすることで、その削除されたツイートとして扱うことができるのです。 実際にSQLでDeleteされることをさし、データベースからも削除されます。そのため復元したり削除されたデータを参照することはできません。 論理削除のメリット 先ほどの例でも伝えたとうり、削除したかのように振る舞うだけなのですぐにデ
初心者向けにRubyでif文を1行で作る方法について現役エンジニアが解説しています。if文を1行で作る方法には、if修飾子や三項演算子があります。真の時に実行したい処理を書き、ifの後に条件式を書くなど使いわけていきましょう。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査 Rubyでif文を1行で作る方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。 Rubyについてそもそもよ
Botchi 主に20代前後の学生や社会人向けに休学、留学、英語、長期インターン、シェアハウス、転職、投資、プログラミングなどキャリアや海外に関する記事を書いています。筆者は複数カ国の留学経験もあれば、新卒の会社からレイオフされた経歴も持つ文系出身のソフトウェアエンジニアです。現在はフルリモートでVueとGoを使用しながらフリマアプリの開発に従事しています。タイトルが「文系エンジニア大学生の技術ブログ」なのは大学生時代に学んだ技術をアウトプットしようとしてブログを始めた名残です。 ソフトウェアエンジニア/プログラミングスクールメンター/トビタテ留学JAPAN 理系、融合・複合コース/カナダ・インド・アメリカ・イスラエル留学/海外インターン/技術:Ruby(Ruby on Rails)、Python(Flask、Django), My SQL,GCP,AWS, JavaScript,Hero
rubyの真偽判定メソッド(nil?/empty?/blank?/present?)を検証してみた結果、興味深いことがわかったRubyRails はじめに if文を使う時に、この条件ならempty?かblank?はどっちを使う方が正しいだろう・・・、と迷ったことはありませんか? rubyやrailsは多くの真偽判定メソッドを提供しています。 けれど、逆に多すぎることで混乱して、こんな時はどうなんだっけ?ということがたまに起きてしまいます。 なので、主要な真偽判定メソッド(nil?/empty?/blank?/present?)の挙動について色々と検証していきたいと思います。 環境 検証は下記バージョンで行いました。
HOMERubyruby rakeコマンド実行時に「Gem::LoadError: You have already activated rake xx.xx.xx, but your Gemfile requires rake xx.xx.xx. Prepending bundle exec to your command may solve this」が発生した場合の対処法 ruby rakeコマンド実行時に「Gem::LoadError: You have already activated rake xx.xx.xx, but your Gemfile requires rake xx.xx.xx. Prepending bundle exec to your command may solve this」が発生した場合の対処法 作成日 2020.07.20 Ruby ruby r
初心者向けにRubyで演算子を使う方法について解説しています。演算子にも代数演算子や比較演算子などいくつか種類があるので、よく覚えておきましょう。実際の業務でも役立つ知識になるはずです。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査 今回は、Rubyで書く演算子の使い方を解説していきます。 小学生の時に習った算数と考え方は似ていますが、見慣れない記号などもあるので、すぐ使えるように覚えておきましょう。 そもそもRubyがよく分からないとい
概要 ある配列を任意の長さ n ずつ分解したいです。 例えば、 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] を [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10]] にしたいということです。 簡単にできるんです。そう Enumerable#each_slice ならね。 array = (0..10).to_a #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] array.each_slice(3).to_a #=> [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10]] require 'active_support/core_ext/array/grouping' array = (0..10).to_a #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9
This page provides a collection of examples to help you learn how to build, test, and deploy applications written in the most common programming languages, frameworks, and platforms on CircleCI. If you are new to CircleCI, we recommend going through our Quickstart Guide for getting your first successful pipeline. For basic examples of adding pipeline jobs in a specific execution environment such a
1 はじめに CX事業本部の平内(SIN)です。 時系列に記録された情報(ログ)を、まとめて一覧したいというニーズは、結構あると思います。 処理のたびに下記のように情報(ログ)を追記していく一覧ファイルをいきなりS3上で生成するのは、結果整合性の制限から無理があります。 一覧(ログ)ファイルの読み込み 一覧(ログ)ファイルに追記 一覧(ログ)ファイルの保存 本記事は、それでも、S3上で一覧を生成したいと言うことで、SQS(FIFO)を挟んで試したみた記録です。 注意:試した結果は、微妙なので、「それでも!」という方は、読み進めて頂ければ嬉しいです。 2 排他制御の失敗 (1) ログ一覧の生成 最初に、S3上の一覧ファイルにログを追記して保存するLambda関数です。 import * as AWS from 'aws-sdk'; exports.handler = async (event
丹内です。 掲題のとおり、SQSを簡単に使うことができるshoryuken gemを使ってみました。 前提 ruby 2.2.4 rails 4.2.5 マネジメントコンソールでSQSの作成 AWSマネジメントコンソールのSQS画面から新規にキューを作成します。 Shoryukenによる負荷が抑えられるよう、Receive Message Wait Timeの設定を忘れないようにしてください。 インストール Gemfileに以下のように書いてbundle installします。 gem 'shoryuken' group :development, :test do gem 'foreman' end あとで解説しますが、railsアプリとは別にworkerプロセスも立ち上げるので、便利になるようforemn gemもインストールしています。 Jobクラスを作成 Shoryuken::Wo
<%= f.select :mc_id, options_for_select([['mcを選択してください', ''], ['晋平太', '1'], ['チプルソ', '2'], ['NAIKA MC', '3']]), {}, {class: 'mclist__select'} %> <select class="mclist__select" name="user[mc_id]" id="user_mc_id"> <option value="">mcを選択してください</option> <option value="1">晋平太</option> <option value="2">チプルソ</option> <option value="3">NAIKA MC</option> </select>
条件演算子(三項演算子とも呼ばれます)は条件式の結果によって異なる値を返す演算子です。ここでは Ruby で条件演算子を使った条件分岐を行う方法について解説します。
Lint Lint::AmbiguousOperator 括弧なしのメソッド呼び出しの最初の引数であいまいな演算子のチェック array = [1, 2, 3] # The `*` is interpreted as a splat operator but it could possibly be # a `*` method invocation (i.e. `do_something.*(array)`). do_something *array # With parentheses, there's no ambiguity. do_something(*array) # This is interpreted as a method invocation with a regexp literal, # but it could possibly be `/` method in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く