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