fv17の日記 - Coding Every Day

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

RSpecにおいて、"FactoryBot"と記述しないで済む方法 / create(:user)と書こう

毎回、下記のようにFactoryBotって書いているのが苦痛。everyday Rails にはこの書き方しか無かったから、こういうもんだと諦めていた。 let(:user) { FactoryBot.create(:user) } こう書きたい。 let(:user) { create(:user) } 解決方法 spec/rails_helper.…

Rubyの文字列結合において、 + ではなく 式展開#{} を使うべき理由

下記の記事で紹介されています。 techracho.bpsinc.jp

未経験からバックエンドエンジニアとして転職するのに時に作成したいポートフォリオについて

KENTAさんの動画から抽出 参照 www.youtube.com まとめ メディア系のWebアプリ開発がオススメ。下記の機能があれば良い。 記事一覧表示 記事詳細表示 記事投稿 管理ユーザー登録(認証系ライブラリの習得) 管理ユーザーログイン 画像ファイルのアップロード D…

【Rails】あるモデルがどんなカラムを持っているかを確認する方法

rails c して、そのモデルの column_names メソッドを呼ぶ。 User.column_names # => ["id", "name", "email"]

【RubyMine】No Rails found in SDK エラーでRailsを実行、およびデバッグ実行できないので解消した

