Code Day's Night

ichikawayのブログ

TLSやTCPをPHPで実装して人生を学ぶ「3つの層」の話をしました(ぺぱ合戦)

2024/11/30に行われた「紅白ぺぱ合戦」で技術LT(?)をしてきました。 connpass.com 紅白ぺぱ合戦は、id:asumiso と id:stefafafan の結婚披露宴(実質)のようなものです。 全体の感想 披露宴はいいですね。100人近く集まった人がいくつかグルーピングされて…

PHPで自作IPパケットを送受信したい場合

いまPHPでTCPプロトコルを実装中です。TCPはレイヤーとして4層でその下の3層にIPがあります。 PHPで自作TCPパケットを送りたい時はC言語で実装するのと同じように socket_create()関数の引数に、 AF_INETとSOCK_RAWを指定すると実現できます。 SOCK_RAWを使…

迂闊にTLS/SSLをPHPで実装してみたら最高だった件

この記事はTLS/SSLを実装してみたいという人が増えるといいな!という気持ちで書いています。実装の詳細は別記事で書こうかと思います。 数年前からいつかTLS/SSLのプロトコルをPHPで実装したいと思い、まずは本で知識を得ようかとラムダノートの「プロフェ…

ChromeがHTTPSに優先アクセスする307リダイレクトをHSTS関係なくやるようになった

2023年11月1日の時点の情報です。 先にまとめを書きます。興味があれば詳細もどうぞ。 まとめ 10月16日のChrome 118からHTTPS ファーストモードがデフォルトでオンに 条件によってHTTPS Upgradeが働いてhttpのサイトにアクセスするとhttpsに優先的にアクセス…

PHPカンファレンス福岡 スタッフ物語

PHPカンファレンス福岡2023が無事に終わった。Backlogのチケット数は258件、開催から3週間後の現在は残り7件まできている(開催後もやることがあるのがカンファレンス運営)。 私は2015年に初代実行委員長をして、それからずっとスタッフをしている。初年度…

PHPStan レベル9でintvalのmixed givenエラーが出る

PHPStan Level9(Max)を使ってチェックしているところで、最近になってintval($mixed)のように引数にmixedの型が入った値を入れるとPHPStanでエラーになった。 実際に表示されるエラーはこちら。Level8ではエラーは出ない。 Parameter #1 $value of function …

PHPカンファレンス福岡で発表した苦闘の物語の裏側

PHPカンファレンス福岡2023、非常に盛り上がりましたね!久しぶりの開催でしたが熱気があって素晴らしいカンファレンスでした。 私はカンファレンススタッフをしつつ、プラチナスポンサーとしてスポンサーセッションに登壇しました。 fortee.jp スポンサーセ…

FMVキーボード(FMV-NKBUD)がLinuxで動くか人柱になってみた

FujitsuのFMVモバイルキーボード(FMV-NKBUD)が良さそうで気になってました。 www.fmworld.net Ubuntu22.04(Linux)で動くか不明だったので買って試してみました。キーボードとトラックパッドが一体になっていて薄型でAppleのMagic Keyboardっぽい感じです。 …

Jenkinsを動かすJavaの環境を指定する

2022年9月からJenkinsはJava11以上が必須になるようなので、/usr/local/java17以下にJava17を入れてそちらでJenkinsを動かすことにした。 AmazonLinux2やUbuntu20.04, 22.04などパッケージで入れたJenkinsはたぶんsystemdで管理されているはず。今回はsystem…

Ubuntu22.04にすると古いPostgreSQLのインターフェースと接続できなくなった

問題の現象 今回の環境は非常にレアケースのため世界中でこの問題に直面したのは自分だけかもしれない。。 今回の問題の最初の挙動は、Ubuntu22.04とPHP8.1、pdo_pgsqlで古いDB(PostgreSQLと互換性のあるインターフェースを持つ)に接続すると下記のエラーが…