Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / README.md
Last active July 18, 2025 09:02
PHPビルトインサーバーのコードで改善できそうなこと(アップデート)

PHPビルトインサーバーのコードで改善できそうなこと【2025年版・レスポンス改善を反映】

  1. 命名規則の揺れ・プリフィックス統一の徹底

  • normalize_vpath, append_http_status_line, add_response_header など、
    php_cli_server_ プレフィックス抜けの関数をリネーミング・名寄せ
@masakielastic
masakielastic / README.md
Created July 18, 2025 08:07
PHPビルトインサーバーのレスポンス改善の進め方

レスポンス改善の進め方(推奨ロードマップ)


1. 現状把握と整理

  • 現状のレスポンス処理を棚卸し
@masakielastic
masakielastic / README.md
Created July 18, 2025 05:58
PHPビルトインサーバーのコードで改善できそうなこと

PHPビルトインサーバーのコードで改善できそうなこと

  1. 命名規則の揺れ・プリフィックス統一の徹底

  • normalize_vpath, append_http_status_line, add_response_header など、
    php_cli_server_ プレフィックスが抜けている関数のリネーミング
@masakielastic
masakielastic / README.md
Last active July 18, 2025 02:58
分量の多いソースコードのリファクタリングを AI と一緒に取り組む方法

分量の多いソースコードのリファクタリングを AI と一緒に取り組む方法

You:

Webブラウザー版の ChatGPT で生成できるコードの行数は1000行ぐらいでしたっけ?php_cli_server.cの行数は約2900行なので、AI が扱えるコンテキストを超える可能性があるので、今までコードをちびちび投稿してきました。この分量になると改善に関する明確な指示がないとAIが回答しづらいと思います。


ChatGPT:

@masakielastic
masakielastic / README.md
Last active July 18, 2025 02:50
php_cli_server から関数名を抜粋

1. イベントループ・ポーリング・FD管理

  • php_cli_server_poller_ctor

  • php_cli_server_poller_add

  • php_cli_server_poller_remove

  • php_cli_server_poller_poll

@masakielastic
masakielastic / 01-README.md
Created July 17, 2025 08:33
コードポイントと文字の往復変換コマンドを作成する

コードポイントと文字の変換コマンドを作成する

chmod +x ord
chmod +x chr
> ord あ
@masakielastic
masakielastic / server.php
Created July 10, 2025 20:47
stream_socket_server で TLS 対応の HTTP/1 サーバー。ハンドラー形式。
<?php
// --- 1. 自己署名証明書+秘密鍵を生成 --- //
// OpenSSL 設定(鍵長・鍵タイプ等)
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
// 1.1. 秘密鍵を生成
@masakielastic
masakielastic / 01-README.md
Created July 10, 2025 19:31
select で TLS 対応の HTTP/1 サーバー。ハンドラー方式

select で TLS 対応の HTTP/1 サーバー。ハンドラー方式

ビルドしてサーバーを起動させます。

gcc -o server server.c -lssl -lcrypto
./server

curl で HTTP リクエストを送信します。

@masakielastic
masakielastic / server.php
Created July 10, 2025 18:47
stream_socket_server による TLS 対応の HTTP/1 サーバー。自己署名の証明書と秘密鍵の自動生成機能つき。
<?php
// --- 1. 自己署名証明書+秘密鍵を生成 --- //
// OpenSSL 設定(鍵長・鍵タイプ等)
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
// 1.1. 秘密鍵を生成
@masakielastic
masakielastic / mkcert.php
Last active July 10, 2025 18:37
stream_socket_server で TLS 対応の HTTP/1 サーバー
<?php
// 1. 秘密鍵と CSR(証明書署名要求)のオプションを設定
$config = [
"config" => "/etc/ssl/openssl.cnf", // 必要に応じて openssl.cnf へのパスを調整
"private_key_bits" => 2048, // 鍵長
"private_key_type" => OPENSSL_KEYTYPE_RSA, // 鍵タイプ
];
// 2. 秘密鍵の生成
$privateKey = openssl_pkey_new($config);