DolphinDash

제1회 ART-아마존 웹서비스(AWS) 리빙랩글로컬 해커톤 후기 본문

대외활동/해커톤

제1회 ART-아마존 웹서비스(AWS) 리빙랩글로컬 해커톤 후기

DolphinDash 2024. 1. 27. 00:08

원래 블로그에 회고록이나 일기는 안쓸 생각이었는데 해커톤 끝나면서 멘토님께서 쓰면 상품이 나간다고 해서 좋은(?) 마음에 한번 써보려고 한다..ㅎ 순서는 시간순서로 찍어 놓은 (몇 없는) 사진과 첫날에 받은 노트 필기를 참고하여 서술해 보았다.


해커톤 시작 전

나는 대학생활에서 다양한 경험을 하는 게 중요하다고 생각하는 편이다. 그래서 내가 원하는 관심사가 아니더라도 한번 도전해 보고 시도해 보는 걸 강박적으로 생각한다. 이번 겨울 방학에도 계절학기가 끝나고 약 한 달 정도의 시간이 비게 되어 어떤 활동을 해볼까 고민하다 AWS에서 주관하는 해커톤을 개최한다는 소식을 듣고 한번 지원해 보게 되었다. 소식이 좀 더뎌서 선정이 안되었을 수도 있겠다 하는 시점에..

 

해커톤 인원에 선정되었다는 메일을 받았다.

그리고 aws skill builder에서 10시간? 정도의 교육을 받고 진행한다고 해서 온라인 수업을 듣고 갔다.


Day 1

경상토박이, 집돌이인 나는 해커톤 때만 서울에 가는 것 같다. 갈 때마다 타는 버스는 익숙해지지 않는다. 하지만 이번엔 전용 버스를 타고 가서 비교적 편하게 교육장소로 이동할 수 있었다.

일정표

전체적인 일정표다. 사실 크게 기대하고 가지는 않았지만 호텔의 규모나 지원하는 것들이 다양해서 이때부터 맘을 다잡고 불태울 준비를 했던 거 같다. 웰컴키트(?)로 노트패드와 삼색볼펜을 받았다. 해커톤에서 이런 지원이 있는 것 자체가 너무 신기하고 놀라웠다. (이것이 AWS?) 강의에 대해서도 기대감이 물씬 올라왔다. + 이때 자리로 추첨을 돌렸는데 운이 좋게도 당첨이 되어 5 works 굿즈인 충전기+파우치를 얻었다!

Day1 - 전문가 특강

김병준 멘토님께서 Gen AI 기반의 특성화 교육 전략에 대해 소개했다. 강의 내용은 현재 현직자가 바라보는 AI나 현재 시장 상황에 대해 설명해 주셨고 AWS를 왜 써야 하는지에 대해 알려주셨다. 이전에 AWS skill builder에서 들은 내용이 섞여 나와 조금 관심이 가는 부분도 있었고 아예 처음 들어보는 streamlit, elastic 같은 기술도 있었다. 이 수업을 통해서 전반적인 해커톤에서 추구하는 우리의 방향성이 나타나 있다고 생각했다. 또한 클라우드 생태계, DevOps, DataOps, SecOps, MLOps 같은 단계에 대해서도 알려주셨다. ML을 클라우드 환경에서 진행한다는 건 다소 생소했던 부분인데 gpt와 모델부터 이때는 생소했던 langchain과 claude를 대략적으로 알려주시면서 MLOps환경에서의 유리함을 강조하였다. + 이때 codewhisper관련 질문을 빠르게 해서 스타벅스 상품권 3만 원을 얻었다!

Day1 - 팀빌딩

왔을 때부터 Slack을 통해 팀을 구성할 수 있도록 하여 난 우리 학교 사람들과 추가로 해커톤에서 만난 분과 함께 해커톤팀을 꾸리려 했었다. 하지만 팀을 섞게 되면서 처음 보는 사람들과 팀을 하게 되었다. 내성적이긴 한데 어색한 건 또 싫어서 사회성을 쥐어 짜내면서 어색함을 풀어나갔다. (풀렸는지는 잘 모르겠다) 아무튼 팀원 분들에 대해서 각자의 수준을 파악하고 팀명과 로고를 제작했다. 팀명은 빅히어로로 좀 귀엽고 대중적인 아이콘을 선택하는 게 어떤가 싶어 낸 의견이었다.


