본문 바로가기

전체 글61

Ollama로 내 컴퓨터에서 LLM 돌리기 ChatGPT API를 사용하다 보면 불편한 점이 있다. 매번 요청마다 비용이 발생하고, 민감한 데이터를 외부 서버로 보내야 한다는 점이다. 개발 단계에서 이것저것 테스트하다 보면 비용도 부담되고, 회사 내부 데이터를 다루기엔 찜찜하다.Ollama는 이런 문제를 해결해준다. 로컬 환경에서 LLM을 실행할 수 있게 해주는 도구다. 한 번 모델을 다운로드하면 인터넷 연결 없이도 사용할 수 있고, 비용도 들지 않는다.목차Ollama란?설치 방법모델 다운로드와 실행API 활용하기Spring Boot와 연동하기추천 모델Ollama란?Ollama는 오픈소스 LLM을 로컬에서 쉽게 실행할 수 있게 해주는 도구다. Docker처럼 모델을 pull 받아서 바로 실행할 수 있다. Llama, Mistral, Gemma 등.. 카테고리 없음 2025. 12. 18.
데이터베이스 인덱스 제대로 이해하기 서비스가 커지면서 가장 먼저 마주하는 문제는 느린 쿼리다. 분명 개발 환경에서는 빠르게 동작했는데, 운영 데이터가 쌓이면서 점점 느려진다. 이 문제를 해결하는 가장 기본적이면서도 강력한 방법이 인덱스다. 인덱스란 무엇인가?인덱스는 데이터베이스 테이블의 검색 속도를 높이기 위한 자료구조다. 책의 색인과 같은 역할을 한다. 원하는 내용을 찾기 위해 책 전체를 읽는 대신, 색인에서 페이지 번호를 찾아 바로 이동하는 것과 같다.100만 건의 데이터에서 특정 사용자를 찾는다고 가정하자. 인덱스가 없다면 데이터베이스는 첫 번째 행부터 마지막 행까지 모든 데이터를 확인해야 한다. 이를 Full Table Scan이라고 한다. 반면 인덱스가 있다면 정렬된 구조에서 빠르게 원하는 데이터의 위치를 찾을 수 있다.인덱스를 .. 카테고리 없음 2025. 12. 15.
Oauth2.0은 무엇인가(Spring Boot + Goolge 로그인) 웹 서비스나 앱을 이용하다 보면 "구글로 로그인", "네이버로 로그인" 같은 버튼을 자주 볼 수 있다.사용자는 별도의 회원가입 없이 기존 계정으로 다른 서비스에 로그인할 수 있고, 개발자는 복잡한 인증 시스템을 직접 구축할 필요가 없다. 이 모든 것을 가능하게 하는 것이 바로 OAuth(Open Authorization)다. OAuth란 무엇인가?OAuth는 사용자가 비밀번호를 제3자 서비스에 직접 제공하지 않고도, 다른 웹사이트 상의 자신들의 정보에 대해 접근 권한을 부여할 수 있는 공개 표준이다. 단순히 로그인을 위한 프로토콜을 넘어, 안전하고 표준화된 방식으로 API 접근 권한을 관리하는 핵심 메커니즘이다. OAuth를 제대로 이해하고 사용하면 보안성과 사용자 경험을 향상시킬 수 있다. 그리고 안전.. CS 2025. 8. 4.
JWT란 무엇인가? 웹 개발에서 인증과 권한 부여는 필수적인 요소다. 특히 stateless한 인증 방식의 필요성이 더욱 커졌다. 이런 요구사항을 만족시키는 것이 바로 JWT(JSON Web Token)이다.JWT란 무엇인가?JWT는 두 당사자 간에 정보를 안전하게 전송하기 위한 컴팩트하고 자체 포함적인 방식의 토큰이다. 단순히 사용자 인증을 위한 도구를 넘어서, 서비스 간 통신에서 신뢰할 수 있는 정보 교환의 핵심 역할을 한다. JWT를 제대로 이해하면 확장 가능한 인증 시스템을 구축할 수 있고, 서버 부하를 크게 줄이면서 보안성을 유지할 수 있다. 특히 분산 시스템에서는 세션 상태를 공유할 필요 없이 각 서비스가 독립적으로 토큰을 검증할 수 있다는 점이 큰 장점이다. JWT는 크게 세가지 주요 구성 요소로 나뉘는데 He.. CS 2025. 7. 31.
JVM은 무엇인가 Java 개발을 하며 공부를 하다 보면 "Write Once, Run Anywhere"라는 말을 자주 보게 된다. 이것이 가능한 이유가 바로 JVM(Java Virtual Machine) 때문이다. JVM은 단순히 Java 코드를 실행하는 것을 넘어서, 자바 개발의 핵심 인프라다.JVM 이란 무엇인가?JVM은 Java 프로그램이 운영체제에 독립적으로 실행될 수 있게 하는 핵심 런타임 환경이다. 단순히 바이트코드를 실행하는 것을 넘어, 메모리 관리, 성능 최적화, 보안 등 다양한 역할을 담당한다.JVM은 을 제대로 이해하면 Java 애플리케이션의 성능을 크게 향상시킬 수 있고, 메모리 누수나 성능 병목 현상을 효과적으로 해결할 수 있다.JVM은 크게 세 가지 주요 구성 요소로 나뉜다. Class Loade.. Java 2025. 7. 25.