| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Java
- HashMap
- ArrayList
- 단위테스트
- CSS
- javascript
- SpringBoot
- string
- 문자열
- Eclipse
- list
- junit
- vscode
- 인텔리제이
- 배열
- IntelliJ
- 테스트자동화
- junit5
- 정규식
- input
- 자바
- 스프링부트
- java테스트
- 자바스크립트
- math
- html
- Visual Studio Code
- 자바문법
- js
- Array
- Today
- Total
목록2026/03/30 (2)
어제 오늘 내일
우리가 지금까지 써왔던 Spring MVC는 정말 훌륭한 프레임워크입니다. 안정적이고, 코짜기도 쉽고, 디버깅도 편하죠.하지만 서비스가 커지고 동시 접속자가 수만 명을 넘어가면 문제가 생기기 시작합니다. 서버를 아무리 늘려도(Scale-out) 응답 속도가 느려지고, 메모리가 부족해집니다.이유는 단 하나, MVC가 "기다림의 미학(Blocking)"을 추구하기 때문입니다.반면 WebFlux는 "기다리지 않는 효율성(Non-Blocking)"을 추구합니다. 이 둘의 차이를 완벽하게 파헤쳐 보겠습니다.1. Spring MVC: "손님 1명당 직원 1명" (Thread per Request)MVC는 전통적인 서블릿(Servlet) 모델을 따릅니다.요청이 들어올 때마다 쓰레드(Thread)라는 일꾼을 하나씩 배..
카카오톡, 슬랙, 주식 시세창의 공통점은 무엇일까요?내가 가만히 있어도 새로운 정보가 화면에 뿅! 하고 나타난다는 것입니다.HTTP가 무전기(단방향)라면, WebSocket은 전화기(양방향)입니다.오늘은 스프링 부트에서 이 웹소켓을 이용해 간단한 실시간 채팅방을 구현해 보겠습니다.1. WebSocket만 쓰면 안 되나요? (STOMP의 필요성)웹소켓은 그냥 "통신 파이프"만 뚫어줄 뿐입니다.빨대만 꽂아놓고 "안녕?"이라고 보내면, 서버는 이게 귓속말인지, 전체 공지인지, 채팅방 1번인지 알 방법이 없습니다.그래서 우리는 규칙(프로토콜)이 필요합니다. 그게 바로 STOMP (Simple Text Oriented Messaging Protocol)입니다.STOMP는 "주소(Topic)" 개념을 도입해서 메시..
