들어가며안녕하세요~!오늘은 요즘 핫한 LLM(Large Language Model)의 구조와 동작 방식에 대해 이해하기 쉽게 한번 정리해보려 합니다.깊게 들어가면 들어갈수록 수학적인 공식과, 논문 레벨 단위로 설명을 해야 되는데, 그렇게 deep 한 level 은 다루진 않고이해하기 쉽게 풀어가며 정리해보려고 합니다 😁ArchitectureLLM 은 기본적으로 언어(Language)를 기반으로 다음에 나올 Token 을 예측하여 확률을 할당하는 모델입니다.수십억개의 파라미터를 가진 신경망(Neural Network) 구조를 기반으로 하고 있습니다. 예전에는 통계(ex. Linear Regression)를 기반으로 한 모델들도 있었지만, 요즘은 신경망(Neural Network) 을 기반으로 하는 것이 ..
Developer
들어가며안녕하세요~ 오늘은 자동적으로 버젼을 관리해주는 renovate 에 대해 알아보도록 해보겠습니다.소프트웨어를 운영하다보면 여러가지 라이브러리들을 사용하게 되고, 관리하는 라이브러리들이 점점 많아지게 되는데요. 아무래도 소프트웨어를 지속적으로 운영하기 위해서는 버젼관리가 항상 필수적으로 요구되는 사항입니다.우리는 버젼관리 에 대한 자동화를 통해 조금 더 원활하게 버젼관리를 진행하고, 매번 업데이트되는 사항들을 받아보는 것을 기반으로 Pull request 까지 자동 생성하게끔 하는 것이 renovate 를 사용하는 목적이라고 볼 수 있겠습니다.Renovate란?Renovate는 오픈 소스 도구로, GitHub, GitLab, Bitbucket과 같은 다양한 플랫폼에서 의존성의 자동 업데이트를 지원합..
들어가며안녕하세요~! 이번에도 역시 spring boot validation 에 관하여 알아보도록 해보겠습니다. 우리는 이전 게시글을 통해 spring 에서 어떻게 validation 하고 있는지 소개했었는데요.https://huisam.tistory.com/entry/spring-validation Spring Validation 의 종류와 동작하는 방식에 대해 알아보자들어가며안녕하세요 ㅎㅎ 다들 spring 기반의 application 을 운영하게 되는 일들이 많은데요. 오늘은 client 에서 요청하는 값들에 대해 검증하고 싶을 때 어떻게 검증하는지와 내부 동작과정에 대해huisam.tistory.com기본적인 validation 기능들은 다 탑재되어 있어 사용하기에 어렵진 않지만,일부 미지원되는 ..
들어가며안녕하세요 ㅎㅎ 다들 spring 기반의 application 을 운영하게 되는 일들이 많은데요. 오늘은 client 에서 요청하는 값들에 대해 검증하고 싶을 때 어떻게 검증하는지와 내부 동작과정에 대해 한번 알아보겠습니다 client 에서 요청하는 데이터들은 정말 다양하고 위변조 되는 데이터들이 많을 수 밖에 없어validation 을 하는 것은 선택이 아닌 필수 라는 것을 항상 인지하셨으면 합니다. 글에서 설명드릴 spring 버젼은 spring boot 3.x 이후, spring 6.x 버젼 이후의 방식임을 인지하셨으면 합니다.버젼간의 디테일한 동작 방식은 차이가 있을 수 있습니다. Spring boot validation일반적으로는 spring boot 에서 관련된 의존성들을 묶어서 관리하..
들어가며MSA 가 보편화되고 복잡한 비즈니스를 해쳐나가기 위하여 다양한 도메인 서버를 운영하게 되는데요.도메인 서버가 많아지면 많아질수록 Network 통신은 그만큼 많아지게 됩니다. 그에 따라 Network 관련된 예외들을 경험해볼 수 있는데요. 하지만 Network 에러를 분석하고 다양한 상황을 파악하기에는 정말 쉽지 않죠.그래서 보통은 Idempotency(멱등성) 를 지원하게 하는 API 를 제공하는 방향으로 설계를 하는데요.멱등성을 도입하지 못한 레거시 코드나, 정황상 멱등성 설계가 어려운 상황에 처한 분들도 있을거에요. 이럴 때는 어쩔 수 없이 분석을 해서 헤쳐나가야 하는데요. java, kotlin 진영에서 발생하는 Network 에러 유형에 대해 간단하게 공부해볼까 합니다 ㅎㅎ 오늘 소개해..
들어가며안녕하세요~ 대부분의 프로젝트에서는 multi module 을 고려하여 구성하시는 경우들이 많은데요.multi module 로 나누어 각 모듈의 역할을 분리하고, 재사용성을 증진시키기 위해 multi module 을 활용하고 계시더라구요 그런데 multi module 로 나누게 되면, 가장 큰 문제점으로 다가오는 것이 바로 build 설정들이 중복되서 관리되는 것이 참 아쉬운 부분입니다.이러한 아쉬운 점을 해결하기 위해 gradle 에서는 buildSrc 혹은 build-logic 이라는 모듈을 기반으로 중복되는 build 설정들을 하나로 일원화시킬 수 있게 제공하는데요. 한번 알아보도록 해보겠습니다~!Multi Project Build basic전체적인 gradle 의 overview 는 위와 ..