PL/SQL

【PL/SQL】カーソルFORループと明示的カーソルの使い分け|パフォーマンスと可読性の観点から

PL/SQLで繰り返し処理を行う際によく利用されるのが「カーソル」です。カーソルには大きく分けて以下の2種類があります: カーソルFORループ(暗黙的カーソル) 明示的カーソル(OPEN/FETCH/CLOSEによる制御)本記事では、この2...
Node.js

【Node.js】AsyncLocalStorageでリクエスト単位のコンテキストを保持する方法

Node.jsは非同期で動作するため、リクエストごとに変数のスコープを持つことが難しいとされてきました。これにより、リクエスト単位でログのトレースIDやユーザー情報を扱う際、グローバル変数やクロージャでは意図しない値の共有が発生することがあ...
Node.js

【Node.js】WebSocketを使ったリアルタイム通信|socket.ioで双方向のイベント設計

Webアプリケーションにおいて、リアルタイム通信のニーズは年々高まっています。チャット、通知、オンライン同期など、ユーザー同士の即時反応が求められる場面では、従来のHTTPリクエストでは対応が難しいケースも多くなります。この記事では、Nod...
Node.js

【Node.js】メッセージキューを使った非同期ジョブ処理の実装|Bull×Redis入門

Node.jsで大量のタスクを効率よく処理したいとき、非同期ジョブキューの活用が有効です。特に、重たい処理をバックグラウンドで並列実行しつつ、安定性・再試行性・監視性も担保したい場合には、BullとRedisを組み合わせた構成が強力です。こ...
Node.js

【Node.js】イベントループの挙動を理解する|setTimeoutとPromiseの優先度

Node.jsは非同期処理が得意なプラットフォームとして知られていますが、その中核を担うのが「イベントループ(Event Loop)」です。非同期APIの処理順序を理解することで、意図しない遅延やバグを防ぐことができます。本記事では、特に混...
Node.js

【Node.js】Child Processを使った並列処理|CPUを活かすマルチプロセス設計

Node.jsはシングルスレッドの非同期処理で高いパフォーマンスを発揮しますが、CPUを多用する処理(画像変換・暗号化・大量計算など)ではボトルネックになることがあります。このような場面で活躍するのが、Child Process(子プロセス...
Node.js

【Node.js】メモリリークの原因と検出方法|heapdumpとprofilerで可視化

Node.jsは非同期で高性能なアプリケーション開発に適していますが、運用中に「メモリ使用量がじわじわと増加する」「一定時間後にサーバーが落ちる」といった現象が発生することがあります。こうした現象の多くは、メモリリークに起因します。この記事...
Node.js

【Node.js】大量リクエストを高速処理するRate Limiterの実装法|Express中間処理で防御力UP

APIサーバーにおいて、外部からの過剰なリクエストによってリソースが枯渇する事態は珍しくありません。特にNode.jsのように非同期で高速にリクエストを処理できる環境では、同時接続数や負荷に対する防御策が欠かせません。本記事では、Expre...
Node.js

【Node.js】大量ファイルを効率的に処理するストリームの使い方|CSV・ログファイルの高速読み書き

Node.jsで大量のCSVデータやログファイルを扱う際、ファイルを一括で読み込んで処理すると、メモリ使用量が急増し、パフォーマンスに深刻な影響を与えることがあります。そのようなケースでは、Node.jsのストリーム機能を使って、ファイルを...
Node.js

【Node.js】APIパフォーマンスを可視化する方法|ログ・レスポンスタイム・モニタリングの実装

APIのレスポンスが遅い、または時々タイムアウトが発生する——こうしたパフォーマンスの問題を早期に発見し、安定運用につなげるためには、パフォーマンスの可視化が不可欠です。本記事では、Node.jsで構築されたAPIサーバにおいて、ログ収集・...
Node.js

【Node.js】環境別に設定を切り替えるconfig設計術|dotenv・config・環境変数の使い分け

Node.jsアプリケーションでは、開発環境・本番環境・テスト環境など、実行環境によって設定値を柔軟に切り替える必要があります。たとえば、使用するデータベースやAPIキー、ログ出力の詳細度などは環境によって異なるはずです。本記事では、Nod...
Node.js

【Node.js】cronと組み合わせて定期処理を自動化する|node-cronによるスケジューラ構築

Node.jsを使ったWebアプリやバッチ処理において、「毎日深夜にログを集計する」「1時間ごとにAPIからデータを取得する」といった定期的な処理を自動化したい場面は多くあります。これを実現するには、cron(クーロン)形式のスケジュール指...
PowerShell

【bat】PowerShellとの連携で高度な処理をバッチから呼び出す方法

バッチファイル(.bat)は手軽に使える自動化スクリプトとして広く利用されていますが、構文の制約により複雑な処理には不向きです。一方、PowerShellは.NETベースの強力なスクリプト言語で、ファイル操作やJSON処理、API連携などに...
bat

【bat】Windowsイベントログから特定のエラーを検出して通知する方法

Windowsでは、システムやアプリケーションの動作状況がイベントログに記録されています。トラブル発生時の調査や障害監視のために、このイベントログから特定のエラーを検出し、自動的に通知する仕組みを構築できると非常に便利です。本記事では、バッ...
bat

【bat】共有フォルダへの接続エラーを検出して自動リカバリする方法

ネットワーク共有フォルダを使った業務処理では、突然の接続エラーやアクセス不能によりスクリプトが停止してしまうケースがあります。これを未然に防ぐためには、共有フォルダへの接続確認とリカバリ処理を自動化することが重要です。本記事では、バッチファ...
bat

【bat】CSVファイルを読み取って行単位で処理を行う方法|業務データの一括処理に応用

CSVファイルを扱う業務は多く、バッチファイルでもCSVデータを自動処理したいというニーズがあります。たとえば、顧客一覧からメールを一括送信したり、ファイル名と保存先が記載されたCSVをもとにコピー処理を行うなど、さまざまな業務に応用可能で...
bat

【bat】複数PCに一括でコマンドを送る方法|ネットワーク越しの遠隔実行と管理

業務現場では、複数のPCに対して一括でコマンドを実行したい場面が頻繁にあります。たとえば、ソフトウェアのアップデートやログ収集、サービスの再起動など、個別に実行するには手間とミスが伴います。本記事では、バッチファイルを使ってLAN内の複数P...
bat

【bat】前回処理の状態を記録して次回に引き継ぐ方法|ログファイルとフラグ管理の実践

バッチファイルを使った定期処理や業務自動化の現場では、「前回の処理が成功したかどうか」「最後に処理した日時はいつか」といった状態を次回に引き継ぎたいケースが多くあります。この記事では、ログファイルやフラグファイルを活用して、前回の処理結果を...
bat

【bat】複数のバッチファイルを一括で管理・実行するマスタースクリプトの作成法

日常の業務やシステム運用では、複数のバッチファイルを連続して実行したい場面がよくあります。個別に実行していては非効率でミスも起きやすくなるため、それらを一括で管理・実行する「マスタースクリプト」を作成することが有効です。この記事では、複数の...
bat

【bat】管理者権限で自動実行するバッチファイルの作り方|UAC回避とタスク登録の方法

Windowsでは、システム設定の変更やファイルの移動・削除といった処理には管理者権限が必要です。バッチファイルでこれらの操作を自動化しようとした場合、「ユーザーアカウント制御(UAC)」の確認画面が表示され、処理が止まってしまうことがあり...