Lua: 어디서나 실행되는 경량 스크립팅 언어
Lua는 LOVE 게임 프레임워크와 Roblox부터 Redis, OpenResty를 통한 Nginx, Neovim에 이르기까지 게임 엔진, 웹 서버, 데이터베이스, 텍스트 에디터에서 사용되는 빠르고 임베드 가능한 스크립팅 언어입니다. 최소한의 코어와 깔끔한 C API는 전체 언어 스택의 오버헤드 없이 스크립팅 가능한 런타임이 필요할 때 기본 선택지입니다. 이 트랙은 40개의 체계적인 강좌를 기반으로 첫 번째 원리부터 프로덕션급 임베딩 및 성능 튜닝까지 Lua를 다룹니다.
배울 내용
변수, 타입, 연산자, 제어 흐름부터 시작하여 Lua를 특별하게 만드는 기능으로 나아갑니다: 배열, 딕셔너리, 객체를 위한 범용 데이터 구조인 테이블. 그 다음 표준 문자열 라이브러리, 패턴 매칭, 파일 I/O, 날짜 처리를 다룹니다. 중급 주제에는 메타테이블과 메타메서드, 객체 지향 및 함수형 프로그래밍 패턴, 코루틴, 클로저, 모듈, JSON 인코딩이 포함됩니다. 응용 트랙은 게임 로직을 위한 Lua 스크립팅, busted를 이용한 단위 테스트, Redis 스크립팅, 플러그인 아키텍처 구축을 다룹니다. 고급 강좌는 약한 테이블을 이용한 메모리 관리, C 애플리케이션에서 Lua 임베딩, LuaJIT 성능 최적화, C 라이브러리 호출을 위한 FFI, OpenResty/Nginx 통합, 샌드박싱, DSL 구성, LuaSocket을 이용한 네트워킹, Neovim 플러그인 작성에 이릅니다.
학습 경로
40개의 강좌는 A1부터 C1까지 아우릅니다. A1과 A2 강좌는 언어 기초를 확립합니다 — 구문, 함수, 테이블, 시퀀스, 기본 I/O. B1 강좌는 Lua 특유의 사고 모델을 구축합니다: 메타테이블, 코루틴, OOP 패턴, 상속, 함수형 프로그래밍, 표준 라이브러리. B2 강좌는 그 지식을 실제 상황에 적용합니다: 게임 로직을 위한 Lua 스크립팅, 코루틴 기반 비동기 패턴, Redis 스크립팅을 위한 Lua, LOVE를 이용한 Lua 게임 개발. C1 최종 단계는 전문가 수준의 주제를 다룹니다 — C 애플리케이션에서 Lua 임베딩, LuaJIT 및 성능 최적화, FFI: Lua에서 C 라이브러리 호출, Nginx의 Lua (OpenResty), Neovim 플러그인 작성.
작동 방식
각 강좌는 내장된 코드 에디터에서 실시간 피드백과 함께 완료하는 짧고 실습 중심의 강의로 나뉩니다. 막히는 부분이 생기면 AI 튜터를 언제든 이용할 수 있으며, 자기 속도대로 진행하는 방식이므로 이미 알고 있는 주제는 빠르게 진행하고 메타테이블이나 코루틴처럼 세심한 주의가 필요한 부분은 천천히 진행할 수 있습니다.