회사에서 올 해 프로젝트로 Java 8버전에서 21로 올리는 프로젝트가 뜬다고 한다Java8을 아직도 쓰는것도 놀라운데 이 프로젝트에 참여할 수도 있다는게 놀라움 Java 8에서 21로 : 현대적 자바로의 대도약1. Virtual Threads: 동시성 프로그래밍의 혁명 (Java 21)가장 파급력이 큰 변화다. 기존 자바의 스레드(PlatformThread)는 OS 스레드와 1:1로 매핑되어 생성 비용이 비싸고 개수도 제한적이었다.Java 8 : 요청 하나 당 스레드 하나를 할당하다보니, I/O 작업(DB 조회, API호출) 시 스레드가 차단되어 자원이 낭비되었음. 이를 해결하려면 복잡한 비동기 프로그래밍(WebFlux 등)이 강제되었다.Java 21 : 수백만 개의 Virtual Thread를 생성할..
면접 준비할 때 미리 준비 안 해가면 항상 질문 나오는 스프링 IoC와 DI실제로 프레임워크팀에서 백엔드 개발을 하면서 항상 고려해야 하는 개념이지만면접에서 물어보면 이게 그렇게 답변하기가 힘들드라외우는 방식 말고 이해할 수 있게 작성하는 글 ✔️ Spring의 IoC와 DI 개념스프링 프레임워크를 지탱하는 가장 거대한 뿌리, IoC(Inversion of Control)와 DI(Dependency Injection)에 대해 알아본다이 개념들을 제대로 이해하면 "왜 스프링을 써야 하는가?"에 대한 답을 찾을 수 있을 것이다. IoC (Inversion of Control, 제어의 역전) : 내가 직접 관리하던걸 프레임워크가 대신 관리해줌DI (Dependency Injection, 의존성 주입) : 필요..
Chapter3. 성능을 좌우하는 DB 설계와 쿼리 조회 트래픽을 고려한 인덱스 설계풀 스캔이 발생하지 않도록 하려면 조회 패턴을 기준으로 인덱스를 설계해야 한다.엘라스틱서치 같은 검색 엔진을 사용하면 DB를 사용하지 않고 검색 기능을 구현할 수 있다.인덱스는 단일 인덱스로도 사용 가능하고 필요하다면 복합 인덱스도 가능하다.ex) 단일인덱스 : userId만 인덱스로 사용ex) 복합인덱스 : (userId, activityDate)를 인덱스로 사용인덱스를 생성할 때는 선택도가 높은 칼럼을 골라야 한다.ps) 선택도? 인덱스에서 특정 칼럼의 고유한 값 비율 (선택도↑ = 해당 칼럼에 고유한 값이 많음)커버링 인덱스 : 특정 쿼리를 실행하는 데 필요한 칼럼을 모두 포함하는 인덱스ex) 아래 쿼리는 실제 데이..
Chapter 01. 들어가며1. 코딩을 할 수 있게 된 것일 뿐1챕터는 사실 에필로그 같은 느낌이라 크게 요약할 내용은 없다.하지만 개발자로 취업해서 일한 3년 동안 자주 겪은 문제들이 나와있어서 뜨끔했다. 지금 당장 필요한 에러들만 해결하는거 ,,별 내용은 없지만 에필로그를 보고 느낀건, 이 책 나한테 진짜 도움 많이 될 것 같다는 생각을 했다백앤드를 개발해도 애매하게 알면서 개발하는 사람들. 자바만 대충 알고 스프링부트만 얼버무리는 사람들꾸준하게 화이팅~ 회사원 말고 개발자가 되장 Chapter 02. 느려진 서비스. 어디부터 봐야 할까첫 마주한 챕터부터 내가 궁금해서 알아보던 주제다. 대용량 트래픽! 대박🔍 처리량과 응답 시간서버의 성능을 판단하는 다양한 지표 중 가장 중요한 응답 시간과 처리량..
- Total
- Today
- Yesterday
- IMAGE
- dp
- dfs
- 조합
- Java
- EffectiveJava
- bruteforce
- docker
- 아이템59
- springboot
- docker-compose
- 완탐
- DevOps
- 완전탐색
- Retrofit2
- 알고리즘
- 아이템61
- 운영체제
- BOJ
- cicd
- 백준
- Container
- 이펙티브자바
- OS
- 순열
- 아이템60
- 그래프탐색
- 토큰기반인증
- subset
- BFS
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |