エンジニアリング
2024年3月7日 - 9日に「中野セントラルパークカンファレンス」で開催された、(広義の)PHPer向けの技術カンファレンス「PHPerkaigi 2024」に参加 & 登壇してきた。 phperkaigi.jp PHPerKaigi 2024 わたしとPHPerKaigi PHPerKaigiへの初参加は去年、今回で2回…
Docker for Macで docker build していたところ apt-get で署名検証失敗エラーが出たが、真の原因はDockerイメージの保存用ファイルがfullだったからだった。 ざっくりまとめ Docker for Mac全体でのDockerイメージを保持するためのファイルのサイズ上限を決…
タイミング的には2017年ぐらいのイベントだけど、歴史のあるプロジェクトを保守する時たまに踏むので備忘録がてらまとめておく。 DockerHub MySQLイメージのベースOSはOracleLinuxへ変わった github.com これまでのベースOSは debian だったが、2017年ぐらい…
セルフホストしているRedashのログが貯まり続けたせいでdisk fullで死んだ。 OSS版Redash をEC2でセルフホストしてそのまま運用していると踏むトラップだと思うので各位気をつけられたし。 ざっくり要点まとめ Redashは結構ログを吐く Docker Daemonはデフォ…
ECS (Fargate) 上で動くPHPアプリからAWS SDKを使ったとき、metadata endpointへアクセスできない問題を踏んだのでそのことを残しておく。 ざっくり要点まとめ AWS SDKなどがしれっと見に行く metadata endpoint にはEC2用とECS用で分かれており、 AWS_CONTA…
毎年参加している、LINEヤフー社 主催のパフォーマンスチューニングコンテスト「ISUCON」に今年も参戦しました。 isucon.net 去年のブログ blog.pinkumohikan.com チーム ここ4年ほど同じメンバーでISUCONに参戦していますが、チーム名は毎年変更しています…
2023/10/8 (日) に 大田区産業プラザPiO で開催された PHPカンファレンス 2023 にて、「安全にPHPでWebアプリ開発するために実践していること」というテーマでお話してきました。 トーク PHPは言語仕様が年々堅牢になりつつありますが、より安全に仕様変更や…
PRテンプレートを用意する際に「レビュイー (PR作成者) だけに伝えたいこと」をHTMLコメントとして書くと余計な情報をレビュアーに見せずに済むテクニックがあるので紹介する。
データベースマイグレーションツールのロールバック機能は安全に使えないので使うべきではない、という話。
GitHub上のマージ済みremote branchをコマンドで一括削除したくなったときの備忘録
Docker ComposeでDBが完全に起動し終わる前にAPIがリクエストを処理すると500になっちゃう問題に対する対処方法
超長い正規表現をPHPのpreg_match関数に食わせたところエラーになった。公式ドキュメントにはこの振る舞いは記載されていないので調べたことを残しておく。
恒例行事となっているISUCON予選に今年も参加し、無残な敗退を喫してきた💀
どこにあるか分からないけどデカいファイルがあって悪さしていそうなので探したいときなどに、findコマンドのsizeオプションが便利
使われていない機能は積極的に消すべき慈悲はない
諸般の事情でさくらのレンタルサーバ上で Node.js (npm) を使いたくなったので、使えるようにする手順を残しておく。
PHPUnit実行時にメモリ使用量上限を超えてエラーになる場合の対処方法について。
少し古めのLaravelアプリケーションを保守していてComposer 2でcomposer install出来ない問題にぶち当たったので、これから躓くひとのために記録を残しておく。
今年もISUCON 予選に参加し、527チーム中31位で惜しくも本戦出場なりませんでした、ざんねん〜〜〜〜〜〜〜。
AmazonLinux2にMySQLクライアントのみをインストールしたくなって方法を調べたのでまとめておく。
IPA主催のサイバーセキュリティ知識の認定試験「情報処理安全確保支援士試験」(旧 セキュリティスペシャリスト試験)に合格しました 🎉
Webセキュリティ界隈で有名な徳丸さん監修の「ウェブセキュリティ実務知識試験 (通称: 徳丸実務試験)」に合格しました🎉
これまでデータベースのカラム名を命名する際、日付 (date) でも日時 (datetime) でもsuffixには `at` を使っていたが、日付の場合は `at` よりも `on` のほうが適切である、と教えてもらったのでそれについてまとめた。
jsonを比較する際にkeyとvalueの組が同じでもkeyの並びが微妙に違っていたりして余計な差分が出てキレそうなとき、jqを使ってkeyでソートしてからdiffを取ったりすると便利だよっていう小ネタを紹介する。 jq jqはjsonをいい感じに整形したり、色付け表示し…
nginxでリクエストを受けてphp-fpmにpassするというPHPアプリケーションではスタンダードな構成において、リクエストが中断されたときphp-fpmの処理って中断されるんだっけ?されないんだっけ?というのが気になったので調べた。
10/3 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン本戦にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として33チーム中20位でフィニッシュし「またあいま賞」を頂きました 🎉
9/12 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン予選にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として予選18位で予選突破しました ISUCON10 FINALIST認定証 isucon.net 初めての予選突破本戦頑張り…
デフォルトリポジトリを使ってPHPをインストールするとCentOS 7系では5.4が、CentOS8系ではPHP 7.2が入る。それよりも新しめなバージョンのPHPを使いたいときの王道的な方法として、remiリポジトリを使う方法を紹介する。 PHP 7.4 前提 2020/09/20 (日) 時点…
Redash SaaSからRDSへつなげるように出来るんだっけ、とか、どんなリスクがあるんだっけ、みたいなことを調べたのでまとめておく
mysqlコマンドの実行結果から枠線とカラム名を取り除いて表示する方法を調べたので備忘録がてらまとめておく