| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 프로그래밍문제
- 카프카
- Kafka
- 스프링부트
- 로드밸런서
- 코드업
- springboot
- aws
- Docker
- JPA
- 백준
- Spring
- 알고리즘
- VPC
- 스프링
- Apache Kafka
- DFS
- 백트래킹
- Spring Boot
- gcp
- 스프링 부트
- 클라우드
- Elasticsearch
- 개발
- 자료구조
- 머신러닝
- Spring Data JPA
- 오일러프로젝트
- 쿠버네티스
- 클라우드 컴퓨팅
- Today
- Total
목록분류 전체보기 (136)
GW LABS
MySQL은 전 세계적으로 가장 많이 사용되는 오픈소스 데이터베이스 중 하나이며, 그 중심에는 InnoDB 스토리지 엔진이 있습니다. InnoDB는 단순히 데이터를 저장하는 엔진을 넘어, 성능, 안정성, 확장성 측면에서 MySQL을 지탱하는 핵심 요소입니다. 이번 글에서는 백엔드 개발자라면 반드시 이해해야 할 MySQL InnoDB의 특징과 성능 튜닝 포인트를 정리해 보겠습니다. InnoDB의 주요 특징1. 트랜잭션 지원 (ACID 보장)InnoDB는 ACID(Atomicity, Consistency, Isolation, Durability) 특성을 충실히 지원합니다.이는 금융 서비스나 전자상거래처럼 데이터 무결성이 중요한 시스템에서 필수적인 기능입니다.-- 트랜잭션 예제START TRANSACTION..
AWS DynamoDB Deep Dive: Key-Value DB와 NoSQL 모델링 완벽 이해서론AWS DynamoDB는 완전 관리형(fully managed) NoSQL 데이터베이스 서비스로, Key-Value 및 Document 모델을 지원하면서도 초당 수백만 건의 요청을 처리할 수 있는 확장성을 제공합니다.많은 기업이 DynamoDB를 선택하는 이유는 서버 관리 부담을 줄이고, 고성능 애플리케이션을 안정적으로 운영할 수 있기 때문입니다. 이번 글에서는 DynamoDB의 특징, 기본 사용법, 데이터 모델링 전략, 그리고 RDBMS와의 차이점을 심도 있게 다루겠습니다.본론1. DynamoDB의 주요 특징완전 관리형: 서버 인프라, 스케일링, 보안, 백업을 AWS가 관리Key-Value + Docume..
서론최근 LLM(Large Language Model)의 경량화 버전인 sLLM(Small Language Model) 이 빠르게 주목받고 있습니다. 거대한 모델을 직접 서빙하기 어려운 환경에서는 sLLM과 같은 소형 모델을 적절히 파인튜닝해 활용하는 것이 매우 유효한 전략입니다. 본 포스팅에서는 Gemma3 270M 모델을 활용하여 LoRA 기반 파인튜닝을 진행하고, 학습된 PyTorch 모델을 TensorFlow Lite 변환 후 Mediapipe 기반 Edge Device 서빙까지 이어지는 전체 워크플로우를 정리합니다. 이 글은 실무 환경에서 sLLM을 파인튜닝하거나 모바일·엣지 디바이스에 배포하려는 개발자에게 최적화된 가이드를 제공합니다. 본론1. Gemma3 270M과 sLLM 파인튜닝Gem..
개발자로서 개인 프로젝트를 완성해 실제로 Google PlayStore에 출시하는 경험은 값진 자산이 됩니다. 이번 포스팅에서는 제가 진행한 WordADay 프로젝트를 소개하고, 개발 과정에서 활용한 바이브 코딩(Vibe Coding) 방식과 Flutter UI 구현, 마지막으로 Google PlayStore 등록 시 유의할 점을 공유하고자 합니다.👉 WordADay 앱 바로가기: Google PlayStore 다운로드WordADay 프로젝트와 바이브 코딩 접근법개인 프로젝트 동기와 목표WordADay는 매일 새로운 영어 단어를 제공하는 간단한 학습 앱입니다.개인적으로 “매일 반복적으로 학습할 수 있는 작은 습관 앱”을 만들어 보고 싶었고, Flutter를 기반으로 빠르게 MVP를 개발했습니다.여기서 ..
서론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으로 ..