本日の学び 2021/04/22

学んだ単語

 

インラインスタイル

→HTML要素の開始タグの中に直接CSSソースコードを記述する

 プロパティの指定方法。

 

this

→関数の中でthisを使うとイベントの発火元となった要素を取得することができる。

 書き換えは処理に関係ないが可読性を向上させるために非常に重要。

 

innerHTML

→HTML要素の取得、置き換えを行うことができる。

 

リファクタリング

→実装した機能に影響を与えずにソースコードを読みやすい状態に改善すること。

 例えばif文の中にif文を記述を避けるために論理演算子を使う。

 条件式を短くするために条件式を関数化する。

 複雑な条件式を避けるために複数のif文に分ける。

本日の学び 2021/04/20

学んだ単語

 

オブジェクト指向

→登場する役割ごとに分けて実装する方針のこと。

 メリットとしては大きく2つあり、

 役割ごとに分けることで作業がしやすくなる。

 コードの改行がしやすくなる。

 

正規表現

→文字列に特定の文字が含まれているか確認すること、

 特定の文字を取り除くなど作業を行うための技術のこと。

 Rubyにおいてはメソッドが2種類あり、subメソッド、matchメソッドがある。

 

DRY

→同じ情報を繰り返し定義しないという考え方。

 メリットとして可読性の向上、アプリケーションの動作が早くなること。

 

モジュール

インスタンスを生成できないクラス。

 

サービスクラス

→コントローラー内のコードの可読性を高めるために用いる概念。

 

セッション

webサービスにおいて情報を一時的に記憶しておく仕組み。

 

クッキー

→ブラウザが持っているデータの保存領域のこと。

 

JavaScript

→用いることで主に次の2つの操作が可能になる。

 ページ遷移なしで画面の表示を切り替えることができる。

 画面を更新せずにサーバーから値を取得することができる。

 

イベント

JavaScriptにおけるHTMLに対しての要求のこと。

 またイベントを認識してJavaScriptのコードが動き出すことをイベント発火という。

 例えば、マウスカーソルが指定された要素上に乗った時に

 発火することなどが当てはまる。

 

以上

本日の学び 2021/04/19

** 新しく覚えた単語 ** 

 

ブロック

→do~endまでの記述をRubyではブロックという。

 特徴としてブロックを引数として渡すことができる。

 記述方法には2種類ありdo...endの形と{}で囲む方法。

 どちらを使うか明確な決まりはない。

 

yield

→メソッドに渡されたブロックを実行するための命令。

 

オーバーライド

→親クラスのメソッドを子クラスに

 同名のメソッドを定義することにより上書きすること。

 

以上

 

本日の学び 2021/04/17

体験したエラー

ネームエラーが出ていてタイプミスが原因だと思っていたが

FactoryBot、FakerはGemfileに記述する際、

group development :testの中に記述していないためエラーが発生すると学んだ。

やはり失敗から学ぶことは多い。

 

学んだ単語

attach-fileメソッド

→画像などのアップロード用のinput要素に画像投稿の

テスト用の画像を添付できるメソッド

 

create_listメソッド

→一度に複数のテストコードを生成できる。

記述としては第一引数には生成したいインスタンスをシンボル型で。

第二引数には作成するレコードの個数の数値を設定する。

 

以上

本日の学び 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を整理し細かく使用を言語化することが求められる要素。

 

以上