본문 바로가기
개발/회고록

2023년 개발 연말정산

by 수인분당선 2024. 2. 13.
반응형

흔히 회고록이라고도 부르는 이 연말정산은 1월달에 올라왔어야만 했지만.. 1월 당시에는 쓸 생각이 없었습니다.
하지만 최근 여러가지 일들을 겪게 되었고, 2023년을 정리해보며 앞으로 어떻게 공부해야 좋을 지 고민해보는 순간이 필요할 것 같다는 생각이 들어 늦게라도 작성을 해보고자 합니다.

1월

1. 도란도란 프로젝트 시작

플러터를 통해 만든 앱을 배포해보는 경험을 해보고 싶어져서 팀원을 모집하는 도란도란 팀에 가입하게 되었습니다.
익명 커뮤니티 서비스를 제작하게 되었고, 

전반적으로 앱에 대한 방향성을 잡은 뒤, 회원가입/로그인 서비스를 제작했습니다.
회원가입 로그인 등의 서비스는 서버와 함께 개발하는 파트이고, 저는 이런 경험도 처음이었어서 굉장히 신기했던 경험이었습니다.
추가적으로 로그인 서비스를 카카오를 통해 제작하였는데, 이런 연동 서비스도 처음이었어서 굉장히 재미있었습니다!

 

-> 카카오 로그인, 회원가입/로그인 서버 연동, 카드위젯을 통한 화면 구성 등을 익히다!

 

2. 플러터 초급 강의 수료

이전에 공부하던 플러터 개발 인프런 강의를 수료했습니다.
강의를 다 들으니까 인프런에서 이런 수료증도 주더라고요 ㅎㅎ 
이 강의는 정말 인생 강의였습니다.. 정말 쉽게 핵심적인 개념들을 담은 강의로 저는 이 강의를 통해 플러터의 모든 것을 배웠습니다..
이후로 개설된 중급강의도 바로 구매하였고 지금까지 잘 듣고 있습니다!!
혹시라도 플러터를 시작하고자 한다면 코드팩토리님의 강의를 추천드리고 싶습니다 정말로!! 최고에요!!
 
-> 플러터에 한 발자국 더 나아가다!

3. 컴포즈캠프 수료

전년도 11월 정도부터 시작한 컴포즈 캠프입니다.
Jetpack Compose라는 안드로이드의 최신 툴을 사용하여 더 간편해진 앱 제작을 배울 수 있었습니다.
저는 사실 플러터를 통한 개발만 진행해보았고 안드로이드 개발은 이 캠프를 통해 처음 접했었는데, 덕분에 안드로이드 구조에 대해서 이해할 수 있었던 것 같고 생각보다 되게 재밌게 들었습니다!
수료 후 받은 기념품들은 잘 쓰고 있습니다. 특히 머그컵이요 헤헤

 
-> 머그컵을 받다!  안드로이드에 대한 이해도를 높이다!

4. GDSC 알고리즘 스터디

GDSC 에서 개별적으로 진행했던 알고리즘 스터디를 방학동안 진행하였습니다.
C++로 알고리즘을 진행하는 분이 없어서 자바 알고리즘 팀에 껴서 스터디를 진행했었는데요..
각자 문제를 풀고, 서로 자신의 코드를 설명하는 방식으로 진행하면서 언어에 따른 큰 불편함은 못 느꼈던 것 같습니다.
코드를 설명해가면서 제가 어떤 부분에 취약한지, 어떤 개념이 모호하게 잡혀있는지를 파악할 수 있어서 좋았습니다.
특히 저는 DP, 재귀 알고리즘에 아주 취약하고.. DFS나 BFS같은 알고리즘은 사실상 개념이나 응용이 한 번 이해하면 은근히 쉽게 느껴진다는 것도 알았습니다!
 
-> DP, DFS, BFS 등 알고리즘 심화 개념 이해 및 문제풀이를 하다!
 

2월

2월은 전반적으로 1월에 시작했던 프로젝트들을 기반으로 지속적으로 공부를 진행했습니다.
 
1. 도란도란 프로젝트 진행

꽤 화나있다.

전반적인 프로젝트의 ui를 구성하는 데 집중했습니다.
무한 스크롤 리스트뷰, 권한을 활용하여 사용자 이미지 가져오기 등 ui적인 요소를 활용한 제작에 우선순위를 두고 진행했습니다. 이때부터 외부 레이아웃 구성에는 아주 능숙해진 것 같다는 느낌을 받았습니다.
 
