일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PETERICA
- SRE
- CKA 기출문제
- CKA
- golang
- APM
- AI
- Java
- Kubernetes
- 공부
- kotlin
- AWS EKS
- 오블완
- Pinpoint
- 기록으로 실력을 쌓자
- minikube
- tucker의 go 언어 프로그래밍
- aws
- go
- Linux
- 정보처리기사실기 기출문제
- 정보처리기사 실기 기출문제
- CloudWatch
- kotlin coroutine
- Spring
- Elasticsearch
- 티스토리챌린지
- kotlin querydsl
- MySQL
- 코틀린 코루틴의 정석
- Today
- Total
목록Programming (214)
피터의 개발이야기

ㅁ 들어가며 지인과 대화 중 TDD의 어려움에 대해서 질문을 드렸다. 테스트 케이스 중에 제일 어려운게 Insert문이다. H2DB를 이용해 메모리상에 기능을 구현할 수 있는 방법도 있지만 한계가 있었다. Testcontainer는 이런 한계를 넘어 운영과도 똑같은 테스트환경에서 테스트를 가능하게 된다. 더욱이 코드상으로 구현하면 알아서 환경을 만들어 준다. 도저히 잠이 안와서 빠르게 테스트 환경만 구성해 보려고 한다. 현재 시간 00시 30분이다. ㅁ 통합 테스트 환경 유지의 어려움 [DevOps] Kube환경 Node, Redis, RDS 성능 업그레이드 작업 정리, 이 글은 검수기 테스트 환경을 구축하기 위해 AWS 환경을 증설하는 과정을 정리하였다. 통합 테스트 환경을 유지하는 데는 비용적 어려움..

ㅁ 들어가며 MacOS를 업그레이드 하는 과정에서 설치 실패가 지속적으로 발생하였다. 수차례 재시도를 하였지만, macOS Sonoma 다운로드 중 실패가 발생하여 이를 해결하는 과정을 정리하였다. ㅁ macOS 업그레이드 방법 ㅇ 화면 모서리에 있는 Apple 메뉴()에서 이 Mac에 관하여를 클릭한다. ㅇ 소프트웨어 업데이트를 클릭하면 다운로드 여부를 물어본다. ㅇ 위는 macOS Sonoma 다운로드 중인 상태이다. ㅇ 선택된 업데이트를 설치하는 도중 오류가 발생했습니다. 라는 메시지와 함께 지속적으로 설치 실패 오류가 발생하였다. ㅇ wifi의 문제라고 판단하여 유선랜을 연결해 보았지만 상황은 변화되지 않았다. ㅇ 12G 다운 받는데 시간이 필요하고 오류가 발생하면 처음부터 다운로드를 받기 시작..

ㅁ 개요 ㅇ Hateoas가 무엇인지 정의해 보고 Spring Boot REST API CRUD with HATEOAS Tutorial에 따라 Maven 프로젝트를 구성해 보았습니다. ㅁ Hateoas란 HATEOAS(Hypermedia As The Engine of Application State)는 웹 API를 실제로 "RESTful"로 만드는 REST 애플리케이션 아키텍처의 제약 조건입니다. 기본적으로 요청에 대해 서버는 데이터만 클라이언트에 보냅니다. HATEOAS를 사용하면 응답에 데이터뿐만 아니라 해당 데이터와 관련된 가능한 작업도 링크 형식으로 포함됩니다. 즉, 클라이언트가 특정 리소스를 요청하면, 서버는 단순히 데이터만 주는 것이 아니라 해당 리소스와 관련된 추가적인 행동(예: 다음 페이지..

ㅁ 개요 Spring Cloud Gateway 로그 상에서 308 PERMANENT_REDIRECT 상태 코드가 지속적으로 발견되었다. 이를 모니터링하고 원인을 분석하는 과정을 정리하였다. ㅁ Http status Code Http Status Code는 크게 다섯 가지 HTTP 상태 코드 범주(또는 클래스)가 있다. 각각은 서버에서 브라우저로의 다른 응답을 나타낸다. 1XX — 정보 코드 : 서버가 요청을 확인하고 처리 중이다. 2XX — 성공 코드 : 서버가 요청을 성공적으로 수신, 처리하였다. 3XX — 리디렉션 코드 : 서버가 요청을 받았지만 다른 곳으로 리디렉션된다. 4XX — 클라이언트 오류 코드 : 서버가 페이지 또는 웹사이트를 찾을 수 없거나 연결할 수 없다. 이것은 사이트 측의 오류이다...

ㅁ 개요 ㅇ 백기선님의 유튜브 '[리액터] 리액티브 프로그래밍 2부 Flux와 Mono'를 보고 Flux와 Mono를 공부하였다. ㅁ Techio 학습 연습 Techio를 통해 학습 및 코딩 연습을 할 수 있다.

@Valid 벨리데이션 체크가 필요한 Dto에 @Valid 어노테이션을 붙인다. @ 중첩된 Dto validation 벨리데이션 체크가 필요한 dto 안에 중첩되는 dto가 있는 경우 다시 @Valid 어노테이션을 선언할 수 있다. @Schema(description = "벨리데이션 1단계 DTO") public class ValidationDepth1Dto { @NotNull(message = "Null만 체크하고 빈값을 체크하지 않는다.") private String nullChkStr; @NotEmpty(message = "Null, \"\"만 체크하고 공백은 체크하지 않는다.") private String emptyChkStr; @NotBlank(message = "Null, \"\", 공백을 포..

ㅁ 개요 JWT 토큰을 디코딩 하는 과정에서 에러가 발생하였다. 특정 유효한 Base 64 인코딩 문자열에 대해 Java11에서 Base64.decode가 실패가 발생하였다. 특정 사용자에게만 발생하는데, 토큰을 비교해 보면 특정 문자열인 _(언더바)가 들어가는 경우 에러가 발생하였다. 이를 분석한 과정을 정리하였다. ㅁ 에러 내용 [authorization] [http-nio-8082-exec-42] [2023-06-08 15:50:19:1373892465] ^[[1;31mERROR^[[0;39m ^[[36mo.a.c.c.C.[.[.[.[dispatcherServlet]^[[0;39m - Servlet.service() for servlet [dispatcherServlet] in context wit..

ㅁ 들어가며 다음은 조직도 테이블 구조를 트리구조 JSON 형태로 변환하는 Java 코드 샘플입니다. 이 코드는 JDBC 드라이버를 사용하여 데이터베이스에서 데이터를 가져오는 것을 전제로 합니다. import java.sql.*; import java.util.*; public class OrgChart { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/orgchart", "username", "password"); Statement stmt = conn.creat..

ㅁ 들어가며Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. - 에러에 대한 조치 과정을 정리하였다. ㅁ 에러 내용[admin] [restartedMain] [2023-04-21 11:46:32:7022] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system..

ㅁ 개요 ㅇ Cookie를 사용하면서 타 사이트간의 쿠키 전달에 대한 트러블 슈팅을 하게 되었다. ㅇ 트러블 슈팅 중에 Cookie SameSite 정책에 대해 알게 되어 이를 정리하였다. ㅁ SameSite 정책 쿠키는 발급 시 사용할 수 있는 domain, path 등을 명시할 수 있고 조금 더 강력한 정책으로 SameSite 설정을 통해 어떤 도메인에 쿠키를 허용할지 쿠키 발급자가 정해줄 수 있다. ㅁ 옵션 None : 기존의 방식과 동일힙니다. 서드 파티 쿠키가 전송됩니다. SameSite를 검증하지 않습니다. 그래서 A 사이트에서 B 사이트로 요청을 전송하게 되면 B 사이트의 쿠키가 붙어서 전송됩니다. Lax : 몇가지 예외적인 요청을 제외하고는 서트 파티쿠키가 전송되지 않습니다. 일반적으로 G..