職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

PHP

CakePHP から味わう データベース・レプリケーション

この記事は CakePHP Advent Calendar 2019 の7日目の記事です。今年はCakeFestが東京で開催され、筆者もそこで少しばかりお話をさせて頂いたのですが、この内容は英語でしか発信していませんでした。どこかの機会で日本語でも喋ろうと思っていたのですがタイ…

CakeFest 2019 Tokyo

2週間ほど前、ほぼ毎年開催されているCakePHPの国際カンファレンス「CakeFest」に参加してきました。ちょっとばかし登壇もしました。 cakefest.org この記事は参加の記録です。

CakePHPの nested transaction まわりの挙動を見てみる

CakePHPでちょっとハマったのでメモ。 三行まとめ nested transaction サポートしてないという思い込み、怖い。 フレームワークのソースを読んでみよう。 トランザクションに関わるコードはきちんと書け。

テーブル名と照合順序

古めのPHPから SQL Server のデータベースに接続するアプリケーションをメンテナンスすることになり、環境構築している途中でハマったのでメモ。 三行まとめ DBの照合順序がLatin系だと、テーブル名が日本語になっているテーブルはPHPから見えなくなる。 で…

PHP処理中にHTTPサーバ再起動

PHP

PHPに限らず、Webアプリケーションを動かしているとどこかのタイミングでHTTPサーバを再起動する必要に迫られることがあります。 そのタイミングで誰もアクセスしていないという保証があるのなら話は簡単なのですが、その保証があることは、以前は極めて稀で…

さぁ、PDF手書きの世界へ。

PDFに関して様々な処理を行うためのプログラム pdftk をWebブラウザから呼び出すことができるように、pdftk wrapper という単純なツールを作って公開しました。github.com 何のために作ったのか? PDFはテキストではなくてバイナリのファイル。そう認識され…

CakePHP3で簡易監査ログ

情報システムを組み上げるときは「誰がいつ何をした」といった情報を残していくことが非常によくあります。この情報のことを監査ログと呼びますが、他にも呼び方があるかもしれません。英語では audit trail と言ったりしてたと思います。たぶん。そのシステ…