本日の学び 2021/05/12

本日もチャットアプリの実装課題。

そして今日も今日とてエラー文との戦い・・・

 

ActiveRecord :: PendingMigrationError

 

テーブルが正しくない。アソシエーションが記述できていないなどが

原因だったようだが、

今回はマイグレーションファイルにカラムを追加する際、

型の後に,を記述しないといけないところ、を記述してしまっていた為

エラーが発生してしまった。

タイプミスは無くさねば・・・

 

しかし前向きに考えると今回のエラー文はターミナルを見なければいけない。

そしてターミナルを見ればどこのファイルの何行目が

おかしいのか示してくれていることがエラー文を読んだだけでたどり着いた。

ここは成長かもしれない。

 

 

本日の学び 2021/05/08

★StandardErrorに遭遇

 

意味を調べると通常の

プログラムで発生する可能性が高い例外クラスを束ねるためのクラスです。

・・・理解ができなかった。

他にも調べてみるとマイグレーションファイルを削除すると

エラーが解消されたとのこと。

しかしマイグレーションファイルそのものを削除するのか

マイグレーションファイル内の記述を一部削除するのか1時間調べたり

コードを触ってみたが解決しなかったのでメンターの方に質問・・・

 

するとデフォルト値を持てないカラムに対してデフォルト値を

設定してしまっていることが原因ではないかとヒントを頂けた。

 

追加したカラムのdefault: ""

を削除してみた・・・

 

それでもエラー画面は変わらず・・・

そこでrails db:migrateでよくあるエラーも確認してみると

不要なカンマが含まれている

・・・あった!!

追加で記述したカラムの不要なカンマを削除すると

無事ユーザーテーブルが作成されSequel Proでも確認できた!

そしてエラーも解消されWebページが開けるようになった。

 

今回のエラーで学んだことはエラー文のヒントはターミナルにも

転がっているということ。

引き出しが一つ増えた!!

 

本日の学び 2021/05/07

ご無沙汰しております。

まさとしです。

 

現在、アプリの実装課題を行っており復習がメインなので

アウトプットが滞っておりました。

 

アプリの実装課題と並行しながらRubyの復習もしていきます。

何卒、宜しくお願い致します。

 

★アプリの実装課題での気づき

本日はアプリのトップページの作成をしました。

久々に引っ張り出す知識も多く悩みながらも進めました。

アプリ実装のフェーズに入るとメンターの方への質問ができなくなり

ゼロから自分自身で考えないといけなくなりました。

課題を行う上で不安が多かったですが、

自分で調べ、文章をよく読み自分なりに解釈できれば

エラーと遭遇してもなんとか切り抜けることができました。

大半のエラーはスペルミス、定義ができていないでしたが

どこに原因があるのか自分自身で課題解決できたのは少し自信になりました。

(まだトップページの実装だけですが・・・)

結論、考える習慣を付けることが大事だと感じました。

 

本日の学び 2021/05/01

Ruby復習

 

★getsメソッドで入力した値は全て文字列になるのでto_iメソッドを使って

 数値に変換することができる。

 

★条件分岐の書き方として数値を比較する際は<や==の比較演算子を使う。

 =を付けた場合、以上か以下という意味になる。

 

★ストロングパラメーターの概念

 (ここで2日間詰まっておりアウトプットが止まっておりました。。。)

 ストロングパラメーターとは特定のカラムを保存するためにある。

 つまりキーのバリューの中が特定したいカラムとは別のものであれば

 エラーが発生してしまう。

 

★Date.today.wdayを使うことで今日の曜日を取得することができる。

本日の学び 2021/04/27

本日学んだ単語

 

issue

→アプリケーションの課題をGitHubで管理するための機能。

 

リファクタリング

→コードの保守性向上などの目的で、ユーザーから見たアプリケーションの

 動作を変えずに内部のコードを整理すること。

 メリットとしてその後の修正の時間短縮に繋がる。

 

アーキテクチャ

Webサービスや設計を形作る構造のこと。

 

SOAP

→リクレストおよびレスポンスともにコンピューターが読み取りやすいように

 作成されたデータでやり取りを行うこと。

 メリットとしては高機能で拡張性があること。

 デメリットとしては書き方の自由度が高く、他のシステムとの連携が難しいところ。

 

CORS

→異なるオリジンのアプリケーションへ、アクセスを許可する仕組み。

本日の学び 2021/04/26

本日学んだ単語

 

コンパイル

プログラミング言語を機械が理解出来るように翻訳すること。

 コンパイラというプログラムによって行われる。

 

プリコンパイル

→メインとなる処理に対して必要な前処理。

 

アセットパイプライン

→静的ファイルを小さくまとめる機能。

 処理の流れとしてはプリコンパイル→連結→圧縮→配置で行われる。

 

SQL

RDBの操作を行うための言語。

 さまざまな命令を行うが大きく3つに分類される。

 データを定義する、データを操作する、データを制御する。

 SQL文は小文字でも動作するが可読性を上げるため大文字で記述することが一般的。

 SQL文の終わりには必ずセミコロンを付ける必要がある。

 

ワイルドカード

→文字の代わりとして使える特殊な記号。

 

rails db:seed

→すでに用意されたデータを読み込むためのコマンド。

 

AND演算子

→複数の条件を指定し、その条件が正であるとき、式が正になる。

 

OR演算子

→複数の条件を指定し、そのうちどれか1つ以上正になれば、式は正になる。

 

NOT演算子

→条件を指定し、その条件に当てはまらないものを取得する。

 

BETWEEN演算子

→1つのカラムに対し上限と下限を指定し、カラムの値がその範囲に含まれるとき

 式は正になる。

 

IN演算子

→1つのカラムに対しリストを指定し、カラムの値がそのリストに含まれるとき

 式は正になる。

 

アジャイル型開発

→少しずつ確認をはさみながら進めていくことが特徴。

 

ウォーターフォール型開発

→決めた要件を決められた期限内に完結する手法。

 

本日の学び 2021/04/24

本日学んだ単語

 

Dateクラス

→wdayを使うことで曜日を整数で取得できる。

 

unless

→ifとは逆で条件式がfalseの場合、処理が実行される。

 

FormData

→フォームに入力された値を取得できるオブジェクト。

 

open

→リクエストを初期化するメソッド。

第一引数にHTPPメソッド、第二引数にパス、第三引数に非同期通信で

あるかを入力する。

 

API

→アプリケーション同士がデータをやり取りする場合、使用する仕組み。

 

デプロイ

→ネットワークを通じてWebアプリケーションなどの

システムを公開し、利用可能な状態にすること。

 

Basic認証

→メリットとして少ない手間で認証を実装できる。

デメリットとして安全性には欠ける。