2024의 목표
라는 목표를 세우고 시작했던 2024년이었네요. 한 해를 돌아보면서 했던 활동들을 정리하고, 감정을 공유하는 시간을 가져볼까 합니다.
WAG
첫 프로젝트와의 비교 : logic lab
2023.07.16 전역이후 개발동아리 WAP에서 Logic Lab이라는 IQ문제 풀이/공유 사이트를 프로젝트로 진행했었습니다. 초보자 3명이서 쌩 HTML, CSS, JS 로만 이용해서 개발을 했었습니다.
- 제약 : 웹 프론트 개발에 활용가능한 라이브러리의 존재와 사용 이유조차 몰랐던 상태
- 협업의 어려움 : Git과 같은 협업 도구도 어렵다는 이유로 사용하지 못했음
WAG : 양세찬 게임을 웹으로
2024 1학기에는 작년과 달리 협업도 제대로 해보고, 개발적으로도 더 성장하고 싶다는 마음이 생겼습니다. 이런 마음으로 동아리 프로젝트 팀빌딩에서 4학년 선배 네 분과 함께 WAG(web appeds game) 프로젝트에 참여했습니다.
이 프로젝트는 예능 <런닝맨>의 양세찬 게임을 실시간 채팅 기반 웹 서비스로 구현한 것입니다.
저보다는 경험이 많았던 분들과 함께 하기 때문에 새로운 것을 많이 배울 수 있을 것이라는 기대감이 컸습니다. 하지만 동시에 리액트도 모르는 상황에서 팀에 민폐를 끼치게 될까 봐 걱정이 들었습니다.
WAG에서 저는 클라이언트 소켓의 게임방 채팅 기능과 전체적인 게임 로직 개발을 담당했습니다. 걱정만 하고 있을 시간에 차라리 실력을 쌓자는 마음으로 리액트를 비롯한 소켓과 네트워크 관련 공부를 시작했습니다.
리액트를 배우며, 이전의 순수 HTML, CSS, JS 개발 경험이 기초를 다지는 데 큰 도움이 되었음을 느꼈습니다. 리액트는 마치 포클레인으로 땅을 파는 듯한 경험이었고 훨씬 효율적인 개발이 가능했습니다.
중간에 실시간으로 처리하는 게임 로직 구현의 복잡함을 느끼기도 했지만, 채팅방 개발 이후부터는 작업 자체가 너무 재미있어서 쭉 달릴 수 있었습니다. 걱정과 달리 성공적인 마무리로 서비스를 배포할 수 있었고, 프로젝트 최종 발표회에서 웹 인기 프로젝트가 되어 뿌듯했습니다. 추후 2학기 프로젝트 세미나에서 연사 하는 기회도 얻게 되어 의미가 깊은 프로젝트였습니다.
아쉬웠던 점
1. 리액트를 처음 접하면서 진행했던 프로젝트였기에 개발적인 역량이 많이 부족했습니다. 결과적으로 만든 코드 리펙토링이 많이 필요합니다. 아직도 메인 게임 로직 코드가 약 1,500줄인데 올해 꼭 리펙토링을 진행해볼 생각입니다.
2. 디자이너가 없어 다같이 디자인하면서 만들어서 UI/UX 측면에서 아쉬운 부분이 많아 디자이너의 중요성도 체감하게 되었습니다.
3. git을 적극적으로 사용했지만, PR 내용이나 이슈 내용을 그리 구체적으로 작성하지 않았던 것 같아 다음 프로젝트에는 더 잘 적으며 협업을 진행해 보자 생각했습니다.
최종 발표 이후
좀 더 의미있는 프로젝트가 되었으면 하는 마음에 WAG을 서치콘솔과 구글 애널리틱스에 등록했었습니다. 추가적으로 SEO(검색 엔진 최적화)를 진행하며 최대한 사이트를 검색결과 상단에 올려보려고 했습니다.
처음에는 검색해도 보이지도 않던 사이트가 점점 상단으로 노출되었는데, 이런 부분이 웹 개발의 재미인 것 같습니다.
현재 팀원 중 한명의 리눅스 컴퓨터에서 배포되고 있는 상황인데, 팀원의 이사로 서버가 내려가 있습니다!
https://github.com/pknu-wap/WAG
GitHub - pknu-wap/WAG: 웹으로 즐기는 게임 🖥🎮 "Web Appends Game, WAG!"
웹으로 즐기는 게임 🖥🎮 "Web Appends Game, WAG!". Contribute to pknu-wap/WAG development by creating an account on GitHub.
github.com
부경대 X 부산대 연합 해커톤
도전과 경험
WAG 프로젝트를 경험하며 학기를 마무리하며, 방학 동안 개발에 자신감과 흥미를 느꼈습니다. 웹 프론트 개발이 재미있던 저는, 용기내어 인생 첫 해커톤에 도전했습니다.
이번 해커톤의 주제는 지역사회 문제 해결이었고, 부산대와 부경대 개발 동아리가 함께 힘을 모아 진행하는 행사였습니다. 저는 부산대 학생 한 분과 컨택하여 부산대의 네 분과 팀을 이루었고, 함께 '와글와글'이라는 서비스를 기획하고 개발하게 되었습니다.
와글와글은 1인 고령 가구를 위한 숙박 공유 플랫폼입니다. 이 서비스는 관광객에게 숙박 공간을 제공하고, 그 대가로 고령 가구가 숙박료를 받을 수 있는 구조입니다. 이를 통해 고령 가구는 경제적 지원을 받을 뿐만 아니라, 관광객과의 교류를 통해 외로움을 덜고 소중한 추억을 쌓을 수 있는 기회를 갖게 됩니다.
기억에 남는 순간
주제 선정에만 6시간 정도 걸렸는데, 그만큼 해커톤에서 기획이 중요함을 깨달았습니다. 또한 지역사회를 위한 해결책을 고민하면서, 기술이 사람들에게 줄 수 있는 가치를 더욱 깊이 이해할 수 있었습니다.
첫 해커톤인데 수상까지 할 수 있어서 좋았고, 처음보는 분들과 밤새면서 협업해보는 좋은 경험을 쌓은 것 같습니다!
https://github.com/Ji-Hyeon212/wagglewaggle
GitHub - Ji-Hyeon212/wagglewaggle: APPTIVE x WAP 지역사회 문제해결을 위한 연합 해커톤
APPTIVE x WAP 지역사회 문제해결을 위한 연합 해커톤. Contribute to Ji-Hyeon212/wagglewaggle development by creating an account on GitHub.
github.com
네이버 부스트캠프
짧은 준비와 도전
한 학기 빠르게 복학한 탓에, 과목 순서를 맞추기 위해 학기쯤은 휴학이 필요했습니다. 타이밍 맞게 2학기 휴학을 노릴 수 있었던 상황에서 네이버 부스트 캠프가 눈에 들어왔습니다. 자바스크립트 하나로 프론트엔드랑 백엔드를 동시에 배울 수 있다는 점이 매력적이었고, 부족한 부분이 많다는 것을 알면서도 "실패도 도전이다" 하는 마음으로 지원했다.
당시 알고리즘을 C++로 풀고 있었던 터라 자바스크립트 코딩테스트를 준비해야했습니다. 미리 준비했던 것이 아니기 때문에 짧은 시간을 투자했었고 다행이도 1차 코테에 합격해 베이직 2주 과정을 경험할 수 있었습니다.
베이직 과정
2주간 매일 주어지는 모든 과제를 해결해야 2차 코딩테스트의 기회가 주어졌습니다. 구현 위주의 과제를 매일 수행했는 데 기존의 알고리즘 풀이 공부와 많이 달랐고 확실한 답이 있는 문제들이 아니었습니다. 문제 해결력을 중점적으로 보는 부스트캠프의 특징인 것 같습니다.
주말에는 협동 과제가 있었는데 줌을 통해서 지원자 분들과 랜덤 매칭되어 협동 과제도 수행했었습니다. 열정적인 분들과 낯선 상황에서 같이 협업 해보는 경험도 해볼 수 있었습니다.
코딩 테스트와 과제 수행에서의 실수와 배운 점
2차 코딩 테스트를 위해 자바스크립트 문법에 집중하며 시험을 준비했었습니다. 그러나 시험은 베이직 과정에서 수행했던 과제들을 기반으로 출제되었습니다.
또 테스트는 카메라를 사용하는 온라인 방식으로 진행되었고, 예상보다 긴장감이 컸습니다. 테스트 시작 전에 초반 설계를 철저히 하고 차분히 문제를 풀자고 다짐했지만, 복잡한 문제를 마주치자 마음의 여유를 잃고 말았습니다.
결국 중간에 문제 해결이 막혔고, 이때 적절히 다음 문제로 넘어가거나 구현 과정을 자세히 서술하며 시간을 효율적으로 사용하는 대신, 한 문제에 집착하며 시간을 낭비하고 말았습니다.
그 결과, 세 문제 중 오직 한 문제만 제대로 해결한 채 시험을 마무리해야 했습니다.
떨어진 이유?
2차 코딩테스트에서 불합격을 맞보면서, 떨어진 이유를 생각해봤습니다.
- 근본적인 실력 부족 : 자바스크립트 언어에 대한 이해가 충분하지 않았습니다.
- 복잡한 문제 해결 경험 부족 : 복잡한 구현 문제를 해결해본 경험이 부족해, 설계 단계에서 어려움을 겪었습니다.
이러한 경험은 부족함을 깨닫는 소중한 계기가 되었고, 앞으로의 공부법에 대해서도 고민해보는 전환점이 되었습니다.
두번째 프로젝트 와비(WABI)
WAP 동아리 프로젝트에 참여하게 되었습니다. 이 프로젝트는 대학 내 단체 활동을 확인할 수 있는 서비스 "와비(Wabi)"를 개발하는 것이 목표였고, 저는 프론트엔드 개발자로서 팀에 합류했습니다.
팀원 네 명이 프론트엔드 개발을 담당했고 짝 프로그래밍 방식을 도입하여 협업했습니다. 서로 돌아가며 코드를 작성하고 리뷰하는 과정을 통해 모든 팀원의 코드 스타일을 익힐 수 있었고, 프로젝트 전반에 대한 깊은 이해를 공유할 수 있었습니다. 이러한 협업 방식은 시간이 더 걸리기는 했지만, 유지보수 가능한 코드베이스를 만들고, 문제 발생 시 누구나 빠르게 해결할 수 있는 환경을 조성하는 데 큰 도움이 되었습니다.
이번 프로젝트에서는 기존에 익혔던 리액트(React)를 더 깊이 공부하고 활용할 기회가 있었습니다. React Query를 사용해 데이터 페칭과 상태 관리를 최적화했고, TypeScript를 도입해 더욱 안전하고 예측 가능한 코드를 작성했습니다. 이를 통해 리액트를 보다 잘 활용하며, 프론트엔드 개발 역량을 한층 더 강화할 수 있었습니다.
또한, 개발한 서비스를 실제 사용자에게 테스트할 기회도 있었습니다. 동아리 행사를 통해 사용자 피드백을 수집했고, 이를 기반으로 새로운 기능을 기획하고 개선점을 반영하며 서비스를 발전시켰습니다. 더불어 GDG DevFest의 사이드 부스에 참가하여 다양한 전문가와 소통하며 유익한 의견을 들을 수 있었습니다.
이 프로젝트는 기술적 성장뿐만 아니라 협업의 중요성과 사용자 중심 개발의 가치를 깨닫게 해준 소중한 경험이었습니다. 모든 팀원이 코드에 대한 책임감을 가지고 함께 문제를 해결해 나가며, 개발자로서 더 나은 서비스를 만들어갈 수 있다는 확신을 얻었습니다. 와비서비스는 추가적인 기획으로 방향을 틀어 계속 개발해나갈 예정입니다.
GDG 2024 모배디 해커톤
2024 2학기에는 1학기에 함께 WAG 프로젝트를 진행했던 팀원들과 동아리 선배 한 분이 힘을 합쳐, 올해 두 번째 해커톤에 도전하게 되었습니다. 이번 해커톤의 주제는 첫 번째와 비슷했지만, 범위를 좁혀 부산 지역의 문제를 해결하는 서비스 제작에 초점이 맞춰져 있었습니다.
부산을 바꾸는 오빠드..ㄹ 아니 오형제
대회가 시작하자 마자 팀명을 정하고 발표하는 시간이 있었습니다. 팀 이름은 부바오🐼(부산을 바꾸는 오형제)
이번 해커톤에는 첫 번째 해커톤 경험을 살려, 기본적인 세팅을 마친 상태에서 여유롭게 참가할 수 있었습니다.
우리의 서비스 - 오바부 (오늘 바로 부산)
"부산엔 없는게 없다!"
우리가 기획한 서비스 오바부는 생성형 AI를 활용해 부산 여행을 더욱 간편하게 만들어주는 플랫폼입니다.
외국 명소나 분위기 좋은 카페 사진을 올리면, 생성형 AI가 부산의 비슷한 장소들을 리스트로 추천해줍니다.
가고 싶은 명소를 클릭하고 출발지를 입력하면?
사용자가 원하는 테마에 맞는 다른 부산의 명소를 포함한 여행 경로를 완성해줍니다!
기억에 남는 순간
해커톤 진행 도중, 경로 생성 과정에서 좌표의 위도와 경도를 반대로 입력하는 문제가 발생했습니다.
이 오류로 잘나오던 경로가 제대로 표시되지 않았고, 저는 이 부분을 담당하고 있던 터라 심적으로 큰 부담을 느꼈습니다. 이미 8시간 넘게 코드를 작성하고 있던 상황이라 멘탈이 흔들렸던 순간이었죠.
다행히 동아리 선배가 옆에서 밀착으로 다독여줘서 마음을 가다듬고 문제를 해결할 수 있었습니다. 결국 발표에서 성공적으로 시연할 수 있었고, 결과적으로 해커톤에서는 1등이라는 좋은 결과를 얻을 수 있었습니다.
팀원들 모두 정말 감사합니다
https://github.com/oesnuj/2024-Mobady-Hackathon-FE
GitHub - oesnuj/2024-Mobady-Hackathon-FE: Mobady-Hackathon : 🖼 부산을 새롭게 만나는 서비스 '오바부'
Mobady-Hackathon : 🖼 부산을 새롭게 만나는 서비스 '오바부' . Contribute to oesnuj/2024-Mobady-Hackathon-FE development by creating an account on GitHub.
github.com
청소년 SW 동행 프로젝트 SW/AI 대학생 멘토
와비를 만들면서 학교 생활을 하던 와중 한국과학 창의재단과 Elice가 협력하여 전국 중·고등학교 코딩 동아리 학생들에게 멘토링을 제공할 대학생 멘토를 모집한다는 포스터를 보게 되었습니다.
평소 교육에 관심이 많았던 저는, 멘토링이라는 기회와 함께 시급 25,000원이라는 매력적인 조건에 이끌려 망설임 없이 지원했습니다.
열정 넘치는 멘티들
역량 테스트를 거쳐, 부산 소재 대학생들로 구성된 팀에 배정받았고, 저는 팀장 역할로 진주의 한 중학교 개발 동아리를 멘토링하게 되었습니다.
멘티로 만난 학생들은 중학생임에도 불구하고 백준 티어가 플래티넘였고, GitHub를 통해 프로젝트를 진행한 경험까지 있는 친구들이었습니다. 이들을 보며 정말 열심히 살아야겠다는 다짐과 함께 어린 나이에 확고한 목표를 가진 친구들이 대단하게 느껴졌습니다.
멘토링은 파이썬 기초 학습을 시작으로, 데이터 마이닝 툴과 AI 툴을 활용하여 실생활 문제를 해결하는 프로젝트를 함께 진행하는 방식으로 이루어졌습니다. 그 과정에서 강사님과 협력하며 학생들을 도울 수 있었던 점도 의미 깊은 경험이었습니다.
느낀점
멘토링 활동으로 두가지 정도 깨달음을 얻었습니다.
1. 코딩 교육이 점점 필수로 되어가는 지금, 학생들의 코딩역량이 앞으로 더 높아질 것이다.
2. 단순히 프로젝트를 경험해보는 것은 경쟁력이 없다. 기본적인 CS 지식과 원리를 깊이 이해하고 쌓아두는 것이 더욱 중요해지는 것 같습니다.
마무리
깃허브나 리액트조차 몰랐던 시작에서 지금까지 다양한 활동을 통해 이 자리까지 올 수 있었습니다. 하지만 2025년은 그저 열심히가 아닌, 더욱 깊이 있는 공부와 성장이 필요한 시기가 될 것 같습니다.
기회가 된다면 새해 목표를 구체적으로 세워 공유해볼까 합니다.
여기까지 읽어주신 분들 모두 새해 복 많이 받으시고, 2025년에도 힘차게 나아가시길 응원합니다! 화이팅! 🎉