-
백엔드 개발자의 2025 회고
백엔드 개발자의 2025 회고
눈이 내린 정자동 ❄️ (25.12.04)시작하며AI 시대에 어떤 글을 써야 할지 많은 고민이 있었습니다. 한동안 AI를 공부하며 블로그 글 작성을 꽤 오래 쉬기도 했습니다. 그럼에도 AI가 대체할 수 없는 글감은 개인의 솔직한 경험일 것입니다. 그래서 이번에는 AI가 대신할 수 없는, 저의 한 해를 돌아본 이야기를 기록 적어보았습니다.블로그를 쉬었던 기간이 길어지다 보니 방문자 수는 전성기 대비 1/10~1/20 수준으로 줄었습니다. 본격적으로 블로그를 시작했던 2019년 즈음으로 회귀한 느낌입니다. 오히려 지금은 읽는 분들이 많지 않기에, 어느 때보다 편안한 마음으로 제 이야기를 쓸 수 있을 것 같습니다.지금까지 작성한 회고 글컴공시절 회고: 컴퓨터공학 학점 2.82에서 성적 장학금까지1년차 회고: ..
-
2024 회고: 네이버웹툰에서의 2년을 보내며
2024 회고: 네이버웹툰에서의 2년을 보내며
늘푸른중학교 방면에서 바라본 1784시작하며2024년은 유독 마지막까지 다사다난하여 그런지 시간이 금방 간 느낌입니다. 빠른 시간의 흐름 속에서 기억할 만한 부분을 추려서 네이버웹툰에 2년간 있으면서 그간의 회고를 남깁니다.지금까지 작성한 회고 글👉 컴공시절 회고: 컴퓨터공학 학점 2.82에서 성적 장학금까지👉 1년차 회고: 1년차를 맞이한 서버 개발자의 취준 공백기 회고 및 지금 생각👉 20년 회고: 2020년 회고👉 21년 회고: 메타버스 개발자에서 커머스로 주니어 개발자 1년 회고👉 22년 회고: 백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로👉 23년 회고: [2023 회고] 네이버웹툰 벡엔드 개발자로 일한다는 것은?다시 이사가며좌. 짐 다싸고 떠나기 직전 우. 마지막으로 문 닫..
-
[2023 회고] 네이버웹툰 벡엔드 개발자로 일한다는 것은?
[2023 회고] 네이버웹툰 벡엔드 개발자로 일한다는 것은?
[2023 회고] 네이버웹툰 벡엔드 개발자로 일한다는 것은?0. 시작하며22년 10월 31일을 시작으로 네이버웹툰에서 일한 지 1년의 시간을 보냈습니다. 회사에서의 적응과 삶의 다양한 중요한 순간을 지나가면서 블로그 글을 오래 못썼습니다. 한 해를 마무리하는 회고글로 올해를 마무리하려고 합니다.지금까지 작성한 회고 글👉 컴공시절 회고: 컴퓨터공학 학점 2.82에서 성적 장학금까지👉 1년차 회고: 1년차를 맞이한 서버 개발자의 취준 공백기 회고 및 지금 생각👉 20년 회고: 2020년 회고👉 21년 회고: 메타버스 개발자에서 커머스로 주니어 개발자 1년 회고👉 22년 회고: 백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로1. 판교로 이사좌. 이사 떠나기 전 마지막으로 신림동 자취방 문을 닫..
-
컴퓨터공학 학점 2.82에서 성적 장학금까지
컴퓨터공학 학점 2.82에서 성적 장학금까지
컴퓨터공학 학점 2.82에서 성적 장학금까지 캠퍼스 전경 at Newton hall❗주의 1: 자랑 글도 아니고 공부 방법론도 아닌 지극히 개인적인 이야기입니다. 저 또한 부족함이 많아 매일 공부하는 사람일 뿐입니다.❗주의 2: 글을 쓰고 업로드 할까 말까 고민을 많이 했습니다. 어느 순간에 글이 비공개로 전환되어 있을 수 있습니다.도입서울에 올라온지 4개월이 넘어가고 서버 개발자로 일하고 있습니다. 시험은 없지만 대학 시절보다 더 높은 강도로 공부하며 지내다 보니 저를 개발자로 일하게 해준 대학 생각이 많이 납니다. 대학시절 성적으로 자랑해본 적은 없지만 (사실 잠깐 있었는데 상당히 후회합니다..) 성적을 올려본 경험을 나누어 봅니다.누가 읽어 주기 보다는 제가 기억에 남기고 싶어서 글로 써 봅니다.(..
-
백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로
백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로
Source. Naver Youtube 0. 시작하며21년 회고 글에서 목표를 세우지 않고 건강히 한 해를 보내자는 말로 마쳤지만, 1월부터 그러하지 못한 하루를 보냈습니다. 커리어으로 고민이 깊어져 갔습니다. 다분히 고민에서 그치는 것이 아니라 현업의 많은 선배 개발자를 만나서 이야기를 듣고, 공부량을 점차 늘려갔습니다. 회사 일을 소홀히 하는 것 없이 절대 낮지 않은 수준의 업무 강도를 소화하면서 공부와 면접을 준비하였으며 올 한해가 지나기 전에 이직을 마무리하였습니다. 본 한편의 글에 드라마처럼 펼쳐진 한 해의 이야기를 담기에 부족한 필력과 담기 어려운 이야기도 있지만, 부분적으로나마 최대한 담아보려고 합니다.지금까지 작성한 회고 글👉 1년차 회고: 1년차를 맞이한 서버 개발자의 취준 공백기 회..
-
세 번째 회사로: 네이버 웹툰에 가기까지
세 번째 회사로: 네이버 웹툰에 가기까지
1. 시작하며22년 10월 28일 자로 공채로 입사한 11번가를 떠나 네이버 웹툰에서 개발자의 도전을 이어갑니다. 본 글에 등장하는 회사는 면접 전에 비밀서약서를 작성하기에 작성할 수 있는 내용에 한계가 있어서 이번 이직 후기는 작성하지 않으려고 했습니다. 그러나 이직을 고민하고, 도전한 내용을 정리하는데 의미가 있다고 생각이 들어서 부족하게나마 문제 되지 않은 선으로 이직 후기 글을 남깁니다.2. 21년 겨울. 이직을 결심하며2020년 하반기 11번가 신입 개발자 채용 면접 후기11번가에 좋은 분들이 합류하기를 바라는 마음에서 11번가 공채 후기로 남긴 글인 2020년 하반기 11번가 신입 개발자 채용 면접 후기 글은 1만 조회 수, 댓글은 100개가 넘었습니다. 후기 글을 통하여 11번가에 합류하고 ..
-
레거시 폭파 프로젝트 이야기 (두 달간의 회원 가입 서비스 레거시 개선 회고)
레거시 폭파 프로젝트 이야기 (두 달간의 회원 가입 서비스 레거시 개선 회고)
새로운 요구사항 올해 초 팀에 새로운 미션이 떨어집니다. 불법적 자금 세탁을 막기 위해서 AML(Anti Money Laundering. 불법자금세탁방지 심사)을 적용해야 하며 가입 단계에서 AML을 위하여 가입 단계에서 추가적인 정보를 입력받아야 했습니다. 올해 초 작업한 개인 셀러의 경우 AML 적용을 위해서 몇 개의 정보만 추가로 입력받고, 회원 정보에 AML 솔루션 연동하면 되었습니다. 개편 전 푸르댕댕한 사업자 셀러 가입 폼 일부 그러나 사업자 셀러의 경우 AML을 위해서 가입단계에서 입력받을 정보가 상당히 늘어났습니다. 기존처럼 하나의 가입 페이지에서 가입 정보를 세 단계로 나누어서 목적에 맞게 입력 단계를 구분하기로 하였습니다. 셀러 가입 대행 서비스가 있을 정도로 셀러의 가입에서 많은 정보..
-
🗺️ 취업을 위한 코딩테스트 정복 로드맵
🗺️ 취업을 위한 코딩테스트 정복 로드맵
Photo by Andrew Neel on Unsplash 코딩테스트 정복 로드맵 제 블로그의 글을 읽는 순서는 위와 같습니다. 마인드 확립 코딩테스트 공부 전 어떤 마음으로, 어떤 방법으로 공부해야하는지 마인드 확립 단계입니다. 시작의 빠르기가 중요한 것이 아닌 방향이 중요합니다. 취업을 위한 코딩테스트 공부방법 기초 인터넷에 코딩테스트 준비를 위해서 검색해보면 백준 사이트를 추천해줍니다. 그래서 백준 사이트에 접속했더니 반겨주는 것은 수 많은 문제들. 이 중에서 어떤 문제를 풀어야할지 막막할 것입니다. 현재 글에서 코딩테스트 공부 시작을 위한 백준 문제를 추천해드립니다. 코딩테스트를 통과하고 1차 면접에서 제출한 코딩테스트를 리뷰하기 때문에 파이썬으로 코딩테스트를 준비한다면 코딩테스트에 최적화된 Py..
-
취업을 위한 코딩테스트 공부방법
취업을 위한 코딩테스트 공부방법
부제: 알고리즘 바보의 취준을 위한 코테 공부방법 취준생들의 가슴을 철링이게 하는 메일.. 지난 취준생 시절 포털사이트, 카드사 등등 20곳 넘게 코딩테스트에서 불합격하였습니다. 코딩테스트 공부는 취준 기간 가장 많은 시간을 할해한 부분이였습니다. 코딩테스트 합격 이후 면접을 진행하면 6곳 중 5곳은 최종 합격까지 갈 정도로 포트폴리오와 면접에 자신이 있었지만, 코딩테스트는 커다란 벽이었습니다. 알고리즘 공부방법 블로그 글을 보면서 200문제 풀어도 합격 못하는데 자괴감에 빠지고, 코딩테스트가 끝나고 취업 단톡방에서 올솔(전부다 풀음)하는 분들을 보면서 자존감 바닥을 치곤 했습니다.무엇보다 힘들게 자기소개서까지 작성하였고 기술적으로 보여주고 싶은 것이 많았는데 2시간의 코딩테스트를 통과하지 못하여 자소서..
-
백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로
백엔드 개발자 22년 회고: 커머스에서 네이버 웹툰으로
2022.12.27Source. Naver Youtube 0. 시작하며21년 회고 글에서 목표를 세우지 않고 건강히 한 해를 보내자는 말로 마쳤지만, 1월부터 그러하지 못한 하루를 보냈습니다. 커리어으로 고민이 깊어져 갔습니다. 다분히 고민에서 그치는 것이 아니라 현업의 많은 선배 개발자를 만나서 이야기를 듣고, 공부량을 점차 늘려갔습니다. 회사 일을 소홀히 하는 것 없이 절대 낮지 않은 수준의 업무 강도를 소화하면서 공부와 면접을 준비하였으며 올 한해가 지나기 전에 이직을 마무리하였습니다. 본 한편의 글에 드라마처럼 펼쳐진 한 해의 이야기를 담기에 부족한 필력과 담기 어려운 이야기도 있지만, 부분적으로나마 최대한 담아보려고 합니다.지금까지 작성한 회고 글👉 1년차 회고: 1년차를 맞이한 서버 개발자의 취준 공백기 회..
-
2025년 QT
2025년 QT
2025.08.092025 QT Source. 하늘소리 기도실 --> ```text ``` --> 26년 01월 01/11(주) 질서의 하나님 [ 어쩌다 웰컴팀장의 일기 | 질서의 하나님 ]모든 것을 품위 있게 하고 질서 있게 하라 (고전 14:40)1️⃣어느 날 다니엘 김 선교사님이 아프리카 선교지에서 경험하신 예배 이야기를 들었습니다. 선교사님이 찬양과 설교를 마치고 내려오시면, 현지 성도들이 한 시간 가까이 자기들끼리 신나게 찬양을 이어 갑니다. 그러고는 다시 선교사님께 설교를 부탁드립니다. 설교가 끝나면 또 한 시간 찬양이 이어지고, 이런 흐름이 반복되어 아침부터 밤 10시까지 계속됩니다.이 이야기를 들으면 형식에서 벗어난 자유로운 예배가 하나님..
-
2026년 1516교회 설교 녹취록 & 요약
2026년 1516교회 설교 녹취록 & 요약
2025.12.131516교회 설교 녹취록 모음--> 2026.06.XX(주) | 주일설교,새벽기도,4321 WORSHIP | XXX () 2026.06.XX(주) | 주일설교 | XXX () 2026.06.XX() | 새벽기도 | XXX () -->6월 2026.06.11(주) | 주일설교 | 복음을 전파하고 기억하라 (믹 14:3-9) 복음을 전파하고 기억하라 (마가복음 14장 3-9절)제목: 복음을 전파하고 기억하라본문: 마가복음 14장 3-9절설교자: 이상준 목사날짜: 2026-06-11예배: 4321워십설교 요약1. 전도는 방법론이 아니라 흘러넘치는 복음의 능력이다전도에는 사영리, 전도폭발, 관계 전도, 새신자 예배 등 다양한 방식이 있지만, 본질은 복음의 능력을 경험한 사람이 그 능력을 흘려보..
-
🗺️ 취업을 위한 코딩테스트 정복 로드맵
🗺️ 취업을 위한 코딩테스트 정복 로드맵
2021.04.10Photo by Andrew Neel on Unsplash 코딩테스트 정복 로드맵 제 블로그의 글을 읽는 순서는 위와 같습니다. 마인드 확립 코딩테스트 공부 전 어떤 마음으로, 어떤 방법으로 공부해야하는지 마인드 확립 단계입니다. 시작의 빠르기가 중요한 것이 아닌 방향이 중요합니다. 취업을 위한 코딩테스트 공부방법 기초 인터넷에 코딩테스트 준비를 위해서 검색해보면 백준 사이트를 추천해줍니다. 그래서 백준 사이트에 접속했더니 반겨주는 것은 수 많은 문제들. 이 중에서 어떤 문제를 풀어야할지 막막할 것입니다. 현재 글에서 코딩테스트 공부 시작을 위한 백준 문제를 추천해드립니다. 코딩테스트를 통과하고 1차 면접에서 제출한 코딩테스트를 리뷰하기 때문에 파이썬으로 코딩테스트를 준비한다면 코딩테스트에 최적화된 Py..
-
취업을 위한 코딩테스트 공부방법
취업을 위한 코딩테스트 공부방법
2020.12.28부제: 알고리즘 바보의 취준을 위한 코테 공부방법 취준생들의 가슴을 철링이게 하는 메일.. 지난 취준생 시절 포털사이트, 카드사 등등 20곳 넘게 코딩테스트에서 불합격하였습니다. 코딩테스트 공부는 취준 기간 가장 많은 시간을 할해한 부분이였습니다. 코딩테스트 합격 이후 면접을 진행하면 6곳 중 5곳은 최종 합격까지 갈 정도로 포트폴리오와 면접에 자신이 있었지만, 코딩테스트는 커다란 벽이었습니다. 알고리즘 공부방법 블로그 글을 보면서 200문제 풀어도 합격 못하는데 자괴감에 빠지고, 코딩테스트가 끝나고 취업 단톡방에서 올솔(전부다 풀음)하는 분들을 보면서 자존감 바닥을 치곤 했습니다.무엇보다 힘들게 자기소개서까지 작성하였고 기술적으로 보여주고 싶은 것이 많았는데 2시간의 코딩테스트를 통과하지 못하여 자소서..
-
컴퓨터공학 학점 2.82에서 성적 장학금까지
컴퓨터공학 학점 2.82에서 성적 장학금까지
2020.10.09컴퓨터공학 학점 2.82에서 성적 장학금까지 캠퍼스 전경 at Newton hall❗주의 1: 자랑 글도 아니고 공부 방법론도 아닌 지극히 개인적인 이야기입니다. 저 또한 부족함이 많아 매일 공부하는 사람일 뿐입니다.❗주의 2: 글을 쓰고 업로드 할까 말까 고민을 많이 했습니다. 어느 순간에 글이 비공개로 전환되어 있을 수 있습니다.도입서울에 올라온지 4개월이 넘어가고 서버 개발자로 일하고 있습니다. 시험은 없지만 대학 시절보다 더 높은 강도로 공부하며 지내다 보니 저를 개발자로 일하게 해준 대학 생각이 많이 납니다. 대학시절 성적으로 자랑해본 적은 없지만 (사실 잠깐 있었는데 상당히 후회합니다..) 성적을 올려본 경험을 나누어 봅니다.누가 읽어 주기 보다는 제가 기억에 남기고 싶어서 글로 써 봅니다.(..
지금까지 올라온 글들
-
JDK 25 새로운 기능 완벽 정리
JDK 25 새로운 기능 완벽 정리
2026.06.03시작하며Source: Linkedin (Link)자바는 올해로 30주년을 맞이하였습니다. 한때 VM 기반의 성능 한계나 장황한 코드라는 비판을 받기도 했지만, 자바는 늘 끊임없이 변화하였습니다. 오늘날 가장 현대적이고 강력한 생태계를 갖춘 언어로 자리매김하고 있습니다.JDK25는 장기 지원(LTS) 버전입니다. 단순한 버그 수정이나 소소한 개선이 아니라, 개발자 생산성과 성능을 크게 향상시키는 굵직한 변화들이 포함되어 있습니다. 일부 기능은 이전 버전에서 Preview로 먼저 선보였다가 이번에 정식 채택된 것들도 있습니다. 역동적인 자바의 변화 내용을 살펴보려고 합니다.패턴 매칭에서 기본형(Primitive Type) 사용: JEP 507패턴 매칭이 더 똑똑해졌습니다.기존에는 switch와 instanc..
-
지구상에서 가장 친절한 RAG 06: 조직에서 RAG를 도입할 때 자주 묻는 질문들
지구상에서 가장 친절한 RAG 06: 조직에서 RAG를 도입할 때 자주 묻는 질문들
2026.06.03시작하며1M Context, LLM-Wiki, Ontology, NLM MCP 사이에서 무엇을 선택해야 할까요?RAG에 대한 논의는 여전히 뜨겁습니다. 한때 RAG는 LLM의 한계를 보완하는 가장 현실적인 방법처럼 보였습니다. 내부 문서를 검색해 답변에 활용하면 hallucination을 줄이고, 최신 정보를 반영하고, 조직 지식을 쉽게 활용할 수 있을 것처럼 보였기 때문입니다.하지만 실제로 조직에서 RAG를 운영해보면 기대와 다른 지점이 금방 드러납니다.구현 자체는 어렵지 않습니다. 문서를 넣고, chunk로 나누고, embedding을 만들고, vector database에 저장하고, 질문이 들어오면 유사한 chunk를 찾아 LLM에 넣으면 됩니다. 문제는 그 다음입니다."와, 문맥 참조가 되네?"에..
-
지구상에서 가장 친절한 RAG 05: 검색된 근거를 더 잘 쓰는 방법
지구상에서 가장 친절한 RAG 05: 검색된 근거를 더 잘 쓰는 방법
2026.06.03시작하며RAG 시스템에서 좋은 답변을 만들기 위해서는 먼저 관련 문서를 잘 찾아야 합니다. 하지만 검색만 잘한다고 항상 좋은 답변이 만들어지는 것은 아닙니다.검색 결과에는 질문과 관련성이 높은 chunk도 있지만, 덜 중요한 chunk, 중복된 chunk, 순서가 어색한 chunk, 너무 긴 context도 함께 포함될 수 있습니다. 이 상태로 그대로 LLM에 전달하면 LLM은 불필요한 정보에 주의를 빼앗기거나, 중요한 정보를 충분히 활용하지 못할 수 있습니다.이 문제를 해결하기 위한 단계가 Post-retrieval Optimization입니다.Post-retrieval Optimization은 검색이 끝난 뒤, LLM에 context를 전달하기 전에 검색 결과를 다시 정리하고 최적화하는 과정입니다. ..
-
지구상에서 가장 친절한 RAG 04: 더 좋은 근거를 찾는 검색 전략
지구상에서 가장 친절한 RAG 04: 더 좋은 근거를 찾는 검색 전략
2026.06.03시작하며RAG 시스템의 핵심은 "필요한 정보를 얼마나 잘 찾아오느냐"에 있습니다. LLM이 아무리 뛰어나도 검색 단계에서 관련 없는 문서가 들어오면 답변 품질은 낮아집니다. 반대로 사용자의 질문과 정확히 맞는 근거 문서를 찾아오면, LLM은 더 정확하고 신뢰할 수 있는 답변을 생성할 수 있습니다.이때 중요한 것이 Retrieval Optimization입니다.Retrieval Optimization은 사용자의 query에 대해 더 관련성 높은 문서나 chunk를 찾아오기 위해 검색 방식을 개선하는 전략입니다. 앞서 다룬 Pre-retrieval Optimization이 "검색 전에 query를 정리하는 과정"이었다면, Retrieval Optimization은 "검색을 수행하는 방식 자체를 개선하는 과정..
-
지구상에서 가장 친절한 RAG 03: 검색 전에 질문을 최적화하는 방법
지구상에서 가장 친절한 RAG 03: 검색 전에 질문을 최적화하는 방법
2026.06.03시작하며RAG 시스템을 개선한다고 하면 보통 검색 알고리즘, 벡터 데이터베이스, 임베딩 모델, re-ranking 같은 요소를 먼저 떠올립니다. 하지만 검색 품질은 실제 검색이 시작되기 전부터 이미 많은 부분이 결정됩니다.사용자의 질문이 모호하거나 너무 복잡하거나, 검색 시스템이 이해하기 어려운 형태라면 아무리 좋은 검색기를 사용해도 원하는 정보를 정확히 찾기 어렵습니다. 이 문제를 해결하기 위한 접근이 Pre-retrieval Optimization입니다.Pre-retrieval Optimization은 검색을 수행하기 전에 사용자의 query를 더 검색하기 좋은 형태로 바꾸거나, 여러 하위 질문으로 나누거나, 적절한 검색 경로로 보내는 기법입니다. 쉽게 말하면 "검색을 잘하기 위해 질문을 먼저 정리하..
-
지구상에서 가장 친절한 RAG 02: 청킹 전략은 왜 중요한가
지구상에서 가장 친절한 RAG 02: 청킹 전략은 왜 중요한가
2026.06.03시작하며RAG 시스템을 설계할 때 많은 사람들이 임베딩 모델이나 벡터 데이터베이스 선택에 집중합니다. 하지만 실제 검색 품질을 크게 좌우하는 요소 중 하나는 문서를 어떻게 나누는지, 즉 Chunking Strategy입니다.Chunking은 큰 문서를 작은 단위로 나누는 과정입니다. RAG에서는 사용자의 질문과 가장 관련 있는 chunk를 검색한 뒤, 그 내용을 LLM에 전달해 답변을 생성합니다. 따라서 chunk가 어떻게 만들어졌는지에 따라 검색 결과의 품질과 최종 답변의 정확도가 달라집니다.좋은 chunking은 단순히 문서를 잘게 자르는 작업이 아닙니다. 문서의 의미와 구조를 최대한 보존하면서, 검색하기 좋은 크기와 단위로 재구성하는 과정입니다.전체 흐름왜 Chunking이 중요한가요?RAG에서 문..
-
지구상에서 가장 친절한 RAG 01: 데이터 전처리가 검색 품질을 결정하는 이유
지구상에서 가장 친절한 RAG 01: 데이터 전처리가 검색 품질을 결정하는 이유
2026.06.031. 시작하며 RAG를 도입할 때 많은 사람들이 먼저 LLM 성능, 임베딩 모델, 벡터 데이터베이스, 프롬프트 최적화에 집중합니다. 물론 이 요소들도 중요합니다. 하지만 실제 RAG 시스템의 품질을 좌우하는 더 근본적인 요소가 있습니다. 바로 Data Pre-Processing, 즉 데이터 전처리입니다. RAG는 외부 문서를 검색한 뒤, 검색된 정보를 LLM에 전달해 답변을 생성하는 방식입니다. 따라서 LLM이 아무리 좋아도 검색되는 데이터가 부정확하거나 지저분하면 좋은 답변을 만들기 어렵습니다. 결국 RAG의 답변 품질은 어떤 데이터를, 어떤 형태로, 얼마나 잘 검색 가능하게 만들었는지에 따라 결과가 결정됩니다.전체 흐름 2. 데이터 전처리란? 데이터 전처리는 원본 데이터를 RAG 시스템에서 사용할 ..
-
지구상에서 가장 친절한 RAG 00: LLM에게 필요한 정보를 찾아주는 기술
지구상에서 가장 친절한 RAG 00: LLM에게 필요한 정보를 찾아주는 기술
2026.06.03RAG 전체 흐름도 시작하며 요즘 LLM 기반 서비스를 만들다 보면 에이전트, 툴 호출, 에이전틱 워크플로우, 온톨로지, 그래프 RAG 같은 용어를 자주 만나게 됩니다.하지만 그보다 먼저 이해해야 할 기본 개념 중 하나가 바로 RAG입니다.RAG는 오래된 개념처럼 보일 수 있지만, 여전히 LLM을 실무 시스템으로 만들 때 매우 중요한 구조입니다.특히 모델이 모르는 정보를 어떻게 제공할 것인지, 최신 데이터나 내부 문서를 어떻게 활용할 것인지 고민한다면 RAG는 거의 반드시 등장합니다.벡터 기반 RAG를 중심으로, RAG의 목적과 동작 방식, 임베딩, 벡터 DB, 청킹, 리랭킹, Query Transformation 같은 핵심 개념을 정리합니다.1. RAG가 왜 필요한가요? LLM은 많은 지식을 알고 있는..
-
클로드코드 스킬 실전 가이드: 에이전트에게 일하는 법 가르치기
클로드코드 스킬 실전 가이드: 에이전트에게 일하는 법 가르치기
2026.05.30시작하며Claude Code를 쓰다 보면 비슷한 요청을 계속 반복하게 됩니다."테스트는 Given-When-Then으로 작성해줘", "API 응답에는 에러 핸들링을 포함해줘", "우리 팀 컨벤션에 맞춰 파일명을 정리해줘" 같은 요청입니다. 처음 몇 번은 프롬프트로 적으면 되지만, 프로젝트가 길어질수록 같은 말을 반복하는 것이 번거로워집니다.이때 사용할 수 있는 기능이 Claude Code의 Skill입니다.Skill은 Claude에게 특정 업무를 어떻게 수행해야 하는지 알려주는 재사용 가능한 지침입니다. 회사에서 신입사원에게 온보딩 문서를 주는 것처럼, Claude에게도 프로젝트의 규칙과 작업 방식을 문서로 전달하는 방식입니다.이번 글에서는 Claude Code Skill이 무엇인지, Agent와는 무엇..
-
싱글 에이전트, 멀티 에이전트 어느것을 선택해야할까?
싱글 에이전트, 멀티 에이전트 어느것을 선택해야할까?
2026.05.30시작하며2026년의 AI 개발 도구 흐름을 보면 멀티 에이전트라는 키워드를 자주 보게 됩니다.분석 에이전트, 구현 에이전트, 검증 에이전트, 리뷰 에이전트처럼 역할을 나누고, 각 에이전트가 독립적으로 움직이며 결과를 합치는 방식입니다. 이름만 들으면 꽤 그럴듯합니다. 특히 대규모 코드베이스를 대상으로 마이그레이션이나 리팩터링을 해야 한다면, 여러 에이전트를 동시에 투입하는 편이 더 효율적으로 보입니다.하지만 제가 회사에서 마이그레이션을 진행해 보았을 때, 꼭 그렇지는 않았습니다.예를 들어 Spring Boot 3.0대에서 3.5로 올리고, JDK도 21에서 25로 올리는 마이그레이션을 생각해 보겠습니다. 이런 작업은 단순히 버전 숫자만 바꾸는 일이 아닙니다. Spring Security 설정 변경, 의존..
-
스프링부트 3에서 jakarta 패키지 전환
스프링부트 3에서 jakarta 패키지 전환
2026.05.30시작하며Spring Boot 3.0으로 프로젝트를 올리거나 새 프로젝트를 만들다 보면 가장 먼저 눈에 들어오는 변화가 있습니다. 익숙하게 사용하던 javax.persistence.Entity, javax.servlet.http.HttpServletRequest 같은 패키지가 더 이상 자연스럽게 잡히지 않고, 대신 jakarta.persistence.Entity, jakarta.servlet.http.HttpServletRequest를 사용해야 합니다.처음 보면 단순히 패키지 이름만 바뀐 것처럼 보입니다. 실제 API 사용법도 크게 다르지 않아서 IDE의 자동 변환만 믿고 넘어가기 쉽습니다.그러나 javax에서 jakarta로 바뀐 것은 단순한 리팩터링이 아닙니다. Java 엔터프라이즈 생태계가 Oracl..
-
n8n is dead?
n8n is dead?
2026.05.30n8n is dead?작년 이맘때만 해도 n8n은 자동화 툴의 대세였습니다. 유튜브와 각종 SNS에는 n8n 워크플로우로 자동화한 사례가 하루가 멀다 하고 올라왔습니다. 그런데 올해는 n8n 이야기는 사라지고 조용합니다. 이걸 반영이라도 하듯 해외 커뮤니티에서는 n8n is dead?라는 주제의 글이 종종 보이곤 합니다.작년 7월부터 회사에서 팀에서 사용할 n8n을 구축하였습니다. 다른 팀보다 꽤 빠르게 도입하였습니다.n8n을 적용하고, 실제 업무에 붙여보고 사용하면서 한계를 몸으로 겪었습니다. n8n 그 후기를 남겨보려고 합니다.n8n의 적용에 막히는 지점들1. 약한 병렬 처리n8n에 병렬 처리 기능이 있긴 합니다. 그런데 각종 제약이 많기에 막상 써보면 리소스를 충분히 사용하지 못합니다. 이러한 n8..
-
엔트로픽의 오픈코드 차단 사건 정리
엔트로픽의 오픈코드 차단 사건 정리
2026.01.23앤트로픽에서 오픈코드의 차단Reddit. OpenCode를 OAuth 방식을 통해 Claude에 접속한 사용자의 차단 (Source. Reddit)2026년 1월 9일, 평화롭던 바이브코딩을 즐기던 개발자들에게 깜짝 놀랄 소식이 공유되었습니다.잘 사용하던 앤트로픽 계정이 정지되었다는 제보가 잇따랐습니다. 공통점은 하나였습니다. 바로 Claude Code의 인증 토큰을 활용해 OpenCode를 사용하던 유저들이었습니다.앤트로픽은 해당 사용자들에게 "허용되지 않은 자동화된 접근" 을 이유로 계정을 영구 정지하거나, 조직(Organization) 단위의 밴을 적용했습니다. 일부 사용자에게는 결제된 금액인 $200를 환불하며 우리 서비스를 떠나라는 통보를 보냈습니다.Raddit. OpenCode 저장소 이슈에 ..
-
스프링부트4 신규기능! API 버저닝
스프링부트4 신규기능! API 버저닝
2025.12.22시작하며API는 시간이 지나며 진화하고, 그 과정에서 하위 호환성을 끝까지 유지하는 것은 이상적이지만 현실적으로 어렵습니다. 앱의 경우 업데이트를 하지 않은 구버전 앱을 때문에 쉽게 API를 변경하지 못하고 새로운 버전의 API를 만들때가 있습니다.이를 위해서 API 버저닝을 도입합니다. 흔한 방식들을 비교하면 아래와 같습니다.URI(Path) 버저닝: /v1/users — 직관적이지만 URL이 지저분해지고 버전이 리소스 URI에 고정됨Header 버저닝: X-API-Version: 1.1 — URL은 깨끗하지만 클라이언트/테스트에서 헤더 세팅이 필요Media Type / Param 버저닝: Accept: application/json;v=1.1 - 컨텐츠 협상과 잘 맞지만 복잡해지기 쉬움프레임워크 차원..
-
담당 개발자가 직접 소개하는 웹툰 20주년
담당 개발자가 직접 소개하는 웹툰 20주년
2025.12.19네이버웹툰 20주년을 맞이했어요!시작하며네이버웹툰이 20주년을 맞이했습니다.이번 20주년 이벤트 개발에 참여했습니다. 회사에 소속된 구성원이다 보니, 기술적으로 구체적인 이야기(내부 구조, 수치, 구현 방식 등)는 적을 수 없습니다만 기억해두고 싶은 장면들을 사진 위주로 남겨보려고 합니다.혹시 20주년 이벤트 반응을 열심히 검색하던 마케팅 동료분이 이 글을 보신다면, 반갑습니다^^전성기였다면 웹툰20주년 바이럴에 도움이 되었겠지만, 지금은 그럴 정도의 파워는 없어진 하꼬 블로그거이네요.앱좌. 웹툰 20주년 기념 스플래시 이미지우. 앱 상단에 20주년 이벤트 배너를 볼 수 있습니다.앱에 자주 들어오시는 분이라면 상단에 뭔가가 추가된 걸 눈치채셨을 겁니다. 쪼끄맣지만 존재감 있는 20주년 이벤트 버튼입니다...
-
SARGable 한 번 이해하면, 쿼리 튜닝이 쉬워진다
SARGable 한 번 이해하면, 쿼리 튜닝이 쉬워진다
2025.12.18시작하며WHERE DATE(created_at) = '2025-12-17'위의 쿼리의 문제가 바로 보이시나요?쿼리를 DBA에게 검수받으신다면 이런 피드백을 받을때가 있습니다.WHERE 절에서 컬럼에 함수를 씌우면 인덱스를 잘 못 탄다(user_id) 단일 인덱스 대신 (user_id, created_at) 같은 복합 인덱스가 더 맞다날짜 조건은 DATE(created_at) 대신 범위 조건으로 바꿔라created_at >= ‘2025-12-17’ AND created_at 즉, 위와 같은 쿼리로 수정해야 합니다.이 피드백의 공통 키워드가 SARGable(Search ARGument ABLE: 사저블)입니다. 이 글에서는 SARGable을 쉽게 설명해보겠고, MySQL에서 SARGable/Non-SARGa..