M1 Mac 환경에서 podman 사용한 내용을 정리해보고자 한다. 다음에 까먹으면 다시 보기 위해서… 사실 docker 사용법을 안다면 거의 똑같다고 봐도 될 것 같다. 그냥 설치 및 초기설정 몇가지 방법만 다르다. 그렇기에 다 설치완료가 되면 아예 podman을 docker로 alias 설정해두고 사용하는 경우가 많은듯하다. podman 설치 brew 기반으로 설치했다. $ brew install podman $ brew install podman-compose # for docker-compose $ brew install podman-desktop # for docker d 초기 설정 Mac에서는 podman client/server로 나뉘어 동작하는 것으로 보인다. 이에 machine을 초기화,..
최근에 Spring boot를 활용한 프로젝트를 보면 MyBatis(SQL Mapper)보다 JPA(ORM)/Hibernate/Spring data jpa를 사용하는 사례가 더 많은 것 같다. JPA, Hibernate, Spring data jpa를 모르는 분은 구글에서 찾아보길 바란다. 이후에는 JPA라고 약칭하겠다. Query Logging JPA/Hibernate를 사용하면 Query를 직접 작성해 활용하는 것이 아니기에 어떤 Query들이 구성되고 사용되고 있는지 확인하기 어려울 때가 있다. 그래서 이를 로깅 (Logging)을 통해 확인할 수 있도록 지원하고 있다. 근데 많이 알려진 방법이 좋지 않을 뿐더러 쿼리 결과도 정확히 나오지 않아 다른 방법을 제시하고자 한다. 일단 많이 알려진 방법대..
최근에 서비스 개발 코드들을 보면서 옛날 클래스 네이밍/아키텍처 패턴을 보고 있습니다. 예를 들어 DTO, DAO 같은 것들 말이죠. 대략적으로는 알지만, 오랜만에 봐서 그런지 헷갈려 정리해놓고자 합니다. 이 글에서는 일반적으로 이런 역할을 가진다라고 이야기하지만 무조건 적인 것은 아닙니다. 변질된 사례도 많고, 구현하는 사람마다 이해하는 바가 다르기 때문입니다. 그리고 개인적인 의견입니다만 최근에는 여기서 말하는 모든 네이밍/패턴은 많이 사용되지 않는다고 생각합니다. 여러 다른 프레임워크/구현체(ex. JPA/Hibernate 등)들이 어느정도 많이 사용되면서 다른 명명 패턴/추상화(ex. Repository 등)를 사용하고 있기 때문입니다. 하지만 그럼에도 팀 및 정해진 인원들이 어느정도 정해진 컨벤..
이번 글에서 R2DBC, Spring data r2dbc를 사용해 Join을 다뤄보자. 학습 기록용. 피드백은 언제나 환영입니다. 사용한 모든 예제코드는 github을 참고해주세요. 이전 글 R2DBC를 사용해보자 (1) - 왜 사용할까? 이번 글에서 R2DBC란 무엇이고, 왜 사용하고, 어떻게 사용했는지 경험에 대해 이야기해보고자 한다. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) R2DBC는 언제 사용할까? Reactive Programming binux.tistory.com R2DBC를 사용해보자 (2) - CRUD를 만들어보자 이번 글에서는 R2DBC, Spring data r2dbc를 사용해 코드를 작성해보자. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) 사용한 모든 예제코..
이번 글에서는 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을 다뤄보자. 학습 기록용. 피드백은 언제나 환영입니다..
최근 재미로 Kotlin을 사용해보고 있는데, 한 가지 불편한게 있었다. Java를 사용할 땐 아래의 사진의 빨간 부분처럼 IntelliJ가 hint를 주고 있었는데, Kotlin을 사용하니 이 정보를 주지 않았던 것. 있을 땐, 이게 도움이 되는지 몰랐는데, 없으니 괜히 사소하게 불편했다. 그래서 이 참에 찾아봤는데, 이 기능은 `Inlay hints`라고 한다. Code reference information | IntelliJ IDEA www.jetbrains.com 이를 Kotlin에서 활성화시켰더니, 잘 보인다. 흐흐. 진작 사용할 걸.
Tomcat 같이 Thread pool을 만들어두고 사용하는 경우, ThreadLocal 사용 시 주의해야하는 점이 있습니다. 바로 Thread 반환 시, ThreadLocal을 remove 해주어야 한다는 점입니다. 왜 Thread pool을 사용할까요? Thread pool을 사용하는 경우는 이유가 명확한데요. Thread를 작업 도중 생성하는 것이 시간이 오래 걸리는 비싼 행동이기 때문입니다. 그러므로 특정한 개수(Tomcat의 경우 200개)만큼의 Thread를 미리 만들어두고, 요청이 들어올 때마다 만들어둔 Thread를 이용하도록 합니다. 작업이 끝나면 다시 Thread를 반환하고, 추후 다른 요청을 처리할 때 다시 이용하게 됩니다. 왜 이러한 Thread pool 구조에서 ThreadLoca..
- Total
- Today
- Yesterday
- 일상
- java
- 클린 아키텍처
- Intellij
- 로그
- Istio
- MySQL
- Log
- container
- 하루
- OpenTelemetry
- tag
- jasync
- k8s
- python
- 알고리즘
- 쿠버네티스
- Spring
- docker
- boj
- Clean Architecture
- Kubernetes
- 비동기
- HTTP
- WebFlux
- 백준
- Algorithm
- gradle
- c++
- Spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |