kensuke-iizuka のアーカイブ

Vagrantfileでのhostmanagerの設定

2017年8月10日

VCCW3.xでVagrantfileを利用してvagrant-hostmanagerによる自動でIPアドレスとURLのひもづけを行うには 以下のような変更が必要です。 ``` config.vm.network :public_network, type: 'dhcp', bridge: 'en1: Wi-Fi (AirPort)' config.hostmanager.enabled = true config.hostmanager.manage_ho
続きを読む

Seleniumの落とし穴

2017年8月8日

自動テストをSeleniumで書いていて要素をXpathで取得しようとした時に落とし穴にハマりました。 ``` driver.findElement( By.xpath("//*[@id='book_list ']/div/div/table/tbody/tr[4]/td[1]/a" ) ); ``` NoSuchElementErrorが出てしまいました。 何が問題なのかと考えていると... なんとidの'book_list '
続きを読む

PHPバージョン確認のあれこれ

2017年7月20日

PHPバージョン確認をしようとするときに人によって幾つか選択肢がありそうなので忘備録がてらまとめます。 ### 1.環境からアクセスできるファイルを作る。 普段開発している環境にphpinfo.phpのようなファイルを作成して ## 開発環境のURL/phpinfo.php などのパスに置いてあげることでこのページにアクセスするだけでPHPの設定が確認できます。 ファイルはシンプルに以下のように作成すればよいかと思います。 ```
続きを読む

React Nativeのバージョンを指定して初期化する

2017年7月11日

React Nativeを使ってモバイルアプリケーションを作る際にReact Nativeのバージョンを指定して作成するには、 以下のinitコマンドでバージョンを指定してあげれば大丈夫です。 これで少し古いnodeモジュールを使っていて最新版では動作しないといったことも減るのではないでしょうか。 ただ更新頻度も多くどんどん新しくなるので公式としては最新版での利用を推奨しています。 ``` $react-native init --versio
続きを読む

CakePHPで独自例外の実装

2017年7月6日

CakePHPで独自例外を実装します。 ### 独自例外クラス ```
続きを読む

JavaScriptとPHPで全角数字を半角数字に変換する

2017年7月4日

入力フォームで数字を入力した時に全角で入力されてしまうと、数字のバリデートチェックをするときに 弾かれてしまうことがあります。もっとユーザーフレンドリーになるべく全角数字も半角に変換してバリデートチェックをパスできるように したいです。 Javascriptだと以下のコードで実装できます。 ``` var before_value = "10000"; var after_value = before_value.re
続きを読む

getElementsByTagNameとquerySelectorAllの違い

2017年6月29日

違いは * 静的に取得するか、動的に取得するか * 速度 の2つとなっています。 速度についてはGetElementsByTagnameに軍配が上がります。 これはNodeListオブジェクトに2つの種類があることが理由だそうです。 ### 動的なNodeList ページを表現するDOMにリアルタイムに接続したオブジェクト。このオブジェクトを経由して行われた変更はほかのすべての動的なNodeListにも反映されることになる。つまり、単一のDOMへ
続きを読む

シャローコピーとディープコピーの違い

2017年6月29日

調べ物をしていてタイトルの2つが出てきたので調べてみました。 オブジェクト指向においてよく使われる用語だそうです。 ## シャローコピー シャローコピーとはshallow(浅い)の文字が示すように浅いコピーです。 オブジェクトを複製する際に、コピー元のオブジェクトとコピー先のオブジェクトがメモリ上の同じデータ(インスタンス変数)を参照しています。 コピー元のオブジェクトに対してインスタンス変数に変更が加えられるとコピー先のオブジェクトが参照してい
続きを読む

CakePHPにおけるアソシエーション

2017年6月22日

アプリケーション内で異なるオブジェクト同士の関連を定義しているのがアソシエーションです。例えばブログでは記事は多くのコメントを持っていて、記事は一人のユーザーに属しています。 * 1対1 : **hasOne** * 1対多 : **hasMany** * 多対1 : **belongsTo** * 多対多 : **belongsToMany** アソシエーションはTableで定義します。 ``` namespace App\Model\Table;
続きを読む

