일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 클라우드 컴퓨팅
- VPC
- 백트래킹
- 월미도
- JPA
- gcp
- 로드밸런서
- 클라우드
- Spring
- Kafka
- Apache Kafka
- Spring Boot
- 스프링부트
- 코드업
- 스프링
- 쿠버네티스
- aws
- Docker
- springboot
- DFS
- Spring Data JPA
- Elasticsearch
- 프로그래밍문제
- 카프카
- 오일러프로젝트
- 머신러닝
- 백준
- 스프링 부트
- 자료구조
- 알고리즘
- Today
- Total
목록분류 전체보기 (132)
GW LABS

서론XGBoost는 분류 문제뿐 아니라 회귀 문제에서도 강력한 성능을 발휘하는 알고리즘입니다. 특히 비선형 데이터, 결측치 처리, 대용량 데이터셋에 효과적이라는 장점이 있습니다. 그러나 회귀 문제에서는 단순히 reg:squarederror 같은 기본 Objective만 사용하는 경우가 많습니다. 실제로 데이터의 분포와 목적에 맞춰 Objective를 선택하고, 적절한 하이퍼파라미터를 조정하면 모델의 성능을 극대화할 수 있습니다. 이번 글에서는 XGBoost 회귀(Objective function) 활용법, RMSE와 MAE의 차이, Tweedie, Gamma 분포 회귀 적용법, 그리고 주요 하이퍼파라미터 튜닝 방법을 정리하겠습니다. 본론1. XGBoost 회귀 Objective와 평가 지표 선택XGB..

