본문 바로가기

프로젝트7

Kubernetes 기반 동적 코드 실행 엔진 - 프로젝트 개요 학기 마무리와 함께 졸업작품과 졸업논문을 모두 통과한 후 지난 개발 여정을 되돌아보게 되었다. 졸업작품인 생성형 AI 기반 문제 생성 시스템 자체보다 이 시스템에 탑재하기 위한 쿠버네티스 기반의 동적 코드 실행 엔진 개발이 훨씬 더 복잡하고 어려웠다. 실제 완성된 논문에서도 이 부분이 거의 절반 이상을 차지할 만큼 중요한 비중을 차지했다.  특히 이번 학기 후반부에는 거의 모든 시간을 코드 실행 엔진 개발에 쏟아부었다. 하루종일 쿠버네티스 문서를 읽고 밤늦게까지 SSH 프로토콜 스펙을 연구했다. 주말에도 코드를 작성하고 실험과 테스트를 반복하며 버그와 며칠을 씨름하기도 했다. 처음 접하는 기술도 많아 어려웠지만 동시에 매 순간이 배움의 연속이었다.  개발 과정에서 마주친 문제들이 워낙 많았기에 그때그때.. 2025. 1. 8.
5일 만에 만든 서비스로 9천 명의 선택을 받기까지 이번 글에서는 개발자로서 나의 인생 전환점이 된 순천향대 학식 및 캠퍼스 주변 음식점 정보 제공 서비스, 순천향대 맛집알리미가 탄생하게 된 배경부터 9천 명의 선택을 받기까지의 여정을 공유하고자 한다. 서비스를 개발하게 된 계기충남 아산시 신창면 깊숙한 산골에 위치한 우리 학교는 위치적 인프라는 물론이고, 수도권 대학에 비해 디지털 인프라도 부족한 상황이었다. 특히 학생들의 일상과 직결된 학식 정보조차 디지털로 확인할 수 있는 방법이 전혀 없었다.  대표적인 예시가 학식 정보였다. 대학가에는 보통 학생들의 하루 세 끼를 책임지는 여러 학생식당이 있지만, 우리 학교의 경우에는 실시간 메뉴나 운영시간을 디지털로 확인할 수 있는 방법이 전혀 없었다. 심지어 학식당 메뉴판은 대부분 종이로 되어 있어 학생들은 그.. 2025. 1. 4.
JavaScript로 인터랙티브 카드 스크롤 구현하기 구름톤 스터디 과제로 아래 드리블 사이트의 인터랙티브 카드 UI를 구현해야 했다.  Bank CardDesign Concept $3,000dribbble.com스터디에서는 리액트를 다루고 있긴 하지만 리액트는 결국 자바스크립트 라이브러리이기 때문에 바닐라 자바스크립트로 다룰 줄 알면 리액트 컴포넌트로 옮기는 것은 금방이라고 생각했다.  구현 목표와 주요 기능 일단 이번주 발표 전까지 구현하고자 하는 기능은 아래와 같다. 마우스 휠과 드래그로 카드 스크롤카드 클릭 시 확대 및 포커스 효과부드러운 애니메이션과 전환 효과스케일과 투명도를 활용한 입체감 표현 CSS 카드 디자인 .cards-container { position: relative; width: 360px; height: 480px.. 2024. 12. 24.
영화 추천 시스템 (4) - BERT와 GAT를 활용한 추천 모델 개발하기 이번 글에서는 BERT와 GAT를 결합하여 개발한 영화 추천 시스템 모델에 대해 자세히 설명하고자 한다.  기술적 의사결정BERT를 선택한 이유영화 추천에 있어서 중요한 요소 중 하나가 바로 영화의 내용을 얼마나 잘 이해하고 표현하는지이다. 기존의 단순한 장르 기반 추천이나 협업 필터링의 한계를 극복하기 위해, 영화의 줄거리와 제목에 담긴 의미를 정확하게 포착할 수 있는 BERT를 선택하였다. 특히 'bert-base-multilingual-cased' 모델을 채택한 이유는 다음과 같다. 다국어 지원을 통해 한글과 영어가 섞여 있는 데이터 처리 가능문맥을 고려한 양방향 인코딩으로 더 풍부한 의미 표현WordPiece 토크나이저를 통한 미등록 단어(OOV) 문제 해결GAT 도입 배경BERT만으로는 영화들 .. 2024. 12. 23.
영화 추천 시스템 - (3) Docker Compose를 이용하여 React + Django 개발환경 구축하기 https://antraxmin.tistory.com/102이 글을 쓰고 있는 시점에도 TMDB 영화 상세 데이터 수집은 여전히 진행중이다. 7시간 동안 18%이면.. 100% 채우는데 1~2일 더 걸릴 가능성이 커서 적당한 수준에서 타협하고 전처리 로직을 변경하던지 해야 할 것 같다.  이번 포스팅에서는 개발환경에서 Docker Compose를 사용해 리액트 프론트엔드와 장고 백엔드를 동시에 실행하는 방법을 다룰 것이다. Docker Compose 작동 원리 Docker Compose는 다중 컨테이너 애플리케이션의 정의와 실행을 관리하는 도구로, YAML 파일을 통해 서비스, 네트워크, 볼륨을 선언적으로 구성한다. 개발 환경에서 Docker Compose는 프론트엔드와 백엔드 컨테이너를 독립된 네트워크.. 2024. 12. 16.
영화 추천 시스템 - (2) React + Django CI/CD 파이프라인 및 AWS 아키텍처 설계하기 https://antraxmin.tistory.com/102 앞선 글에서 TMDB 영화 데이터를 가져오는 과정이 상당히 오래 걸렸다. 그래서 우선 웹 애플리케이션 세팅 먼저 해놓는게 좋을 것 같았다. 영화 추천 시스템의 프론트엔드는 React로, 백엔드는 Django로 구축할 계획이고, AWS 리소스와 통합하여 CI/CD 자동화 파이프라인을 먼저 만들어놓고자 한다.  기술적 의사결정 - 왜 리액트와 장고인가? 우선 프로젝트 요구사항에 반드시 웹서비스 형태로 만들어야 한다는 조건은 없었다. 그러나 개인 맞춤형 영화 추천 기능을 구현하려면 어떻게든 사용자와 상호작용하는 부분이 있어야 하는데, 아무리 생각해도 웹 인터페이스와 통합하는 방법밖에 떠오르지 않았다. 일단 웹서비스 형태로 만든다는 것을 가정하고 기술.. 2024. 12. 16.