탕스로그

[졸업 프로젝트] 회고 본문

회고

[졸업 프로젝트] 회고

taaang 2022. 9. 7. 20:56

📌 졸업 프로젝트란?

 

이화여자대학교의 경우, 컴퓨터공학과를 졸업하려면 꼭 수행해야하는 프로젝트이다. 수업명은 '캡스톤디자인A/B'이나, 우리는 이를 졸업프로젝트라고 통칭했다. 보통의 학생들은 3-2(스타트라고 칭함), 4-1(그로쓰라고 칭함)에 걸쳐 수업을 들으며 웹/앱/VR 등등 여러 종류의 프로젝트 중 하나를 골라 해당 프로젝트의 기획부터 디자인, 개발까지 2~4명의 팀원이 함께 수행해야하는 팀프로젝트이다.

📌 수행 기간

2021.09 ~ 2022.05
3-2 ~ 4-1에 걸쳐 두학기 + 겨울방학동안 진행하였다.

📌 팀 소개

우리 팀은 한명씩 프론트(나), 백, 딥러닝 개발을 맡아 총 3명의 팀원이 프로젝트를 진행하였다. 그리고 내가 팀장임 ㅎ 내가 팀원들을 모은것이기도 하고 친한 친구들과 함께 팀플을 할 때 리더 역할을 해보면 항상 욕심있었던 리더자리의 입문을 비교적 쉽게 할 수 있을 것 같아 내가 하겠다고 했다.

하지만 리더 절망편을 얘기하자면,
수업 관련 모든 공적 컨택이 팀장한테 와서 팀원들한테 전달해줘야하고
교수님, 멘토님, 조교님 등 갖가지 컨택을 해야한다. 부담이 많다는 소리다.

둘 중 하나라도 자신이 없다면 팀장은 하지 않는 것을 추천한다.

📌 프로젝트 소개

우리 프로젝트의 정식 명칭은 '딥러닝 기반 글씨 검사 기능을 탑재한 태블릿 PC용 글씨 어플'이다.

우리 서비스 소개

우리 서비스는 먼저, 앞에서 말한 대로 딥러닝 기반 글씨 검사 기능을 탑재한 태블릿 PC용 글씨 어플이다.

이 때 우리의 핵심 기능은 사용자의 글씨를 검사하여 100점 만점의 점수를 제공하고 사용자의 글씨에 대한 피드백을 제공하는 것인데, 이에 가장 중요한 '바른글씨'의 기준은 다음과 같다.

항상 발표를 하면 사람들의 주 질문은,

바른 글씨라는게 사람마다 기준이 다르지 않나요?

글씨 측정이 어려울 것 같은데 이게 되나요?

이 대부분이었다.
그래서 우리는 바른글씨 기준을 사람이 봤을 때 이 정도면 예쁜글씨지~ 하는 바른 글씨가 아닌, 사용자가 선택한 폰트를 기준으로 사용자의 글씨를 측정한다.

이렇게 사용자가 글씨를 쓰고 글씨 검사를 진행하면,
사용자 글씨 사이의 크기, 줄 기울기를 판별한 후에
기준이 되는 폰트와 사용자의 글씨를 비교해 자음, 모음, 받침의 비율이 적정 기준을 넘어가지 못하면
위 그림과 같이 '이 글자의 자음을 다시 작성해보세요!' 같은 모달창이 출력되게 된다.

또한 글씨 검사를 진행하면 사용자의 글씨 이미지와 점수는 서버에 저장되어

이렇게 내 서랍 화면에 사용자의 글씨 점수 추이와 글씨 이미지가 보여지는 기능을 추가해 사용자에게 성취감도 부여하고 효과적인 글씨 연습을 할 수 있도록 개발하였다.

📌 개발 과정

먼저,


이게 스타트 때의 노션 기록이고


이게 그로쓰 때의 노션 기록이다.

분량부터 볼 수 있듯이 우리 팀은 그로쓰 때 정말 갈려나갔다.
졸프의 정석은 겨울방학 때 개발을 다 해놓고 후에 학기 중에는 성적 산출에 필요한 문서를 작성하거나 공모전 등을 나가는 것인데
우리팀은 겨울방학 때 개발이 많이 진행되어있지 않아서 학기 중에 개발+문서작성+논문작성+발표+등등.. 미친 스케줄을 감당해야했다.

졸프 개발은 미리 해두도록 하자:)

스타트(3-2)

이 때는 주로 프로젝트 기획을 하고 프로토타입 디자인을 많이 했다.
주제 기획은 약 한달간 했고 주제에 대해서 멘토님, 지도교수님의 조언을 듣고 컨펌을 받아 약 7개의 주제 중에서 우리 프로젝트의 주제를 최종 선정하였다.

그리고 우리가 얼마나 디자인에 진심이었냐면...

이걸 스타트 때 다 만들어뒀다.. 그 때.. 기술검증하면서 개발 공부를 더 열심히 했었어야할수도...? 그래도 디자인을 열심히 해 둔 덕분에 프론트 담당인 나는 후에 그대로 구현만 하면 됐어서 굉장히 편했다.