서론: 파이썬, 느리다는 편견을 깨다파이썬은 쉽고 빠르게 코드를 작성할 수 있어 많은 사랑을 받고 있지만, "느리다"는 오명을 종종 듣곤 합니다. 이는 파이썬의 GIL(Global Interpreter Lock) 때문인데요. GIL은 한 번에 하나의 스레드만 파이썬 바이트코드를 실행할 수 있도록 허용하는 메커니즘으로, 멀티코어 환경에서 스레드를 여러 개 사용해도 실질적인 병렬 처리가 어렵게 만듭니다.하지만 데이터 처리, 웹 스크래핑, 대규모 연산과 같은 작업에서는 이러한 한계가 병목 현상을 유발합니다. 그래서 우리는 이 병목 현상을 극복하고 파이썬의 성능을 극대화할 수 있는 병렬처리 기법에 대해 알아볼 필요가 있습니다. 이번 포스팅에서는 파이썬에서 병렬 처리를 구현하는 대표적인 방법인 멀티프로세싱(Mul..

Spring Rest API 캐싱전략 완벽 가이드: @Cacheable과 CacheManager 활용법서론Rest API 서버를 운영하다 보면 가장 큰 고민 중 하나는 성능과 응답 속도입니다. 특히 조회 요청이 빈번한 API의 경우, 매번 DB를 조회하는 것은 서버 부담을 크게 증가시킵니다. 이를 효율적으로 해결하는 방법이 바로 캐싱(Caching)입니다.Spring은 @Cacheable과 CacheManager를 통해 강력하면서도 유연한 캐싱 기능을 제공하고 있으며, 상황에 맞는 캐싱 전략을 적용하면 성능 최적화 효과를 극대화할 수 있습니다.이번 포스팅에서는 Spring Rest API 캐싱전략, CacheManager 사용법, @Cacheable 활용법을 중심으로 실무 적용 방법을 정리하겠습니다.본론..

Spring Batch 사용법: 대용량 데이터 처리를 위한 실무 가이드서론대규모 데이터 처리 작업은 단순히 코드 몇 줄로 해결할 수 있는 문제가 아닙니다. 안정성, 트랜잭션 관리, 스케줄링, 장애 복구 등 고려해야 할 요소가 많습니다. Spring Batch는 이러한 요구사항을 충족하기 위해 설계된 프레임워크로, 반복적이고 대량의 데이터 처리를 안정적으로 지원합니다.본 포스팅에서는 Spring Batch의 핵심 개념, 설정 방법, 그리고 실무에서 주의해야 할 사항을 다루어, 개발자가 바로 활용할 수 있는 지식을 제공합니다.본론1. Spring Batch의 핵심 개념Spring Batch는 크게 세 가지 개념으로 나눌 수 있습니다.Job 배치 작업의 최상위 단위 하나의 Job은 여러 개의 Step으로 ..

Spring Kafka 완벽 가이드: KafkaTemplate와 @KafkaListener, 재시도 및 Dead Letter Queue 활용법서론Apache Kafka는 대규모 실시간 데이터 스트리밍과 비동기 메시징을 처리하는 데 최적화된 분산 이벤트 스트리밍 플랫폼입니다.Spring Kafka는 이러한 Kafka의 기능을 Spring 환경에 자연스럽게 통합하여 개발자가 간결한 코드로 안정적이고 확장 가능한 메시지 기반 애플리케이션을 만들 수 있도록 지원합니다.이 글에서는 Spring Kafka의 핵심 개념, KafkaTemplate 사용법, @KafkaListener 활용법과 주의사항, 그리고 재시도 로직 및 Dead Letter Queue(DLQ) 적용 방법을 실무 중심으로 정리합니다.본론1. Spr..

Spring의 기본 개념 총정리: DI, IoC, AOP 완벽 가이드서론Spring Framework는 자바 기반 애플리케이션 개발에서 표준처럼 사용되는 강력한 프레임워크입니다.대규모 엔터프라이즈 애플리케이션부터 소규모 프로젝트까지, Spring은 DI(Dependency Injection), IoC(Inversion of Control), AOP(Aspect Oriented Programming)와 같은 핵심 개념을 기반으로 유연하고 유지보수성 높은 애플리케이션을 만들 수 있게 돕습니다.이번 포스팅에서는 Spring의 세 가지 핵심 개념을 정확하게 이해하고, 간단한 예제 코드로 구현 방법을 살펴보겠습니다.1. IoC (Inversion of Control) - 제어의 역전IoC는 객체의 생성과 의존성 ..

📌 자료구조 치트시트: 시간복잡도와 공간복잡도 완벽 정리서론자료구조는 알고리즘의 성능을 좌우하는 핵심 요소입니다. 같은 문제라도 어떤 자료구조를 선택하느냐에 따라 시간 복잡도와 공간 복잡도가 크게 달라집니다.이번 글에서는 배열, 연결 리스트, 해시 테이블, 스택, 큐, 데크, 트리, 이진 트리, 힙, 그래프를 중심으로, 각 자료구조의 특성과 시간·공간 복잡도를 한눈에 볼 수 있는 치트시트를 제공합니다.이 글을 읽고 나면 코딩 테스트뿐 아니라 실무 프로젝트에서도 최적의 자료구조를 선택할 수 있는 기준을 갖추게 될 것입니다.본론1. 주요 자료구조 개요 및 시간·공간 복잡도다음 표는 각 자료구조의 평균적인 연산 복잡도를 요약한 것입니다.자료구조접근(Access)검색(Search)삽입(Insert)삭제(Del..
JVM 완벽 가이드: JVM 구조, JVM 역할, 동작 원리 총정리서론Java Virtual Machine(JVM)은 자바(Java)뿐 아니라 Kotlin, Scala 등 다양한 JVM 기반 언어의 실행을 책임지는 핵심 플랫폼입니다.많은 개발자가 "JVM은 자바 코드를 실행하는 프로그램"이라고 알고 있지만, JVM의 역할은 그 이상입니다.JVM 구조, JVM 역할, 그리고 C와 같은 언매니지드 언어와의 차이를 이해하면, 플랫폼 독립적인 애플리케이션 개발의 기반을 마련할 수 있습니다. 이번 글에서는 다음을 다룹니다:JVM의 기본 개념과 역사JVM과 C 같은 언매니지드 프로그래밍의 차이JVM 기반 언어의 컴파일부터 런타임까지 동작 과정1. JVM의 기본 개념과 역사JVM(Java Virtual Machin..