@iwasaki のアーカイブ

AlpineベースのDockerイメージにbashで接続する方法

2017年5月26日

よくあるDockerイメージに接続する方法 ``` docker exec -it docker_name bash ``` しかし、Alpineベースの場合は以下のようにして接続します ``` docker exec -it docker_name /bin/sh ``` 参考 https://stackoverflow.com/questions/40944479/how-to-use-bash-with-an-alp
続きを読む

Docker上のpostgresからダンプ

2017年5月25日

``` docker exec -it db_1 pg_dump dbname -Upostgres -abO --column-inserts -t tablename > ~/Downloads/dump.sql ```
続きを読む

OOM Killerについて

2017年5月24日

設定の変更方法 ``` # sysctl -w vm.overcommit_ratio=99 # sysctl -w vm.overcommit_memory=2 ``` もしくは ``` vim /etc/sysctl.conf vm.overcommit_ratio=99 vm.overcommit_memory=2 ``` 設定のリロード ``` # sysctl -p ``` 設定の確認 ``` #
続きを読む

Amazon Linuxで/dev/fd/11: line 1: /sbin/plymouthd: No such file or directoryが出るやつ

2017年5月24日

/etc/init/plymouth-shutdown.override に以下の内容のファイルを配置するといいようです。 ``` start on (splash-request IMMEDIATE=1) or (splash-request and stopped prefdm) task console output script end script ``` Ansbileを使っている場合は files/plymouth-shu
続きを読む

Atomのインストール済package一覧を取得する方法

2017年5月23日

以下のコマンドで一覧が取得できます。 ``` apm list --installed --bare ``` バージョン番号が不要な場合は以下のようにしてcutするといいかと思います。 ``` apm list --installed --bare | cut -d@ -f1 ``` いっそインストール用のコマンド形式にしてしまう場合は以下の通り ``` apm list --installed --bare | cut -d
続きを読む

CakePHP3でFormの中にpostLinkを埋め込みたい場合

2017年5月22日

CakePHP3には簡単にPost用のFormボタンを生成してくれるpostLinkというタグがあります。 ただこのタグはformタグを生成するため、Formの中に配置することができません。(Formのネストになってしまうため) その場合は以下のようにします。 ``` ``` Formタグの中にpostLinkを埋め込み、オプションとして **'block' => true** を指定します。そしてformの外
続きを読む

Dockerのnprocがやっていること

2017年5月22日

Dockerfileを見ていると、以下のような記述を見かけることがあります。 ``` && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ ``` ``` -j$(nproc) ``` のオプションですが、npr
続きを読む

CakePHP3で一時的にビヘイビアを外す

2017年5月19日

以下のようにして一時的にビヘイビアを外した上で保存することが可能です。 ``` $this->removeBehavior('Upload'); $this->removeBehavior('Imagine'); $user = $this->save($user); ``` どのビヘイビアが呼ばれているかは以下で確認できます。 ``` $this->behaviors()->loaded(); ``` 参考 http
続きを読む

CakePHP3で最終ログイン日時をDBに保存する方法

2017年5月19日

