일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 쿠키
- project loom
- 명령
- AWS Game Day
- 웹스퀘어
- mail server
- java
- 캐시
- @Async
- WebSquare5
- SP4
- 비동기
- SMTP
- CPU 바운드
- java 21
- Spring
- virtual threads
- markdown
- GIT
- 세션
- .md
- $p.local
- ExceptionHandler
- gc
- gc튜닝
- $p
- controlleradvice
- $p.data
- github
- gameday
- Today
- Total
목록Language (6)
쉬다가렴

💡 Java 21에서 Virtual Threads가 등장 기존 Thread Pool을 사용하던 방식과 다르게, 가볍고 확장성이 뛰어난 스레드를 만들 수 있음Spring Boot에서 Virtual Threads를 활용하면 비동기 처리, 동시성 문제 해결, 성능 최적화에 도움됨1️⃣ 기존 Spring Boot에서의 Thread 처리 방식Spring Boot에서 멀티스레딩을 처리하는 대표적인 방식 2가지 있음.Thread Pool 사용 (@Async)Reactive Programming (WebFlux, Project Reactor)각 방식마다 장단점이 있음Virtual Threads는 기존 방식보다 더 단순하게 동시성을 처리할 수 있음2️⃣ 기존 Thread Pool 기반 비동기 처리 방식Spring B..

왜 Virtual Threads가 필요한가 ...?!1️⃣ 기존 Thread의 문제점Java의 기존 Thread는 OS 커널 스레드를 기반으로 실행됩니다.즉, 하나의 Java Thread는 OS의 물리적인 스레드와 1:1로 매핑되며, 다음과 같은 문제가 있습니다.🔹 기존 Thread의 문제점비싼 생성 비용new Thread()를 생성하면 OS에서 새로운 커널 스레드를 할당해야 하므로 비용이 큼일반적으로 하나의 Thread는 약 1MB의 스택 메모리를 차지제한된 동시성Thread 개수가 많아지면OS가 스레드 스케줄링을 관리하는 데 부담이 커짐수천 개 이상의 동시 요청을 처리하는 서버에서는 스레드 풀(Thread Pool)을 사용해야 함I/O 작업 시 비효율적스레드가 I/O 작업(예: DB 조회, API ..

1. GC(가비지 컬렉션)란?Java에서는 메모리 관리를 위해 GC(Garbage Collection)이 자동으로 수행된다.그러나 잘못된 GC 설정은 애플리케이션의 성능을 저하시킬 수 있다.GC가 실행될 때 애플리케이션이 멈추는 Stop-the-World(STW) 문제를 최소화하는 것이 핵심이다.2. 주요 GC 종류와 비교GC 타입특징적합한 환경Serial GC단일 스레드, 작은 힙 크기용작은 애플리케이션, 모바일Parallel GC여러 스레드로 GC 수행CPU 성능이 중요한 경우G1 GC (기본 GC)낮은 STW, 예측 가능대부분의 서버 애플리케이션ZGC초저지연, 큰 힙 크기 지원대규모 데이터 처리 (TB 단위)Shenandoah낮은 지연시간빠른 응답 속도가 중요한 경우3. GC 로그 활성화 및 분석 ..

HTML5의 LocalStorage와 동일한 기능을 제공. LocalStorage는 도메인(사이트) 별로 브라우저에서 제공하는 임의의 영역에 데이터를 저장하는 기능으로 브라우저 설정에 따라 저장할 수 있는 데이터 양이 결정됨 IE 하위 버전도 지원. (세부 내용 및 스펙은 http://www.w3.org/TR/webstorage/#storage 참조.) Web Storage (Second Edition) This specification defines an API for persistent data storage of key-value pair data in Web clients. This section describes the status of this document at the time of its..

WebSquare5에서 제공하는 API중 $p 태그는 주로 DataCollection을 전체적으로 제어하는 용도로, 스크립트 구문에서 주로 쓰인다. DataCollection이 뭐냐고? VO in Spring MVC Model 정도로 생각하면 좋을것 같다. 다만 DataCollection의 데이터 타입은 Map, List, LinkedList 세가지 타입만 존재한다. ▷ $p.data ◁ $p.data 유틸은 복수의 데이터 객체에서 한번에 데이터 꺼내오기, 데이터 설정하기, 혹은 동적 데이터 객제 생성하기 등의 기능을 제공한다. ☞ $p.data.create() create( dataCollectionString , dataCollectionObject ) dataList 및 dataMap을 동적으로 생..

아는사람도 있고 모르는사람은 더 많겠지만 WebSquare5는 프론트엔드 개발영역 전체를 아우르는 컴포넌트 서비스이며 특히 UI/UX 개발에 특화되었다. 국내 inswave systems사에서 개발된 WebSquare 시리즈는 Spring/전자전부프레임워크와 호환이 매우 뛰어나기 때문에 국내에서의 입지는 꽤나 튼실하다. 다만 React처럼 무료로 배포되는 프레임워크가 아니기 때문에 범용성이 다소 떨어지고 개발자 또는 웹퍼블리셔가 WebSquare를 접했을 때, 배우는데에 어느정도의 기간을 투자해야한다는 치명적인 단점이 있다.▷ 모바일 환경 지원 ◁ ☞ 반응형 웹 컴포넌트(Responsive Web Component) 가변그리드, 가변이미지, 미디어쿼리 등을 기반으로 하는 반응형 웹 컴포넌트 샘플과 별도의..