2. 플러터 중급 강의 수강 시작
처음으로 듣게 된 강의는 JWT토큰, 액세스 토큰 등의 개념들이었습니다.
토큰에 대한 개념이 확립되고 나니 1월에 제작한 로그인과 회원가입에 수정이 필요하다는 것을 알게 되었습니다..
 
-> 토큰 개념을 확립하다!
 
3. GDSC 알고리즘 스터디
 

3월

3월에는 학기가 시작되면서 적응하는 데 조금 바빴던 것 같습니다.
1. 도란도란 개발

3월도 2월과 같이 ui를 구성하였지만, 2월과는 다르게 상호작용이 가능하고, 상호작용에 따라 보이는 화면이 변경되는 등의 상태관리가 필요한 수준의 ui 구성을 진행하였습니다. 이 당시에는 주마다 주어지는 작업량이 상당했어서 코드 한 줄 한 줄에 신경을 기울이기보다는 구현 자체에 의미를 두며 빠르게 넘어가느라 깨끗하지는 못했습니다. 계속 작업을 진행하다보니 코드의 길이가 길어지고, 파일이 많아졌습니다. 그래서 이때부터 서서히 코드를 분류하고 정리하는 것에 관심이 가기 시작했습니다 (실천은 x)

 

-> 대규모의 작업을 접하고 흠칫하다!

 
2. 학기 적응
정보보안
컴퓨터구조
데이터베이스
모바일 프로그래밍
 
총 네가지 전공을 들었습니다.
모바일 프로그래밍은 생각보다 너무 UI적인 내용만이 강조되고, 기대한 내용이 아니라서 조금 실망했던 것 같습니다. 이전에 컴포즈 캠프를 통해 이미 배웠던 내용이거나 컴포즈 캠프와 같은 내용 구성을 기대했었어서 더욱 실망이 컸습니다.
가장 재밌었던(그렇지만 성적은 재미없었던) 과목은 데이터베이스였습니다. SQL을 활용해서 다양한 실습을 진행하였는데, 확실히 어렵긴 했지만 그만큼 얻어가는 내용이 가장 많았던 수업이었던 것 같습니다!
 
-> SQL을 배우다! 모바일 프로그래밍 수업에 실망하다!
 
3. 알고리즘 공부

4월

1. 도란도란 프로젝트

익명, 좋아요 등의 커뮤니티의 기본 기능들을 넣고 있는데.. 3월에 작성했던 코드에서 문제가 이것저것 발생하기 시작했습니다.. 엎친 데 덮친 격으로 맥북 소프트웨어가 업데이트되면서 ios 시뮬레이터를 실행하는 데 있어 문제가 발생하기까지..ㅠㅠ 

4월은 기능도 추가하긴 하였으나 전체적으로 오류를 잡고 해결하는 느낌으로 진행되었습니다.

 

-> 에러, 버그를 계속적으로 발견하다!!ㅜ

 

2. 플러터 컨퍼런스 참석

 

스티커받으려고  참석한 플러터 컨퍼런스!
플러터에 대한 지식을 소개하기도 하고, 새롭게 개정된 다트 3.0에 대한 내용, 플러터를 활용한 라이브러리 구축이나 실제 크로스플랫폼 및 웹서비스 개발 과정과 소개 등의 다양한 내용들을 다뤘습니다.
가볍게 들으러 갔다가 생각보다 너무 재미있고 유익했어서 좋았습니다.
생판 모르는 플러터 입문자부터 숙련자까지 얻어갈 수 있는게 많은 컨퍼런스인 것 같습니다. 올해도 또 한 번 개최되었으면,,하는 바람이 있네용 헤헤
 
-> 플러터의 다채로운 진보를 보다!
 
3.  어린이용 어플 프로젝트 기획 
22년도에 학교에서 개최한 SW경진대회에 출전했었는데, 23년도에도 해당 경진대회에 출마하고자 미리 아이디어를 기획하였습니다. 부모님과 어린이가 함께 쓰는 어플로, 어린이들의 알림장, 일기 등의 다양한 기록을 돕는 어플을 기획하였습니다. 이 활동에서는 조금 더 명확하고 세부적인 기획을 해보고 싶어 피그마라는 툴을 적극적으로 활용하여 진행하였습니다.
추가적으로, 기획을 진행하면서 동시에 서버와의 데이터 전송 규격을 함께 맞추기도 하였습니다.
 
->  JSON 데이터 전송 규격 기획을 접하고, 피그마 툴을 접하다!
 