ビヘイビアを使うことで実現できるようです。 ビヘイビアはイベントによって発火するようになり、DBのレコード新規作成時、更新時、ユーザーログイン時などのイベントを取れるようです。 ``` namespace App\Model\Table; use App\Model\Table\AppTable; // similar to AppController class UsersTable extends AppTable { pub
続きを読む

CakePHP3のCellでログイン情報を取得する

2017年5月18日

CakePHP3にはビューセルという機能があります。 https://book.cakephp.org/3.0/ja/views/cells.html ちょっとしたコントローラーとビューの組という感じでしょうか。 例えばログイン状態でメニューを切り替えるなどの際に使えそうです。 Controllerだと ``` $this->Auth->user('id'); ``` でログイン中のユーザーのIDを取得できます。 ビューセルの
続きを読む

nginxでファイルをアップロードした際に413 Request Entity Too Largeが出る

2017年5月18日

nginxのファイルアップロードの容量はデフォルトで1MBだそうです。 容量を変更する際には以下のようにします。 ``` vim /etc/nginx/nginx.conf http { server { client_max_body_size 10M; ``` リロードして反映します。 ``` service nginx reload ``` 参考 http://qiita.com/
続きを読む

atomでPHP開発その2

2017年5月18日

http://hacknote.jp/archives/26714/ の改訂版です。 CakePHP3の開発現場です。 ## composerのインストール ``` brew install homebrew/php/composer brew install homebrew/php/php-cs-fixer ``` ## Atomにパッケージをインストールする ``` //日本語化 apm install japa
続きを読む

使いやすいラジオボタン・チェックボックス

2017年5月16日

ラジオボタンやチェックボックスなど、ラベルとなるテキストをクリックした際にも反応させるには以下のように書きます。 ``` 無効にする 有効にする ``` これがないと、テキストをクリックしても何も反応しないため、ユーザーの使いがっってが下がってしまうので注意ですね。 https://github.com/aipocom/aipo/commit/77fe974aca7832506d94d68fbaa31029701655ba
続きを読む

CakePHP3でリンクを生成する方法

2017年5月12日

ビューの中でリンクを生成する方法はこちら ``` echo $this->Html->link( 'リンクしたいテキスト', ['controller' => 'Users', 'action' => 'view', $id] ); ``` 参考 https://book.cakephp.org/3.0/ja/views/helpers/html.html#id5 Controllerの中では Routes:url(
続きを読む

CakePHP3でメール送信用のクラスを作る方法

2017年5月11日

以下のコマンドを実行することで自分用のメール送信クラスを作成することが可能です。 ``` # bin/cake bake mailer default Welcome to CakePHP v3.4.5 Console --------------------------------------------------------------- App : src Path: /var/www/html/src/ PHP : 7.0.1
続きを読む

CakePHP3でのSMTPサーバーとしてGmailを使用する

2017年5月10日

## config/app.php config/app.php に設定する場合は https://book.cakephp.org/3.0/ja/core-libraries/email.html#id4 ``` // サンプル SMTP 設定 Email::configTransport('gmail', [ 'host' => 'ssl://smtp.gmail.com', 'port' => 465, 'us
続きを読む

CakePHP3でURLを生成する

2017年5月9日

Controller内で使用する場合 Router::urlを使用します。使用する際には Cake\Routing\Router を呼び出しておく必要があります。 ``` use Cake\Routing\Router; $url = Router::url(['controller' => 'Pages', 'action' => 'ogp', 'id' => $id], true); ``` ホスト名なども含むフルパスのURLにする場合には2番
続きを読む

BeansTalkでプロキシサーバーにnginxを使う方法

2017年5月8日

**.ebextensions/tomcat-settings.config** ``` option_settings: aws:elasticbeanstalk:environment:proxy: GzipCompression: 'true' ProxyServer: nginx aws:elasticbeanstalk:environment:proxy:staticfiles: /static: static `
続きを読む

CakePHP3でJosegonzalez/Upload を使ってバリデートを行う

2017年5月2日

バリデートルールは以下に記載されています。 http://cakephp-upload.readthedocs.io/en/latest/validation.html CakePHPにもデフォルトでuploadedFileのバリデートがありますが、使いづらいため、Josegonzalez/Upload のバリデートを使うと良さそうです。 ``` /** * Default validation rules. *
続きを読む

CakePHP3のデフォルトテンプレートをデバッグモード以外で呼ぼうとするとエラーになる

2017年5月2日

以下のようなコードがテンプレートファイルに入っていると404エラーになります。 ``` if (!Configure::read('debug')): throw new NotFoundException('Please replace src/Template/Pages/home.ctp with your own version.'); endif; ``` 元のテンプレートを参考にする際にはコピペしてしまわないように注意が必要ですね。
続きを読む