CakePHPのビューで共通部分を使い回す

2017年6月20日

レイアウトで共通して使いたい部分はエレメントとして呼び出してあげると便利です。 以下ではdefault.ctpでbase_header.ctpをエレメントとして呼び出しています。 ``` コンテンツ ``` 以下が/src/Template/Element/base_header.ctpの中身です。 ``` ログイン中   ```
続きを読む

dockerに立てたCakePHPでDBとモデルの作成

2017年6月13日

忘備録に ``` $ docker exec -it app_db_1 mysql --protocol=tcp -u root -proot app mysql> use app mysql> ALTER TABLE users ADD `is_male` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT 'F' AFTER sex; mysql> UPDATE infographics SET is_male='
続きを読む

Facebook GraphAPIでいいね、シェアの数を別々に取得する。v2.9

2017年6月13日

FacebookのGraphAPI(v2.9)を利用してあるページのいいね、シェアの数を別々に取るには ``` https://graph.facebook.com/v2.9?fields=engagement&id='好きなページのURL'&access_token=your_app_id|your_app_secret ``` でjsonとして取得できます。 ``` https://graph.facebook.com/v2.9?fields=enga
続きを読む

CakePHPで複数の変数をコントローラからビューに渡す

2017年6月13日

setメソッドでコントローラからビューへ値を渡すときに一つずつ、 ``` $bar = 1; $foo = 2; $foobar = 3; $this->set('bar',$bar); $this->set('foo',$foo); $this->set('foobar',$foobar); ``` としてもよいのですが ``` $this->set(compact('bar', 'foo', 'foobar')); ```
続きを読む

CafkePHPにおけるHTTPメソッドの確認と受け入れ制限

2017年6月8日

CakePHPでそれぞれのアクションに飛んでくるHTTPメソッドの確認と受け入れ制限は以下のように行います。 ``` public function delete() { //HTTPメソッドの確認 echo $request->getMethod(); // POST と DELETE のリクエストのみ受け入れます $this->request->allowMethod(['post', 'delete']);
続きを読む

CakePHPのバージョン確認

2017年6月8日

アプリケーションの ## vendor/cakephp/cakephp/VERSION.txt に書いてありました。
続きを読む

CakePHPのディレクトリ構成

2017年6月6日

あんまり意識せずに開発していたのですが、今日CakePHPの公式ドキュメントに目を通す機会があったので 忘備録としてメモしておきます ### bin 実行可能なCakeコンソールが入っている ### config CakePHPが使用する設定ファイルが入っている ### logs エラーログ、デバッグログのファイルなどが入っている ### plugins アプリケーションで使うプラグインが入っている ### src 作成するプログ
続きを読む

リクエストパラメータの取得

2017年5月30日

CakePHP(3.0以降)でリクエストパラメータを取得するには次の2つがある ``` $controllerName = $this->request->getParam('controller'); // 3.4.0 より前 $controllerName = $this->request->param('controller'); ``` ただ3.4.x以降でもparamで取得できていて、何が違うのかよく分からない
続きを読む

【PHP】例外のメッセージを表示させる

2017年5月23日

``` ``` これで画面上に例外のメッセージを表示させることができます。
続きを読む

Could not find ‘php-cs-fixer’. The program may not be installed.の解消

2017年5月18日

Atomでatom-beautifyをインストールしてPHPファイルをセーブした時に出てきた上記のエラーを解決したいと思います。 ただ[このページ](https://github.com/FriendsOfPHP/PHP-CS-Fixer)のとおりに、PHP-CS-Fixerをインストールするだけでした ``` $ wget http://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -O php-cs-fixe
続きを読む

CakePHPでデータを取得時にソートする

2017年5月18日

``` ``` find()メソッドの第二引数に上記のように指定すればデータを取得時にソートしてくれます。
続きを読む