ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Tmax AI Bigdata Academy 4기를 마치며
    Tibero DB (Tmax AI Bigdata Academy) 2023. 12. 19. 21:20

    👨‍💻프로젝트 기간 (기획)

    11월부터 조가 편성되어서 프로젝트가 진행되었는데

    우리 조는 아래 3가지 주제 중에서 이미지 인식 AI를 활용한 서비스 개발이었다.

     

    1. 생성형 AI(ChatGPT)를 활용한 챗봇 서비스 개발

    2. 크롤링 데이터 솔루션을 통한 데이터 수집

    3. 실제 데이터 바탕의 이미지 인식 시스템 구축

     

    11월 첫째 주와 둘째 주까지는 팀원들과 아이디어 브레인스토밍 과정을

    거치면서 선정된 아이디어를 가지고 피드백을 갖는 시간인

    중간 발표를 준비했다.

     

    우리조의 아이디어는 이미지 인식을 활용한 사용자의 두피 상태를 체크하고

    맞춤형으로 샴푸를 추천해주고 캘린더 기능으로 기록하는 서비스로 선정되었다.

    AI Hub에 좋은 데이터가 많아서 두피 관련 자료를 보고 팀원들과의 브레인스토밍 과정에서

    해당 아이디어를 건의했는데, 여러 후보간의 투표 끝에 내가 준비해온 아이디어가 선정되었다.

     

    중간발표 때는 내가 발표했었는데, 중간중간에 더듬기도 해서 만족스럽진 않았지만

    그래도 무사히 발표를 마칠 수 있었다.

    또한 발표 이후에 교수님들과 현업에서 종사하시는 팀장님, 그리고 여러 프로그래밍 멘토님들께서

    해당 아이디어에 대해서 적극적으로 피드백을 해주셔서 너무 감사했다.

     

     

     

    👨‍💻프로젝트 기간 (개발)

    우리팀의 아키텍처

     

    백엔드의 경우 AI 모델과 관련된 API 개발을 위해서 파이썬 기반의 Flask 프레임워크를 사용하고

    나머지 기능에 대해서는 스프링부트 쪽에서 처리하도록 개발하였다.

     

    왜 굳이 스프링부트와 플라스크 두 가지를 사용하였는가? 라고 묻는다면

    아래와 같은 두 가지 이유때문이라고 말할 수 있다.

    1. 백엔드 개발을 수행할 팀원들의 니즈 반영

    2. Django 보다는 마이크로프레임워크인 Flask를 통해서 AI 모델에 대한 예측값을 좀 더 라이트하게 전달하기 위함

     

    또한 데이터베이스를 처음에는 뭘 쓸까 고민을 많이했는데, 평소에 많이 쓰는 MySQL이 가장 편하긴 하지만

    TmaxTibero에서 주최하는 프로그램이기도 하고 Tibero6가 Oracle과 호환이 되기 때문에

    과감하게 Tibero6를 선택하였다.

    근데 사실 Tibero6 연동과 관련해서, 프로젝트 기간 이전에 시도해보면서 겪었던 내용들을

    블로그에 미리 기록한 것들이 있었기 때문에 다른 개발에 좀 더 시간을 쓸 수 있었던 것 같다.

     

    그러나 연동은 성공했으나, 개발 과정에서 이슈가 하나둘씩 발생했다.

    Tibero6와 SpringBoot간의 한글 인코딩 디코딩 문제로, 한글 value를response로 담고 있는 특정 API의

    response들이 깨져서 나왔다. 이 문제로 프로젝트 초반에 일주일 넘게 해결하려고

    고생을 많이 했던 것 같다. 이외에도 여러 이슈가 발생해서 몇 가지를 노션에 기록해놓았다.

    사실 아래말고도 블로그에도 중간중간에 기록을 해놔서 더 있긴하다...............

     

    👇👇백엔드 이슈 노션👇👇

    https://iodized-moonflower-958.notion.site/22c9171a98d142079568310a26a9eec2

     

    백엔드 문제 해결 | Built with Notion

    1. Redis 보안 이슈

    iodized-moonflower-958.notion.site

     

     

    우리팀 노션 협업 페이지

     

    팀장을 맡았기 때문에 프로젝트 시작하고 우리조 전용 노션 페이지를 생성하고,

    Github Organization을 생성하여 팀원들과의 협업을 진행하였는데

    프로젝트 경험이 별로 없는 팀원들이 많았기 때문에

    Git 형상 관리에 대해서 알려주고 초반 세팅을 도와주느라 조금 애를 먹었던 것 같다.

    하지만 나 또한 부족한 점이 많았기 때문에, 알려주면서 다시 Git에 대해 살펴보고

    여러 과정에 대해 공부를 하면서 좀 더 성장하는 느낌을 받았다.

     

     

    나는 인프라 구축과 백엔드를 맡았기 때문에 초반에 Github Actions와 Docker를 활용하여

    CI/CD를 구축하고, SpringBoot와 Flask API 개발에 참여하였다.

     

    우리팀의 AWS LightSail Instance

     

    인프라를 구축할 때 고려해야할 중요한 문제 중 하나는 바로 비용이다.

    그러나 Tmax 측에서 AWS와 계약을 맺어 서버 비용을 넉넉하게 지원을 해주었다.

    그래도 보다 합리적인 가격으로 인스턴스 비용을 측정하기 위해서

    EC2와 LightSail 중에서 LightSail을 선택하게 되었다.

    LightSail을 사용하면서 처음 알게된 사실인데

    한 리전에 대해서는 최대 두 개의 인스턴스만 생성할 수 있다고 해서

    도쿄에다가 인스턴스를 추가로 생성해주었다.

     

     

     

    SpringBoot API에 대한 Swagger

     

    SpringBoot로 백엔드 개발을 할 때는 Swagger 문서화를 통해, 프론트엔드 개발을 맡은 팀원들이

    API를 사용하기 쉽게끔 도와주었다. 도움이 많이 되었다는 얘기가 많았으나

    예외 처리에 대한 status code를 좀 더 세분화해서 볼 수 있으면 좋겠다는 피드백도 받았다.

     

     

    👇👇우리조의 깃허브 organization👇👇

    https://github.com/TABA-4th

     

    TABA-4th

    TABA-4th has 4 repositories available. Follow their code on GitHub.

    github.com

     

     

    🧑‍🎓프로젝트 발표회 및 수료식

     

    TABA 수강생 모두와, 관계자, 심사위원분들이 모두 모여서

    총 10팀의 발표 및 심사 이후에 수료식이 진행되었다.

    PPT 발표는 팀원 중 한명이 진행하고, 나는 만든 프로젝트를 시연하는 역할을 맡았기 때문에

    사전에 팀원들과 리허설을 진행했었다.

     

    리허설이 길어지고,

    팀원 한명은 브로셔 준비하느라 전날에 밤새고... 다음날 오전에 인쇄하러 가느라

    다들 바빠서 점심도 못먹고 준비했다.

    (형철이형 고생많았어..)

    발표때 다른 팀과 심사위원분 들에게 나눠드리기 위해 만들었던 브로셔

     

     

    우리팀 발표 장면

     

    우리팀의 경우 두 번째 순서였는데, 처음 사다리타기로 결정 났을때 오히려 좋았다.

    뒤로 갈 수록 다른 팀이나 심사위원 분들도 지치기에, 앞 순서에서 임팩트있게 보여주고 퇴장하는게 개인적으로

    더 낫다고 생각했기 때문이다.

    발표 이후에 질문 시간을 가졌는데, 질문은 역시나 모두 AI 쪽과 관련된 내용이였다.

    AI를 담당한 팀원이 당황하지 않고 정말 조리있게 답변을 해줘서 너무 고마웠따ㅏ

     

     

     

    우수상 수상!!!!!!!!!!!!!!!!!

    진행 해주시는 분이 3등팀 소감 시간을 깜빡하고 넘어가셔서

    2등팀부터는 소감을 들어보자고 하시길래 어떨결에 조장인 내가 소감을 말했는데,

    무슨 얘기를 할까 잠깐 고민하고 말하다가

    마무리 멘트로 모두 연말 잘보내세요~  라고 질러버렸다.

    끝나고나서 친구들이 멘트가 무슨 연예대상 시상식 같았다고.....

    (오히려 좋아)

     

     

     

    😵‍💫회식

     

     

     

    수료식이 끝나고 모두 다 삼겹살 무한리필집으로 이동했는데

    점심을 못먹었기 때문에 진짜 고기가 쭉쭉 들어갔다.....

    물냉에 계란찜까지 같이 먹으니 진공청소기 마냥 흡입했다.

     

    기억에 남았던게 누가 건배사를 하는데, 이전에 했던 걸 하자

    교수님이 "redundancy는 안돼~~~"

     

     

    2차로는 TABA를 들으면서 친해진 친구들과 잔잔한 술집으로 이동했다.

     

    낭만단대 계란말이는 인정..

     

     

     

    😆끝은 새로운 시작😆

    그동안 잠시 미뤄두었던 배운 내용들을 천천히 기록하며 복기하는 시간을 가져야 할 거 같다.
    최대한 블로그나 노션에 기록을 하였지만, 아직 정리해야 할 내용들이 너무 많다...
    최근 앞만 보고 달리면서 새로운 내용들을 배우며 부딪친 것도 좋지만, 그 과정들을 기록하며 되새김질하지 않고 까먹게 된다면 억울할 것 같다.

     

    그리고 TABA가 끝나고 나서 여운이 정말 많이 남았던 것 같다.

    TABA를 통해 직접적으로 배운 것도 있지만,

    개인적으로 계속 파고 파면서 공부하다 보니 정말 많은 걸 배웠다.

    협업이나 새로운 개발 지식이나 여러 가지.... 그리고 좋은 친구들을 만났다.

    모두가 잘 됐으면 좋겠다. 진짜로

Designed by Tistory.