본문 바로가기

반응형

Study

(300)
RestTemplate response generic type 사용하기 ParameterizedTypeReference를 사용한 List response 사용 예전에 restTemplate으로 list 타입 response를 받는 것에 대해 글을 작성한 적이 있다. 2018.11.16 - [Study/Java] - RestTemplate list 반환하기 응답이 List 일 때 ParameterizedTypeReference로 아래와 같이 사용한다. ResponseEntity response = restTemplate.exchange("url",HttpMethod.GET, null, new ParameterizedTypeReference() {}); List list = response.getBody(); Generic response type 사용하기 이 경우에 대해서도 ..
ObjectMapper readValue generic type 사용하기 List 객체를 반환받기 위해 TypeReference 사용하기 ObjectMapper는 List 같은 Collection 형태의 객체 반환을 위해 TypeReference를 제공하고 있다. (정확히는 List를 위해서가 아니라 generic parameterType을 가진 class를 위해서 제공하고 있다.) 이를 사용하면 다음과 같이 List를 받을 수 있다. List objectMapper.readValue(new ClassPathResource("someFile.json").getFile(), new TypeReference
springdoc-openapi swagger @ExampleObject annotation 사용해 보기 swagger annotation을 사용하여 문서화 작업을 하면 너무 많은 양의 swagger annotation이 오히려 코드의 가독성을 많이 떨어트리게 되어 이에 대해 좀 더 정리하여 사용해보려고 한다. swagger annotation에 대한 자세한 설명은 아래 github wiki에 있다. https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations 설정하기 spring boot 프로젝트에서 springdoc-openapi의 사용은 다음과 같이 의존성을 추가하면 된다. webmvc의 경우 아래 dependency를 추가하고 webflux인 경우 springdoc-openapi-starter-webflux-ui를 추가하면 된다..
spinnaker resource (component sizing) 설정해 보기 spinnaker의 경우 halyard를 사용해 배포를 한다. kubernetes의 resource 설정을 하지 않으면 대략 다음과 같이 memory resource를 사용한다. C:\Users\bluesky>kubectl top po -n spinnaker NAME CPU(cores) MEMORY(bytes) spin-clouddriver-9cd8859b6-2hc4m 109m 1802Mi spin-deck-dfb4446b7-l9pch 1m 68Mi spin-echo-676b7f55d5-d24cv 4m 678Mi spin-front50-6ff45f885b-6ncvm 8m 1255Mi spin-gate-7464dcd68f-j624v 3m 1146Mi spin-igor-57f6658c6f-ftfhc 2m 1..
kubernetes pod에 resource 설정해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. 성능 저하 증상 발생 Windows 10에서 11로 변경하면서 rancher desktop의 설정이 모두 초기화되었고 다시 모두 재설정하였다. Swap memory가 모두 사용 중이었다. (확인하는 방법은 아래 참조) 작업관리자에서 VmmemWSL의 디스크 사용량이 지속적으로 발생하고 있었다. 계속 디스크를 사용하여서 전체적인 성능이 하락하였다. 디스크를 왜 계속 사용하는지에 대해서는 명확하게 확인되지 않았지만 다음과 같이 진행해 보았다. container를 다시 생성하면서 일부 pod가 계속 에러를 발생시켰다. 통계 정보 수집하는 pod가 이 에러난 pod의 통계 정보로 계속 디스크 쓰기 작업이 발생시킨 게 아닌가 짐작하고 ..
[troubleshooting] Windows 11에서 한글 마지막 글자 사라짐 현상 해결 Windows 11을 사용하면서 크롬이나 Obsidian 등 여러 프로그램에서 한글을 입력하다가 다른 창으로 Alt + Tab이나 커서 위치를 옮기면 입력한 한글의 마지막 글자가 사라지는 현상이 있었다. 이는 현재 버전의 Windows 11에서 한글 입력 처리의 문제이며 시간이 지나면 업데이트를 통해 해결해주기도 한다. 하지만 당분간 불편함을 감수할 필요 없이 바로 해결하는 방법이 있다. 설정의 시간 및 언어의 입력 항목을 선택하고 언어 및 지역을 선택한다. 한국어의 언어 옵션을 선택한 후 아래의 Microsoft 입력기의 키보드 옵션을 선택하고 이전 버전의 Microsoft IME를 활성화한다. 재시작이 필요하지 않으며 관련한 증상이 없어지는 것을 확인할 수 있다.
Windows Terminal 소개 windows 10이나 11에서 기본으로 제공하는 cmd 창은 별다른 기능이 없이 단순하고 여러 창을 사용할수록 관리가 헷갈리게 된다. 이런 불편한 점을 해소해 주는 Windows Terminal을 소개한다. Windows Terminal은 Microsoft에서 제공하는 오픈 소스 프로젝트로 Github에 공개되어 있다. https://github.com/microsoft/terminal 설치 Microsoft Store에서 Windows Terminal을 검색하고 설치하면 된다. Windows Terminal을 사용하면 다양한 기능을 사용할 수 있다. 프로필 제공 탭, 창 분할 기능 제공 테마 제공 프로필 Windows Terminal은 프로필로 사용하는 terminal을 관리할 수 있다. 기본적으로 ..
kubernetes에 Promtail, Loki 사용해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. Loki 소개 https://github.com/grafana/loki Loki에 대한 소개를 보면 다음과 같다. "Like Prometheus, but for logs" Prometheus가 metric을 시계열 데이터로 저장하기 위해 사용된다면 Loki는 log 데이터를 저장하기 위해 사용된다. https://grafana.com/docs/loki/latest/fundamentals/overview/ Loki는 log data를 효율적으로 보관하기 위해 최적화된 데이터 저장소이다. 다른 logging system과 다르게 Loki index는 label에서 작성되며 원래 log message는 색인화되지 않는다. Prome..

반응형