CakePHP3/ImageMagic:画像のオリエンテーション(向き)を正しくする

EXIFにオリエンテーション(回転)が設定されている画像をアップロードすると、Chromeはそのオリエンテーションを尊重して表示します。 これを回避するためにこんなコンポーネントを作りました: class FixOrientationComponent extends Component { public …

ImageMagick:画像の周りにパディングをつけてセンタリングする

シェルを叩く場合 convert original.jpg -gravity center -background white -extent 1024x768 padded.jpg なお、-gravity centerの場所をこのようにするとうまくいきません: convert original.jpg -background white -extent 1024x768 -gravity center pad…

インチダウン

私は初代IS250のversion Sに乗っているのですが、乗り心地の悪さとロードノイズの多さに悩んできました。 今回、タイヤが寿命に近いためインチダウンを行いました。 インチダウン前のタイヤはブリジストンのレグノGR-XT。サイズは前が225/40R18、後ろが255/4…

CakePHP3:テンプレートで必要なjavascriptをレイアウトで読み込んだjavascriptの後に読み込ませる

jQuery等のライブラリをレイアウトファイルで読み込ませ、その他のJavaScriptファイルはテンプレート側で必要に応じて読み込む方法をどうやったらよいか、 前から悩んでいたのですが、以下、動く方法が1つ見つかりました。 レイアウトファイルの一部 append(…

CakePHP3:ルート以外のコントローラが全て404

結構ハマりました。結論からいうと、AllowOverrideの設定をhttpd.confで正しく設定しているか確認してください。

jQuery:フォームを送信する前に中身を操作する

<form id='create_order'> <input name='firstname'> </form> というフォームをajaxでPOSTしたい、だけど、firstnameを差し替えたいとします: function submitOrder() { var data = $("#create_order").serializeArray(); data.forEach(function (item) { if(item.name === 'firstname') { item.value = 'thebaker';…

Outlook:SSL/TLS/STARTTLSの謎

Outlook.comとOffice 365ブラウザ版のOutlookには、IMAPの通信経路の暗号化の選択肢として次の3つがあります: なし SSL TLS SSLだと993番に接続できますが143番はNGです。 TLSだと143番に接続できますが993番はNGです。 おそらく、ここでいうSSLは「SSL/TLS…

試乗:インプレッサG4 2.0i-S

先日カローラスポーツを試乗したので、比較対象としてインプレッサG4を試乗してきました。 内装 地味ですが頑張っています。ドアの内側のドアノブがちゃんとメッキになっている。 新型クラウン(RS Advance)やカローラスポーツはメタル調の塗装でした。 室…

MySQL/MariaDB:AUTO_INCREMENTが減る場合

MySQL8より過去のバージョン、および、MariaDB10.2.4より前のバージョンでは再起動の結果、AUTO_INCREMENTの値が減ることがあります。 再起動後、SELECT MAX(id) FROM テーブル名で取得した値を使ってAUTO_INCREMENTを設定しているようです。

試乗:カローラスポーツ(ガソリン車のGグレード)

メディアでのレビューが良いので気になってカローラ店に見に行ってきました。 この車、先代のオーリス時代はネッツとトヨペットでの扱いだったのに 今回からはカローラ店専売だそうです。 さて、内装ですが意外によかったです。新型クラウンの半額なのにまあ…

Apache 2.4:特定のIPからのアクセスはBasic認証を不要とする

<Location /> <RequireAny> AuthType Basic AuthName "Protected" AuthUserFile /etc/httpd/conf/.htpasswd Require valid-user Require ip xxx.xxx.xxx.xxx </RequireAny> </Location>

ハワイでの海外旅行保険(キャッシュレス対応の提携医療機関)

5月に、カカアコで日本人旅行者が公衆トイレで襲われたという気の毒な時間がありました。 その際の治療費が応急処置だけで700万円超… 私は毎回、海外旅行保険に入っているので安心だと思っていたのですが、 キャッシュレスサービスに非対応の病院だと困りま…

PayPal:User authentication failed

ちょっとハマりました。Bashでセキュアトークンは取得できるけど、同じ情報をPHPから投げると表題のエラーになる。 原因はパスワードに記号が入っているためでした(私の場合は$)

PayPal:Secure Tokenの入手

用語的に紛らわしいのが1点あって、セキュアトークンはPayPalに発行してもらうもの。 セキュアトークンIDは自分がランダムで生成してPayPal側に渡すものです。 参考URL: PayPal Payments Advanced: Getting Started with Hosted Pages - PayPal Developer #!…

Apache 2.4: アクセス拒否が効かない

Require all denied と書いても効かない場合、 <RequireAll> Require all denied </RequireAll> と書いてみてください。を省略した場合、とみなされて、 他の部分(例えば、BASIC認証のrequire valid-user)で満たされてしまうようです。

setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

表題のエラーが出て不思議に思っていました。 何もしてないのに、なぜ、突然、このメッセージが出てくるのだろう・・・ 私の場合はMacの言語設定を日本語から英語に変更したことが原因でした。 対策は言語設定で日本語に戻すだけです。 日本語の状態でローカ…

WordPress:イメージマップのレスポンシブ対応

rwdImageMapsを使えばいい!とわかっていたのですが、実際に組み込んでみるとエラー… 動かない例1 jQuery(document).ready(function(e){ jQuery('img[usemap]').rwdImageMaps(); }); これはUncaught TypeError: jQuery(...).rwdImageMaps is not a function…

スキャナとの通信中にエラーが起きました。(-9923)

mac

先日、キヤノンのTS3130という複合機を購入しました。印刷もスキャナも高速で助かります。しかも9000円弱… こいつはヘッドとインクが一体型になっているので、インクを交換すればヘッドが新品になります。昔使っていたHPと一緒です。 さて、Macにつなげてみ…

Perl:DateTime

use DateTime; my $time = DateTime->now(); $time->set_time_zone('Asia/Tokyo'); my $today = $time->strftime('%Y%m%d'); my $now = $time->strftime('%H:%M');

Perl:WWW::Mechanize::Timedをインストールする

めっちゃハマりました。 以下のスクリプトを実行してください: #!/usr/bin/perl use strict; use warnings; use CPAN; CPAN::Shell->install( "Tree::DAG_Node", "Test::Warn", "WWW::RobotRules", "HTTP::Cookies", "Net::FTP", "Net::HTTP", "Digest::bas…

CentOS7:時刻を変更する

テストのために時刻を変更することってあると思います。 以下、やり方です。まず、ntpを無効にします: timedatectl set-ntp 0 そして時刻を変更します timedatectl set-time '2018-05-21 23:00:01' 終わったらntpを復活させ: timedatectl set-ntp 1 chrony…

CakePHP3:ログイン後、管理者の場合は別ページにリダイレクトする

これ、Authの設定でやる方法をご存知の方がいましたら教えてください… 私はUsersController.phpのloginで次のようにしています: if ($this->request->is('post')) { $user = $this->Auth->identify(); if ($user) { if($user['user_status_id'] == USER_STA…

CakePHP3:ブラウザの言語設定におうじてロケールを切り替える

まず、AppController.phpに次を追加します: use Cake\I18n\Middleware\LocaleSelectorMiddleware; public function middleware($middleware) { $middleware->add(new LocaleSelectorMiddleware(['en_US', 'ja_JP'])); } 次にbootstrap.phpにこちらを: use …

CakePHP3:debugKitが表示されない…

開発環境をEC2に移したところ、debugKitが表示されないという怪現象が。 debug.logをみたところ: 2018-05-14 13:46:16 Warning: DebugKit is disabling itself as your host `ホスト名` is not in the known safe list of top-level-domains (localhost,dev…

CakePHP3:tinyintとsmallintのマイグレーションファイル

bakeコマンドでマイグレーションファイルを作成すると、次のような内容が生成されます: $this->table('statuses') ->addColumn('id', 'tinyinteger', [ 'default' => null, 'limit' => 3, 'null' => false, ]) ->addPrimaryKey(['id']) ->addColumn('name',…

CakePHP3:QRコードを表示する

今回は、こちらを利用しました: github.com PHP7.03以上とGDが必要です。 インストール composer require chillerlan/php-qrcode 僕の場合はこれで2.0.6が入りました GDのインストール iusを使っているので、以下でインストール: sudo yum install php72u-…

PHP:7.0から7.2に上げる

php

これまでPHP7.0を使っていたのですが、QRコードのライブラリが7.03以上のため、7.2にあげることにしました。 iusを使っていたので、次のようにしました: PHP7.0の削除 yum remove php70* PHP7.2のインストール yum -y install php72u php72u-devel php72u-m…

CakePHP3:レコードの存在をチェックする

これまでは、find()を使っていたのですが、もっと簡単な方法が! if ( $this->Users->exists(['email' => $email]) ){ } といった具合にチェックできます。

CakePHP3:画面が真っ白

VirtualBoxで仮想マシンを幾つか立ち上げてプログラムを書いていたところ、画面が真っ白であったり、 ERR_CONTENT_LENGTH_MISMATCHであったりのエラーが。 どうやらメモリ不足のようで、パソコンを再起動+仮想マシンの数を絞ったら治りました。

PHP:呼び出したいメソッドが変数に入っている場合

php

仮に、 $titleJa = $event->japanese[0]->title; $titleEn = $event->english[0]->title; $descJa = $event->japanese[0]->description; といったことを関数にまとめたいとします: $titleJa = getData($event, 'japanese', 'title); $titleEn = getData($ev…