영상편집 프로그램을 오픈소스로 공개했습니다.
영상편집 프로그램을 오픈소스로 공개했습니다.
새로 리팩토링 중입니다. 얼마 전에 JavaScript에서 TypeScript로 마이그레이션 했고요. 상태관리를 포함해 작년에 마저 끝내지 못한 버그와 최적화를 진행하고 있습니다. 이왕 리팩토링 하는 겸 오픈소스로 공개해 봅니다.
Custom Element를 사용했습니다. 웹 표준이라는 거에 꽂혀서 사용했지만 쓰고 나서 “이 불편한걸 어케 썼지” 하는 생각이 절로 들었습니다. 그리고 1년 전쯤 이 프로젝트로 데이고 나서 React/TypeScript 스택으로 넘어오게 되었습니다.
영상을 실시간으로 렌더링 해야 해서 최대한 가볍게 만들어야 했습니다. 그래서 최근에 Litjs로 마이그레이션 하고 있습니다. 구글에서 만든 프레임워크인데 나름 vite의 기본 템플릿으로 들어갈 만큼 근본 있는 녀석입니다. 처음부터 Custom Element를 쉽게 다루기 위한 프레임워크라 호환성도 좋습니다.
사실 웬만한 시행착오는 이 프로젝트에서 다 해봤습니다. 타입 추론이 없어서 ipc 간 통신 메소드를 찾는데 시간을 낭비하기도 하고 컴포넌트 간 의존성 관리에 실패해서 서로가 서로를 의존하는 최악의 상황에 놓이기도 했습니다. 덕분에 TypeScript를 적용하고 React를 배우는 계기가 되기도 했죠.
같은 맥락에서 저는 기술적 시행착오는 필요하다고 봅니다. 프론트엔드 스택을 보면 처음부터 React/TypeScript 스택을 사용하게 되는데 왜 React를 써야 하는지, 의존성을 어떻게 설계해야 하는지 모르고 공부하기 쉽습니다. 주변에서 쓰니까 같이 따라서 쓰는데 무엇이 좋은지 왜 지금까지 쓰이는 기술인지 직접 써보면서 느껴야 한다고 생각합니다.
특히 주니어 레벨일수록 사용하고 있는 기술의 이전 기술을 다뤄보아야 한다고 봅니다. React라면 Custom Element 웹 표준을, Custom Element라면 순수 HTML, CSS, JS를요. AI가 업무 생산성에도 깊숙이 기여하고 있는 현재에 기초가 더 중요 해지는 건 사실인 것 같습니다.