Day1 - 마무리

서울의밤은 춥다...

첫째 날은 좀 쉬어야 둘째 날에 좋은 아이디어가 나올 거 같아서 9시에 팀 빌딩 마치고 씻고 잠깐 판교 구경이나 할까 나갔다가 너무 추워 빠르게 복귀하여 22시에 취침했다.


Day2 - 기업 초청 특강 1

아침 조식 후 두 번째 특강으로 이종훈 멘토님이 AWS 서비스 배포 예제(학습 기록 + GPT로 학습 추천)를 핸즈온으로 진행하였다. 오늘부터는 실제 AWS를 구축하는 과정을 진행하기 때문에 IAM 유저로 로그인하여 콘솔로 진입했다. react로 진행되었는데 바닐라 js만 써본 나로서는 진행의 일정 부분이 이해가 되지 않았지만 핸즈온이었기 때문에 클라우드가 어떤 식으로 작동을 하는지에 중점을 두고 수업을 따라갔다. 일단 2 Tier로 EC2 - S3를 연결하여 S3 스토리지에 정적으로 서버를 열어 사용을 했다. 다음 lambda를 이용해서 api로 gpt의 답변을 얻어오고 이후 3 Tier로 RDS까지 추가하여 데이터베이스를 연결한 cloud환경을 구축해 보았다. 이로써 서버가 꺼져도 데이터가 살아있는 아키텍처를 구축할 수 있다. 이전에 네이버 클라우드를 사용했을 때에는 cloud는 간단히 기업의 컴퓨터를 빌려 사용하는 느낌이었다면 스토리지 내에서 정적으로 스크립트로 서버를 구축하고 cloud9를 이용해 변경하는 건 오히려 생소했지만 변경이 적은 간단한 프로젝트라면 사용하기 좋은 것 같다. 

Day2 - 기업 초청 특강 2

점심을 먹은 다음 첫 특강으로 최민철 멘토님께서 Serverless Chatbot을 주제로 강의를 해주셨다. lambda 구조나 db를 접근하는 방식에 대해서는 대략적으로 이해가 가는데 실습을 하면서 GET, POST CORS 오류나 client를 s3에 올리거나, 환경변수를 수정하는 부분에서 한 번씩 막히다 보니 실습을 따라가기 힘들었다. SNS 관련 부분도 해보고 싶었는데 시간관계상 못하게 되었고 개인적으로 아쉬움이 남는 수업이었다. 

Day2 - 기업 초청 특강 3

다음 특강으로 streamlit을 알려주셨는데 비교적 빠르게 끝났다. 이전 특강에서 나 이외에도 잘 진행이 되지 않은 분들이 많아서 그런 거 같다...(다들 멘탈 털린 표정) 파이썬 라이브러리여서 가벼운 마음으로 들어도 이해가 가능하였다.

Day2 - 해커톤 시작

19:00 ~ 24:00

시작전에 빠르게 한 시간 정도 자고 왔다. 다행히도 털린 멘털도 수면으로 인해 회복되었고 열정이 끓어올라 두근대면서 해커톤을 시작했다. 전날 생각한 아이디어들을 모집하여 정리해 보고 몇 가지 선정해서 멘토님과 상의한 후에 지역 관광 서비스 쪽으로 주제를 잡게 되었다. 지역 관광 서비스에 대해서 구체화를 하면서 챗봇으로 지역 축제를 추천해 주는 알고리즘을 만들고 하였다. 우리는 챗봇 구현과 축제 관련 데이터를 분담하여 찾아보았는데 축제 관련 데이터를 어떤 식으로 넣어야 GPT가 데이터베이스에서 탐색하고 이를 적당하게 고를 수 있는지에 대해 생각이 매몰되었던 것 같다. 

중간보고~ 5:00

중간보고를 하고 받은 피드백으로 우리가 이 아이디어를 추구하는 문제 상황이나 해결 방안에 대해 구체적으로 생각하지 못한 느낌을 받았다. 그래서 남은 시간 동안 피드백 + 팀원 회의를 통해 관광지에 대한 홍보와 지역 경제 활성화를 목적으로 하드코딩으로라도 구현을 하여 이 아이디어를 전달해보려고 했다. 그래서 챗봇과 얘기하여 자신이 원하는 관광지를 추천하여 이를 지도로 연동해 보여주는 웹을 만들려고 했다. 그래서 지도를 그리기 위해 naver map api를 사용하고 웹 페이지 + 챗봇 사용 환경은 react로 구현했다. 하지만 시간이 부족한 관계로 두 기능 간의 연결과 map api를 이용한 구현을 실패했다. 이로서 해커톤의 결과물은 하드코딩과 적당한 구현을 섞은 미완성작이 되었다.

