목록SpringBoot (13)
우당탕탕
Spring Security + Redis로 DDoS 방어 구축하기 서버를 운영하다 보면 DDoS 공격과 같은 외부 공격을 받는 경우가 존재합니다. API 호출이 초당 10만 건 정도로 폭주하면 Redis 캐싱과 Spring Security 조합으로 99.9% 차단이 가능합니다. 실제 운영 경험에서 Redis 분산 락 + Rate Limiting으로 트래픽 폭증 시 CPU 사용량을 80% → 25%로 줄인 사례를 코드와 함께 정리했습니다.DDoS 공격 패턴과 Redis의 역할운영 중 자주 보는 DDoS 패턴은 IP 단위 초당 1000+ 요청입니다. Spring Security만으로는 IP 블랙리스트가 메모리 폭증하고, Redis는 분산 환경에서 상태 공유가 핵심입니다. 공격 유형 Redis 활용 차..
빈 라이프사이클과 초기화 실수 feat. Proxy(프록시) 이번에는 프록시와 내부 호출에서 벗어나, 스프링에서 자주 실수하는 빈 라이프사이클 및 초기화와 관련된 내용을 다룹니다.1. @PostConstruct 초기화 타이밍 실수스프링 빈이 생성되고 DI가 끝난 후 호출되는 @PostConstruct 하지만 이 시점에 DB 커넥션 등 외부 자원이 완전히 준비됐다고 기대하면 안됩니다.예를 들어 DB 트랜잭션이나, 다른 빈에서 초기화를 의존할 때 순서 관련 오류가 자주 발생합니다.@Componentpublic class MyBean { @Autowired private UserRepository userRepository; @PostConstruct public void init() ..
1JPA로 게시글 CRUD 만들기 – 10분 만에 따라 하기 안녕하세요 오늘은 백엔드를 처음 시작하는 분들도 무리 없이 따라 할 수 있도록, Spring Data JPA를 활용한 게시글 CRUD(Create, Read, Update, Delete) 예제를 준비했습니다. 해당 프로젝트를 시작하기 앞서 아래 링크에서 프로젝트 구성을 먼저 진행해 주세요! (프로젝트 구성이 되어있다면 스킵하셔도 됩니다) 프로젝트 구성은 해당 링크에서 구성하실 수 있습니다! -> https://mozzi-devlog.tistory.com/461. CRUD가 뭐예요?• C(Create): 데이터 생성 → 블로그 게시글을 새로 작성하는 것처럼 DB에 새로운 데이터를 넣는 작업을 의미해요.• R(Read): 데이터 읽기(조회) → ..
코틀린 Coroutines로 실전 백엔드 서비스 비동기 처리 완전정복안녕하세요! 오늘은 백엔드 개발을 처음 접하는 분들도 쉽게 이해하도록, 코틀린 Coroutines(코루틴)를 활용한 비동기 프로그래밍 방법을 작성해 보겠습니다.“비동기”, “코루틴” 같은 용어가 어렵게 느껴질 수 있지만, 최대한 쉬운 일상 예시와 실습 예제까지 활용해 한번 작성해 보도록 하겠습니다.1. 동기와 비동기란?예를 들어, 편의점 계산대에 고객이 줄 서서 차례대로 계산한다고 생각해 보겠습니다.이게 바로 동기 처리 방식입니다. 한 사람의 계산이 끝나야 다음 사람이 계산할 수 있죠. 반면, 계산대가 여러 대 있어서 여러 사람이 동시에 계산할 수 있다면? 이건 바로 비동기 처리라고 할 수 있어요. 서버도 마찬가지입니다. 만약 동기로만 ..
Java 프레임워크 비교분석 Spring Boot vs Quarkus vs MicronautJava 생태계는 마이크로서비스, 클라우드 네이티브 시대에 맞춰 더욱 빠르고 가벼운 프레임워크가 등장하며 변화하고 있습니다. 이번 글에서는 Spring Boot, Quarkus, Micronaut 세 프레임워크를 성능, 생태계, 개발자 경험, 활용 예시까지 실전 중심으로 비교 분석해 보겠습니다.소개Spring Boot가장 대중적이고 성숙한 Java 프레임워크입니다.Spring 생태계(Spring Security, Spring Data, Spring Cloud 등)와의 통합이 뛰어나며, 풍부한 공식 문서, 커뮤니티, 다양한 라이브러리를 가지고 있습니다. SpringBoot의 경우 대규모 엔터프라이즈, 복잡한 업무 시..
Spring Boot로 공공데이터 포털의 데이터 불러오기 안녕하세요!무작정 따라하기 1편 시리즈를 작성하고 시간이 조금 지났는데 다시 2편부터 쭉 적어보려고 합니다. 이번 편에서는 SpringBoot로 공공데이터 포털(https://www.data.go.kr/)의 데이터를 불러와서 화면에 뿌려주는 서비스를 개발해 보겠습니다. 이 시리즈는 1편 시리즈와 같이 개발에 대한 기초 지식이 없는 초보자부터 어느 정도 경험이 있는 중급 개발자까지, 누구나 따라 하면서 만들 수 있는 실습 중심의 콘텐츠로 구성될 예정입니다.이후 원하시는 다른주제가 있다면 댓글로 남겨주시면 참고하여 다음 편을 작성해 보겠습니다.구성내용 및 목표이전과 같이 기본적으로 Spring Boot와 Java를 활용하여 개발을 진행할 계획이며, ..
