AI Native 서버 개발 with Rust - YAPP 27기 Server 후기
·
개발기
AI 적극 활용해서 개발 해봐요YAPP 27기에서 회고 서비스를 만들기로 했을 때, 백엔드 팀원이 이 한 마디를 꺼냈다.그리고 우리가 내린 결론은 꽤 단순했다.AI를 제대로 활용하려면, 처음부터 모든 걸 AI 중심으로 설계해야 한다.그래서 기술 스택은? Rust로 합시다"Rust요? 써본 적 있어요?""아니요.""그럼 왜요?""어차피 AI가 짤 거잖아요."실제로 이 대화가 오갔다. 그리고 진지하게 납득했다. AI를 보조 도구로 쓰는 게 아니라, AI가 코드를 짜고 내가 방향을 잡는 방식으로 가기로 했다면, 내가 그 언어에 익숙한지 여부는 생각보다 중요하지 않다. AI에게 좋은 언어를 쓰는 것이 좋다. 또한 오히려 낯선 언어를 쓰는 것이 AI에 더 의존하며 개발을 할수 있기에 AI 능력이 어느 정도까지 되..
10기 오픈소스 기여모임 후기 — Spring Tools & Spring Framework에 처음으로 기여한 이야기
·
개발기
오픈소스 기여모임 10기에 참여해서 Spring Tools와 Spring Framework에 PR을 올리고 머지까지 된 과정을 정리한 글이다. Spring Framework 쪽은 7.0.4에 릴리즈까지 됐다.🚀 오픈소스, 해보고 싶긴 했는데"오픈소스 기여 한번 해보고 싶다"사실 이 생각은 꽤 오래전부터 있었다. 근데 막상 하려고 하면 어디서부터 손을 대야 할지 감이 안 왔다. 이슈를 뒤져봐도 뭐가 뭔지 모르겠고, 괜히 PR 올렸다가 민폐만 끼치는 거 아닌가 싶기도 하고. 그러다 오픈소스 기여모임 10기 모집을 보고 바로 신청했다.1. Spring Tools — IDE에서 쿼리 생성 기능 개선PR: spring-projects/spring-tools#1763Spring Tools는 VSCode나 Ecli..
좋아요 알림 지연 10초 → 0.1초: 동기/Outbox/비동기 비교 및 개선기
·
개발기
졸업 프로젝트(하루멍록)에서 좋아요 알림 설계 및 개발 경험을 정리한 게시글입니다.🚀 프로젝트 배경하루멍록 프로젝트를 진행하면서 좋아요 알림 기능을 구현하게 되었다. 처음에는 가장 단순한 동기 방식으로 시작했지만, 점차 개선이 필요하다는 걸 느꼈다.📈 Phase 1: 동기 → Outbox 패턴 도입동기 방식의 문제점초기에는 좋아요 API 요청이 들어오면 동기적으로 FCM 알림까지 처리하는 방식이었다. 하지만 이 방식은 두 가지 문제가 있었다.FCM 전송 실패 시 전체 트랜잭션이 롤백되어 좋아요 자체가 저장되지 않음 (정합성 문제)FCM 전송 시간만큼 사용자가 응답을 기다려야 함 (사용성 문제)Outbox 패턴으로 개선이를 해결하기 위해 Outbox 패턴을 도입했다. 좋아요 저장과 알림 이벤트를 동일 ..
잡플래닛, 블라인드 평점 및 병역특례 한번에 보는 방법
·
프로젝트 홍보
채용 정보 볼 때, 탭 열기 지긋지긋했다면채용 공고를 볼 때마다 잡플래닛 열고, 블라인드 열어 기업 리뷰 평점 찾아보고 병역특례 회사인지 또 따로 찾느라 탭이 쓸데없이 많아지곤 한다.그래서 이 과정을 한 번에 끝내기 위해 크롬 확장 프로그램 CoReview를 만들었다. CoReview - Chrome 웹 스토어드래그 후 기업 평점 및 병역특례 여부를 확인합니다.chromewebstore.google.com CoReview가 해주는 일CoReview는 채용 사이트에서 회사 이름만 드래그하면, 그 자리에서 바로잡플래닛 평점블라인드 평점병역특례 지정 업체 여부를 한 번에 보여주는 확장 프로그램이다.잡플래닛이나 블라인드 사이트로 직접 들어갈 필요 없이, 채용 공고 페이지에서 그대로 평점과 병역특례 여부를 확인..
[LangChain] 복잡한 SQL, AI/LLM으로 해결하기: Text-to-SQL 4가지 방식 성능/비용 비교
·
개발기
졸업 프로젝트(하루멍록)에서 복잡한 SQL 쿼리 문제를 LangChain으로 해결해보려고 노력한 Text-to-SQL 시스템 개발 경험을 정리한 게시글입니다.🚀 프로젝트 시작 동기"백엔드 SQL 쿼리, 너무 복잡한데?"하루멍록이라는 반려동물 관리 앱 졸업 프로젝트에서 백엔드를 맡았는데, 테이블이 점점 늘어나고 JOIN이 복잡해지면서 SQL 작성이 점점 힘들어졌다. 그래서 "자연어로 물어보면 SQL이 나오면 얼마나 편할까?"라는 생각으로 Text-to-SQL 시스템을 직접 만들어보기로 했다.📊 하루멍록 데이터베이스 구조하루멍록은 반려동물 관리 앱답게 다양한 도메인으로 구성되어 있다.회원/인증: member, member_block반려동물 관리: pet, pet_image, member_pet산책 기능:..
인프런 강의로 시작해 ‘소득세법 RAG 챗봇 AI’ 완성하기: 구조 분석부터 나만의 개선까지
·
개발 공부/AI
소득세법 RAG 챗봇: 인프런 강의 따라 하기부터 나만의 개선까지 🤖“많은 문서가 있을 때 어떻게 원하는 정보를 찾지?”학교 관련 문서, 법 조항 등 양이 많은 문서의 경우 다시 찾는 일이 반복됐다. 검색 결과는 많지만, 정확히 필요한 조항에 바로 도달하기는 어려웠고, 용어가 조금만 달라져도 엉뚱한 문서를 보게 되는 일이 잦았다.​이때 우연히 인프런에서 세법 도메인에 LLM + RAG를 적용하고, 키워드 맵과 자동 평가까지 구현하는 강의를 보게 되었고, “이 구조를 그대로 따라 만든 뒤, 내 고민을 얹어보자”라는 생각으로 프로젝트를 시작했다.인프런 강의 기반 설계: 세법 + RAG 구조 그대로 따라 하기 🎓이번 챗봇의 뼈대는 인프런 강의를 기반으로 했다. 강의에서 다루는 구조는 크게 다음과 같았다.​..
서버비 0원으로 월 8,000 트래픽 감당하기: Cloudflare Workers + Notion 도입기
·
개발기
IT 동아리 모음 사이트인 TECA의 개발부터 운영, 그리고 트래픽이 터지기까지의 약 8개월간 있었던 일을 요약한 게시글 입니다.🚀 프로젝트 시작 동기"IT 동아리 정보 모아둔 곳 없을까?"사실 시작은 아주 단순했다. 아는 형이 IT 동아리 정보를 한눈에 보고 싶다며, 노션으로 같이 정리해보자고 제안했다. 평소 "불편하면 만든다"는 주의라 바로 수락했고, 간단한 사이드 프로젝트 정도여서 하루 만에 노션 페이지 정리(웹/모바일 뷰 분리)를 끝냈다. (웹에 맞는 화면과 모바일에 맞는 화면이 다르고 노션은 반응형이 안되다 보니 각각에 맞는 노션페이지를 만들어주었다.)하지만 개발자로서 욕심이 생겼다. 그냥 노션 링크(notion.site/...)를 던져주는 건 너무 멋이 없지 않나? 제대로 된 도메인도 달고 ..