4. 알고리즘 공부
5. 학기 수강

5월

1. 도란도란 프로젝트

4월에 겪은 오류 폭탄으로 인해.. 코드 정리의 필요성을 느끼게 되었고, 코드를 본격적으로 정리하기 시작하였습니다.

아래에서 보면 알다시피, 데이터모델링이라는 것을 배웠습니다. 그리고 곧바로 도란도란 프로젝트에도 데이터모델링을 적용하여 코드를 조금이라도 더 간소화할 수 있도록 노력하였고, 그 외에도 위젯을 나누고 간편화하는 등의 작업을 진행하였습니다.

 

-> 데이터모델링을 통해 코드의 가독성을 높이다!


2.  어린이용 어플 프로젝트 제작

 실제로 어플의 레이아웃을 먼저 구성하였습니다.
하지만 며칠 구성하고 난 후에 새로운 아이디어로 갈아엎게 되어 이 프로젝트는 영원한 안녕을 맞이하였습니다..

그래도 저번달에 피그마와 JSON 등의 개념을 익힐 수 있어서 좋은 경험이었다고 생각합니다!

->프로젝트야 안녕.

3. 인프런 중급 강의 수강
  데이터 모델링에 대한 내용을 수강하였습니다.
간단하게 타입에 맞춰 서버에 데이터를 보내고 받는 법만을 알고 있어 계속해서 요청이 만들어질 때마다 데이터 모델링도 따로 제작하면서 중복되는 코드가 많아졌었습니다.
이 강의를 통해 그런 중복되는 코드를 간결화하고 어떤 데이터타입이던지 편리하게 데이터를 관리하고 전송하는 등의 방법을 배울 수 있었습니다!

->데이터 모델링에 대해 배우다!


4. 알고리즘 공부
5. 학기 수강

6월

1. 도란도란 프로젝트

2월에 인프런에서 배웠던 JWT 토큰을 활용하여 api 의 헤더에 엑세스토큰을 넣는 방법이라던지, 토큰을 다루는 방법들을 익히고 적용하였습니다. 특히 엑세스토큰을 자동을 재발급하는 시스템을 만드는 과정이 어려웠고, 아마 이 시스템은 너무 미숙하게 만들어져서 그런지 자꾸만 오류가나서 5월 이후에도 지속적으로 업데이트하며 수정하였던 걸로 기억합니다 ㅠㅠ

추가적으로, 어플에서 해시태그를 활용하여 글을 작성하고 열람하고 검색하는 등의 기능을 제작하였습니다. 여기서는 검색 기능을 제작하는 데 있어서 많은 시간을 할애했던 기억이 납니다.. 네이버처럼 글자 한 글자 한 글자가 추가될 때마다 자동으로 하단에 연관 검색어를 보여주는 방식의 레이아웃을 구성하는 게 저한테는 정말 어려웠습니다,,

 

-> JWT 를 적용하여 보안을 강화하고, 해시태그 기능(검색기능)을 제작하다!

 

2. 알고리즘 공부

7월

1. 도란도란 프로젝트
해시태그에 대한 기능을 지속적으로 개발하였고, 사용자가 글을 작성할 때 업로드할 수 있는 이미지의 용량 제한, 연속적인 댓글 제한 등 사용자의 예상 외의 행동에 대한 대처가 가능하도록 예외처리를 진행하였습니다.(이런 때 쓰는 말이 맞나요?)

전체적으로 7월은 무난하게 개발했던 얼마 안 되는 달이었던 것 같습니다..ㅎ

 

-> 무난하게 개발하다! 


2. 인프런 중급 강의

pagination 이라는 개념에 대해서 공부하였습니다. 이 내용은 차후에 따로 개념을 정리해서 업로드해보고자 합니다. 플러터 뿐만 아니라 프론트에 있어 중요한 개념이라고 생각되어서 정리해두면 여러모로 큰 도움이 될 것 같습니다!

 

-> pagination에 대해 배우다!

 

3.  sw 프로젝트 대학생용 포트폴리오 어플 개발
 
4. 메타버스 디자이너 스쿨 개발자 시작
학교에서 추진하는 메타버스 디자이너 스쿨의 2기가 되었습니다. 기존 1기에서는 유니티, 마인크래프트를 활용한 제작을 진행하였다고 들었어서 지원을 하였는데 들어가서 안내를 받아보니 로블록스 스튜디오와 해당 언어 루아( Lua)를 활용하여 개발을 진행한다고 하더라고요.. 
로블록스 개발에 대한 경험은 전무하였기 때문에..방학기간(7,8월) 동안에는 본격적으로 루아 언어의 문법에 대해서 배우고, 로블록스 스튜디오를 활용하여 게임 내에서 상호작용하는 등의 기본 개발에 대해서 배웠습니다.

 

