Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / README.md
Created July 18, 2025 10:15
PHPビルトインサーバー改善:関数調査まとめ

PHPビルトインサーバー改善:関数調査まとめ

  1. 調査対象リスト(一次まとめ)

関数名 現状カテゴリ
normalize_vpath プレフィックス抜け
append_http_status_line プレフィックス抜け
@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. 秘密鍵を生成