RubyMineでデバッグしてみよう!と意気込んでみたものの、No Rails found in SDK (直訳:SDKの中にRailsが見つからないぜ?)で、できない... というわけで、解消しました。 まず試したこと 下記2つのQiita記事を参考にした。エラーの先輩たちに聞く。[RubyMi…

【2018年度版】フロント、バックエンド、DevOpsエンジニアで一流になるためのロードマップ(記事まとめ)

各分野のエンジニアを目指す場合、何を、どんな順番で学ぶべきかが明確になるため一読するのがオススメ。 フロントエンド qiita.com バックエンド qiita.com DevOps qiita.com 機械学習、データサイエンティスト 2018年2月版 tjo.hatenablog.com 2017年夏版 …

Rails - 名前付きルートにおける_pathと _urlの違いと使い分け

_pathは相対パスで、_urlは絶対パスである。 root_path -> '/' root_url -> 'http://www.example.com/' 使い分けとしては、 _path : 通常はこちらを使う。例えば、Viewにおける利用。 _url : redirect_toする場合のみ。主に、controllerにおいて用いられる。…

RailsにBootstrap3およびBootstrap4を導入する方法

gemを入れることですぐにできる。Bootstrap3か4を使うかで利用するgemが異なる。Bootstrap3:bootstrap-sass Bootstrap4:bootstrap-rubygem Bootstrap3を導入する Gemfile gem 'bootstrap-sass', '~> 3.3.7' gem 'sass-rails', '>= 3.2' app/assets/stylesh…

RubyMine - ショートカット一覧

qiita.com

RSpecやFactoryBotを学ぶ際に、参考になる記事一覧

随時更新中 1.【アンチパターン】Arrange、Act、Assert(AAA)を意識できていないRSpecのコード例とその対処法 【アンチパターン】Arrange、Act、Assert(AAA)を意識できていないRSpecのコード例とその対処法 どんな記事? Ruby、Rails界隈において、日本の…

RSpec - コントローラスペックでは何をテストすべきか

前提 Rails5からは request spec で記述することが推奨され、公式から controller spec を書くことは非推奨とされている。 参考にした記事 RailsのController Spec | 酒と涙とRubyとRailsと Rails テスティングガイド | Rails ガイド テストすべき内容 Webリ…

Rails - 部分テンプレートではインスタンス変数の直接参照ではなく、localsで値を渡す

参照 Rails Best Practices - Replace instance variable with local variable Rails Best Practices の警告をちゃんと考える http://kadoppe.com/archives/2013/09/rails-partial-template-instance-variables.html レイアウトとレンダリング | Rails ガイ…

JavaScriptのファイルを読み込む位置はどこにすべきか?

回答 bodyタグの終端、すなわち </body> の直前。 理由 表示速度を速くするため javascriptファイルを読み込んでいる間は、HTMLファイルを読み込まない。そのため、ページのレンダリングを行わせてからjavascriptファイルを読み込むことで表示速度を早くする。その…

【各章まとめ】Everyday Rails - RSpecによるRailsテスト入門 - 第8章 スペックをDRYに保つ

復習用まとめ 本章で学ぶこと ワークフローをサポートモジュールに切り出す テスト内でインスタンス変数を再利用するかわりにletを使う shared_contextに共通のセットアップを移動する カスタムマッチャの作成 テストを集約して、複数のスペックを一つにする…

【各章まとめ】Everyday Rails - RSpecによるRailsテスト入門 - 第7章 リクエストスペック

復習用まとめ 本章で学ぶこと リクエストスペックとフィーチャスペックの違い 様々な種類のRESTfulなAPIをテストする方法 コントローラスペックをリクエストスペックに置き換える方法 リクエストスペックとフィーチャスペックの比較 リクエストスペックは sp…

RSpecでフィーチャースペックを行う

事前準備 gemのインストール group:test do gem 'capybara', '~> 2.15.2' end spec/rails_helper.rbにCapybaraの設定を追加 # This file is copied to spec/ when you run 'rails generate rspec:install' require 'spec_helper' ENV['RAILS_ENV'] ||= 'test…

Linux - 権限設定の確認や変更方法

下記のQiitaqiita.com

忘却曲線に基づいた効率の良い復習方法

忘却曲線とは? ある事柄を記憶した後、時間をおいたらどの程度思い出せるか、についての実験結果を図示したもの 出典: 忘却曲線 - Wikipedia 忘却曲線に関する補足 このグラフの縦軸が示しているものは、節約率であり、記憶の定着率ではない(Wikipediaより)…

【レビュー・体験談】【TechAcademy】2ヶ月間、Webアプリケーションコースを学んでみて

少し前ですが2017年の終わりから2018年のはじめに、TechacademyのWebアプリケーションコースで2ヶ月間学びました。コースで学んだ内容や個人的感想を書いたので、プログラミングスクール選びの参考にしていただければ。 受講したコース TechAcademyの Webア…

RailsにRSpecを導入する手順

目次 RSpecの導入 テスト用のファイルを自動生成する設定 RSpecの導入 Gemfile group :development, :test do gem 'rspec-rails', '~> 3.6.0' end 書き換えたら bundle install インストール bin/rails generate rspec:install .rspecファイル(設定ファイル)…

Git - ブランチとマージ関連のコマンド一覧

Git

ブランチを新規追加する # ブランチは切り替わらないので注意 git branch <ブランチ名> ブランチを切り替える git checkout <既存ブランチ名> # ブランチを新規作成して切り替える git checkout -b <新ブランチ名> ブランチの一覧表示 git branch # リモート…

【各章まとめ】Everyday Rails - RSpecによるRailsテスト入門 - 第1章 イントロダクション

復習用まとめ 本書の目的 一貫したテスト戦略を学び、自信を持って開発、機能追加、リファクタリングを行う。テストコードがアプリケーションを守ってくれる。 なぜRspecか 読みやすいから。書きやすいから。 対象となる読者 Rails の開発経験は多少あるもの…

Solidus - Productsまわりの概念まとめ

Solidus、Spreeにおける、Productsに関するまとめ。SpreeのDevelopers Guideの意訳を元に、SolidusのDevelopers Guideや自分で実装して確認した内容を備忘用にまとめています。 最初にお詫び 手探りで読みながら試しているため、誤った記述の可能性がありま…

Git - "git commit --amend" コマンドで、直前のコミットメッセージを修正する

Git

コミットメッセージを間違えた場合の修正方法 # 間違えた! git commit -m 'Wrong message!' 修正手順は下記 【方法1】ターミナル上で簡単に修正する方法 git commit --amend -m 'Correct message!' 【方法2】エディタを起動して修正する方法 (エディタがvim…

Rails - DBをリセットし、全データを削除する方法

全データを削除する方法は、下記の2つ 【方法1】全テーブルをdropし、db/schema.rbを元にテーブルを再作成 rails db:resetdb/schema.rbからテーブルを再作成するため、テーブル定義は変わらない。 【方法2】全テーブルをdropし、migrationを実行してテーブル…

jQuery - CSSを操作する方法一覧

CSSのclassを操作 ある要素にCSSのclassを追加 $('要素').addClass('class名') ある要素からCSSのclassを削除 $('要素').removeClass('class名') CSSのプロパティを操作 ある要素にCSSのプロパティを追加 $('要素').css('プロパティ名', '値') 複数設定した…

jQuery - セレクタ

下記HTMLの各要素を取得、操作することで、jQueryにはどのようなセレクタがあるかをまとめる。 <p>jQueryのセレクタ</p> <ul id="main"> <li class="item">1</li> <li>2 <ul id="sub"> <li class="item">2-1</li> <li class="item">2-2</li> </ul> </li> </ul> > 直下の子要素 $('#mail > .item').css('color', 'red') 「1」のみが赤文字になる 「2-1」「2-2」は赤文字にならない (空白…

ITエンジニアの効率の良い勉強方法(1) - 遅延評価勉強法

とあるエンジニアの方からアドバイスいただいたのでメモ。 問い エンジニアはどのように技術を学ぶべきか? 背景は、実務で高いパフォーマンスが出せるよう、適切な対象を高速に学びたい 回答 遅延評価勉強法で学ぶべし 遅延評価勉強法とは? 参考サイト(以…

Rails - Guardを使い、ファイル変更時にMinitestやRspecを自動実行する

やりたいこと ファイル更新時にテストを自動で行う 例えば、home.html.erbファイルが変更されたらstatic_pages_controller_test.rbを自動的に実行する Gemfileの設定 次の2行を追加 group :test do gem 'guard', '2.13.0' gem 'guard-minitest', '2.4.4' end…

Rails - 生成したコントローラやモデル、および実行したマイグレーションを元に戻す方法

コントローラ # 作成 rails generate controller StaticPages action1 action2 # 削除 reils destory controller StaticPages action1 action2 モデル # 作成 rails generate model User name:string email:string # 削除 rails destroy model User # モデル…