겨울방학

나는 웹프로젝트를 리액트로 한번 진행해본 상태라, 리액트와 비슷한 리액트네이티브로 앱개발을 하는 것은 많이 힘들지는 않았다. 사실 힘들었다. 그래서 겨울방학이 끝나갈 때 쯤 서버 연동 직전까지 작업을 다 해뒀다.

그 기록은 https://velog.io/@0909oje/series/React-Native 에서 볼 수 있다.

그래서 겨울방학 때는 주로 프론트 개발 + 딥러닝 라벨링(노가다의 시작)을 하였다.

그로쓰(3-2)

서버 연결을 시작하였다. 시작할때까지만 해도 5월내에 다 끝날 줄 알았는데 딥러닝 연결을 5월에 시작한 걸 생각해보면.. 계획에 차질이 많이 생겼었던 학기였다.

어려웠던 점

어플 특성상 사용자의 글씨 이미지를 다루는 일이 많은데, 사용자의 글씨 이미지를 저장하는 것, 이 이미지를 서버에 넘기는 것 등 이미지를 다루는 과정이 힘들었다.

또한 원래는 프론트->딥러닝->서버->프론트의 연계과정으로 정보가 전달되어야하는데,
딥러닝<->서버의 연결이 어려울 것 같다고 판단하여
프론트->딥러닝->프론트->백->프론트의 극한의 비효율적인 코드를 짜기도 했다.

아무튼 우리팀은 포스터세션(5/24)이 끝나고나서도 최종발표 전까지 개발을 했다. 그래도 최종발표 전에는 다 완성해서 당당하게 완성했다고 말할 수 있어서 너무 다행이었다. 정말..

📌 성과

논문 작성

우리팀은 위와 같은 이름으로 한국정보처리학회가 주관하는 ASK 2022 춘계발표대회에 논문을 등록하고 논문 발표도 진행했다. 6월중에 우리 논문이 수록된 논문집이 발간될 예정이다.

포스터세션 수상

우리팀은 위 프로젝트로 장려상을 수상하였다. 멋들어진 상장도 같이 받아 기분이 굉장히 좋았다.

📌 느낀점

앞으로 수정할 점

타입스크립트를 이용해 코드를 리팩토링 하고 싶다.
현재 자바스크립트로 작업하였는데, 요즘 회사의 채용 공고를 보면 타입스크립트를 쓸 줄 알고 써본 경험이 있는 자를 좋아하는 것 같아서 타입스크립트 관련 경험을 쌓아야할 것 같다고 생각했다.

리덕스를 사용해야 한다.
'시간적 제약 + 리덕스에 대한 부족한 지식'의 콜라보로 리덕스를 사용하지 못했고
그 결과 상당히 더러운 코드를 우당탕탕 짜게 되었고 이 부분이 상당히 불만족스럽다.
후에 리덕스를 사용해 리팩토링을 하고 싶다.

잘한 점

프론트를 처음부터 끝까지 내가 담당하였다.

처음으로 프론트 분야를 처음부터 끝까지 내가 전적으로 맡았던 프로젝트라 특히 애착이 가는 프로젝트이다. 이제까지의 프로젝트에서는 프론트 하나를 적어도 3~4명이 붙잡고 개발해서 서로 어려운 점이 있으면 물어보면서 해결을 할 수 있었는데, 우리팀은 프론트, 백, 딥러닝이 확실하게 나뉘어있다보니 내가 해결을 못하면 프로젝트가 그냥 망가지는 상황이라 부담도 많이 됐지만 잘 완성했다.

내가 사용하는 기술에 대한 이해도&적용력이 길러졌다.

이제까지 얼렁뚱땅 썼던 자바스크립트, 리액트에 대한 이해도도 많이 높아진 상태라 앞으로는 어떤 개발이든 또 잘 할 수 있을 것 같은 자신감이 붙었다!! '리액트를 다루는 기술'을 통해 리액트에 대한 지식은 전반적으로 다졌으니 후에 '모던자바스크립트 딥다이브'를 읽음으로써 자바스크립트에 대한 이해도 더 단단하게 다질 생각이다.

팀장으로서 프로젝트를 잘 이끌어나갔다.

어떻게 보면 공적인 프로젝트의 첫 팀장인데 무사히 별탈없이 잘 끝냈다. 중간중간 팀원들을 쪼아야하는 상황도 있었지만 해야할 말을 잘 한 것 같고 작은 트러블 하나 없이 팀플이 잘 끝났다.

 

'회고' 카테고리의 다른 글

[졸업프로젝트] 들어가며...  (0) 2022.11.20
CEOS 합격 후기  (1) 2022.09.07
GDSC EWHA 수료 후기  (0) 2022.09.07
GDSC EWHA 합격 후기  (1) 2022.09.07
EFUB 수료 후기  (0) 2022.09.07
Comments