참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다.
디스코드 서버와의 연동에 대해 알아볼려 했지만 고난과 역경 앞에 그냥 지인분이 공수해올 라즈베리파이 서버를 사용하기로 결정짓고 소스코드의 전반적인 개편을 시작했습니다.
알다시피 라이노는 짭바스크립트입니다. node.js가 지원하는 es6의 기능 다수를 지원하지 못합니다. 하지만 타입스크립트는 자유로운 버전 호환과 더 엄격한 타입, 새 기능들과 변태급의 모듈화 편의 등의 다양한 장점이 있었고, 즉시 rhino js를 typescript(es5)로 변환하기 시작했습니다.
단순히 타입만 선언해서 될 게 아닙니다.
node.js로 갈긴 갈건데 현재는 라이노 js이기 때문에 어쨋든 자바패키지를 참조할려는 뒤틀린 욕망이 자아낸 구조
약 280개의 에러
프로토타입 확장 막힘
덕분에 Array.prototype.includes 안됨
이게...맞나?
기본적인 구조를 다시 제대로, Object.assign으로 흉내내기가 아니라 extends와 implements, class와 추상 class, 인터페이스 등으로 제대로 구현해야 합니다. 더이상 동적 할당 및 선언을 할 수 없는 노릇이기에 타입들을 모두 선언하고 지켜야 합니다. 이건 가장 기본적이지만 가장 노가다성이 짙어서 꽤나 고생했습니다.
줄 수의 급격한 증가도 문제였습니다. 사실 그 이전부터 총합 줄이 1천을 넘어가니 개발 효율에 차질이 생기기 시작했고, 이참에 타입스크립트의 모듈화 기능을 이용하여 모듈을 만들고 또 만들었습니다. 그래도 300줄이네요. 더 만들어야 할 필요가 있습니다.
위 사진에서 나열하다시피 es2015로 하니 나오는 단점이 한두가지가 아닙니다. 그래서 그냥 라이노를 버리기로 했습니다. 어차피 node.js로 갈건데 중간에 경유할 라이노를 왜 신경쓰나요.
'프로젝트 > RTTRPG' 카테고리의 다른 글
[RPG 개발] 11일차 (0) | 2022.12.05 |
---|---|
[RPG 개발] 10일차 (0) | 2022.12.05 |
[RPG 개발] 8일차 (0) | 2022.12.05 |
[RPG 개발] 7일차 (0) | 2022.12.05 |
[RPG 개발] 6일차 (1) | 2022.12.05 |