アラサーOLだっしゅつけいかく

30代でOLを辞めて未経験からエンジニアになろうと一念発起した人の活動記録です

勉強メモ@自分用

勉強中に調べた用語などをここに記録していきます。

簡単なまとめだったりあとで読みたい記事などのストック!
本当の記録用なので意味不明でもご容赦ください。
なお、万が一間違っているところがあれば教えて下さると幸いです。

add_index

indexとは

特定のカラムからデータを取得する際に、テーブルの中の特定のカラムのデータを複製し検索が行いやすいようにしたものです。

indexを作成するカラム

ある程度多くのデータを格納するテーブルの、格納される値がそれぞれ異なるようなカラムの中で、検索がよく行われるカラム

データベースにindexを張る方法 - Qiita

マークダウン記法

Markdown記法 チートシート - Qiita

リレーションシップ

テーブルの関連付けデータベースで、共通するフィールドを通じて複数のテーブルが関連付けられること。

リレーションシップ(りれーしょんしっぷ)とは - コトバンク

default_scope

ActiveRecordには、すべてのクエリに追加で絞り込みやorderを指定する default_scope という機能がある。

Railsのdefault_scopeをどうしても使いたい時 - Qiita

調べてたらあまり使わないほうが良さそう…?

Railsのdefault_scopeは使うな、絶対(翻訳)

Railsのdefault_scopeは悪だ!(default_scope is evil) ということらしい - Qiita

遅延評価

評価しなければならない値が存在するとき、実際の計算を値が必要になるまで行わないことをいう。

遅延評価 - Wikipedia

Proc、ラムダ

あとでチェリー本使って勉強する◎

RubyのブロックとProcと、ときどきlambda - yamarkz's blog

time_ago_in_words

ヘルパーメソッド

特にgemを追加する必要なく利用することができます。

ヘルパーメソッドtime_ago_in_wordsで投稿時間を表示する - Qiita

Strong Parameters

Strong ParametersはDBに入れる値を制限することで、不正なパラメータの入力を防ぐ仕組みであること

RailsのStrong Parametersを調べる - Qiita

Rails初学者がつまずきやすい「ストロングパラメータの仕組み」

build

基本的にはnewと同じ。昔は挙動が違っていたらしい。

railsのnewとbuildの違い - Qiita

newメソッドのAlias(=別名)

build - リファレンス - - Railsドキュメント

SQLインジェクション

後で調べる

SQL プレースホルダ

後で調べる

foreign_key、primary_key

foreign_key

参照先のテーブルに定義されている外部キーの名前を指定

primary_key

参照元のテーブルに定義されている外部キーの名前を指定

has_one has_manyのprimary_keyとforeign_key - Qiita

||=

Rubyスクリプトで目にする以下のイディオムは、左辺が未定義または偽なら右辺の値を代入するという意味だ。

Rubyの||=というイディオムは左辺が未定義または偽なら代入の意味 -- ぺけみさお

map

map は、配列の要素の数だけブロック内の処理を繰り返し、結果として作成された配列を返します。map は元の値に対して影響を与えないのに対し、 map! は元の値を書き換えます。また、Rubyには collect メソッドがありますが、これは map メソッドの別名です。

Rubyのmap, map!メソッドの使い方 | UX MILK

join

【Ruby入門】joinの使い方まとめ (File map joins) | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

bundle exec

bundle execとつけて実行すると,そのRailsプロジェクトのGemfileで指定された環境で実行する事ができるようになります.

bundle execとかdb:createとかが何をしているのか - Qiita

bundler、bundle execについて ※自分用メモ - Qiita

エラー(例外)処理

Qiitaに「Railsアプリケーションにおけるエラー処理(例外設計)の考え方」という記事を書きました - give IT a try

sorcery

GitHub - Sorcery/sorcery: Magical Authentication

CarrierWave

GitHub - carrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

RailsのファイルをアップロードするgemのCarrierWaveのインストール方法 - Rails Webook

devise

[*Rails*] deviseの使い方(rails5版) - Qiita

config

Railsで定数を環境ごとに管理するrails_config(現 config) - Qiita