-> 루아(Lua) 언어를 습득하다!

 

4. sw 프로젝트 대학생용 포트폴리오 어플 개발

알림장 아이디어를 갈아엎고 제시된 아이디어를 기획하고 제작하였습니다.  작년과는 다르게 기획디자인/인공지능/서버/프론트로 역할을 나누어 프로젝트를 진행했는데, 확실히 역할을 나누고 진행하니 정말 편하다는 느낌을 많이 받았습니다. 저는 아무래도 프론트다보니 자연스럽게 디자인을 맡게 되었었는데(중학교 미술 C받음에도 불구하고), 이 부담이 덜어지니까 너무 행복했습니다. 

 

-> 새로운 프로젝트를 개시하다! 역할분배의 편리성을 알게 되다!

 

5. 알고리즘 공부

8월

1. 도란도란 프로젝트

앱의 설정에 들어갈 내용(닉네임 변경, 탈퇴, 내가 쓴 글 보기 등) 에 대한 개발을 진행하였고, 앱에 들어갈 광고를 넣는 작업을 진행하였습니다. 설정 개발은 큰 문제가 되지 않았으나 광고를 넣는 작업에서 굉장히 많이 애를 먹었던 기억이 있습니다.. 광고를 넣는 데에는 ios, Android모두 따로 권한이 필요하며 특정 라이브러리를 활용해야 합니다.

저는 Admob를 사용하였는데, 이 광고를 구현하는 것도 문제였지만, 광고를 넣고 나니 시뮬레이터에서의 로딩이 급격하게 느려졌던 것이 가장 큰 문제였습니다. 아마 이 광고와 관련된 부분은 지금도 많이 미숙하여 추가적으로 더 공부하고 블로그에 정리해볼 예정입니다. 

 

-> 설정 개발을 진행하다! 광고 삽입에 애를 먹다! 


2. 인프런 중급 강의

 이 강의는 배달어플을 클론하는 형식으로 진행되기 때문에 아무래도 그런 기초적인 부분도 미리 제작해두어야해서 강의를 듣는 데 필요한 기초 ui 툴을 잡는 강의를 수강했습니다.

 

-> 강의 수강에 필요한 기초를 제작해두다!

 

3.  sw 프로젝트 대학생용 포트폴리오 어플 개발

7월에 분배하여 진행했던 역할을 이제는 하나의 프로젝트로 합치는 과정이었습니다. 저는 디자인된 서비스를 개발하는 동시에 미리 작성해둔 API를 서버에 전송할 수 있도록 적용하였고, 서버는 저와 인공지능을 연결하고 사용자의 데이터를 저장할 수 있도록 작업을 진행하였습니다. 인공지능은 개별적으로 서비스를 개발하였고요! 

사실 저는 서버가 항상 열린 상태에서 매번 연결을 시도했었는데 이번 서비스에서는 API, 인공지능의 개발이 생각보다 늦어져서 서버가 열린 뒤에 연결 작업을 진행하면 너무 늦을 것 같았습니다. 그래서 서버가 열리지 않은 상태에서 미리 작업을 했고, 다행히 서버가 열린 뒤 연결해보니 큰 문제가 없었습니다! 

앱을 혼자 제작할 때에도 기능 하나를 만들면 바로 시뮬레이터로 빌드해보며 문제가 없는지 확인하고 수정해야만 진행이 가능했었는데, 이제는 굳이 결과를 보지 않고도 결과를 예측하고 코딩할 수 있었다는 점에서 굉장히 뿌듯했습니다!

하지만 아직도 이 부분은 많이 미숙하기 때문에 계속적으로 더 공부하고 능숙할 수 있도록 노력해야할 것 같습니다.

 

-> 결과를 예측하며 코딩할 수 있게 되다!

 

4. 메타버스 디자이너 스쿨 개발자 
 

9월

1. 도란도란 프로젝트

9월에는 발생되는 에러나 문제점을 지속적으로 업데이트하였으며, 앱의 서버가 다운되었을 때, 임시 서버를 제작하여 공지를 띄울 수 있도록 개발을 진행하였습니다. 총 2개의 서버를 사용하게 되었으며, 매번 앱을 들어갈 때마다 서버의 상태를 확인하고 상태에 이상이 있을경우에는 임시 서버에 저장되어 있는 공지를 띄울 수 있도록 하였습니다. 

