어느새 피앰아이에서의 2년을 꽉 채워가고 있다. 2023년이 이제 보름도 남지 않았다. 1년이라는 시간이 굉장히 빨리 지나간 것 같은 느낌이다. 연말을 맞이하여 올해를 돌아보며 2023년을 마무리 해보려고 한다.
작년과 마찬가지로, 올해도 개발부에서 다양한 경험을 할 수 있었다. 그 중에서도 가장 기억에 남았던 작업은 웹 크롤링이었다. 크롤링을 위한 도구로 puppetier라는 라이브러리를 처음으로 사용하였는데 웹페이지에서 크롤링이 어떻게 동작하는 지에 대해 전반적으로 잘 이해할 수 있었다. 사실 작년에 토이 프로젝트로 KBO 야구 경기에 관한 웹페이지를 만들어보려고 했던 적이 있었다. 그때는 크롤링이라는 것도 잘 몰랐고 방법도 몰랐었기 때문에 KBO 경기결과 정보를 가져오려고 여러 방법을 시도해보았었다. KBO에서 제공하는 api가 따로 없었기 때문에 경기 결과 웹페이지를 크롤링하여 데이터를 얻는 방법 밖에는 없었다. 그 때 크롤링에 대해 잘 몰라서 도중에 포기했지만 puppetier를 알고 이것을 사용하여 크롤러를 개발하고 크롤링 작업을 할 수 있는 지금이라면 그 토이 프로젝트를 이어서 할 수 있겠다는 생각이 든다. 내가 맡은 채널은 유튜브와 인스티즈였는데 각각 puppetier의 사용보다는 사이트 내 검색 및 필터를 조건에 맞게 사용하는 것이 관건이었다. 각 웹페이지의 스토리지에서 저장되는 키들이 담고 있는 데이터를 적절하게 활용해야 했다. 나는 네트워크 분야의 지식이 별로 없었기 때문에 이 부분에 관한 공부가 필요하다는 것을 느꼈다. 내가 개발한 크롤러는 몇 번의 리팩토링 과정을 거쳤다. 아마 지금 매주 돌리고 있는 크롤러는 초기의 코드와 아주 많이 다를 것이다. 처음에 개발했던 크롤러는 이러저러한 에러 사항이 많았다. 웹페이지가 로딩 되는 시간, 유튜브 검색 알고리즘 등을 고려하지 않았기 때문에 크롤러 개발을 완료 하였음에도 수정이 계속해서 이루어졌다. 아무리 테스트를 많이 돌려도 실제로 돌려보지 않으면 알 수 없는 에러들이 많았다. 몇 개월에 걸쳐 조금씩 리팩토링을 거친 뒤에야 안정적으로 데이터를 확보할 수 있었다. 처음부터 완벽한 프로그램을 개발하는 것에 욕심을 두지 않고 수많은 테스트를 거치며 조금씩 고쳐나가야 하는 것에 중요함을 알게 되었다. 지금은 매주 크롤러를 계속 돌리고 있으며, 앞으로도 더 많은 프로젝트에서 웹크롤링을 활용할 계획이다.
유니서베이 블로그 작업은 개인적으로 아쉬운 점이 많다. vue2editor를 사용하여 어드민 페이지에서 블로그 게시물 관리하는 일종의 게시판 만드는 작업이었는데 vue2editor 사용에 국한되어 작업을 하게 되어 사용자의 요청 사항에 100% 응하는 작업을 하지 못한 것 같다. 블로그 에디터라면 보통 네이버 블로그 에디터를 생각하게 되는데 그 라이브러리에서 사용할 수 있는 에디터 기능들보다 훨씬 적은 기능을 사용하게 되었고 라이브러리에서 지원하지 않는 기능을 구현하기 위해 하나하나 이벤트를 걸어 개발을 진행하다 보니 코드가 난잡해지기 시작했다. 에디터 프로그램을 바꿀 생각을 당시에는 하지 못했던 것이 많이 아쉽고, 어드민 페이지라고 생각하여 프론트 화면을 디자인 적으로 신경을 거의 쓰지 못한 점도 굉장히 미련이 남는다. 사실 프론트 엔드 화면 디자인은 내가 굉장히 즐거워하는 작업이지만 그만큼 고민이 길어져 시간이 오래 걸리기 때문에 유저 화면이 아닌 관리자 화면에서는 효율성을 추구하기 위해 거의 신경을 안 썼다. 혹시라도 추후에 작업을 다시 하게 된다면 이런 아쉬운 점을 보완할 수 있었으면 좋겠다.
가장 어려웠던 작업은 해외 사이트 연동 작업이었다. 인수인계를 워낙 짧은 시간에 받았고, 사실 인계 받는다고 했지만 제대로 이해한 부분이 거의 없었기 때문에 기존 진행했던 해외 연동 프로젝트를 복사해와서 매뉴얼대로 수정하는 것 외에 혼자 할 수 있는 게 거의 없었다. 해외 사이트이기 때문에 영어로 된 문서를 활용해야 했기에 기본적인 어려움이 있었다. 영어 공부를 하고 싶다는 생각이 강하게 들었다. 부장님의 도움을 전적으로 받아 전체적인 흐름을 이해한 후에야 프로젝트를 어느 정도 진행할 수 있었다. 인계 받을 당시, 연동 작업은 거의 비슷하기 때문에 큰 어려움이 없을 거라고 들었지만 막상 혼자 진행하기에는 많은 난관이 있었다. Toluna 연동 이후 현재 SAGO 연동을 진행하고 있다. 내가 맡은 두 번째 해외 연동 프로젝트인데 이번에는 좀 더 나 스스로 많은 부분을 진행해보고 싶다. 아울러 영어 공부도 계속해서 꾸준히 해나가야겠다.
올해는 피앰아이에서 2년째 되는 해이다. 작년과 비교하면 내가 회사를 다니며 해야 하는 것, 이루어야 하는 성과 및 목표가 많이 달라졌다. 그리고 주임으로 진급하였기 때문에 좀 더 내가 하는 작업에 책임감 및 전문성을 가져야 한다고 생각했다. 하지만 여전히 아직 더 배우고 부족한 점이 있어 이런 부분은 내년에도 이어서 채워나가려고 한다. 회사를 다니면서 거의 주로 개발부 안에서만 생활했기 때문에 다른 부서와 교류하거나 소통할 기회가 거의 없었고 그러다 보니 타 부서에 대한 관심 및 정보가 늘 부족했다. 개발자들은 주로 혼자, 혹은 개발자끼리의 협업 위주로만 업무가 이루어지기 때문에 커뮤니케이션이 부족하다는 인식이 종종 있다. 그런 개발자가 되고 싶지 않아서 처음에는 내 방식대로 노력해보았지만 잘 되지 않았던 것 같아 반성이 된다. 내년에는 이러한 부분도 개선할 수 있는 기회가 있었으면 좋겠다.