
제목을 짓기가 어려웠다.내가 겪은 상황은 AWS 서버와 IDC 서버에서 도메인은 같지만 AWS 와 IDC 였는데..해보지는 않았지만 이런 상황도 될 것 같다.예를 들어 서버가 2대로 로드밸런싱을 하는데 A, B 서버가 있다고 한다면 A서버에만 테스트를 해보고 싶을 때 A서버 아이피는 192.168.0.100B서버 아이피는 192.168.0.101 이라고 하고 도메인으로 접속 후 LB로 흘러들어가게 한다면 두 개중 어디로 갈지 모르지만 만약 내 컴퓨터에서 /etc/hosts로 A아이피와 도메인을 작성해주고 브라우저 재시작 후 도메인으로 접속을 하게 되면 A서버로만 접속을 하게 될 것이다. blog.seongseob.dev 가 서버 2대로 로드밸런싱이 되어있다면 이렇게 hosts 파일을 수정해주면 내 컴..
orElse와 orElseGet의 차이점은 기본값을 제공하는 방식과 시점에 있다.orElse방식: 기본값을 직접 인자로 받습니다.특징: orElse는 Optional이 비어있지 않더라도 기본값을 항상 생성합니다. 이는 기본값 생성이 비용이 많이 드는 경우 비효율적일 수 있습니다.T orElse(T other)예시:String result = Optional.ofNullable(someValue) .orElse(createDefaultValue()); // createDefaultValue()가 항상 호출됨orElseGet방식: 기본값을 생성하는 Supplier를 받습니다.특징: orElseGet은 Optional이 비어있을 때만 Supplier를 실행하여 기본값을..
spring.threads.virtual.enabled=true spring docs에서는 애플리케이션에 이 옵션을 켜기 전에 공식 Java 가상 스레드 설명서를 읽어보시기 바랍니다 라고 쓰여져있다. WarningOne side effect of virtual threads is that they are daemon threads. A JVM will exit if all of its threads are daemon threads. This behavior can be a problem when you rely on @Scheduled beans, for example, to keep your application alive. If you use virtual threads, the scheduler ..
✅ 이 글은 Optional을 잘 알고 있는 사람에게는 어울리지 않는 글입니다. 헷갈림을 유발할 수 있습니다. 오늘 Java의 Optional에 대해서 알게 된 점을 쓴다. 제목에 부끄럽지만을 썼지만 뺐다. Java8부터 나온 Optional 이 몇 년이나 지났지만 알고 있다고 사용한 부분에서 전혀 다른 결과가 나와서 순간 뭐지? 했다가 아차 싶어서 쓰는 글이다. 예제로 살펴본다.Optional 이란?Java8에서는 Optional 클래스를 사용해 NPE를 방지할 수 있도록 도와준다. Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, 참조하더라도 NPE가 발생하지 않도록 도와준다. Optional 클래스는 아래와 같은 value에 값을 저장하기 때문에 값이 null이더라도 바..
Datadog에서 알람을 설정할 때 데이터가 누락되는 경우도 고려하는 것이 중요합니다. default zero 옵션은 데이터가 누락될 때 기본값인 0을 사용하도록 설정하여 알람을 더 정확하게 트리거할 수 있게 도와줍니다.설정했던 알람avg:trace.servlet.request{service:my-app-*, env:prd, resource_name:get_/api/users/*} by {resource_name}.rollup(avg, 60)이 설정은 my-app- 서비스의 프로덕션 환경에서 /api/users로 시작하는 GET 요청의 평균 응답 시간을 resource_name별로 60초 간격으로 롤업(rollup)하여 모니터링하는 것을 의미합니다. 알게 된 점은 알람이 트리거 되는 시간은 조건이 충족되..

✅ 아래 글의 내용 및 이미지는 인프런 "쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2" 강의를 듣고 정리한 글입니다. 설치부터 너무 어려워서 몇번을 헤매고 난 뒤에 그냥 든 생각은 일단 설치가 되고 대시보드까지만 띄우고 강의를 계속 더 전진해서 듣자라는 생각이 컸다. 처음엔 vmware fusion을 설치해서 진행 해보려고 했었는데 뭔가 너무 막히고 시간을 잡아먹는 것 같아서 강사님이 올려주신 [Sprint1] 쿠버네티스 빠른설치 (Mac-m시리즈) 로 진행했다. UTM 설치 및 실행 기본적으로 설치되는 스펙은 카페에 나와있다. - Start : Virtualize - Operating System : Linux - Linux : Boot ISO Image [Browse..] -> Roc..
Spring Framework에서 AOP(Aspect-Oriented Programming)는 강력한 트랜잭션 관리 기능을 제공합니다. 이 기능은 다양한 애플리케이션에서 트랜잭션을 효율적으로 관리할 수 있게 해주지만, 때때로 예상치 못한 문제가 발생하기도 합니다. 이 글에서는 Spring Data JPA를 사용하면서 자주 마주치는 self-invocation 문제와 그 배경에 대해 설명하고, Spring의 AOP가 어떻게 트랜잭션 관리에 적용되는지 구체적으로 살펴보겠습니다. AOP와 트랜잭션 관리란? Spring Framework에서 AOP(Aspect-Oriented Programming)는 다양한 곳에서 사용되는 로직을 한 곳에 모아 관리할 수 있게 해주는 프로그래밍 기법입니다. 예를 들어, 보안, ..
- Total
- Today
- Yesterday
- 오라클
- svn
- Kotlin
- LocalDate
- Java
- window
- JavaScript
- oracle
- Bash tab
- mybatis
- jQuery
- intellij
- claude
- LocalDateTime
- 북리뷰
- 베리 심플
- config-location
- springboot
- input
- Linux
- rocky
- Mac
- Spring
- Spring Security
- localtime
- mybatis config
- k8s
- maven
- docker
- elasticsearch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |