[NDC25-프로그래밍] 새로운 언어 개발부터 VS Code 확장까지
NDC 넥슨 · YouTube
AI 핵심 요약
메이플스토리 월드의 내장 스크립트 에디터는 마우스 중심의 불편한 입력 방식과 코드가 많아질수록 커지는 성능 부담이 있었고, 전용 스크립트 엔트리 포맷은 외부 편집과 형상 관리도 어렵게 했다. 이를 해결하기 위해 Lua 기반에 타입과 객체지향 문법을 더한 M루아를 설계해 스크립트 엔트리와 호환되는 텍스트 표현을 만들고, VS Code에서 편집할 수 있도록 언어 서버 프로토콜 기반 확장을 개발했다. 언어 서버는 어휘·구문 분석, 심볼 테이블과 타입 정보를 이용한 의미 분석으로 자동 완성 등의 기능을 제공하며, 디버그 어댑터 프로토콜을 통해 VS Code와 Lua 런타임의 디버깅도 연결했다. 그 결과 크리에이터는 Git, AI 코딩 도구 등 익숙한 개발 도구를 활용할 수 있게 됐고, 발표자는 기존 포맷과의 호환성을 유지하면서 외부 개발 환경을 확장한 경험을 공유했다.
- 전용 저장 포맷을 외부 도구에서 편집하려면, 기존 포맷과 호환되는 텍스트 표현 계층을 설계할 수 있다.
- 언어 문법을 정의할 때는 기반 언어와의 어휘·구문 충돌, 기존 데이터 구조와의 호환성을 함께 고려해야 한다.
- VS Code 언어 기능은 여러 편집기 지원과 무거운 분석 작업이 필요하다면 언어 서버 프로토콜 기반으로 구현하는 편이 적합하다.
- 자동 완성은 토큰화와 구문 트리 생성만으로 충분하지 않으며, 스코프별 심볼 테이블과 타입 정보를 활용한 의미 분석이 필요하다.
- 디버그 어댑터 프로토콜을 런타임과 편집기 사이에 두면 각 IDE에 종속되지 않는 디버깅 연동을 구성할 수 있다.
소개
↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 넥슨코리아 이동현 ● 키워드: #프로그래밍언어 #VSCode #인텔리센스 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
비슷한 학습 자료
컨퍼런스 NDC
[NDC21-프로그래밍] 게임 서버를 품은 쿠버네티스
컨퍼런스 NDC
● 설문조사: https://forms.gle/fQp2bW5VrSQGTSaR9 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브시스터즈 용찬호 ● 권장 대상: 서버 프로그래머, DevOps 및 인프라 엔지니어 ● 키워드: #클라우드 #쿠버네티스 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
데브옵스 · 인프라
컨퍼런스 NDC
● 설문조사: https://forms.gle/zYktz7D24DUsTWLU9 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 넥슨코리아 성우경 ● 권장 대상: 컴파일러 설계, 프로그래밍 언어에 관심 많으신 분 ● 키워드: #프로그래밍언어 변환 #ANTLR #Scala #Transpiler 설계 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
프로그래밍 언어
컨퍼런스 NDC
● 설문조사: https://forms.gle/tPkXvVFXZ25Z3TTq7 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 넥슨코리아 이연성 ● 권장 대상: 프로그래머 ● 키워드: #코드생성기, Roslyn, C#, C++, UE4 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
프로그래밍 언어 게임 프로그래밍
컨퍼런스 NDC
[NDC21-커리어] 처음 만드는 건데 실수 좀 할 수 있죠
컨퍼런스 NDC
● 설문조사: https://forms.gle/xDX2BbuNkbYfcSxw9 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 커리어 ● 발표자: 넥슨코리아 박소현 ● 권장 대상: 학생, 개발자 지망생 ● 키워드: 학생 게임 개발 사례 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
컨퍼런스 NDC
[NDC21-프로그래밍] 로컬라이징 노하우 공유
컨퍼런스 NDC
● 설문조사: https://forms.gle/JG9Y97FfeLYqW8b4A ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브캣 김한수 ● 권장 대상: 툴 프로그래머, UI 프로그래머 ● 키워드: #로컬라이징 #개발환경 #글로벌원빌드 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
개발 · 프로그래밍 기타
컨퍼런스 NDC
[NDC] 개발이 쉬워진다? - 생산성을 올려주는 개발자 도구툴
컨퍼런스 NDC
NDC 2019 [개발이 쉬워진다? - 생산성을 올려주는 개발자 도구툴] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 홍진우 2. 발표자 소개 : 6년차 프로그래머, 마비노기 개발을 담당했었으며, 현재 인프라기술팀에서 개발자 도구툴(사이드킥)을 만들고 있습니다. 3. 세션 소개 : 개발 시 버그로 고민할 때가 많습니다. 어떤 부분에서 어떤 문제가 생겼는지 빠르게 확인할 수 있다면 얼마나 좋을까요? 이 세션에서는 문제 상황을 빠르게 파악할 수 있고 작업자의 시간을 아껴주는 개발자 도구툴을 소개합니다. 감사합니다. 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물...
개발 도구