本日の学び 2021/04/22
本日の学び 2021/04/20
学んだ単語
→登場する役割ごとに分けて実装する方針のこと。
メリットとしては大きく2つあり、
役割ごとに分けることで作業がしやすくなる。
コードの改行がしやすくなる。
→文字列に特定の文字が含まれているか確認すること、
特定の文字を取り除くなど作業を行うための技術のこと。
Rubyにおいてはメソッドが2種類あり、subメソッド、matchメソッドがある。
DRY
→同じ情報を繰り返し定義しないという考え方。
メリットとして可読性の向上、アプリケーションの動作が早くなること。
モジュール
→インスタンスを生成できないクラス。
サービスクラス
→コントローラー内のコードの可読性を高めるために用いる概念。
セッション
→webサービスにおいて情報を一時的に記憶しておく仕組み。
クッキー
→ブラウザが持っているデータの保存領域のこと。
→用いることで主に次の2つの操作が可能になる。
ページ遷移なしで画面の表示を切り替えることができる。
画面を更新せずにサーバーから値を取得することができる。
イベント
→JavaScriptにおけるHTMLに対しての要求のこと。
またイベントを認識してJavaScriptのコードが動き出すことをイベント発火という。
例えば、マウスカーソルが指定された要素上に乗った時に
発火することなどが当てはまる。
以上
本日の学び 2021/04/19
** 新しく覚えた単語 **
ブロック
→do~endまでの記述をRubyではブロックという。
特徴としてブロックを引数として渡すことができる。
記述方法には2種類ありdo...endの形と{}で囲む方法。
どちらを使うか明確な決まりはない。
yield
→メソッドに渡されたブロックを実行するための命令。
オーバーライド
→親クラスのメソッドを子クラスに
同名のメソッドを定義することにより上書きすること。
以上
本日の学び 2021/04/14
** 学んだ単語 **
Active Storage
→ファイルアップロード機能を簡単に実装できるGem。
画像などのファイルのアップロードを簡単にするメソッドが使用できたり
画像を保存するテーブルを簡単に作成できる。
luage Magick
→コマンドラインから画像に処理を加えることができるツール。
処理としては画像の作成やサイズ変更、保存形式の変更などがある。
has_one_attachedメソッド
→各レコードとファイルを1対1で関係を紐つけるメソッド。
Variantメソッド
→幅x高さのxは半角英数のxを使用すること。
以上
本日の学び 2021/04/13
**renderとredirect_toの違い**
redirect_toの場合は、新たなリクエストを送信されたときと同じ動きになるので
再度コントローラーを経由してビューに表示される。
renderの場合は新たにリクエストされることなくそのままビューが表示される。
**プルダウンを作るには**
select要素を使いセレクトボックスを作る。
どのような選択肢にするのかはopution要素を記述して設定する。
**今更ながら・・・**
webページの配置の記述を正しくしているにも関わらず
配置が乱れてしまっている・・・
原因はdiv要素の親子関係が崩れた記述をしてしまっていたため。
インデントを揃える意味目的を恥ずかしながら本日学んだ。
以上
本日の学び 2021/04/06
本日はテストコードの記述を学習した。
[覚えた単語]
・context
→特定の条件を指定してグループを分ける。
・nil
→無いものにできる。
・be-valid
→バリデーション実行時の返り値がtrueであることを確かめるマッチャ。
・Request Spec
→RSpecが提供しているコントローラーのテストコードを書くために特化した手法。
visit
→visit◯◯.pathと記述すると◯◯のページへ遷移することを表現する。
[本日学んだロジック]
・異常系テストでの記述
①検証のためのインスタンスを生成すること。(user.new)
②インスタンスに対してのバリデーションを行う。(valid?メソッド)
③エクスペクテーションを記述する。(エクスペクト構文を使う)
→機能ごとにテストを行う。
→ユーザーの操作を再現してテストを行う。
[エンジニアで大切なこと]
エンジニアとしてexampleを整理し細かく使用を言語化することが求められる要素。
以上