Node.jsでHTTPリクエストのクエリパラメータとボディデータを処理する

Node.jsのネイティブHTTPモジュールを用いて、クライアントからのGETおよびPOSTリクエストを正しく解析し、パラメータを抽出する方法について解説します。本実装では、組み込みモジュールのみを使用し、外部依存を排除します。 GETリクエストのクエリ文字列解析 GETリクエストのクエリパラメータはURLの?<query>部分に含まれます。`url`モジュールのparse()関数にtr ...

8月6日 23:00 投稿

実時間ログ処理におけるメモリ枯渇対策と動的highWaterMarkによるバックプレッシャー制御

実時間ログ収集・解析システムの開発において、継続的なデータストリームの処理中にヒープメモリが消費し尽くされOOM(Out Of Memory)エラーが発生するケースは頻繁に報告される。この現象は、上流からのデータ流入速度と下流処理(データベースへの永続化、外部API連携、複雑なパターンマッチングなど)の速度に乖離が生じ、Node.jsストリーム内部のバッファが制御不能に ...

8月4日 20:57 投稿

Javaソケット通信の基本操作

サーバーサイド: public class SocketServer { public static void main(String[] args) throws Exception { // サーバーソケットを作成し、指定ポートで待受開始 ServerSocket serverSocket = new ServerSocket(8765); // クライアントからの接続を待機 Socket clientConnection = serverSocket.accept(); ...

7月14日 02:21 投稿

Streamを捨てて、JDFrameでJavaデータ分析を書き換える

Java 8のStream APIは強力だが、覚えるべきメソッドが多く、チェーンが長くなると可読性が落ちる。そこで、SparkやPandasのDataFrameライクな操作をJVM上で実現する軽量ライブラリ「JDFrame」を紹介する。SQLに近い直感的なAPIで、集計・フィルタ・ソート・結合を数行で記述できる。 導入 <dependency> <groupId>io.github.burukeyou</groupId> ...

6月25日 00:23 投稿

ストリームとファイルI/O

ストリームは、JDK 8から導入されたAPI(java.util.stream)で、コレクションや配列のデータを操作するために使用されます。このAPIはLambda式を大量に利用しており、コードが簡潔になり可読性が向上します。 ストリームの使用方法は以下の通りです。まず、データソースを取得し、そのストリームを取得します。その後、ストリーム内の様々なメソッドを使用してデータを処理 ...

6月13日 20:09 投稿