libmoon の構造と設定ファイルの使い方

ディレクトリ構成の概要 libmoon は高性能パケット処理を実現する Lua ベースのフレームワークであり、そのプロジェクト構成は明確に分離されています。以下が主要なディレクトリ構成です。 libmoon/ ├── bin/ ├── build/ ├── config/ ├── deps/ ├── examples/ ├── lib/ ├── scripts/ ├── src/ ├── test/ ├── CMakeLists.txt ├── README.md └── LICENSE bin/: コンパイ ...

6月22日 21:05 投稿

STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート

STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート 目次- STM32F407でのLuaによるシリアル通信を利用した機能ホットアップデート 1.Luaリソースの準備 2.全体のアプローチ 3.Luaの移植 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 4.Luaの基本的な使用法 ステップ1 基本的なLua関数の作成 ステップ2 Lua関数の登録 ステップ3 Lua文 ...

6月15日 18:58 投稿

Air780EG における sys ライブラリを活用した LuaTask 非同期処理の実装

LuaTask フレームワークの概要 LuaTask は、Lua 言語のコルーチン機能を利用して擬似的なマルチタスク環境を実現するフレームワークです。従来のタイマーベースの遅延処理とは異なり、複数のタスクを並列的に記述することが可能になります。この框架を利用するには、まず sys ライブラリをロードし、プログラムの末尾で sys.run() を呼び出してスケジューラを起動する必要 ...

6月11日 16:40 投稿

pfUI アドオン構成と設定メカニズムの解析

プロジェクトディレクトリ構成 pfUI のソースコードは、機能ごとにモジュール化されたディレクトリ構造を採用しています。主要なフォルダの役割は以下の通りです。 pfUI/ ├── addons/ │ └── pfUI/ │ ├── api/ (外部 API 連携定義) │ ├── core/ (メインロジックおよび初期化) │ ├── modules/ (機能別モジュール) │ ├── ski ...

6月8日 23:15 投稿

NginxにGeoIP2モジュールを導入する手順

既存のNginx設定をバックアップ Nginxバージョンを切り替え(ソースコードディレクトリ /www/server/nginx/src を生成するため) GeoIP2モジュールの依存関係をインストール libmaxminddbをダウンロード Releases · maxmind/libmaxminddb (github.com) tar zxvf libmaxminddb-1.10.0.tar.gz cd libmaxminddb-1.10.0 ./configure --prefix=/usr/local/libmaxminddb ...

5月30日 07:51 投稿

OpenResty パッケージ管理ツール opm の導入と設定詳細

OpenResty 公式パッケージマネージャ opm の概要 opm(OpenResty Package Manager)は、Perl で実装された OpenResty 標準のパッケージ管理ツールです。Node.js の npm や Perl の CPAN に相当する機能を持ちます。中央リポジトリ(opm.openresty.org)から Lua ライブラリの取得や、自作ライブラリの公開を可能にします。 LuaRocks との比較 OpenResty 環境において、一般 ...

5月27日 09:01 投稿

合宙Air780EG開発ボードチュートリアル - sysライブラリの紹介 (LuatOSベース)

sysライブラリ sysライブラリのインターフェース関数については、sysインターフェース関数を参照してください。 一、sys.taskInit(func, arg1, arg2, argN) タスク(コルーチン)を作成します。 パラメータ: function: 実行する関数。匿名関数、ローカル関数、またはグローバル関数を指定できます。 any: 渡す引数1(任意) any: 渡す引数2(任意) any: 渡す引数N(任意 ...

5月25日 08:31 投稿

Redisのトランザクション処理:MULTI/EXECとLuaスクリプトの比較分析

Redisにおけるトランザクション処理は、主に「MULTI/EXECコマンドによるトランザクションモード」と「Luaスクリプト」の2つのアプローチが存在します。 結論から述べると、それぞれの特性は以下の通りです。 **トランザクションモード (MULTI/EXEC)** * 隔離性を保証します。 * 永続性の保証は困難です。 * 限定的な原子性を持ちますが、ロールバック機能はサポー ...

5月19日 11:33 投稿

wrkツールを拡張してTCPバイトストリームプロトコルの負荷テストを実現する方法

wrk拡張によるTCPバイトストリームプロトコル対応 wrkはHTTP(s)負荷テストツールとして広く利用されていますが、TCPベースのバイトストリームプロトコルに対応するためにはカスタマイズが必要です。本記事ではその実装方法を解説します。 基本アーキテクチャ wrkは以下の主要コンポーネントで構成されています: Redisのaeイベントループフレームワーク LuaJITスクリプ ...

5月17日 01:38 投稿