Day 3

아쉬움이 남는 밤이 지나고 발표를 하기 위해 aws 본사로 가는 시간이 되었다. 이때는 이제 긴장도 다 풀리고 조금 내려놓았기 때문에 본사에서는 사진을 좀 찍었다.

솔직히 좀 신났음.

촌놈 티 안 내고 싶긴 한데 AWS 본사는 역시는 역시 역시였다... 입구부터 세련되고 다양한 포토존(아닐 수도)과 커피머신, 쾌적한 화장실(가글 O), SK 데이터 센터와 역삼동이 훤히 보이는 시티뷰, 입구에 서계시는 시큐리티분들, 로봇이 운영하는 카페까지... 이런 매력적인 공간에서 일을 하는 사람들의 모습과 주차비가 5만 원이지만 출근을 하면 능률이 좋다는 말을 하는 멘토님의 말에 대단함을 느꼈다. (나였으면 하루종일 5만 원 생각날 듯)

이후 점심 먹고 각 조의 발표를 진행하였다. 다른 조 중 langchain을 사용한 모델을 선보이거나 우리와 같이 gpt와 데이터베이스를 이용해 아이디어를 실현시킨 팀들이 있었다. 우리도 gpt를 사용하긴 했지만 문제 정의나 구체화가 해커톤에 맞지 않았다고 생각이 든다. 그래서 해커톤의 방향을 잘 파악하고 기발한 아이디어를 부단한 노력으로 결과를 이뤄낸 팀들이 멋있었다. 이후 단체 사진을 찍고 3일간의 일정을 마무리하게 되었다.

삼행시로 텀블러도 받았다.
2조 - 빅히어로

느낀 점

행사 자체로 참여를 많이 하면 많은 것들을 얻을 수 있는 구조여서 그런지 무료로 참가해서 다양한 것들을 받았다(충전기 파우치, 단체복, 스타벅스 상품권, 스텐리 텀블러). 사실 이런 것들보다도 지방에 있다 보니 현업에서는 어떤 환경에서 일하게 될까라는 생각에 판교 로드맵을 보면서 상상했는데 AWS본사를 보면서 훨씬 직접 와닿아서 개발자에 대한 뽐뿌(?)가 온다. 그리고 교통비 지원, 식비 지원이 되어 서울에 오는 것만으로도 부담되는 지방학생인 나에게 이런 기회를 주는 AWS는 신이다... 그리고 해커톤을 함께 밤새워 에러를 해결해 주시는 멘토님들을 보니 순간 그 환경을 누릴 수 있는 것만으로도 너무 감사하다는 생각이 들었다.

기술적인 면에서는 나에게 클라우드는 이전에는 단순히 가상 컴퓨터를 다루는 작업이었지만 AWS를 통해 더 다양한 기능과 서비스를 활용할 수 있게 되었다. 그리고 Slack을 통한 협업 환경을 경험하고 Canva나 다른 활용 가능한 AI도구에 관심을 가지게 되었다. 일상에서 부족한 부분을 채워주는 AI툴을 항상 고민하며 지낼 것 같다. 또한 AWS 프리티어를 통해 이번 내용과 관련된 내용을 복습해보고 싶다. 

하지만 해커톤은 역시 어려운 거 같다. 아이디어를 구체화하는 과정에서 다양한 도움이 있었는데 쉽게 해결하지 못했다. 하지만 계속해서 도전해 아이디어 구체화하는 능력을 길러보고 싶다. 시간과 리소스가 제한적인 상황에서 문제가 발생하고 빌드를 실패하면 포기하고 싶은 마음이 드는데, 그럴 때 한 발자국 더 나아갈 수 있도록 노력하고 싶다. 헬스 하는 사람이라면 더 이상 못 들 거 같을 때 한 번 더 미는 그런 느낌 아닐까? 계속해서 도전을 통해 그런 힘을 얻고자 한다.