2021-01-01から1年間の記事一覧

3層アーキテクチャ

アプリケーション内の3層アーキテクチャ プレゼンテーション層 表示上の関心。UI。 ビジネスロジック層 コアなルール。 データアクセス層 データの永続化。 MVCはプレゼンテーション層周辺のアーキテクチャ。ViewとControllerはプレゼンテーション層に、Mode…

ポリモーフィズム

PHP

ポリモーフィズム ポリモーフィズム=同名のメソッドで異なる挙動を実現すること。 width = $width; $this->height = $height; } public function getArea(): int { return 0; } } class Triangle extends Figure { public fun…

ルーティング

ルーティング 名前の変更 ルーティングの一般的な役割は、コントローラとそのアクションの名前を変更すること。 /users/some_action/5 でUsersコントローラにアクセスするのではなく、/cooks/some_action/5でアクセスすることができる。 connect( '/cooks/:a…

例外処理

PHP

例外処理 マルチキャッチ throw命令 自分で任意の例外を発生させることができる。

$_SESSION ~セッション情報~

PHP

セッション情報の読み書き $_SESSION['キー名']でセッション情報を読み書きできる。セッション機能を利用するときはあらかじめsession_start関数を呼び出す必要がある。 セッションの破棄 session_destroy関数でセッションを破棄。

$_COOKIE ~クッキー情報~

PHP

クッキー情報を取得 $_COOKIE['クッキー名']でクッキー情報を取得できる。 クッキーに保存 header(クッキー名, 値, 有効期限)で値をクッキーに保存できる。

$_SERVER ~ヘッダー情報~

PHP

リクエストヘッダーの取得 $_SERVER['ヘッダー名']でヘッダー情報を取得できる。 レスポンスヘッダーの設定 header関数でレスポンスヘッダーを設定できる。

$_GET ~クエリ情報~

PHP

クエリ情報とは、URLの「?」以降にキー名=値のセットで付加される情報。 https://host.com?word=apple $_POSTと同様の記法でクエリ情報を取得できる。 <form method="GET" action="送信先"> <input name="word" type="text" /> <input value="送信" type="submit" /> </form> 送信先 apple ?> ポストデータとクエリ情報の使い分け データサイズ クエリ情報で送信できるデータ…

$_POST ~ポストデータ~

PHP

htmlのフォーム要素で入力した値を$_POST['パラメータ名']で取得する。 <form method="POST" action="送信先"> <input name="name" type="text" /> <input name="email" type="text" /> <input value="送信" type="submit" /> </form> 送信先 エスケープ処理 ユーザー入力値に関してはh…

いろいろな関数呼び出し

PHP

再帰関数 自分自身を呼び出す関数。 可変関数 $変数名()で呼び出せる関数。変数名に応じて対応する関数を検索・実行できる。

引数の参照渡し

PHP

基本的に引数は値渡しされる。 仮引数の頭に&をつけることで引数を参照渡しできる。

グローバル変数とローカル変数

PHP

変数のスコープ ローカル変数 関数内で定義された変数。その関数の中でしかアクセスできない グローバル変数 関数内で定義されていない変数。関数の中ではアクセスできない

require_once, include_once ~スクリプトの外部化~

PHP

require_once 外部ファイルをインクルードする。指定したファイルが見つからなかった場合、エラーを発生させてスクリプトを中断する。 include_once 指定したファイルが見つからなかった場合、警告を発するだけでスクリプトは実行される。 requireとinclude…

引数・戻り値の型宣言

PHP

引数/戻り値の型宣言 関数の引数・戻り値には明示的に型を指定することができる。 引数の型宣言 function 関数名(型 $変数名) 戻り値の型宣言 function 関数名(): 型 { ... } 指定できる型の種類 bool float int string array iterable 配列/Traversal型…

配列関数

PHP

[1,2,8,2] array_merge( ['name' => 'sato', 'age' => 26], ['name' => 'suzuki', 'address' => 'Tokyo'] ); => ['name' => 'suzuki', 'age' =>…

文字列関数

PHP

継承

PHP

継承により親クラスのメソッドやプロパティを引き継ぐ。 type = $type; } // 独自メソッド public function getType() { return $this…

クラスプロパティとクラスメソッド

PHP

クラスプロパティ 個々のインスタンスではなくクラスで管理するプロパティ(ex:インスタンスの数など)。 public(private) static プロパティ クラスプロパティへのアクセス クラス::$プロパティでクラスプロパティにアクセスできる。 クラスメソッド イン…

クラスでのカプセル化

PHP

プロパティへのアクセス権を制限する プロパティをprivateで定義すると、クラスの外部からアクセス不可能になる(そのクラスのメソッドでしかアクセスできなくなる)。 目的 アクセスの手段を当該クラスのゲッターメソッドとセッターメソッドに限定する。そ…

制御構文をHTMLに埋め込む

PHP

HTML内で制御構文を使うときは {} の代わりに : とend〇〇を使う。 <div class="menu-items"> name ?> </div> if文の場合、elseif, elseの後ろにも : が必要。 <p></p> <p></p>

コンストラクタ

PHP

コンストラクタ __constructという名前のメソッドは、インスタンス作成時に自動的に呼び出される。 コンストラクタに引数を渡す newで引数を与えると、その値がコンストラクタに渡される。

メソッド

PHP

メソッドの定義と呼び出し クラス定義内でメソッドを定義する。 public function メソッド名 そのクラスのインスタンスに対してメソッドを呼び出す。 $インスタンス->メソッド() hello(); ?> メソッド内でインスタンスのプロパティにアクセスする メソッド…

クラスとインスタンス

PHP

クラスとプロパティの定義 インスタンスの生成 プロパティへのアクセス $インスタンス->プロパティ ※プロパティに$は不要 name = 'CURRY'; // nameプロパティを参照 echo $curry->name; ?>

【Ruby】puts, print, p

メソッド 出力後の改行 配列の表示 戻り値 呼び出すメソッド puts あり 要素ごとに改行 nil to_s print なし 改行しない nil to_s p あり 改行しない 引数のオブジェクト inspect

【SQL】副問い合わせ

SQL

副問い合わせ(サブクエリ) 複数の問い合わせを一度に行うときは、IN内にサブクエリを記述する。 SELECT MOVIE_TITLE_JP, SERIES_CD FROM movies WHERE SERIES_CD IN ( SELECT SERIES_CD FROM movies WHERE MOVIE_TITLE_JP = 'アベンジャーズ'); タイトルが…

【SQL】グループ化して表示

SQL

GROUP BY SELECTで取得したレコードを、指定されたカラムの値ごとにグループ化して表示する。 SELECT COMIC, COUNT(COMIC) FROM movies GROUP BY COMIC ORDER BY COUNT(COMIC) DESC; moviesテーブルのCOMICごとの件数をカウントし、件数の多い順に表示する。…

【SQL】テーブルの結合

SQL

2つのテーブルのうち、結合キーの値が一致する行同士を結合して新たなテーブルを生成する。 内部結合(INNER JOIN) 結合元のテーブルから、結合先と関連付いている行のみを抽出する。それぞれ結合先・結合元と関連づいていないレコードは検索結果から除外され…

【SQL】基本的な命令

SQL

SELECT 全列全行を取得する SELECT * FROM actors; 指定した列の全行を取得する SELECT ACTOR_CD, ACTOR_NAME FROM actors; WHERE 条件に該当するデータを取得する SELECT ACTOR_CD, ACTOR_NAME FROM actors WHERE ACTOR_CD IN ('AC002', 'AC031'); ORDER BY…

webpackerで扱うエントリーポイント

webpackerで扱うエントリーポイント app/javascript配下のファイルをビルドし、public/packs/jsにビルド結果が出力される。 (sprocketsではapp/assets/javascripts) たとえばapplication.jsをビルドした成果物はapplication-xxx.js エントリーポイントの読…

credentials ~秘匿情報の管理~

credentials Railsでアプリケーションを作成すると、credentials.yml.encとmaster.keyが作成される。 config/credentials.yml.enc 暗号化された設定ファイル。秘匿情報を記述する。 asl;kdjf;woiejfw@iwqjf[qw@jo...... 中身 # aws: # access_key_id: 123 # …