[2024 SUMMER DEV] 자신의 독서 취향을 온전히 담은 온라인 서재 플랫폼 ‘기록의 서재’, LIB팀

프로젝트 소개

LIB 대표사진

LIB팀의 ‘기록의 서재’는 자신의 독서 취향을 온전히 담는 온라인 서재를 만드는 플랫폼으로, 사용자가 독서감상을 기록하는 것이 주요 기능이며 사용자 맞춤 AI 책 추천 서비스 제공해 차별화를 하고 있습니다.


팀원 소개

LIB 승현 LIB 다현 LIB 현명
FE    승현 BE    다현 AI    현명


인터뷰

Q. 프로젝트를 하면서 어떤 문제를 겪었나요?

A. 프로젝트를 진행하면서 큰 문제는 없었으나 제대로 하는 프로젝트는 다들 처음이다 보니 프로젝트를 하는 도중에 멘토단을 찾는 일이나 다른 동아리원의 도움을 구하는 일이 있었던 것 같습니다. 경험이 부족하다 보니 아는 것이 한정적이었고 진행 과정에서 막히는 부분이 생기곤 했으나 열심히 구글링과 조언을 구했기에 프로젝트를 잘 마무리할 수 있었습니다.


Q. 프로젝트를 하기 전 후 달라진 점이 있다면?

A. 프로젝트를 하고 난 후 전보다 개발 실력이 성장한 것을 느꼈습니다. 프로젝트를 진행하는 과정에서 발생하는 오류들을 해결하기 위해 공부하면서 다양한 인사이트를 얻게 되었고 프로젝트에 적용시키기 위해 전에는 써보지 않는 라이브러리나 기술 스택들을 써보면서 저희도 모르게 개발 지식이 쌓인 거 같습니다. 그리고 프로젝트를 마치고 난 후 다시 한 번 협업의 중요성을 깨달았습니다.


Q. 프로젝트를 시작하는 팀에게 전해줄 꿀팁을 말해주세요!

A. 프로젝트를 처음 시작하는 팀에게 꿀팁이 있다면 혼자 하는 활동이 아니라 팀으로 하는 프로젝트 활동이기에 서로서로 긴밀하게 소통하고 논의하거나 공유할 사항이 있다면 팀과 함께 이야기를 나누는 것이 좋다고 생각합니다. 또한 보통의 에코노베이션 프로젝트는 한 학기동안 진행하기 때문에 시간 분배를 하는 것도 중요한 것 같습니다. 다른 일로 바쁠 때 쉬엄쉬엄 하려면 계획을 잘 짜서 시간을 잘 분배하는 것도 중요하겠죠?



Q. Summer Dev 프로젝트에서 개발자로 참여한 경험을 설명해 주세요. 어떤 역할을 맡았고, 주요 기술 스택은 어떻게 구성되었나요?

A. LIB은 FE, BE, AI 각 분야별 1명씩 총 3인으로 구성되어 있습니다. 기술 스택의 경우 FE는 리액트와 함께 Vite를 사용했고, styled-components 라이브러리를 사용했습니다. BE는 스프링, 스프링 data jpa, MySQL을 사용하였으며, AI는 Pytorch, Python을 모델 개발에 사용했고, 만든 모델을 배포하기 위해서 Flask와 AWS EC2를 사용했습니다.


Q. 프로젝트 개발 중 어려움을 겪은 경험이 있나요? 어떻게 해결했으며, 그 과정에서 얻은 교훈은 무엇인가요?

A. FE는 서버와 통신할 때 따로 라이브러리를 사용하지 않고 axios만 이용하여 통신했습니다. 하지만 이렇게 통신하니 통신을 하는 코드도 지저분하고 성능적으로도 많이 느렸기에 다음 프로젝트부터는 React-Query 라이브러리를 사용하여 통신 코드를 관리해야겠다고 생각했습니다. BE는 FE와의 통신에서 CORS에러를 계속해서 마주하여 어려움을 겪었는데 요청을 주고받는 형태에 대한 이해가 부족했기 때문에 이에 대한 문제가 생긴 것을 알고 이를 해결했습니다. 통신하는 과정에서는 소통도 중요하지만 그 통신과정을 잘 이해하는 것도 중요함을 깨달았습니다. AI에서는 인공지능 모델을 만드는 것 만큼 중요한 것이 학습이 잘 되었는지 평가하는 것인데, 도서 추천 모델을 학습시킬 때 책들의 유사도를 기반으로 책을 추천해주는데 콜드 스타트 문제를 염려하여 협업필터링 없이 컨텐츠 기반 추천만 활용하여 명확한 평가지표가 존재하지 않아서 개발하면서 어려움을 겪었습니다. 다음에 기회가 된다면 헙업필터링도 같이 활용하여 하이브리드 추천 시스템을 만들어 보고 싶습니다.


Q. 개발자로서 역량 향상을 위해 어떤 노력을 기울였으며, 이 프로젝트를 통해 어떤 기술적 성장을 이루었나요?

A. FE는 프론트엔드 개발자로서 최대한 재사용 가능한 컴포넌트를 찾고 중복된 코드를 줄이기 위해 노력했습니다. 이 과정에서 기능적인 중복은 줄었지만, 스타일에서는 여전히 개선할 여지가 있다는 것을 깨달았습니다. BE는 처음 스프링 프레임워크를 사용하는 프로젝트이기에 학습부터 실제 적용까지 하는 것에 어려움이 있었지만, 이를 통해 새로운 기술 스택을 익히는 능력을 향상시킬 수 있었습니다. 공식 문서와 블로그를 통해 학습한 내용을 실제 코드에 적용하면서 기술에 대한 이해와 활용 능력이 향상되었습니다. AI의 경우, 팀과 협업하여 AI 모델을 개발하고 백엔드와 연결하는 과정에서 백엔드 분야에 대한 지식도 습득할 수 있었습니다. 특히, AWS 환경과 EC2를 통해 배포하는 과정을 처음 경험하면서 배포에 대한 이해도 역시 높아졌습니다.



메인 책 상세


지금까지 자신의 독서 취향을 온전히 담은 온라인 플랫폼 ‘기록의 서재’ LIB팀의 인터뷰였습니다!