Spring Rest Docs 또는 springdoc-openapi를 사용하여 생성한 OpenAPI 문서를 Swagger UI에서 사용하는 것에 대해 소개한 적이 있다. 2022.06.17 - [Study/Java] - Spring Rest Docs로 OpenAPI (Swagger) 문서를 만들어 Swagger UI로 호출하여 보기 Swagger UI를 사용해보니 OpenAPI 문서를 생성하여 테스트를 할 수 있는 부분은 편리하지만 테스트를 할 때마다 테스트한 데이터에 대한 재사용하는 것이 불편하였다. 테스트하기 위한 데이터를 보관하는 좋은 방법이 없나 찾아보다가 postman이 openapi를 import 하여 사용할 수 있다는 것을 알게 되었다. postman은 API를 테스트하거나 모니터, mock..
한동안 Rancher Desktop에서 Docker 명령어를 사용하는 방법을 모르고 대안인 nerdctl을 사용하였었다. 사용하다 보니 여러모로 불편한 점이 많았다. (예를 들면 kubernetes의 yaml 파일에서 이미지 설정 시 로컬 docker image를 사용하지 못해 nexus repository를 만들어 올린 후 사용해야 하는 부분) 알고 보니 기본 설정이 nerdctl이고 docker도 사용이 가능하다는 걸 나중에 알게 되었다. 다음과 같이 Preferences에서 containerd 대신 dockerd를 선택하고 재시작하면 된다.
elasticsearch와 kibana를 공부해볼까 싶어 설치를 해보았다. Elastic stack 소개 ELK는 Elasticsearch, Logstash, Kibana를 말한다. 각각 다음과 같은 역할을 담당한다. Elasticsearch : 데이터 저장 & 검색 엔진 Logstash : 데이터 수집 Kibana : 시각화 기존 아파치 솔라 같은 검색 엔진은 라이브러리 형태로 제공되어 사용하기 위해 구현해야 하는 항목들이 많았다. ELK는 라이브러리가 아닌 플랫폼 수준으로 제공되는 오픈소스이고 이러한 묶음을 Elastic stack이라고 통칭한다. (이와 비슷하게 CNCF stack도 있다.) 설치하기 내 경우 window에서 docker desktop을 사용하여 kubernetes로 설치해보았고 E..
JDK의 버전별 변경 사항은 이곳을 참고하세요. Spec Java SE 19 Platform JSR 394에 정의된 바와 같이 JSR 394 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고해야 함 Final Release Specification Feature Summary 전체 JEP Feature 목록은 OpenJDK의 JDK19 문서로 확인할 수 있다. JEP Component Feature JEP 405 specification/language Record Patterns (Preview) JEP 422 hotspot/compiler Linux/RISC-V port JEP 424 core-libs Foreign Function & Memory API (P..
GraphQL 소개 GraphQL은 페이스북에서 만든 API를 위한 쿼리 언어이다. SQL과 유사하게 사용하는 웹 요청용 쿼리를 정의한 규약이고 많이 사용하는 REST API와 다른 형식의 요청이라고 생각하면 된다. REST API의 경우 요청 주소에 따라 응답 결과를 얻게 되지만 GraphQL은 단일 요청 주소로 질의한 쿼리 별 대한 응답 결과를 얻는 차이가 있다. GraphQL 홈페이지 GraphQL for Java/Kotlin GraphQL은 다양한 언어에 대한 라이브러리를 제공하고 있다. Code using GraphQL 이 중 Java에서 사용하기 위한 라이브러리 항목은 다음을 참고한다. Code using GraphQL Java/Kotlin Spring for GraphQL 이 중 graphq..
책 소개 리팩터링 2판은 1999년 나온 책의 개정판으로 2020년에 출간되었다. 워낙 오래된 책이지만 많은 개발자들이 추천하는 서적인데 이제야 보게 되었다. 1판과 2판은 가장 큰 차이는 1판의 경우 예제를 Java로 작성하였고 2판의 경우 JavaScript로 작성하였다는 점이다. 구성 책은 12장으로 이루어져 있다. 1장에선 일단 만들어진 코드가 동작을 유지하면서 계속 변경되어가는 과정을 보여준다. 이를 통해 리팩터링이 어떤 식으로 이루어져야 하는지 느끼게 해준다. 2장에서 리팩터링에 대해 설명한다. 3장 ~ 12장은 리팩터링의 방법에 대한 소개이다. 개인적인 소감 책을 읽으면서 느낀 단점은 리팩터링을 소개하기 위해 열거된 코드의 파악이 직관적이지 않다는 것이다. 코드가 계속 바뀌어 가는 부분을 어..
이 글의 내용 중 SvelteKit Docs 문서 부분은 Sveltekit가 Release 되기 전 문서 내용입니다. 글 작성 이후 session이 삭제되고, +접두사로 파일 이름 규칙이 변경되는 등 대대적인 변경이 있었습니다. 따라서 SvelteKit Docs 내용 부분은 현재 도움이 되지 않습니다. SvelteKit을 공부하기 전에 Svelte 부터 공부해야 합니다. 2022.06.23 - [Study/JavaScript] - Svelte 공부하기 Svelte는 tutorial 사이트에서 직접 예제를 테스트해볼 수 있어서 공부하기 편했다. SvelteKit은 예제를 테스트 해볼 수 있는 사이트 제공이 없다. 따라서 로컬에 설치하고 개인적인 프로젝트를 만들면서 나한테 필요한 설정들에 대해서 정리해 보고..
에러 발생 현상 오래간만에 sonarqube를 사용했는데 계속 socket timeout이 발생한다. mvn clean verify -B -U -Psonarqube sonar:sonar -Dsonar.projectKey=bluesky-boot "-Dsonar.projectName=bluesky boot project" 에러는 대략 다음과 같다. [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli) on project bluesky-boot-build: Error creating bean with name 'org.sonarsource.scanner.api.int..
SonarLint 소개 IDE에 설치해서 버그와 취약점을 찾아주는 무료 확장이다. sonarqube를 사용하면 확인할 수 있는 리포트를 이 플러그인만 설치하면 간단하게 IDE에서 확인할 수 있어서 편리하다. JetBrains, Eclipse, Visual Studio, VS Code를 지원한다. https://www.sonarlint.org/ SonarLint | Free and Open Source Code Quality & Security IDE Extension Find and fix Code Quality and Security issues as you code, directly in your IDE of choice, including JetBrains, Eclipse, Visual Studio..
Svelte 소개 Svelte는 2016년 출시된 오픈소스 프런트엔드 웹 프레임워크이다. 기존에 인기 있는 React, Angular, Vue.js를 이어 다음 주자가 될지 관심을 받고 있다. https://svelte.dev/ 개발 과정에선 Svelte를 사용하지만 빌드 시 vanilla JavaScript로 결과물을 만들어내서 이로 인해 라이브 사용 시 코드 용량이 많이 줄어든다고 한다. 또한 가상 Dom을 사용하지 않고 간소화된 코드로 기존 대비 동일한 결과물을 만들 수 있다고 한다. React의 Next, Vue의 Nuxt같이 Svelte도 SvelteKit이 있다고 하는데 일단 Svelte가 어떤 라이브러리인지 알아본다. 공부하기 다음과 같이 사용하여 Svelte template 프로젝트를 만들..