새소식

회고록

[공모전 후기] 2023 공개SW 개발자대회 후기

  • -

2023년도 2학기를 괴롭힌 개발자대회가 끝나고, 한참 지나서야 리뷰를 남겨본다.

너무 힘들었어서 회고 하기도 싫었지만.. 마음을 다잡고 써본다.

GitHub : https://github.com/LSTM2023
YouTube : https://youtube.com/@LSTM-vm7ee?si=nRDuaPTrV0n-HTDs

프로젝트 시작 전

교내 캡스톤 대회에서 운 좋게도 대상을 타서, 팀원들과 다른 공모전 나가보자~ 하다가 공개 sw개발자 대회를 찾았다.

다만, 고민되는 점이 디자인을 잘하는 사람이 없다는 점이어서, 주변에서 디자인쪽으로 전공하시는 분을 찾아서 같이 하게 되었다.

  • 총 팀원은 컴공(5) + 디자인(1)으로 구성하였다.

프로젝트 시작 (07 ~ 08)

  • 첫번째로 한 일은 개선할 점을 정했다.
더보기

 >  fcm 부분 개선, 소셜 로그인, load balancing, RTSP 구축, AI 모델 파인 튜닝

등 개선점을 찾고, 해당 부분을 각자 파트로 나눠서 7월 중순부터 시작했다.

  • 그 이후로는, Notion을 통해 각 파트별 할일 정하고, 일주일에 한번씩 Discord를 통해  회의하는 식으로 하였다.

노션 짱짱 편해용~

  • 8월 말에 슬슬 개발 마무리와 동영상 제작, 보고서 작성에 대한 압박감이 몰려왔다..
  • 일단 동영상은 UI 담당에게 바로 맡기고, 보고서를 정말 열심히 썼던 것 같다.

1차 출품작 제출

  • 디테일에 미친 p모씨가 디자이너 분을 매~우 괴롭혔다..ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
  • 덕분에 완성도는 좋았다는 훈훈한 마무리

 

동영상 수정사항 카톡

  • 보고서 작성은 정말 hell이었다. chatGPT의 도움과 함께 우리가 보여줄 수 있는걸 모두 넣겠다는 마음으로 갈아 넣었다.
  • 결과적으로 22장이 나왔다..
  • 저의 개인적인 추천은, 최대한 풍부하게 작성하라는 것이다. 예를 들어 (사전 조사, 선행 기술/사례, 시장 조사, 계획 .. ) 등 기술적인 내용과 더불어 우리 프로젝트의 contribution과 사회 공여성을 강조하면서 쓰는 것을 추천한다. 

1차 합격 발표

다행히 우리 팀 번호(A0626)가 있었다... 휴우...매우 다행

 

 

라이센스 검증 테스트

  • 라이센스 테스트가 있어서, 처음으로 내가 사용한 코드를 사용할 수 있는지에 대해 고민해봤다.
  • 평소에는 깃허브나 다른 사이트에 있는 라이브러리를 막 가져왔었는데 라이선스가 무엇인지 부터 공부했다.
  • 우선, AI/Backend/App 파트에서 각각 사용한 라이센스를 Notion에 정리하였다.

  • 우리는 레포지토리가 각 파트별 있어서, 각 파트별 대표 라이센스를 정했었어야 했는데 고민이 많았다.
  • 가장 마음 편한 것은 MIT인데, 이게 그냥 우리 맘대로 해도 되는 건지.. 아니면 사용한 오픈소스 라이센스 중 가장 빡쎈 라이센스로 가야할지.. 이걸로 구글링과 논쟁을 거치다가, 가장 빡쎈 라이센스를 따라가기로 했다.

라이센스 너~무 어.렵.다

 

Part License
AI & Raspberry pi AGPL-3.0
Backend LGPL-3.0
App Apache-2.0

 

  • 우리는 운이 좋게 오픈소스간 충돌은 피했다. 하지만 앞으로 준비하는 팀이 있다면, !!무조건!! 개발 하면서, 라인센스를 따져라.. 만약 운없게 라이센스 충돌이 난다면, 썼던 오픈소스를 다른 오픈소스로 대체하던지, 구현한 기능을 포기해야하는 경우가 발생할 수 있다.
    • ex 1) GPL2.0과 Apache2.0은 특허 보복 조항에 있어 양립할 수 없기에 배포가 불가능.
    • ex 2) LGPL2.1 + Apache2.0 역시 특허 보복조항에 있어 양립할 수 없기에 경우에 따라 배포가 불가능.

