感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

PHPの基本の復習。

PHP

<?php
echo 'hoge', PHP_EOL;

のように、終了タグを記述子ないことを推奨している。
なぜかというと、PHPブロック意外は文字列として出力されてしまうPHPの仕様があるため。
?>のあとにある余計な改行とか出力されないように。

変数の中身を正確に把握したい時は、

var_dump($hoge);

というように、var_dump関数を使う。

スコープ

スコープは狭ければ狭いほどよい。
・グローバルスコープ
・ローカルスコープ

スーパーグローバル変数とは、あらゆるスコープから参照可能なグローバル変数
・スーパーグローバル変数の一覧

変数名 意味
$_GET 現在のスクリプトに渡されたURLパラメータの連想配列
$_POST 現在のスクリプトにHTTP POSTで渡された変数の連想配列
$_FILES 現在のスクリプトにアップロードされたファイルの情報を持つ配列
$_COOKIE HTTPクッキーからわたされた連想配列
$_REQUEST $_GET,$_POST,$_COOKIEをまとめた連想配列
$_SESSION 現在のスクリプトで使用できるセッション変数
$_SERVER スクリプトのヘッダ、パスなどの情報を持つ連想配列

グローバルスコープの定数定義

<?php
define('NOVEL', '伊坂幸太郎');
echo NOVEL,PHP_EOL;

実行された環境での改行コードを設定する定義済み定数
PHP_EOL

PHPは動的型付け言語なので、型に縛られない柔軟なプログラミングができる。
一方で、どの処理が自動的なキャストをするのか把握しておかなければ、意図しないタイミングで意図しない型が使われる。

読んだ本

パーフェクトPHP (PERFECT SERIES 3)

パーフェクトPHP (PERFECT SERIES 3)

感謝のプログラミング

今回で感謝のプログラミングは【365時間目】
10000時間まで、あと【9635時間】

デザインパターンの基本用語

デザインパターンとは、繰り返し発生する問題に対して繰り返し使用できる解決方法のこと。

パターンとは、基地の問題を解決するために、汎用的なオブジェクトに適用できる一連の具体的な相互関係を表す。

コンポーネントとは、他のソフトウェアが使用できるような、明確に定義されたインターフェースを持った、自己完結型のソフトウェアのこと。

密結合とは、プログラムの対象領域が緊密な依存関係にあることをいう。
密結合であると、他の変更に影響を受けて、合わせて変更が必要になる。小さな変更が大きなバグにつながりやすい。

特化されているとは、コンポーネントが特定のタスクだけ実行できる場合を言う。

コンポーネント間のインターフェースを明確に定義することで、コンポーネント間のやり取りとコンポーネントの実装を明確に分離できる。

インターフェースを使用してコンポーネントが動作していることをコンポーネント疎結合であるという。
疎結合コンポーネントは独自に実装が変更できる。インターフェースを明確にすると、オブジェクトの実装とオブジェクト間のやり取りを分離できる。

リファクタリングとは、既知のアプリケーションに拡張性をもたせる作業のことをいう。毀損のソフトウェアのさまざまな設計上の前提条件と実装方法に立ち戻り、それらをより効率的なものに置き換えることでソフトウェアを改良することである。ソフトウェアの拡張性は、いかに変更に容易に適応できるかで決まる。

感謝のプログラミング

今回で感謝のプログラミングは【363時間目】
10000時間まで、あと【9637時間】