Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / Makefile
Last active June 23, 2025 11:14
VOICEVOX C API の使用例 (C 言語版)
# VOICEVOX v0.16.0 C API サンプルのMakefile(辞書パス対応版)
# 環境変数またはデフォルトパス
VOICEVOX_DIR ?= /home/masakielastic/.voicevox/squashfs-root/vv-engine
# コンパイル設定
CC = gcc
CFLAGS = -Wall -Wextra -std=c99 -DVOICEVOX_LINK_ONNXRUNTIME
LDFLAGS = -L$(VOICEVOX_DIR) -lvoicevox_core -lonnxruntime
INCLUDES = -I.
@masakielastic
masakielastic / Cargo.toml
Last active June 23, 2025 07:56
Rust smol で HTTP/1 サーバー
[package]
name = "smol-http-server"
version = "0.1.0"
edition = "2021"
[dependencies]
smol = "2.0"
@masakielastic
masakielastic / README.md
Last active June 23, 2025 06:46
Robyn で Hello World

Robyn で Hello World

Robyn は Rust で開発された Pyhton フレームワークです。

プロジェクトの作成

uv init robyn_app
cd robyn_app
@masakielastic
masakielastic / README.md
Last active June 22, 2025 23:05
Rust axum による HTTP/1 サーバーの PHP 拡張機能

Rust axum による HTTP/1 サーバーの PHP 拡張機能

@masakielastic
masakielastic / Cargo.toml
Last active June 22, 2025 18:33
Rust tokio の HTTP/1 サーバーを PHP 拡張機能で利用する
[package]
name = "tokio_http"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = ["cdylib"]
[dependencies]
ext-php-rs = "0.13"
@masakielastic
masakielastic / server.php
Created June 21, 2025 19:55
PHP libuv 拡張 (amphp/ext-uv) で HTTP/1 サーバー
<?php
// PHP libuv拡張を使ったシンプルなHTTP/1.1サーバー
function createHttpResponse($statusCode, $statusText, $body, $headers = []) {
$response = "HTTP/1.1 {$statusCode} {$statusText}\r\n";
// デフォルトヘッダー
$defaultHeaders = [
'Content-Type' => 'text/html; charset=utf-8',
'Content-Length' => strlen($body),

poll で HTTP/1 + TLS サーバー

環境

Debian 12 Bookworm

ビルドと実行

@masakielastic
masakielastic / server.c
Created June 21, 2025 19:01
poll で HTTP/1 サーバー
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <poll.h>
#include <errno.h>
#include <fcntl.h>
@masakielastic
masakielastic / README.md
Created June 21, 2025 18:56
select システムコールで HTTP/1 + TLS サーバー

select システムコールで HTTP/1 + TLS サーバー

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

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

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

@masakielastic
masakielastic / server.c
Created June 21, 2025 18:51
select システムコールで HTTP/1 サーバー
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>