플레이데이터 부트캠프 데이터 엔지니어링 트랙 22주차 (10.30~11.03)

안인균·2023년 11월 5일
0
post-thumbnail

22주차가 되었습니다. 곧 있으면 부트캠프 일정도 다 끝나기 때문에 그동안 배운 내용들을 활용해 파이널 프로젝트를 진행하게 되었습니다. 팀원 총 5명이고 저는 Tech leader 역할을 부여 받아 열심히 참여할 예정입니다.

앞으로 프로젝트에 관한 내용들로 회고를 채우고 중간에 취업에 관한 이야기가 있다면 따로 작성할 예정입니다.


✅이번 주 활용 내용✍

: 해당 레포지토리에서 fly.io 로 배포하는 학습을 진행했습니다. 배포한 웹 페이지는 aaingyunii.github.io 로 배포한 사이트와 동일하며, 테스트 형식으로 진행되었기 때문에 이미 만들어 놓은 것을 채택했습니다.
그러나 이전처럼 $ fly deploy 를 한 것이 아닌, github.io 처럼 Github Actions 기능을 이용해 해당 repo에 push한 내용을 토대로 웹 페이지가 자동 배포 되도록 설정하는 것을 진행했습니다.

  1. $ fly auth token 으로 해당 fly.io 앱에 해당되는 fly token을 발행받고,

  2. 이를 해당 repo-settings-secretes-actions 에 등록한 후

  3. .github/workflows/main.yml 를 작성하면

  4. $ git push 와 함께 해당 repo가 자동 배포 되며

  5. Gihub Actions에서 워크 플로우를 확인할 수 있었습니다.

    • 자세한 내용은 위 repo 주소에 있으며, Pull requests와 Issuses 에 관련된 학습 및 알게된 점들을 정리했습니다.

: docker hub 에 배포된 python:3.12 이미지를 이용해 파이썬 프로그램을 개발했습니다. 파이썬만 설치되어 있는 리눅스 환경이기 때문에 apt 를 통해 vim을 설치하고 vi random_pick.py 를 통해 코딩을 완료하고 해당 도커 환경에서 테스트-실행을 진행했습니다.
이후 docker cp 를 통해 컨테이너에 저장된 파일을 로컬 저장소로 복사하고 해당 repo에 업로드할 수 있었습니다. 이외에도 docker exec , docker -v(--volume) 등을 이용해 다른 방식으로도 해당 과정을 진행할 수 있음을 알 수 있었습니다.

  • minikube , kubectl 을 로컬 우분투에 설치하고 deployment, service 등을 만들고 배포하는 과정을 진행했습니다. 아래 이미지와 같이 minikube dashboardkubectl 커맨드 등을 활용하는 방법을 실행할 수 있었습니다.

✅minikube dashboard 화면

image

✅minikube dashboard 에서 deployments 생성

image

✅command 로 deployment, service 생성

image

파이널 프로젝트 진행!

  • 프로젝트 아이디어를 구상하고 그에 맞춰 기획안을 작성해 멘토링 시간 전에 생각들을 정리했습니다.

  • 팀원들 각자의 역할군을 정했습니다. .ex) PM, TL, AC,..

  • 1차 데일리 미팅을 진행했고 아이디어를 구체화하는 것을 진행했습니다.

  • 멘토링 시간동안 앞으로의 계획을 알 수 있었고 "린캠버스" 라는 용어를 알게 되며 이를 이용해 기획안 작성을 다시 해볼 것을 권유받았습니다.

  • 프로젝트 주제 선정을 진행했습니다.

    • 뮤지컬 추천 사이트
    • 주요 메인 타겟층은 뮤지컬을 한 번도 본 경험이 없는 사람들, 즉 입문자들을 대상으로 할 예정
    • 제공할 서비스로는 검색 시스템, 랭킹 시스템, 추천 시스템을 개발 예정
    • 초기 버전 1은 서울에서 열리는 공연 중점
    • 추천 시스템의 주요 기준은 고객이 보고싶은 콘텐츠, 특히 고객의 관심이 있는 장르에 초점을 맞출 예정
    • 뮤지컬은 같은 스토리더라도 연출과 배우가 다르면 다른 공연으로 간주됩니다. 그러나 초심자 대상인 우리 시스템의 사용자들은 배우보다는 스토리에 초점을 둘 것
    • ※ 뮤지컬 추천 시스템을 먼저 개발 예정이며, 이후 연극에 대한 추천 시스템도 개발할 계획
  • 개발 파트를 나누었습니다.

    • Front-End, Back-End : 심재호, 안인균
    • 데이터 수집: 김하현, 안인균
    • ML : 강민정, 박수빈
  • 각 파트별 할 일들에 대해 milstone 작성을 진행했습니다.

    • Firebase 혹은 Fly.io 등을 이용하여 서비스에 사용될 화면 작성 후 배포

    • 현재 상영중/상영예정 뮤지컬 데이터 : 유저에게 받을 선호도 데이터 -> 라벨링 필요

    • 선택한 옵션들을 저장하여 학습 : 시놉시스 내용 분석 -> 내용 기반 추천

😄느낀 점😭

  • fly.io 토큰을 통해 자동 배포를 할 수 있는 과정을 보면서 github.io 의 Action에 대한 이해가 되어 좋았습니다.

  • 아직 쿠버네티스에 대한 활용성과 이에 대한 이해가 부족해 아쉬웠습니다. 개념 정리가 잘 안된 느낌이었습니다.

  • 도커 활용 방법을 알 수 있어 좋았습니다. 실제 개발 때 도커 환경에서 테스트 및 실행 과정을 경험할 수 있었고 도커를 이렇게사용하는거구나를 깨달을 수 있었습니다. 더 나아가 dokcer 명령어 옵션을 학습하면서 앞으로 활용할 수 있는 방안에 대해서도 고민할 수 있는 시간을 가져 만족스러웠습니다.

  • 쿠버네티스를 짧았지만 실습할 수 있는 시간을 가져 좋은 경험을 했습니다.

  • kubernetes 학습이 조금 부족한 것 같았고 개념 정리나 활용 방법에 어려움을 겪어서 아쉬웠습니다.

  • 생각해 놓은 아이디어에 대한 확신이나, 흥미가 많지 않아 진행에 더딘 점이 아쉬웠습니다.

  • Front-end, Back-end 파트별로 Git repository를 나누어서 진행하는 방법에 대해 고민이 많았습니다. 나누어서 하는 것이 좋아보이기도 하지만 불필요한 일인 것 같기도 해서 고민이 되었습니다.

  • 원래 크롤링하고자 했던 "인터파크 티켓" 사이트가 크롤링이 불가능해보여 방법을 찾는 중입니다.

➕ ✅깃허브의 할로윈 맞이 소소한 이미지 변신
image

🚩마무리 및 앞으로의 계획🚀

  • 웹 개발 파트를 앞으로 어떻게 진행해야할 지 결정
  • 크롤링 방법론에 대해 고민 및 진행
  • 앞으로 있을 첫번째 최종 발표 대비 Progress 발표 준비

앞으로 순탄하지 않겠지만 프로젝트를 처음에 기획한 내용처럼 최대한 구현하려고 노력할 것이며 중간 중간에 취업 준비 및 이력서 제출도 하고 이력서 내용 보충도 할 것 입니다. 또한 그동안 배운 내용 복습이 중요하다고 생각하기 때문에 복습활동을 하면서 개발에도 힘 쓸 예정입니다.

0개의 댓글

관련 채용 정보