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 投稿