고민의 연속
졸업 작품을 뭐할지에 대해 계속된 고민을 했었습니다.
저는 애초에 이번 졸업작품에 대해서는 팀을 꾸릴 생각이 전혀 없었습니다. 여러 이유가 있지만 팀으로 꾸리다보면 제가 하고 싶은 주제를 하는데 있어서 제약사항이 많기 때문입니다. 그리고 학생들끼리 모여서 프로젝트를 하다보면 배우는 점이 거의 없었습니다. 이러한 경험에 의거해서 여럿이서 하는 프로젝트에 대한 경험은 잘하는 분들과 하고 싶었습니다. (물론 잘하시는 분들이 절 원하진 않겠지만요...😢)
몇 일 동안 조금씩 고민을 해보고, 교수님과 이야기를 나눈 결과, 3가지 정도로 압축되어졌었습니다.
- R3F를 사용하여 웹 상에서 3D를 구현하는 서비스
- 최적화와 관련된 지표들을 분석
- 좋은 아이디어를 웹 서비스로 구현
첫번째는 제가 예전부터 봐두던 기술이고, 컴퓨터 그래픽스라는 과목에서 three.js 라이브러리를 기반으로 과제를 했던 경험이 있었기에 해볼만 하다고 생각했지만 관련된 3d image asset이 많이 없었기에 일단은 보류해두고 있었습니다.
두번째는 최적화와 관련된 여러 지표들을 파악하고 분석하는 논문을 생각해봤었습니다. 하지만 이를 분석하려면 지표들에 대한 데이터가 있어야 하는데 이 또한 구하는 것이 힘들 것이라고 생각했습니다.
마지막으로는 좋은 아이디어를 생각해내서 웹서비스로 구현하는 것이었습니다. 하지만 좋은 아이디어라는 것을 빠른 시간 내에 생각하는 것은 매우 힘들며 그것이 있다고 하더라도 혼자서 5개월 내에 구현하는 것은 더더욱 힘들다고 생각을 했었습니다.
3가지 모두 쉽지 않은 일임을 자각하고 있던 와중에, 여자친구가 찾아준 다른 학교의 졸작을 통해 제 성장을 도모할 수 있는 프로젝트를 생각할 수 있게 되었습니다
주제 선정
저는 단순한 프론트엔드 개발자로 머무는 것이 아닌 오픈소스 프로젝트에 기여할 수 있는 개발자를 꿈꾸고 있습니다. 특정 플랫폼에 종속되지 않는 개발자가 되려고 합니다. 그러다보니 다른 학교의 졸업작품을 보다보니 제가 현재 수준에서 할 수 있을 것 같은 프로젝트를 찾게 되었습니다. 먼저 vscode의 extension을 개발하려고 합니다.
왜 Extension을?
웹서비스만 만들다보니 제가 React/Next.js를 통해 컴포넌트만 만들 수 있는 개발자인 것만 같았습니다. 프론트엔드도 더 잘하는 것을 목표로 삼아야겠지만 js를 기반으로 웹 이외의 다른 것들을 구현할 수 있는 사람이 되고 싶었습니다.
다음은 VSCode의 동작 원리이며, VSCode는 node로 구현되어 있기 때문에, node에 관련된 기술을 배울 수 있습니다
현재 진행상태는?
현재는 프로젝트 세팅과 WakaTime 코드를 기반으로 시간을 계산하는 부분까지는 구현하고 있습니다.
다만, 아직 이 데이터를 저장하고, 시각화를 하는데 있어서는 조금 시간이 걸릴 것으로 예상되고 있습니다