라이센스 페이지

  • 하는 김에 어플에 라이센스 명시 페이지도 만들었다ㅋㅋㅋ 앱다운 모습을 보이고 있다.

기능 테스트

  • 진짜 큰 산은 기능테스트다. 왜냐??? 우리의 프로젝트는 버그 덩어리니까~~
  • 일단 우리 기능이 많아도 너~무 많았다.. 종합 아기 관리 어플리케이션이다 보니, 자잘한 기능들이 많았다.
  • 우선 제출할 기능 명세서를 쓰는데.. 대분류, 소분류, 상세 기능 틀 잡는데 좀 고생했다.
더보기

> 주요 기능 별로 나눈 후, 세부 기능들을 그 아래 넣었다.

대분류 : 로그인(이메일/소셜/회원가입), 홈페이지(성장 기록, 생활 기록, 예방 접종 .. ), 홈캠(영상,  온/습도, 알림 전송), 다이어리(캘린더, 육아일기), 마이페이지(아기 관리, 추가 양육자 초대, 다국어 처리, 로그아웃 .. )

  • 기능 테스트 시간에 하필.. 학교에서 소방훈련한다 해서 부랴부랴 11/01 오전 9시로 잡았다.
  • 전날 10시에 학교 연구실에서 팀원 3명이서 모여서 새벽 내내 버그를 고쳤다(어떻게 버그는 고쳐도 고쳐도 나오는지)
  • 새벽 4시에 알림 버그좀 고쳐보겠다고, fcm 알림 권한을 최상단으로 올렸다가, 다른 알림들이 다 ignore 되는 대참사가 일어났다ㅋㅋㅋㅋ 진짜 이때 너무 아찔해서 울뻔했닼ㅋㅋㅋ(정효야 이게 최선이었던거 인정한다..ㅋㅋ)

 

  • 기능 테스트는 한 30분 정도 걸렸다.
  • 진행 방식은 기능 명세서에 적은 기능들을 우리가 하나씩 짚어 가면서 구현되는지 확인하는 방식이었다.
  • 우리는 어플리케이션이여서 앱 화면을 핸드폰을 zoom 화면 공유를 통해서 보여줬다.
  • 검증자분들의 질문과 테스트 요청 부분이 다행히 우리가 버그 없이 구현한 부분이여서 좋은 분위기에서 마무리 했던것 같다. 

테스트가 끝나고 회사 업무 보고 하고 바로 기절..

아침에 우리 몰꼴 보고 커피 사준 천사 후배 🔆님 감사합니다..ㅎㅎ

 

최종 발표(2차 평가)

  • 이제 남은건 최종 발표 준비와  readme 수정
  • 5분이라는 매우 짧은 시간이기 때문에, 핵심 of the 핵심만 넣어야 했다.
  • 우리는 이런 식으로 구성했다.

  • 개발 담당들이 ppt 내용을 채운 뒤, 디자이너 담당이 아주 이쁘게 만들어줬다.
  • 우리 발표는 11/08 2시쯤이여서, 발표 연습이나 할겸 11시에 강남에서 모여서 최종 수정사항 확인하고, 발표자가 아닌 사람들은 각 파트별 예상 질문을 정리하였다.
  • 예상 질문으로는 다음과 같이 작성했다.
APP
- flutter 사용 이유, 홈캠 화면 어떻게 받아 왔는가?, 수집한 아기 성장 데이터 활용 가능성?

AI
- yolov8 사용 이유

Open source & Contribution🌠
- 우리 프로젝트의 contribution, 상업적 활용 가능성, 각 레포별 대표 라이센스 이유

🏆 최종 결과 발표 및 후기

우리는 최종적으로 동상을 수상했다.

  • 일단.. 이번 공모전을 하면서 너~무 바빴다.. 낮에는 연구실 일을 하고 밤에는 공모전 개발 하는데 진짜 삶의 질이 이렇게 까지 떨어질 수 있구나..ㅋㅋ를 느꼈다. 또 후반부에는 팀원들과 주변 사람들에게 짜증을 많이 냈던거 같은데, 1달이 지난 지금은 미안한 마음이 많이 든다.
  • 이 공모전의 가장 좋은 점은 라이센스 검증이라고 생각한다. 학생 입장에서는 실제로 자기가 사용하는 오픈소스에 대해 별로 생각을 안하게 되는데, 이번 기회를 통해 라이센스간의 충돌, 코드 공개 여부에 대한 기업의 입장 등 좀더 협업에 맞춰 프로젝트를 진행할 수 있는 눈이 생긴 것 같다.

 

 

 

 

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

2023 SW 인재 페스트벌 후기  (2) 2023.11.04
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.