경주란 빨리 달리는 사람들의 것이 아니라
       계속 뛰어가는 사람들의 것이다.
LinkTree🌲

전체 글 64

LLM 출력을 통제하는 5가지 방법: 로짓 마스킹부터 스타일 전이 미세조정까지

Structured Output, Constrained Decoding, Fine-tuning 중 무엇을 써야 할까?LLM 출력을 원하는 형식/스타일로 통제해야 할 때, 실무에서는 대체로 세 가지 선택지를 놓고 고민하게 됩니다. Structured Output(Tool Calling), Constrained Decoding(로짓 마스킹·BNF), Fine-tuning(파인튜닝). 셋 다 "모델이 내가 원하는 대로 출력하게 만든다"는 목표는 같지만, 작동하는 레이어와 보장 수준이 완전히 다릅니다.이 글에서는 세 가지를 각각 무엇인지 → 코드로 어떻게 쓰는지 → 내부적으로 어떻게 작동하는지(원리) → 언제 골라야 하는지 순서로 뜯어보고, 마지막에 선택 기준을 정리합니다. 먼저, 선택 기준부터핵심 질문은 두..

Development/LLM 2026.07.14

RunnablePassthrough부터 LangGraph까지

LangChain을 처음 배울 때 RunnablePassthrough에서"그냥 통과시키는 거잖아?" 라고 생각하고 지나쳤다가, 톺아보기위해서 이 글을 작성했다. 1. LCEL의 데이터 흐름 복습LCEL(LangChain Expression Language)은 | 파이프 연산자로 컴포넌트를 연결한다.chain = prompt | llm | parser왼쪽 컴포넌트의 출력이 오른쪽 컴포넌트의 입력으로 전달되는 단방향 흐름이다. 단일 체인에서는 이 흐름이 직관적이다.문제는 분기(병렬 처리) 가 필요할 때 시작된다. 2. RunnableParallel — 병렬 처리의 시작같은 입력으로 두 가지 작업을 동시에 처리하고 싶을 때 RunnableParallel을 사용한다.from langchain_core.run..

Development/LLM 2026.05.25

2025년을 마무리 하며

2024년 회고록에서도 서두에 분명 시간이 너무 빨리 지나갔다고 했는데, 2025년은 더 빨랐다.. 그럴수록 시간이 더 소중하게 느껴진 것 같다. 2026년은 정말 더 시간을 아껴 써야겠다. 2025 타임라인 🎞️나는 2025년에 무엇을 했는가!많은 사람들을 만나고다양한 경험을 한 것 같다. 🍀 1월취준 생활 시작하나 금융TI 인턴을 마치고, 계속해서 지원서를 넣으면서 지냈다.하루 종일 자소서, 이력서, 포폴 다듬기 취준생이라면 하는 일들을 매일매일 했던 것 같다. 글 쓰는 건 재미없고 하기 싫은데 억지로 하려니까 더 힘들었던 것 같은.. 그래도, 여유 시간이 가장 많았던 월이라 누군가를 오랜만에 만나고 여행도 다녀왔다.막 인턴도 끝나고 조금은 쉬어도 될 거라 생각했고 그냥 큰 걱정 없이 무난하..

log 2025.12.28

~2025.9 체크 리스트

입사하고 못봤던 사람들, 만날 사람들 다 만나고 이제는 안정기가 찾아온 것 같다.이제 좀 정신 차리고 부지런히 시작해야 할 시즌이 온 것 같아서 체크 리스트를 작성해보려 한다.영양제보다 술을 더 많이 마신것 같은 느낌 멘탈 꽉 잡고 파이팅🔥 2025년 9월까지 목표 회사 업무 Vue 강의 듣기 (캡핀 판교)Vue3 시작하기 (2025.07.14~2025.07.18)Vue.js 중급 강좌 (2025.07.18~2025.08.01)c# 공부모던 C# 독서 개인 공부백엔드주니어 개발자가 반드시 알아야 할 실무 지식 독서 (2025.07.01~2025.08.15)CQRS 강의 완강 (2025.04.31~2025.08.16) 이제는 좀 보자코딩 테스트 준비매일 한 문제 자격증 도전 리눅스 마스터 필기 ( ..

카테고리 없음 2025.07.30

~2025.7 체크 리스트

거의 한 달 동안 인스타, 유튜브 저쇼츠 고반복 했더니 도파민에 절여진 것 같다.이제 갓생 개발자로 다시 태어나려고 한다.누구보다 알찬 1년 경력 만들어보자 2025년 7월까지 목표 원티드 백엔드 챌린지사전 과제 풀기 (2025.04.28~2025.05.06)강의 듣기 (2025.05.29~2025.06.24) 직무 교육 (2025.04.28~2025.6.16)프로젝트(2025.05.19~2025.06.16) https://github.com/ITCEN13th5team Spring Security 강의 완강독서함께 자라기 애자일로 가는 길 - 김창준 (2025.06.01~2025.06.04) 자격증 도전 프로그래머스 PCCE lv3 상시매일 매일 할 일코딩 테스트 준비프로그래머스 lv2, lv3 문제..

