0Pricing
Lua Academy icon

Lua Academy

LUAGamesScriptingBeginnerSystemsDesktopBackendMobile

Lua Academy で軽量で柔軟なアプリケーション開発のために Lua を学びましょう。

🤖 AI 搭載📚 40 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

Lua: あらゆる場所で動作する軽量スクリプト言語

Lua は、LOVE ゲームフレームワークと Roblox からRedis、OpenResty 経由の Nginx、Neovim まで、ゲームエンジン、ウェブサーバー、データベース、テキストエディターで使用されている高速で埋め込み可能なスクリプト言語です。最小限のコアとクリーンな C API により、フル言語スタックのオーバーヘッドなしでスクリプト可能なランタイムが必要な場合の第一選択肢となります。このトラックは、40 の構造化されたコースに基づいて、第一原理から本番レベルの埋め込みとパフォーマンス チューニングまで Lua をカバーしています。

学べること

変数、型、演算子、制御フロー から始まり、その後 Lua の特徴を成す機能に進みます: 配列、辞書、オブジェクトすべての汎用データ構造としてのテーブル。そこから、標準文字列ライブラリ、パターンマッチング、ファイル I/O、日付処理を学びます。中級トピックには、メタテーブルとメタメソッド、オブジェクト指向およびファンクショナルプログラミングパターン、コルーチン、クロージャー、モジュール、JSON エンコーディングが含まれます。応用トラックは、ゲームロジック用 Lua スクリプティング、busted を使用したユニットテスト、Redis スクリプティング、プラグインアーキテクチャの構築をカバーしています。上級コースは、弱参照テーブルを使用したメモリ管理、Lua を C アプリケーションに埋め込むこと、LuaJIT パフォーマンス最適化、C ライブラリを呼び出すための FFI、OpenResty/Nginx インテグレーション、サンドボックス化、DSL 構築、LuaSocket を使用したネットワーキング、Neovim プラグイン作成に達します。

学習パス

40 のコースは A1 から C1 をカバーします。A1 と A2 のコースは言語の基礎を確立します — 構文、関数、テーブル、シーケンス、基本的な I/O。B1 コースは Lua 固有の考え方を構築します: メタテーブル、コルーチン、OOP パターン、継承、ファンクショナルプログラミング、標準ライブラリ。B2 コースはその知識を実際の文脈に適用します: Lua Scripting for Game Logic、Coroutine-Based Async Patterns、Lua for Redis Scripting、Lua Game Development with LOVE。C1 の最高峰層は専門家向けのトピックに対応しています — Embedding Lua in C Applications、LuaJIT & Performance Optimization、FFI: Calling C Libraries from Lua、Lua in Nginx (OpenResty)、Lua Writing Neovim Plugins。

仕組み

各コースは短く実践的なレッスンに分かれており、組み込みコードエディターでリアルタイムフィードバックを得ながら完了します。行き詰まったときはいつでも AI チューターが利用でき、自分のペースで進められるため、既に知っているトピックは素早く進め、メタテーブルやコルーチンなど慎重な注意を要する部分は時間をかけることができます。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

40コース

Lua Academyラーニングパスのすべてのコース

01

Luaへようこそ

A13レッスン

Luaとは何か、なぜRobloxやWorld of Warcraft、数多くのゲームエンジンを内部で支える秘密のエンジンなのか、そしてなぜ習得が速い言語の一つなのかを学びます。

02

Luaの基礎:変数、型、演算子

A14レッスンPRO

Luaプログラミングの基礎を習得します。変数、データ型、算術・論理・文字列演算子、型強制のルールを学びます。

03

Luaの数値と数学

A14レッスンPRO

Luaの数値と数学ライブラリを自信を持って扱います。

04

制御フロー:if/elseif/elseとループ

A24レッスンPRO

Luaの条件分岐とループ構文を習得します。while、repeat-until、数値for、汎用forループを扱います。

05

Luaの関数

A24レッスンPRO

関数の定義と呼び出し、複数の戻り値、可変長引数、第一級関数、再帰パターンを学びます。

06

テーブル:万能なデータ構造

A24レッスンPRO

配列、辞書、レコードとして使われるLuaのテーブルを詳しく学びます。挿入、削除、走査、ネストした構造を習得します。

07

LuaのファイルI/O

A24レッスンPRO

Luaのioライブラリでファイルを開き、読み書きして閉じる方法を学びます。エラー処理とファイルハンドルの扱いも学びます。

08

Luaでシーケンスを扱う

A24レッスンPRO

配列形式のテーブルとシーケンスの規約を使います。

09

Luaの日付と時刻の処理

A24レッスンPRO

日付と時刻を読み取り、書式設定し、計算します。

10

文字列ライブラリ徹底入門

B14レッスンPRO

Luaの文字列ライブラリを習得します。連結、長さの取得、find、sub、format、gsub、gmatch、パターンマッチングの基礎を扱います。

11

メタテーブルとメタメソッドの基礎

B14レッスンPRO

メタテーブルを理解し、__index、__newindex、__add、__tostringなどのメタメソッドでテーブルの振る舞いをカスタマイズする方法を学びます。

12

pcallとxpcallによるエラーハンドリング

B14レッスンPRO

pcall、xpcall、error()、構造化されたエラーオブジェクトを使って、堅牢なLuaプログラムのエラーハンドリングモデルを習得します。

13

モジュールとrequireシステム

B14レッスンPRO

requireでモジュール化されたLuaプログラムを構築します。package.pathとpackage.loadedを理解し、再利用可能なモジュールファイルを作成します。

14

コルーチン入門

B14レッスンPRO