임시 서버까지 적용하게 되면서 서버의 많은 예외를 처리하였는데, 이렇게 예외를 처리하면서 막상 저는 서버에서의 데이터 전송 예외처리, 기본 앱 동작 예외처리 등을 하지 않았다는 것을 깨달았습니다.. 사실 이런 예외까지도 구현하는 게 프로젝트에 가장 중요한 부분인데 이 부분을 간과하고 있었다니.. 제가 이 프로젝트를 실제 서비스한다는 생각이 아닌 오직 저의 스펙을 위해서만 만들고 있는 것 같다는 생각이 들어서 많이 반성을 했습니다.

 

-> 임시 서버를 적용하며 예외처리의 중요성을 깨닫고 반성하다.. 


2. 학기 적응
2학기에는 C++, 데이터마이닝, 딥러닝, 디지털 신호처리, Iot 보안 총 5가지 과목을 수강하였습니다.
여기서 가장 인상깊고 유익했다고 느낀 강의는 C++이었습니다. 클래스의 기초적인 개념부터 확장성있게 많은 내용들을 배울 수 있었습니다(개발 글에 정리되어있음) 기존에 알고있던 지식만이 아닌 조금 더 심도있는 내용들을 수강할 수 있어 좋았습니다!
추가적으로 데이터마이닝, 딥러닝 수업 또한 유익했던 과목입니다. Jupternotebook를 활용하여 실제로 딥러닝을 설계해보고 정확도 등을 출력하는 과정에서 굉장히 재미있다는 생각을 했고, 실제 2학기에 진행한 캡스톤 디자인에서의 Ai를 만드는 데에도 큰 기반이 되어주었습니다.
다만.. 수학이 너무 많아서.. 저랑은 맞지 않는 것 같다고 판단했습니다 ㅎ

-> C++에 한 단계 더 나아가다! 수학이 싫다!

3. 캡스톤 디자인 프로젝트 기획

졸업 과목인 캡스톤 디자인을 수강하였습니다. 이전부터 같이 개발하고 프로젝트를 진행해온 친구 1명과 둘이서 팀을 구성하였고, 여러가지 아이디어 중에서도 사용자와의 대화를 통해 AI가 MBTI 를 분석하고 도출하는 서비스를 기획하였습니다.

이전의 경험을 살려 피그마로 기획 및 디자인을 진행하였고, 플러터가 앱서비스에 최적화된 프레임워크였기에,, 앱 제작을 목표로 하였습니다. 

 

-> 인공지능 프로젝트를 기획하다!


4. 메타버스 디자이너 개발 진행
방학이 끝나고 본격적으로 개발에 들어갔습니다. 이번 메타버스 디자이너에서는 이벤트성으로 학교의 가을 백마축제에 맞게 다양한 부스와 미니게임 등을 만들기로 기획하였습니다.
그리고 저는 그 중 미니게임인 리듬게임을 담당하게 되었습니다.
한 달이라는 짧은 기간에 처음 만져보는 로블록스라는 툴로 미니게임을 만들기는 생각보다 쉽지 않았습니다….
또 기획이나 디자인이 동시 진행되는 바람에 개발을 진행하면서 변경되는 사항에도 빠르게 적응을 해야만 했습니다
특히 제가 제일 힘들었던 부분은…… 기획팀에게 음악만을 넘겨받고 저 스스로 음악 도트를 찍어야했을 때…
이만큼 난감했던 적이 없었습니다.. 내가.. 리듬노트 개발자..?
하지만? 아주 다행히도 저는 리듬게임을 좋아하는 한 겡임 중독 플레이어 중 하나였기 때문에 여러 레퍼런스를 참고하여 도트를 찍었고..
담당선생님에게 어렵다며 난이도 조정을 당했습니다!!!!!
아무튼 게임은 무사히 만들었고 힘들긴 했지만 그만큼 정말정말 재미있었던 경험이었습니다 ㅎㅎ

 

-> 게임에 대한 흥미를 되찾다!

5. 머신러닝 공부
학기를 수강하면서 딥러닝, 데이터마이닝 수업을 하며 인공지능을 공부하기도 했지만 저 혼자 “혼자 공부하는 머신러닝”이라는 책을 구매하여 공부하였습니다. 이 책은 내용이 재미있는 예시를 통해 진행되는데, 최대한 산술적인 요소를 제외하여 인공지능의 개념을 설명해주어 저에게는 알맞은 교재였습니다! 저랑 안 맞는 게 문제였을 뿐!

 

-> 인공지능은 아니다!

6. 알고리즘 공부

10월

1. 도란도란 프로젝트

푸쉬알림을 구현하였습니다..데 프로젝트를 하며 가장 어려웠던 작업으로 손에 꼽고 싶습니다. 이 부분 또한 부족했던 만큼 열심히 정리해서 블로그에 업로드 해보도록 하겠습니다.

ios, Android 모두 셋팅이 다른데다가 백그라운드, 포그라운드에서의 상태에 따라 처리하는 방법도 달랐습니다. 

그 외에도 구현 방법이 이전까지의 라이브러리와는 많이 달라서 혼동이 많이 왔습니다.

 

-> 푸쉬알림을 구현하다.. 머리가 뽑히다..


2. 캡스톤 디자인 프로젝트 제작(인공지능)

저희의 프로젝트에서는 인공지능을 활용하여 서비스가 진행되기 때문에 우선적으로 인공지능을 개발하였습니다. 사용자의 문장을 자연어처리를 통해 인공지능이 알아볼 수 있도록 하고, 이 자연어처리된 문장을 데이터셋으로 학습된 인공지능에 넣어 결과를 도출하였습니다. 여기서 결과를 어떻게 도출할 것이며, 자연어처리는 어디까지 진행해야하는지, 데이터셋이 영어밖에 없는데 이 부분에 대한 한계는 어떻게 해결할 것인지 등 굉장히 많은 문제들이 발생했고, 해결하는 데에 애를 조금 먹었던 기억이 있습니다. 이러한 문제는 사실상 사전에 기획을 하는 과정에서 발견했어야 할 문제라는 생각이 들었어서 앞으로 프로젝트를 할 때에는 세심한 부분까지도 미리 고민하고 기획하는 것이 정말 중요할 것 같다는 것을 깨달았습니다.

 

-> 디테일한 기획의 중요성을 깨닫다!


3. 메타버스 디자이너 개발 진행

전체적인 캠퍼스를 둘러볼 수 있는 MAP 서비스를 중심으로 개발했습니다. ATM, 편의점 등의 편의시설을 간편입력 버튼을 통해 확인하고, 강의실 번호를 검색하여 해당 강의실이 있는 건물을 빠르게 지도로 파악하는 등의 기능이 탑재된 지도였습니다. 여기서 도란도란에서 제작한 검색기능이 개발하는 데 큰 도움이 되었습니다. 역시 개발은 언어나 분야가 달라도 결국 하나로 모이나 봅니다..!


4. 학기 공부
5. 알고리즘 공부
 

11월

1. 도란도란 프로젝트

추가적으로 구현해야하는 부분들을 확인하고 에러를 고치는 달이었습니다. 큰 문제가 자꾸만 어려웠 ㅠ 던 ㅠ (알림..)부분에서 발생하면서 고치는 데 오랜 시간이 걸렸습니다. 계속해서 발생하는 에러를 지켜보며.. 집은 초장에 지을 때 잘 짓자는 생각을 끊임없이 했습니다.. 부실공사는 죽음이다.

 

-> 과거의 나를 후회하다.


2. 데이터마이닝 팀 프로젝트 진행

데이터마이닝 수업에서 팀 프로젝트를 진행하였습니다. 데이터를 직접 수집하고 분석하여 결론을 도출하는 프로젝트였습니다. 납골당의 현황을 분석하고 외부 요인을 고려한 납골당의 위치 선정이라는 제 주제가 선정되었고, 이를 기반으로 워드클라우드, 지도 기반 위치 분석, 통계를 통한 안치율, 사망률, 인구수 등을 전반적으로 분석하여 프로젝트를 진행하였습니다. 저희의 프로젝트 뿐만 아니라 다른 팀들의 프로젝트들을 들어보며 데이터분석이 요즘 유행이라던데,, 왜 유행이지..라는 생각을 접게 되었습니다. 데이터분석의 활용 방안은 정말 무궁무진한 것 같고, 프로젝트를 하는 동안 나름 재미있었습니다!


3. 캡스톤 디자인 프로젝트 제작

프로젝트가 진행될 수 있도록 API를 연결하고, 기능을 전체적으로 완성하고자 노력하였습니다. 기능을 구현하면서 이전까지 프로젝트를 진행해 온 경험이 있어서 그런지 굉장히 쉽고 빠르게 구현할 수 있었습니다. 크게 어려웠던 부분은 없었습니다.


4. 메타버스 디자이너 개발 진행

저희 서버 내의 접속자들 간의 상호작용을 위한 친구 목록 UI 를 개발하였습니다. 추가적으로 개발을 진행하면서 선생님께서 주기적으로 폴더의 구조를 변경하고 코드를 봐주셨는데, 이 과정을 통해서 협업을 할 때에는 코드던 폴더건 다른 사람들이 보기 쉽게 정리하는 것이 때로는 코드로 기능을 구현하는 것보다 훨씬 더 중요하다는 것을 깨달았습니다. 선생님께서 제 코드를 리팩토링 해주시고, 폴더 구조를 정리하는 것을 보며 협업에서의 중요한 요소를 배울 수 있어서 좋았습니다. 덕분에 프로젝트를 진행하며 남들이 보기 쉽도록 코드를 조금 더 신경써서 작성하며, 변수의 이름에 대해 신중해지고, 어려운 부분은 주석으로 설명하며 저 스스로도 보기 좋은 코드를 만드려고 노력했던 것 같습니다.

 

-> 협업에서 가장 중요한 것이 무엇인지 깨닫다!

 

5. 학기 공부
6. 알고리즘 공부

12월

1. 도란도란 프로젝트

실제 배포를 진행하고자 노력하였습니다. 하지만 구글플레이스토어의 배포 조건이 변경되면서 12월 배포가 힘들게 되었고, 여유있게 배포를 진행하였습니다. ios는 테스트플라이트를 통해 심사를 미리 진행하였었는데, 자꾸만 어플이 켜지지 않는 에러가 발생했다며 거부를 당했습니다.. 시뮬레이터에서는 잘 실행되고..에러도 안나서 무슨 문제인지 며칠을 앓았고, 실 기기를 맥북에 연결하여 빌드해보니 오류를 확인할 수 있었습니다..! (빌드는 실기기로도 해보자)

무사히 고치고 통과를 받았고, 안드로이드는 테스트 20명이 14일 이상 테스트에 참여해야 한다는 조건으로 인해 배포가 조금 미뤄졌습니다. 

 

-> ios, Android 배포 준비를 진행하다!


2. 캡스톤 디자인 프로젝트 제작

실제로 프로젝트를 제작하고 배포하면서, 많은 사용자들의 설문조사가 필요하게 되었습니다. 결과를 통계내서 한눈에 보고 싶었거든요! 하지만 아무래도 앱으로 서비스를 출시하게 된다면 사용자의 사용률이 급격하게 떨어지는 건 안 봐도 비디오였기에.. 고민을 하다가 4월 플러터 컨퍼런스에서 플러터를 통한 웹서비스 강연이 생각났고, 이를 통해 웹으로도 서비스를 만들어보자는 생각을 하였습니다.

실제로 앱서비스를 만드는 것과 크게 다르지 않았고, 파이어베이스를 활용하여 배포까지 완료하였습니다.

총 70명정도의 사용자가 서비스를 이용해주었고, AI는 사용자들의 답변을 기반으로 학습하여 더욱 정확도가 상승하는 모습까지 도출해낼 수 있었습니다! 플러터로 웹서비스를 도출해보기도 하고, 실제 사용자를 받고 사용자의 데이터를 활용하여 AI를 학습시키는 등 많은 경험을 할 수 있었던 좋은 프로젝트였습니다!! 

교수님께서는 인공지능의 자연어처리를 통한 프로젝트라는 점과 mbti라는 모호한 개념의 주제에 대한 결론을 표로 명확하게 잘 드러냈다는 점에서 좋은 점수를 주셔서 학점 또한 ㅎㅎ 

 

-> 플러터로 웹서비스를 제작해보았으며, 실제 70명의 사용자를 대상으로 서비스를 배포해보고, 사용자의 데이터를 기반으로 AI를 학습시켜보는 경험을 하다!

3. 메타버스 디자이너 개발 진행

이 달에는 마지막으로 캠퍼스 투어를 맡아 개발하였습니다.

NPC와의 상호작용을 통해 저희 학교의 캠퍼스를 구석구석 살펴볼 수 있도록 제작하였습니다.

제작하는 데 이전에 배웠던 개념들을 활용하는 방식이었어서 큰 어려움은 느끼지 못했지만 아무래도 축제 게임 개발에 언급하였듯이 계속적으로 업데이트되고 변경되는 환경이 어려웠습니다. 하지만 재미있게 작업했습니다! 선생님께서 많이 도와주시기도 해서 그만큼 수월했습니다.

디자인 팀에서 너무 학교를 잘 구현해두어서 개발을 진행하면서 감탄을 금치 못했던 기억이 있습니다..

정말 이렇게 멋진 그래픽이 제 개발새발코딩으로 돌아가는 모습을 보니 제가 디자인 한 것도 아닌데 괜히 너무 뿌듯하고 자랑스럽더라고요.. 

이렇게 메타버스 디자이너는 마무리하였고, 결론적으로 저는 이 활동에 너무너무 만족합니다! 아마 다음 기수가 있다면 또 지원하고 싶을 만큼 재미있었습니다 (제 친구는 물론 극도로 싫어했습니다)

최종적으로 메타버스 디자이너를 마무리하며 교수님께서 이렇게 메타버스 환경을 학생들이 자체적으로 제작하는 학교는 저희학교가 유일무이하다고 말씀하시더라고요.. 괜히 또 뿌듯^ 아니 왜냐면 정말 학교 실물이랑 똑같이 디자인팀이 구현을 해놨어요.. 여러분도 시간나시면 로블록스 좀 설치하시고,, 구경가셔요 헤헤

 

->  NPC 캠퍼스 투어까지 개발하고 무사히 메타버스 디자이너 개발자를 마치다!


4. 개발자 축제 devfest 참여

devfest 축제에 갔습니다!! 저번에 갔던 플러터 컨퍼런스가 너무 좋았어서 기대를 하고 갔는데, 아무래도 규모가 커지다보니 관리가 조금 어려워보였습니다. 강의도 정말 많아서 듣고싶은 강의랑 시간이 겹쳐서 못 들은 것도 있고.. 강의가 어떤 강의는 숙련자를 대상으로 하고 어떤 강의는입문자들을 대상으로 하는 등 다양하게 구성되어 있는데 이 강의들에 대한 안내가 친절하지는 않았습니다.. 심지어는 중간에 웨딩?드레스 전시가 정말 말 그대로!! 중간에!! 끼어있어서 어수선했고..기대한 느낌의 컨퍼런스는 아니었습니다..

하지만 증정해준 옷은 지금도 입고 잘 쓰고 있답니다ㅎ 

또 뭔가 얻어가는 게 많은 분들도 분명 계셨을 만한 좋은 컨퍼런스였습니다. 저랑만 안 맞았을 뿐!!

 

-> devfest 굿즈로 옷을 받아 잠옷이 생기다!

 

5. 학기 공부

6. 알고리즘 공부



요즘은 게임개발에 발을 들이고 싶어서,, 이번년도는 게임 개발로 많이 공부하지 않을까 싶습니다.
이번년도는 아마 제 인생의 전환점이 될 수도 있을 것 같네요.
이렇게 정리해보면서
그래도 알고리즘은 2023년도처럼 적게라도 꾸준하게 해야겠다는 생각이 들었고,
올해 플러터 프로젝트는 양보다 질을 높여보자는 욕심이 들었습니다. 아무래도 올해로 양은 다 채운 것 같습니다..아닌가
 
이렇게 글로 정리해보니 앞으로 어떻게 공부해야할지, 어떤 것들이 부족한지가 조금씩 보이는 것 같아서 좋네요!! 사람들이 왜 다들 회고록을 쓰는 지 이해가 됩니다 헤헤
전년도에는 아무래도 지식이 없는 상태로 프로젝트를 진행했다보니 개발 속도를 따라가기에 급급해 구현 자체에만 비중을 두고 코딩을 했습니다. 그러다보니 나중에 문제가 발생했을 때 코드를 수정하는 데에 어려움이 많았습니다.
앞으로는 구현 여부보다는 코드의 질이나 재사용성에 조금 더 신경을 기울이면서 더 나은 코드를 위해 공부할 수 있도록 하고 싶습니다.

개발은 공부를 하면 할 수록 공부해야할 게 더 늘어난다던데 최근 들어 그 사실을 정말 몸소 깨닫는 것 같습니다..
그래도 우울해지지말고 그만큼 더 성장했다고 생각하고자합니다..(제발

많은 개발자분들 이런 멘트 치기에는 시기가 좀 지난 것 같지만 그래도! 올해도 파이팅입니다요

그럼 20000

반응형

 

반응형