log 2025.04.27

[Java] Hashcode

면접 질문에서, Hashcode의 대한 질문을 받았다.👨🏻‍🏫 HashCode는 무엇이고, 어떤 기능을 하나요? HashCode란객체를 식별하는 하나의 정수값을 말한다. Object의 HashCode() 메소드는 객체의 메모리 번지를 이용해서 해시코드를 만들어서 리턴하기 때문에 객체마다 다른 값을 가지고 있다. 또한, 동등성 비교 시 컬렉션 프레임워크 중 HashSet, HashMap, HashTable 들은 hashCode를 통해서 동등한지 비교한다. 👨🏻‍🏫 그렇다면, 동등성 비교할 때, Equals로도 충분히 가능하지 않을까요?그렇다, equals의 기능으로도 동등성 비교는 충분히 가능하다. HashCode는 같은 객체 인지 판별하는 기능만 있는게 아니다. hashCode()를 ..

Development/Java 2025.04.16

[Project] Cloud Migration 도전기

왜 마이그레이션을 하려고 하는가?MSA 기반 도서 이커머스 서비스를 제작했는데, 그 당시 요구사항과 데드라인이 있어 개인적으로 고도화를 하지 못해 아쉬운 부분이 많았다. 그런 아쉬움을 해소하고자, 리펙토링 및 고도화를 진행해보려고 한다. 진행하기 위해서, 우선 배포를 해야 하는데 기존 무료로 제공하던 NHN Cloud 사용 기간이 종료되었다.  NHH Cloud에서 AWS로 이전  왜 AWS를 선택했는가?AWS를 사용하는 기업이 점차 늘어가고 있다.뿐만 아니라, AWS 사용할 경우 자체적으로 제공하는 서비스(RDS, EKS, MQ)들이 많아져 개발자들은 개발에만 집중할 수 있다는 장점이 있다. 다만, 비용이 비싸다는 단점이 있지만 AWS 경험을 우대하는 기업이 점점 많아지고 있어 공부하는 겸 사용하기로 ..

Development 2025.02.09

[database] 식별 관계 vs 비식별관계

제가 아는 지식 + 참고 자료로 작성해 보겠습니다.  식별 관계란?해당 키를 식별하는 데 사용하겠다는 의미입니다.따라서, 무조건 자식(혹은 가져온 테이블)에 존재하는 키 여야만 합니다.따라서, NULL 이 들어갈 수 없습니다.   비식별관계란?그에 비해 비식별관계는 Null 일 수 있고 다른 테이블의 의존하지 않고 독립적으로 존재할 수 있습니다.비교적 자유롭고, JPA에서도 쉽게 구현하고 있습니다.  🤷🏻‍♂️ 그러면 다 비식별 쓰면 되는 거 아닌가요?    식별관계를 사용하는 이유식별관계를 사용하는 이유는 다음과 같습니다.데이터의 정합성을 유지하고 보장할 수 있다.자식 테이블에 데이터가 존재한다면 부모 데이터도 반드시 존재한다고 보장할 수 있다.3가지 복합 키의 종류가 유니크해야 하는 것을 보장할 ..


Spring Security 컨트리뷰터가 되다..!

얼마 전, Spring Security에 기여를 하게 되었다! 🎉🎉첫 오픈소스 기여였다!결론은 2줄 아주 작은 부분을 수정했다.     발단요즘 Spring Security 공부를 하면서, 시큐리티 전체 프로세스 과정을 공부하고 있었다.그중 인프런 강의를 보다가 강사님께서 Spring Security의 FilterChainProxy를 설명해 주시는 과정에서 Security에서 List가 비어있는지 확인하기 위해서 filters.size() == 0을 사용한 부분이 눈에 거슬렸다.   Size() == 0 vs isEmpty()JAVA Collection 메서드 중 isEmpty()는 원소가 비어 있는지 확인하는 기능을 한다.코드를 볼 때, isEmpty가 코드의 의도를 더 쉽게 이해할 수 있고 가독..

Development 2025.01.19

[spring security] 시큐리티 초기화 과정 톺아보기

Spring Security를 공부하면서, 초기화 과정을 정리하고자 기록한다. 수정이나 피드백은 언제나 환영합니다!    스프링 Security를 공부하다 보면, 특별한 설정 없이도 폼 로그인 화면을 볼 수 있는데 스프링 시큐리티가 스프링 애플리케이션에 어떻게 초기화하고 설정들을 등록하는지 알아보자.어떻게 security 설정이 되는 걸까?Spring Boot의 자동 설정 (SpringBootWebSecurityConfiguration)기본적으로, SpringBootWebSecurityConfiguration에서 위 그림처럼defaultSecurityFilterChain을 만들어서 빈으로 등록하는 것을 코드로 확인할 수 있다. 그 위에 @ConditionalOnClass 어노테이션에 보면 EnableWe..

Development 2025.01.17