Luaのコルーチンを学びます。作成、再開、yield、状態の確認を扱い、協調的マルチタスクとプロデューサー・コンシューマーパターンを理解します。

15

メタテーブルによるオブジェクト指向プログラミング

B14レッスンPRO

メタテーブル、メソッドディスパッチのための__index、コンストラクタ、インスタンスデータのカプセル化を使って、Luaで本格的なOOPシステムを構築します。

16

Luaの継承パターン

B14レッスンPRO

メタテーブルのチェーン、mixinパターン、メソッドのオーバーライドを使って、Luaで単一継承と多重継承を実装します。

17

高度なテーブル操作

B14レッスンPRO

table.sort、table.concat、table.move、ディープコピーの戦略、大規模なデータ構造を効率的に操作する方法を習得します。

18

Lua標準ライブラリ

B14レッスンPRO

Luaの標準ライブラリを実践例とともに総覧します。math、table、string、io、os、debugモジュールを扱います。

19

パターンマッチングと文字列解析

B14レッスンPRO

Luaの強力なパターンマッチングシステムを習得します。テキスト解析、データ抽出、トークン化、変換に活用します。

20

Luaの関数型プログラミングパターン

B14レッスンPRO

関数を値として扱い、表現力豊かなLuaコードを書きます。

21

LuaのJSONエンコードとデコード

B14レッスンPRO

JSON形式でLuaとデータをやり取りします。

22

クロージャとUpvalue

B24レッスンPRO

Luaのクロージャを深く理解します。Upvalue、共有Upvalue、ファクトリ関数、メモ化、クロージャベースの状態機械を扱います。

23

イテレータパターンとジェネレータ

B24レッスンPRO

クロージャ、コルーチン、汎用forプロトコルを使って、Luaのカスタムイテレータと状態を持つジェネレータを構築します。

24

ゲームロジックのためのLuaスクリプティング

B24レッスンPRO

ゲーム開発でLuaを活用します。イベントシステム、コンポーネントスクリプティング、AIビヘイビアツリー、データ駆動設定、ホットリロードを扱います。

25

bustedによるLuaのユニットテスト

B24レッスンPRO

Luaコードの自動テストを書いて実行します。

26

コルーチンベースの非同期パターン

B24レッスンPRO

コルーチン、イベントループ、promise相当の仕組み、ノンブロッキングI/Oパターンを使って、Luaでasync/await形式の並行処理を構築します。

27

クラスシステムをゼロから実装

B24レッスンPRO

継承、mixin、インターフェース、型チェック、シリアライゼーションを備えた、本番品質のOOPクラスシステムを純粋なLuaで構築します。

28

プラグインアーキテクチャの構築

B24レッスンPRO

Luaでプラグインシステムを設計します。拡張可能なアプリのための検出、ロード、サンドボックス化、バージョニング、フック、ライフサイクル管理を扱います。

29

Luaコードのデバッグとプロファイリング

B24レッスンPRO

Luaのデバッグツールを習得します。debugライブラリ、リモートデバッガ、プロファイラ、コードカバレッジ、体系的なトラブルシューティング手法を学びます。

30

RedisスクリプティングのためのLua

B24レッスンPRO

効率的なRedis Luaスクリプトを記述します。EVAL、KEYS/ARGV、トランザクション、アトミック操作、レート制限、Luaライブラリヘルパーを扱います。

31

LOVEによるLuaのゲーム開発

B24レッスンPRO

LÖVEフレームワークとLuaで2Dゲームを構築します。

32

メモリ管理と弱いテーブル

C14レッスンPRO

Luaのガベージコレクタ、弱参照、弱いテーブル、ファイナライズを理解し、メモリを効率的に扱うアプリケーションを構築します。

33

CアプリケーションへのLua組み込み

C14レッスンPRO

Lua C APIを学びます。ステートの作成、値のpush、CからのLua呼び出し、C関数の登録、スタック管理を扱います。

34

LuaJITとパフォーマンス最適化

C14レッスンPRO

LuaJITのJITコンパイラ、最適化手法、プロファイリング、マイクロベンチマークを使って、Luaの性能を最大限に引き出します。

35

FFI:LuaからCライブラリを呼び出す

C14レッスンPRO

LuaJITのFFIライブラリでC関数を直接呼び出します。Cの型を宣言し、共有ライブラリをロードし、ポインタを安全に扱います。

36

Nginx(OpenResty)でLua

C14レッスンPRO

OpenRestyで高性能なWebアプリケーションを構築します。リクエスト処理、共有メモリ、cosocket、Redis連携、キャッシュを学びます。

37

Luaのサンドボックス化とセキュリティ

C14レッスンPRO

安全なLuaサンドボックスを実装します。制限付き環境、サンドボックスからの脱出防止、安全なrequire、リソース制限、監査ログを扱います。

38

LuaでDSLを構築

C14レッスンPRO

Luaでドメイン固有言語を設計・実装します。メタテーブルによるカスタム構文、パーサコンビネータ、インタプリタ、設定用DSLを扱います。

39

LuaSocketによるLuaのネットワーク通信

C14レッスンPRO

LuaSocketライブラリを使ってネットワーク通信を行います。

40

LuaでNeovimプラグインを書く

C14レッスンPRO

組み込みのLua APIを使ってNeovimを拡張します。

よくある質問

よくある質問

Lua Academyコースは無料ですか?

はい。Lua Academyコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

LUAを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、LUAの事前経験がなくても始められます。

CoddyKitでLUAをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

Lua Academyを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、Lua Academyコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでLUAを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもLUAを学習でき、進捗がすべてのデバイスで同期されます。

Lua Academyを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る