| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 웹개발
- devops
- java
- CS
- spring event
- 백엔드개발
- 웹성능최적화
- DEVIEW2023
- 데이터베이스
- Spring Boot
- 네트워크
- 보안
- 백엔드개발자
- redis
- JPA
- http
- 백엔드
- db
- 세션
- 캐시
- 인프라
- 프론트엔드
- SnowFalke
- 성능최적화
- 클린코드
- 백엔드기초
- Spring
- 인증
- AbstractAggregateRoot
- interceptor
- Today
- Total
목록전체 글 (50)
이것저것 개발기록
"미국에 있는 사용자가 한국 서버의 이미지를 보려면 왜 느릴까요?" 물리적 거리의 한계를 극복하고 사용자에게 가장 가까운 곳에서 콘텐츠를 전달하는 CDN의 핵심 원리를 정리합니다. 1. CDN이란 무엇인가? CDN은 지리적으로 분산된 여러 서버의 네트워크입니다. 사용자가 웹사이트에 접속할 때, 메인 서버(Origin)까지 가지 않고 가장 가까운 곳에 위치한 에지 서버(Edge Server)에서 캐싱된 데이터를 받아오게 함으로써 로딩 시간을 획기적으로 단축합니다. 2. CDN의 주요 장점 응답 시간 단축: 물리적 거리가 가까워지므로 레이턴시(Latency)가 줄어듭니다. 서버 부하 분산:..
"API 만들 때 무조건 JSON만 쓰시나요?" 현대 웹의 표준인 JSON부터 고전의 XML, 그리고 구글이 만든 고성능 Protobuf까지. 상황에 맞는 데이터 직렬화 포맷 선택 가이드를 정리합니다. 1. JSON (JavaScript Object Notation) 현재 가장 널리 쓰이는 포맷입니다. 사람이 읽기 쉽고(Human Readable), 대부분의 언어에서 지원하며 자바스크립트와의 호환성이 완벽합니다. 장점: 가독성이 좋고 가볍습니다. 디버깅이 매우 쉽습니다. 단점: 텍스트 기반이라 데이터 크기가 바이너리 포맷보다 큽니다. 데이터 타입이 단순합니다. 2. XML (eXtensible Markup..
"배포할 때마다 서버를 잠시 꺼야 할까요?" 사용자는 서비스가 업데이트되는 줄도 모르게, 조용하고 안전하게 새로운 버전을 반영하는 무중단 배포의 세 가지 핵심 전략을 정리합니다. 1. 롤링 배포 (Rolling Update) 가장 일반적인 방식입니다. 여러 대의 서버 중 일부를 순차적으로 새로운 버전으로 교체합니다. 장점: 추가적인 서버 자원이 많이 필요하지 않습니다. 단점: 배포 중에는 서버 대수가 줄어들어 부하가 집중될 수 있고, 구버전과 신버전이 공존하는 시간이 발생합니다. 2. 블루-그린 배포 (Blue-Green Deployment) 구버전(Blue)과 동일한 수의 신버전(Gr..
"검색창에 글자 하나 칠 때마다 API 요청이 가고 있나요?" 짧은 시간 동안 쏟아지는 수많은 이벤트를 제어하여 브라우저와 서버의 부하를 획기적으로 줄이는 두 가지 기법을 알아봅니다. 1. 디바운싱 (Debouncing) 연이어 호출되는 함수들 중 마지막 함수(또는 제일 처음 함수)만 호출하도록 하는 방식입니다. 주로 '입력이 멈춘 뒤' 실행되어야 하는 경우에 사용합니다. 적용 사례: 검색창 자동완성 (타이핑이 끝난 후 API 요청), 창 크기 조절(resize) 이벤트. 핵심: "계속 이벤트가 오면 무시하고, 마지막 이벤트 이후 n초가 지나면 그때 처리한다." 2. 쓰로틀링 (Throttling) ..