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

💡 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 ..

얼마전에 스파르타 코딩클럽 내일배움캠프에서 스프링 저녁 튜터를 맡아 Java/Spring 7기 수강생들을 수료시킨 후 구직 시장으로 내보냈다. 수강생분들을 떠나보낸 후 이런저런 생각이 많이 들면서 기대보다는 걱정이 자꾸 앞서는건 어쩔수 없나보다. 4~5년 전까지만 해도 이력서 10넣으면 5~6개 회사에서 불러주는 때가 있었는데, 요즘은 100개의 지원서를 넣어야 5~6개 회사에서 면접에 불러줄까말까 한다고 한다. 내가 처음 개발을 시작했을때가 언제였더라.. 생각해보니 2012년도 고3때 취업해서 처음 코딩을 접했었는데 난 코딩의 '코'자도 모르는 꼬맹이었다. 코딩도 하면 된다는 실행력 좋은 사수 밑에서 참 고되게 배웠었는데, 지금의 수강생 분들이나 전공자들이 본다면 경악했을것이다. 그때에 비해 지금은 ..

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 로그 활성화 및 분석 ..

우리 회사에서 AWS SA분들과 함께하는 Game Day가 주최되었다. 회사에서도 다양한 직군의 사람들이 참가하여 클라우드 경험이 거의 없는사람들로 구성 되어있는 경쟁인듯 했다.만약 Game Day를 앞두고 있다면 사전교육을 반드시 수강하는것을 강추한다. 가볍게 즐기는 배움의 장이라고 AWS측 SA분께서 소개를 하셨는데 막상 시작하니 180도 돌변하시어 경쟁을 부추겼다 ㅋㅋㅋㅋㅋㅋㅋ사전 환경eventengine 페이지에 팀단위로 접속 가능한 hash code를 주신다. 하나의 코드로 4명의 팀원이 접속하여 사용했다. 접속해보니 중구난방으로 구성되어있는 인프라를 확인할 수 있었다. 가물가물하지만 Auto Scailing Group + AMI와 Classic Load Balancer는 기본적으로 구성된것이 ..

1. Responsive Web 태플릿, PC, 모바일 등 다양한 해상도로 접근할 때 동일한 서비스를 제공하기 위한 웹 반응형 웹은 모바일 기기에서도 불편함이 없는 서비스를 제공하기 위해 각 해상도에 따라서 레이아웃과 스타일 변화를 준다. 1-1. Media Query CSS 2.1 부터 미디어 타입으로 단말기 종류에 따라서 다른 스타일을 적용시키는 것이 가능했다.하지만 기기의 특성을 정확히 판단하기가 어려워 많이 사용되지는 않았다. CSS 3은 미디어 타입을 개선하여 구체적인 조건을 필요한 스타일을 적용할 수 있도록 확장하였는데 이를 미디어 쿼리라고 한다. Syntax only|not only : 뒤의 조건에서 만 not : 뒤의 조건을 제외한 미디어 타입 all : 모든 미디어 타입 aural : 음..

카테고리 키 기능 삽입 i 커서 위치에 Insert I 줄 맨 앞에서 Insert a 커서 다음에 Insert A 줄 맨 뒤에서 Insert o 커서 아래로 한 줄 띄우고 Insert O 커서 위로 한 줄 띄우고 Insert 이동 w 단어 첫 글자 기준으로 다음으로 이동 W 공백 기준으로 다음(단어의 시작)으로 이동 b 단어 첫 글자 기준으로 이전으로 이동 B 공백 기준으로 이전으로 이동 e 단어 마지막 글자 기준으로 다음으로 이동 E 공백 기준으로 다음(단어의 끝)으로 이동 gg 문서 맨 앞으로 이동 G 문서 맨 아래로 이동 ^ 문장 맨 앞으로 이동 $ 문장 맨 뒤로 이동 검색 / 해당 word를 검색, `n`과 `N`으로 다음/이전 찾기 편집 dd 현재 줄 잘라내기 yy 현재 줄 복사하기 p 붙여넣기..
연습환경 JSLINUX: https://bellard.org/jslinux/vm.html?cpu=riscv64&url=fedora33-riscv.cfg&mem=256 JSLinux bellard.org 디렉터리 관련 cd (Change Directory) 현재 작업 디렉토리를 지정한 디렉토리로 변경 cd - 바로 이전의 디렉토리로 이동, 반복하면 왔다갔다함 ls (List) 현 디렉토리의 파일 목록을 출력 ls -al .(dot)이 붙어있는 숨김파일까지 출력됨 1, h, t, r 옵션이 있음 ls -1 숨김파일을 제외한 파일들의 파일명을 가져옴 ls -alh h: 사람이 읽기 편한 용량을 표시해줌 ls -alt t: 시간 최종수정시간을 표기함 ls -alr r: 출력을 역순으로 표기 ls -al test..