일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- HTTP
- 데이터베이스
- SQL
- 네트워크
- 깃허브 로그인
- 백준
- 백준 4358번
- 데베
- 모두의네트워크
- 깃허브 토큰 인증
- 딥러닝
- 리액트 네이티브
- 깃 연동
- 정리
- 모두를위한딥러닝
- 지네릭스
- 리액트 네이티브 프로젝트 생성
- 리액트 네이티브 시작하기
- 머신러닝
- 백준 5525번
- 모두의 네트워크
- 자바
- 백준 4949번
- 문자열
- 팀플회고
- 깃 터미널 연동
- 백준 4358 자바
- 모두를 위한 딥러닝
- 스터디
- React Native
- Today
- Total
솜이의 데브로그
졸업프로젝트 눈소리 회고 본문
졸업은 해야지
우리과는 졸업을 하기 위해서 1년간 졸업프로젝트를 진행해야했다.
사이버보안을 전공했지만 나는 개발이 더 하고 싶었기에 개발을 희망하는 팀원들과 팀을 꾸려 3학년 2학기부터 졸업 프로젝트를 진행하게 되었다.
당시 나는 파이썬으로 백엔드 개발만 찍먹해본 수준의 실력이었고.. ㅋㅋㅋ 서버가 어떤건지, 어떤식으로 API 호출 및 반환을 하는지 정도만 이해 한 수준이었다. 그래도 일단 졸업은 해야하니 하면서 배우자! 하는 생각으로 졸프를 시작했다.
부담은 늘어만 가고
졸프 첫 수업날 어쩌다보니 팀장으로 배정을 받았고, 이에 따라 교수님과 컨택하거나 미팅때마다 소통은 대부분 내가 담당하게 되었다. 그리고 팀 회의 내용을 정리하거나 회의 내용을 끌어가는 역할도 맡게 되었는데, 개발 뿐만 아니라 협업하는 과정에 있어서도 많이 배우게 된 경험이었다.
뿐만 아니라 기획부터 개발 단계까지 결정을 했어야했는데, 원래 spring 을 사용해 개발하려던 계획이, 인공지능을 사용하게 되면서 어쩌다보니 nest.js 를 사용하는 방향으로 결정하게 되었다.
당시 type script, nest 에 대해 무지했던 나는 걱정이 되기는 했지만.. 프레임워크 및 언어는 배워가면 되는거지! 라는 마음으로ㅎㅎ 도전하게 되었다.
프로젝트를 관리하기 위해서는 일주일에 두세번씩 회의하면서 회의록을 꼼꼼히 기록했다.
플젝의 반은 기획
기획자가 없이 우리가 처음부터 프로젝트 주제 구상 및 기능 기획을 해야하다보니 주제 선정도 너무 어려웠다. 실제로 1년의 프로젝트 중 한학기는 거의 기획만 했다.
처음에는 그래도 보안적인 요소를 넣는게 좋지 않을까? 하는 생각으로 여러가지 주제를 생각해봤지만, 너무 어려운 주제이거나 데이터가 부족하거나 등의 문제로 주제가 너무 한정적이게 되어 보안 관련 요소는 배제하고 생각을 하게 되었다.
따라서 처음에 정하게 된 주제는 날씨에 따른 옷 추천 서비스였다.
팀원들과 어떤 기능을 구현할 수 있을지 노션에서 함께 기능정의를 하면서 큰 기능, 세부기능부터 우선순위까지 정리를 하며 이런 기능도 구현해보고 싶다~~ 하는 것들을 모두 정리해보았다.
이 후 가장 급하다고 생각한 인공지능부터 리서치를 시작했는데, 추천 알고리즘이란 주제는 우리에게 너무 어려운 주제였고.. 따라서 주제를 엎어버리게 되었다.
그래서 바뀐 주제는
AI 배리어프리 자막 서비스로, 사용자가 미디어를 넣었을 때 해당 영상의 모든 소리를 자막으로 출력해주는 서비스이다.
다시 정의해 본 기능정의!
이번에는 욕심을 덜 부리고 정말 필요한 기능들로만 정의해보았고, 결론적으로 Must Have로 작성한 기능은 모두 구현했다!
새롭게 배운 점
프로젝트 협업 규칙 정하기
이전에 해봤던 프로젝트는 무작정 기능 개발하고 푸시하다가 충돌나고 난리였는데, 선우님이 처음에 협업규칙을 정해주셔서 규칙에 맞추어 진행하다보니 훨씬 효율적으로 해결이 가능했다!
또 초기세팅의 중요함을 느꼈다. 빠르게 처리해야 할 부분을 세팅하고 나니, 이후에는 정말 개발에만 집중할 수 있어서 너무 좋았다.
덕분에 템플릿을 현재 진행하고 있는 다른 프로젝트에서도 적용해서 진행하는 중이다👍
활발한 코드 리뷰
작업을 완료할 때 마다 PR 날리고, 코드리뷰를 하는 방법을 통해 정말 많이 배웠다!
미국에 가있을 때 내가 졸프하던것을 보고 재연님이 코드리뷰를 열정적으로 해주셨는데, 덕분에 몰랐던 부분에 대해서도 배워갈 수 있고 '이 코드를 왜 썼지??' 라는 것에 대해서도 고민해볼 수 있게 되었다.
멘토님 구하는 것이 어려웠는데 선뜻 맡아주신 재연님께 너무 감사하다.
Lambda 사용해보기
인공지능을 사용한 프로젝트이다보니 파이썬 기반의 인공지능 모델을 적용해야했는데, 이 과정에서 정말 많은 이슈가 생겼다.
nest에서 파이썬쉘을 사용하려고 시도해보기도 했고, flask도 사용해보았으나 각각 라이브러리 및 속도이슈가 있어 여러가지 방법을 찾다 AWS Lambda에 올려 사용하게 되었다.
이 과정에서 거의 두세달동안 삽질을 하면서 팀원들 모두 많은 고민을 했고, 새벽에도 같이 해결하는 등 많은 노력을 했는데 해결한 순간 정말 너무 행복했다.
팀원과의 협업
우리는 일주일에 한번에서 많으면 세번정도의 회의를 했고, 일주일에 한 번씩 교수님과의 미팅도 진행했다.
또 유의미한 결과를 내고 싶어 각종 공모전도 찾아보고 참가하기도 했다.
두 학기라는 긴 시간동안 팀원들과 각자 개발하고 싶은 부분을 분배해서 작업했고, 해결이 안되는 이슈가 있는 경우에는 바로 디스코드에서 함께 해결하기도 하면서 너무 즐겁게 프로젝트를 진행했다.
긴 시간동안 기획부터 개발 단계까지 꽤 오랜 시간이 걸리는 작업들이었는데 개발이 밀리지 않도록 모두 열정적으로 참여해주어서 마지막에 촉박하게 완성할 필요 없이 딱 맞게 완성했다🙌
어려웠던 점
아쉬웠던 부분은 팀원 모두가 프론트엔드, 백엔드 개발자를 희망하고 있어서 기획, 디자인 및 인공지능을 담당하는 팀원이 없었다는 것이었다. 개발을 하고 싶은 사람들끼리 모인 팀이었는데 따라서 개발에 열정적으로 고민해볼 수 있었던 반면, 다른 부분은 다소 허술했던 것 같다.
담당자가 없는 파트는 모두 같이 참여했었는데, 인공지능 역시 학교에서 배운 수준으로만 알고 있다 보니 문제가 생겼을 때 해결할 방법을 찾는데 많은 어려움을 겪었다. 문제를 해결하기 위해 교수님들께도 많이 질문드렸고, 관련 기업에도 멘토링 문의를 드렸었는데 결국에는 우리가 어찌저찌 해결하게 되었다.
다만 인공지능 성능이 아쉬웠기 때문에 담당자가 있었으면 훨씬 좋았지 않았을까 하는 아쉬움이 있었다.
마찬가지로 기획, 디자인 부분에 있어서도 담당자가 있어 협업을 했으면 훨씬 더 재미있고 fancy한 결과물이 나오지 않았을까 생각도 들었다.
결과물
AI 배리어프리 자막 서비스, 눈소리 레포 : https://github.com/So-Woo-Ju/NoonSori
'dev > 회고' 카테고리의 다른 글
[Fish It] 프로젝트 회고 (0) | 2022.08.19 |
---|