✅ 이 글은 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)는 다양한 곳에서 사용되는 로직을 한 곳에 모아 관리할 수 있게 해주는 프로그래밍 기법입니다. 예를 들어, 보안, ..

✅ 아래 글의 내용 및 이미지는 인프런 "쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2" 강의를 듣고 정리한 글입니다. 시작 이 대화에는 3가지 정도 잘못된 내용이 있다. 강의를 듣고 나중에 정답을 알려줌! 최초의 OS로는 Unix가 있었다. (유료) 리누스 토르발즈가 커널을 재배포해서 Linux를 만들었다. 리눅스 배포판을 다시 한번 수정? 해서 나온게 Debian 계열(무료)과 RedHat 계열(유료)이 있다. Debian 계열에서 편의기능을 추가한게 지금까지도 계속 발전되고 있는 Ubuntu 이다. Redhat 에서 리눅스 배포판이 만들어지는 순서 1. 페도라 리눅스 (새로운 기능을 개발하는 버전) 무료이다. 2. 기능이 안정화되면 RHEL 로 바꿔서 릴리즈. 유료이다. 3. RHEL..

에러 SPF 상태 pass DMARC 상태 none DKIM 상태 none 거부 이유: Unknown error: transient error (421): 4.7.0 [104.30.8.83 19] Gmail has detected that this message is4.7.0 suspicious due to the very low reputation of the sending domain. To4.7.0 best protect our users from spam, the message has been blocked. For4.7.0 more information, go to4.7.0 https://support.google.com/mail/answer/188131 h3-20020a654043000000b..

회사 근처 도서관에서 책 빌리고 주말을 이용해서 다 읽었다. 이 책은 대상독자가 초급을 조금 지난 초중급을 대상으로 하고 있으며 개발자로 취업을 준비하는 사람, 이제 막 회사에 입사한 신입 개발자 그리고 어느 정도 개발 경험이 있는 주니어 개발자를 대상으로 한다. 책은 크게 1부와 2부 3부로 나뉘어져있다. 1부는 학교에서 배운 이론을 실무에 적용하기. 여기서 나도 몇 개 알고 있는 내용을 제외하고는 재미있게 읽었다. 데이터를 지키는 암호화 기법에서 대칭키와 비대칭키의 대해서 설명이 좋았다. 국비지원을 다닌다고 하면 현실적으로 SI회사로 취업할 가능성이 높은데 실제 SI 실무에서 겪을 법한 시큐어 코딩 부분에 대한 설명이 있어서 유익했다. 또한 개발을 하다 보면 라이선스에 관한 이야기를 빼놓을 수가 없는..
- Total
- Today
- Yesterday
- config-location
- elasticsearch
- maven
- 오라클
- 베리 심플
- oracle
- Spring
- localtime
- Bash tab
- k8s
- LocalDateTime
- claude
- Linux
- intellij
- springboot
- Spring Security
- input
- Mac
- svn
- Kotlin
- 북리뷰
- Java
- jQuery
- docker
- rocky
- LocalDate
- mybatis
- JavaScript
- mybatis config
- window
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |