[SK Networks Family AI Camp 3기 회고록] 4-11주차 회고록 (24.07.29~ 24.09.27)
본 게시글은 4에서 11주차까지의, 약 두달(8주)간의 이야기를 담아보고자 한다.
💡 The four Fs란?
- FACTS (사실, 객관) : 있었던 일, 내가 한 일
- FEELINGS (느낌, 주관) : 나의 감정적인 반응, 느낌
- FINDINGS (배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것
- FUTURE (미래) : 배운 것을 미래에는 어떻게 적용할 지
🗃️ FACTS : 사실, 객관
[ 🌐 Django ]
Django라는 웹 프레임워크와 더불어 CSS, HTML, JS에 대하여 배웠다.
프레임워크의 동작 원리, 사용법에 그치지 않고 묵찌빠게임과 스톱워치를 제작하는 등 시각적으로 재미를 느끼며 배울 수 있었다.
[ 📏 AWS ]
시스템 아키텍쳐의 중요성과 함께 AWS의 다양한 애플리케이션을 사용하는 법을 배웠다.
IAM 권한에서부터 MFA 설정, S3, EC2 및 AWS를 활용한 웹 배포를 배워보았는데, 이때 Django를 배우며 개발한 웹 페이지를 AWS에 배포하며 실습해볼 수 있었다.
[ 🗺️ Second Mini-Prj ]
이번 두번째 미니 프로젝트의 주제는 “문화/관광 웹 사이트”였다. 매니저님이 정해주신 새로운 팀원들과 수행하게 되었고, 5인 중 팀장의 역할을 맡았다.
이번에는 주말을 포함하여 약 4일의 기간이 있었다. 우리는 회의 끝에 “🍃 바쁘다 바빠 현대사회에서 (살짝 & 쉽게) 벗어나기 위한 수도권 힐링 공간 시각화 🍃”를 주제로 한 웹 사이트를 개발하였다.
웹 개발 전체적인 파이프라인을 수행해야 하다 보니 프론트엔드 + 백엔드 + 데이터로 역할을 분담하여 개발을 진행하였다. 나는 1차와 유사하게 PL로써 데이터베이스 모델링을 수행한 후 웹개발에서의 여러가지 기능구현을 도왔다.
마지막 날에는 깃을 정리하여 발표를 진행하였고, 긍정적으로 마무리할 수 있었다.
[ 📋 Third Mini Prj ]
세번째 미니 프로젝트의 주제는 “텔레콤 고객 이탈율 예측”이었다. 매니저님이 정해주신 새로운 팀원들과 수행하게 되었고, 5인 중 데이터 모델링의 역할을 맡았다.
이전 미니프로젝트와 유사하게 주제와 팀원을 미리 알려주셔서 주말을 포함한 약 4일의 기간이 있었다. 우리는 “☎️ 텔레콤 고객 이탈 확률 예측 및 이탈 고객 잔존을 위한 솔루션 탐색”을 주제로 한 웹 사이트를 개발하였다.
나는 데이터 모델링의 역할을 맡아 팀원들과 기획한대로 전체 데이터 + 두개의 컬럼에 따라 split된 데이터, 총 5개의 데이터셋으로 학습된 각기다른 5개의 모델을 만들었다. MinMaxScaler 및 XGBoost를 사용하였으며, 해당 pkl을 기반으로 모듈화된 .py 파일을 제작하였다.
동일하게 마지막 날에는 깃을 정리하여 발표를 진행하였고, 긍정적으로 마무리할 수 있었다.
[ 📈 ML / DL ]
ML/DL에 대한 내용을 배우기 시작하였다. 본 내용부터는 VSCode 환경이 아닌 개인 구글 코랩 환경에서 수행하였다.
문제형 실습보다는 이론의 이해를 주로 이루는 수업이었고, 전반적인 파이프라인을 배운 후 세부적인 모델에 대해 이해하는 시간을 가졌다.
강사님께서 준비해주신 데이터와 코랩 파일을 통해 수업을 진행했으며, ML을 활용한 정형 데이터의 모델링부터 CV, NLP 분야의 전반적인 파이프라인 및 유명한 모델들을 배울 수 있었다.
[ 🧸 Toy Prj ]
"SeoulPOT (📍서울의 진짜 SPOT📍을 추천해주는 서비스)"라는 주제의 프로젝트를 개발중이며, 현재 총 3번의 agile 과정 중 1st와 2nd agile을 마쳤다. 1st 당시에는 전반적인 웹 프레임워크를 개발하였고, 2nd부터 데이터 분석과 인공지능을 도입했다. 나는 PL을 맡아 다양한 경험을 할 수 있었다.
1st agile때는 요구사항 정의 및 데이터베이스 모델링을 수행하며 프로젝트 전반적인 진행을 맡았고 일손이 부족했던 WEB의 부분 수정, 데이터 전처리 및 적재를 추가로 진행하였다.
2nd agile때는 기획 사항이 많지 않았기에, 데이터 분석/인공지능 파트의 장으로써 프로젝트를 진행했다. 그 중에서도 사용자 리뷰 감성 분석 및 광고성 분류를 진행하였다.
추가로 PL로써 일정 관리(WBS 관리) 및 회의 진행을 맡는 경험을 가졌고, 현재는 10월 4일에 있는 2nd의 발표를 준비중이다. 최종적으로 CI/CD를 통한 실 배포 후 실 사용자의 피드백을 받는 것이 목표이다.
💘 FEELINGS : 느낌, 주관
[ 🌐 Django ]
정말 다양한 오류를 마주할 수 있었다. 파일 setting 오류부터 시작하여 가상환경 오류, 캐시 오류 등을 겪었다. 오류 탓에 까다로웠지만, 이제 내가 구현한 코드를 웹으로 실질적 시각화를 할 수 있음이 너무 신기하고 뿌듯했다.
[ 📏 AWS ]
해당 교육 과정중 가장 기대했던 것은 AWS였다. AWS의 다양한 기능들을 사용해보고 싶었고, 이해하고 싶었다.
내가 AWS를 가장 잘 이해할 수 있었던 부분은 배포하는 과정이 아닌 웹 아키텍쳐를 그리는 과정이었다. 아키텍쳐의 중요성을 느꼈으며, 앞으로 더 다양한 AWS의 기능을 활용하여 프로젝트를 수행하고 지금보다 복잡한 아키텍쳐를 그려보고 싶다.
[ 🗺️ Second Mini Prj, 📋 Third Mini Prj ]
구간구간별로 배웠던 내용들을 직접 활용해볼 수 있는 미니 프로젝트의 경험은 수업에서 체화하지 못한 부분들을 받아들일 수 있도록 도와주었다.
이렇듯 미니 프로젝트들을 통해 배운것도 많지만, 어려움 또한 많았다. 합을 맞추어보지 않은 팀원들과 짧은 시간 안에 역할 분담 및 주제 구체화, 웹 개발을 해야하기 때문이다.
확실히 가장 어려웠던 부분은 소통이었는데, 같은 회의를 통해 정하더라도 나중에 대화해보면 서로 달리 이해하고 있던 경우가 있었고, 이에 약속한 시간에 한명이라도 서로 정한 부분을 얘기했던대로 완수하지 못하면 프로젝트는 한없이 지체되었다.
다행스럽게도 좋은 팀원들을 만나 빠르게 문제점을 파악하고 부딪혀가며 프로젝트를 성공적으로 완수하였지만, 소통의 오류를 줄여 남은 시간으로 더 퀄리티업을 했으면 어땠을까 하는 아쉬움이 남았다.
[ 📈 ML / DL ]
생각보다 세세하게 다양한 모델들을 배웠다. 단순히 ‘이런 모델이 있어요’ 보다는 어떨 때 주로 사용하는지와 특징들을 배울 수 있었다.
특히나 이론만을 배우는 것이 아니라 강사님께서 준비해주신 데이터와 코드를 통해 직접 실행하고 모델의 구조 및 성능을 확인할 수 있다는 점이 인상깊었다.
지금은 NLP의 전반적인 파이프라인을 배우고 있는데, 앞으로의 내용들도 기대가 된다.
[ 🧸 Toy Prj ]
강사님께서는 미니 프로젝트로는 부족하다고 말씀해주시며 토이프로젝트를 권장하셨었는데, 프로젝트를 진행하다보니 그 이유를 확연히 느낄 수 있었다. 정해진 주제에 따라 개발하는 것이 아닌 우리가 정한 주제에 따라 요구사항을 정의하고 이에 따라 다양한 파트의 개발을 수행하는 것은 기존 실습 혹은 미니프로젝트와 달랐다.
원활한 진행을 위해 적어도 주 1회는 정기 회의를 진행하였으며 쉬는시간 및 점심시간을 활용하여 추가적인 이야기를 하기도 했다. 팀원 다같이 시간을 쪼개 열심히 개발하는 것이 뿌듯하고 재미있었다. PL로써 잘 하고 있는건지 프로젝트 초반엔 걱정이 많았지만 든든한 강사님과 팀원들 덕에 다양한 문제들을 해결하며 성공적으로 차차 프로젝트를 진행할 수 있었다.
어쩌다 보니 팀 인원이 증가하여 5명에서 6명, 이젠 8명이 되었다. 인원이 많아진 만큼 원활한 운영을 위해 3rd agile부터는 파트장을 뽑을 예정이다. 마지막까지 열심히 하여 성공적인 프로젝트로 마무리하고자 한다.
🔍 FINDINGS : 배운 것
[ 🌐 Django ]
웹 프레임워크 이해의 중요성을 느낄 수 있었고, 이 오류가 여러번 발생하는 것을 보고 오류로그의 중요성을 깨달을 수 있었다. 나만의 오류로그를 통해 반복되는 실수를 줄여나가야겠다.
[ 📏 AWS ]
아키텍쳐를 이해하고, 그릴 수 있는 사람이 되어야 한다고 뼈저리게 느꼈다. 개인적으로 AWS를 조금 더 파보고자 한다.
[ 🗺️ Second Mini Prj, 📋 Third Mini Prj ]
소통의 오류를 줄이기 위해 SW설계를 배우는구나 하는 생각이 들며 각 파트별 요구사항 정의의 중요성을 느꼈다.
[ 📈 ML / DL ]
아직 모든 것을 배우진 않았지만, 강사님의 이론 + 코드 + 구조 프린트 + 실행 + 성능 확인의 과정이 모델을 학습하기 굉장히 좋은 과정임을 다시금 깨달았다. 앞으로도 새로운 모델을 접할 때 단순히 이론을 공부하는 것이 아니라 꼭 실행 및 성능 확인을 직접 해봐야겠다고 생각했다.
[ 🧸 Toy Prj ]
토이프로젝트는 agile방식으로 진행되어서 그런지 그간의 프로젝트들보다 배운 것이 많았다. 프로젝트에 기능이 계속 추가될 뿐만 아니라 어쩌다보니 인원이 점점 늘었던 것도 한몫 한 것 같다.
이에 대해서는 3rd agile까지 마친 후 프로젝트 후기로 따로 글을 작성해보고자 한다.
✨ FUTURE : 미래
이번 기간을 통해 느낀 점들을 기반으로, 아래 내용들을 다짐하며 더 나은 다음주를 보내고자 한다.
- 주변 사람들에게 감사하자
- 요구사항을 정확히 하는 버릇을 가지자
- 모든 경험은 배움을 동반한다는 것을 잊지 말자
비록 매 주차 올라오는 꾸준한 회고록은 아니지만, 시간 날 때마다 틈틈히 작성하여 사유하고 마음을 다잡는 시간을 가져보고자 한다.
화이팅 ! 🍀