연락처 정보

코스 개요

Lua 입문

  • Lua의 역사 개요
  • Lua의 목표, 특징 및 지향하지 않는 방향
  • Lua 관련 문서와 튜토리얼 리소스
  • Lua 인터프리터 설치 방법
  • LuaRocks의 설정 및 사용법

기본 구문 및 의미론

  • 식별자에 대해서
  • 주석과 블록 주석
  • 전역 변수와 엄격 모드 설정
  • 지역 변수의 사용법
  • 독립형 프로그램 및 프로그램 인자
  • 컴파일 단위, 표현식 및 세미콜론의 역할

데이터 타입과 자료구조

  • 기본 타입: nil, 불리언, 숫자, 문자열
  • 객체 타입: 함수, userdata, 스레드, 테이블
  • 참조형 객체와 기본값의 차이점
  • Lua에서 테이블이 중요한 이유

테이블의 유연성에 대한 소개

  • 연관 배열로서의 테이블 활용법
  • 숫자 인덱스를 가진 배열 및 시퀀스로서의 테이블

기본 제어 구조

  • if, then, elseif, else, end 문법
  • while 반복문 사용법
  • repeat 반복문의 특징
  • 간단한 for 반복문 활용법

오류 처리 방법

  • 반환값과 예외 상황의 차이점
  • 반환값을 예외로 변환하는 기술
  • 예외를 반환값으로 처리하는 방법
  • 오류 수준에 대해서

실습 예제 프로그램들

  • 다항식 계산 구현법
  • 너비 우선 탐색(BFS) 알고리즘 구현
  • 기타 연습문제들

함수에 대한 심화 내용

  • 명시적 인자 지정법
  • 객체 지향 방식으로 함수 호출하기
  • 클로저의 개념 및 사용법
  • 커리(currying) 기법에 대해서
  • 꼬리 호출(Tail Call) 활용 방법
  • 다중 값 할당 및 반환 기술
  • 가변 인수(Varargs) 사용법

이터레이터와 코루틴

  • 일반 for 반복문의 구조
  • 상태 없는 이터레이터와 상태를 가지는 이터레이터 비교
  • 이터레이터와 코루틴 간의 차이점

메타테이블과 메타메서드

  • 집합 클래스 구현 예제
  • __tostring 메타메서드의 역할
  • 산술 연산 관련 메타메서드들
  • __index와 __newindex 메타메서드 설명
  • __len 메타메서드에 대해서

모듈과 패키지 관리 방법

  • 기존 모듈 활용법
  • 자신만의 모듈 생성 과정
  • 여러 모듈을 패키지 형태로 구성하는 법

객체 지향 프로그래밍 기법

  • Lua에서 객체 지향 프로그래밍의 구성 요소들
  • 실제 활용 예시들

더 고급한 언어 기능에 대한 토론

  • 약한 테이블(Weak Tables) 사용법
  • 종결자(Finalizers) 설정 방법
  • 컴파일, 실행 시점 평가(eval), 데이터 로딩 기능에 대해서

요건

최소 하나 이상의 다른 프로그래밍 언어에 대한 친숙함과 프로그래밍 경험이 필요합니다. 선택 사항으로, 다른 스크립트 언어에 친숙하다면 Lua를 이해하는 데 도움이 됩니다.

 14 시간

참가자 수


참가자별 가격

예정된 코스

관련 카테고리