동시성과 병렬성을 헷갈리지 말자 둘 이상의 코드 조각이 실행될 때 동시성 (Concurrency): 동시에 실행 중인 것처럼 행동하는 것 병렬성 (Parallelism): 실제로 동시에 실행되는 것 동시성을 얻으려면 실행 중의 코드의 다른 부분으로 실행을 전환할 수 있어야 함. Fiber, Thread, Process 등을 이용해 구현 병렬성을 얻으려면 2가지 일을 동시에 할 수 있는 하드웨어가 필요함. 여러 개의 코어, 여러 CPU, 네트워크에 연결된 여러 대의 컴퓨터 등을 이용해 구현 모든 일엔 동시성이 있다 시스템의 규모가 어느정도 넘어가면 동시성을 고려하지 않고 코드를 작성하는 것이 거의 “불가능”함 코드 짤 때 이런게 잘 안보인다면, 라이브러리/프레임워크 안에 숨겨져 있는 경우일 것 실제 세상이..
이번 글에서는 R2DBC, Spring data r2dbc를 사용해 코드를 작성해보자. 학습 기록용. 피드백은 언제나 환영입니다. 사용한 모든 예제코드는 github을 참고해주세요. 이전 글 R2DBC를 사용해보자 (1) - 왜 사용할까? 이번 글에서 R2DBC란 무엇이고, 왜 사용하고, 어떻게 사용했는지 경험에 대해 이야기해보고자 한다. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) R2DBC는 언제 사용할까? Reactive Programming binux.tistory.com 예제 환경은 다음과 같다. Java: JDK 17 Build tool: Gradle Database: MySQL Dependency 사용하기 위해서는 의존성을 먼저 추가해주어야 한다. 데이터베이스에 맞는 R2DBC d..
이번 글에서 R2DBC란 무엇이고, 왜 사용하고, 어떻게 사용했는지 경험에 대해 이야기해보고자 한다. 학습 기록용. 피드백은 언제나 환영입니다. 시리즈 R2DBC를 사용해보자 (2) - CRUD를 만들어보자 이번 글에서는 R2DBC, Spring data r2dbc를 사용해 코드를 작성해보자. 학습 기록용. 피드백은 언제나 환영입니다. 사용한 모든 예제코드는 github을 참고해주세요. 이전 글 R2DBC를 사용해보자 (1) - 왜 사 binux.tistory.com R2DBC를 사용해보자 (3) - Join (Many-To-One, One-To-One, One-To-Many) 이번 글에서 R2DBC, Spring data r2dbc를 사용해 Join을 다뤄보자. 학습 기록용. 피드백은 언제나 환영입니다..
WebClient 를 사용하되, block 을 사용한다? 이게 RestTemplate 같은 Blocking 기반의 http client를 사용하는 것과 무엇이 다를까? 사실 단일으로 하나의 request를 다루는 것이라면 성능이 거의 같을 것이다. 어느정도 각 http client 구현도에 차이가 있을 수 있지만, 유의미한 차이가 있지는 않을 것이다. 아래는 아주 대충 작성해 본 예시 // WebClient var webclientResponse = WebClient.create("some-url").get().retrieve().bodyToMono(String.class); webclientResponse.block(); // RestTemplate var restTemplateResponse = ne..
- Total
- Today
- Yesterday
- 로그
- 하루
- OpenTelemetry
- 클린 아키텍처
- 일상
- Algorithm
- Spring boot
- Kubernetes
- MySQL
- tag
- HTTP
- 백준
- k8s
- Clean Architecture
- 비동기
- 쿠버네티스
- boj
- docker
- Intellij
- 알고리즘
- gradle
- Istio
- Spring
- container
- java
- WebFlux
- python
- jasync
- Log
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |