環境構築不要かつ無料で機械学習が試せる「Colaboratory」について

【結論】 ・Colaboratoryとは、Googleが提供しているクラウド上で機械学習のプログラムを実行できるサービス ・環境構築不要かつ無料で利用できるので、気軽にプログラムを試すことができる ・しかし一定時間が経過すると、仮想マシンが停止してデータが初期…

Privateメソッドについて(Ruby)

【結論】 ・Privateメソッドとは、同じクラスのインスタンスメソッドからしか呼び出せないメソッド ・Privateメソッドは、暗黙的にselfから呼び出されるので、オブジェクトから明示的に呼び出すことは出来ない ・同じクラス内でしか使用しないメソッドが、意…

Callbackメソッドの「only」「except」の使い分け(Rails)

【結論】 ・Controllerのコールバックメソッドは、onlyとexceptで実行するアクションを指定できるが、適切に使い分けないと、バグ発生の要因となり得る ・基本的にonlyを使用する。指定するアクションが増えて、追加するアクションが無くなったらexceptに置…

「let・let!・before」の違いと実行順序(RSpec)

【結論】 ・let/let!はインスタンス変数を定義する際、beforeより分かりやすく記述できる ・beforeはインスタンス変数の定義以外(メソッドの実行など)でも利用することができる ・letは変数が初めて使用された時に評価(遅延評価)され、let!とbeforeはブ…

Strategyパターンについて(デザインパターン)

【結論】 ・Strategyパターンとは、デザインパターンの一つで、状況に応じてアルゴリズムを切り替える処理を記述する時に有効な実装手法 ・ConcreteStrategy役に個々の具体的なアルゴリズムが記述されており、どれを使用するかはStrategy役が規定する ・アル…

「describe・context・it(example)」の使い分け(RSpec)

【結論】 ・describeには、テストの対象(グループの範囲)を記述する ・contextには、テストの条件(状態)を記述する ・it(example)には、テストの内容(処理と期待)を記述する 【目次】 「describe・context・it(example)」の使い分け describeにつ…

【AtCoder:18回目】AtCoder Beginner Contest 140の振り返り(Ruby)

【目次】 振り返り A - Password B - Buffet C - Maximal Value D - Face Produces Unhappiness 《今日の学習進捗(3年以内に10000時間に向けて)》 【本題】 振り返り 今回は 9/7(土)に開催されたAtCoder Beginner Contest 140の振り返りを行います。 AtCod…

単語を複数繋げる場合の命名規則「◯◯ケース」について(キャメルケース・キャメルケース・ケバブケース)

【結論】 ・キャメルケースは単語の先頭を大文字して繋げる。変数名の先頭を大文字にするアッパーキャメルケース(例:hogeCase)と小文字にするローワーキャメルケース(例:HogeCase)がある。 ・スネークケースは単語同士をアンダースコア( _ )で繋げる…

Rubyの「nil?・empty?」とRailsの「blank?・present?」について

【結論】 ・nil?メソッドは、レシーバーがnilのときtrueを返し、nilではない場合falseを返す ・empty?メソッドは、オブジェクトが空(空文字列("")・空配列([])・空ハッシュ({}))のときtrueを返し、1つ以上の要素があればfalseを返す。文字列・配列・…

MySQLでNOT NULL制約を設定してもNULLでエラーにならない問題(無効データの制約)

【結論】 ・MySQLは無効または不適切なデータ値を許容しており、これらを有効な値に強制的に変更して、データの整合性を取っている ・例えば、NOT NULL制約を設定している文字列タイプのカラムにNULLを保存しようとした場合、エラーにならず、空文字("")が…