일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- 공부
- Pinpoint
- AWS EKS
- 정보처리기사 실기
- 정보처리기사 실기 기출문제
- Elasticsearch
- PETERICA
- CloudWatch
- IntelliJ
- Java
- AI
- CKA 기출문제
- aws
- Kubernetes
- minikube
- APM
- 티스토리챌린지
- kotlin coroutine
- kotlin
- CKA
- mysql 튜닝
- Spring
- 정보처리기사실기 기출문제
- kotlin spring
- 기록으로 실력을 쌓자
- 코틀린 코루틴의 정석
- kotlin querydsl
- MySQL
- Linux
- Today
- Total
목록2024/08 (40)
피터의 개발이야기
파일 폴더를 압축하고 에러 처리가 가능한 shell(tar 버젼)#!/bin/bash# 압축할 폴더와 결과 파일 이름을 인자로 받음SOURCE_DIR="$1"OUTPUT_FILE="$2"# 함수: 에러 메시지 출력 및 종료error_exit() { echo "에러: $1" >&2 exit 1}# 인자 개수 확인if [ $# -ne 2 ]; then error_exit "사용법: $0 "fi# 소스 디렉토리 존재 확인if [ ! -d "$SOURCE_DIR" ]; then error_exit "지정한 폴더가 존재하지 않습니다: $SOURCE_DIR"fi# 출력 파일 이름이 .tar.gz로 끝나는지 확인if [[ "$OUTPUT_FILE" != *.tar.gz ]]; then O..
ㅁ 들어가며ㅇ Kibana Query Language(KQL)는 Elasticsearch 데이터를 효과적으로 검색하고 필터링하기 위한 강력한 쿼리 언어다. 이 글에서는 KQL의 주요 기능과 사용법을 정리하였다. ㅁ 관련 글ㅇ [kotlin] Spring Data Elasticsearch 샘플코드ㅇ [Elasticsearch] Elasticsearch + Kibana 설치하기 with Dockerㅇ [Elasticsearch] Docker로 Elasticsearch 설치 및 테스트하기ㅇ [Elasticsearch] Kibana Query Language 사용법 정리 ㅁ 기본 구문field:valueㅇ 예를 들어 username:john은 username이 john인 데이터를 조회한다. ㅁ 와일드카드 검색*..
ㅁ 들어가며ㅇ [Elasticsearch] Docker로 Elasticsearch 설치 및 테스트하기에서 Elasticsearch를설치하였다.ㅇ 공식 문서 - Install Elasticsearch with Docker의 내용을 토대로 docker 설치과정을 맥미니에서 수행해 보았다.ㅇ 테스트 용으로 단일 노드 클러스터로 진행하였다. ㅁ 관련 글ㅇ [kotlin] Spring Data Elasticsearch 샘플코드ㅇ [Elasticsearch] Elasticsearch + Kibana 설치하기 with Dockerㅇ [Elasticsearch] Docker로 Elasticsearch 설치 및 테스트하기ㅇ [Elasticsearch] Kibana Query Language 사용법 정리 ㅁ elasti..
ㅁ 들어가며ㅇ ktlint는 Kotlin 코드의 스타일을 체크하고 포맷팅하는 도구다.ㅇ 이 글에서는 Spring Boot와 Kotlin을 사용하는 프로젝트에 ktlint를 설정하는 방법을 설명한다. ㅁ build.gradle.kts 파일 수정plugins { id("org.jlleitschuh.gradle.ktlint") version "12.1.0"}ktlint { verbose.set(true) outputToConsole.set(true) coloredOutput.set(true) reporters { reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE) reporter(..
ㅁ 들어가며ㅇ [Kotlin] Spring Boot와 Kotlin으로 QueryDSL 페이징 처리하기을 작성하면서 Circular view path 에러가 발생하여 해결방법을 정리하였다. ㅁ 에러 내용jakarta.servlet.ServletException: Circular view path [products]: would dispatch back to the current handler URL [/products] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)ㅇ REST API 컨트롤러에서 뷰 리졸버(View Reso..
ㅁ 들어가며 지난 글, [Spring] Kotlin으로 JPA Querydsl 세팅에서 Spring Boot와 Kotlin을 사용하여 QueryDSL을 적용한 프로젝트를 구성하였다. QueryDSL을 사용하면 동적 쿼리를 쉽게 작성할 수 있으며, Spring Data의 페이징 기능을 활용하면 대량의 데이터를 효율적으로 처리할 수 있다. 이번 글에서는 Spring Boot와 Kotlin을 사용하여 QueryDSL을 적용한 프로젝트에서 페이징 처리를 구현하는 방법을 정리하였다. ㅁ Repository 인터페이스 생성import org.springframework.data.domain.*import org.springframework.data.jpa.repository.JpaRepositoryinterfac..
ㅁ 들어가며ㅇ [Elasticsearch] Docker로 Elasticsearch 설치 및 테스트하기을 하면서 발생한 https 에러를 해결하는 과정을 정리하였다.ㅇ 이 해결방법은 로컬 개발환경에서 테스트를 위한 해결방법이다. 그래서 운영환경에서는 인증서 설치 과정을 수행해야 한다. ㅁ 에러 상황# 통신 수행$ curl -X GET "localhost:9200/?pretty"# 에러 내용received plaintext http traffic on an https channel, closing connection Netty4HttpChannel# row logs{"@timestamp":"2024-07-28T21:48:38.081Z", "log.level": "WARN", "message":"receiv..
ㅁ 들어가며ㅇ 프로젝트 진행 중에 Elasticsearch에 비정규화 테이터를 저장하는 요건이 발생하여 개인적으로 Elasticsearch를 집에 설치해 보았다.ㅇ 이 글은 Docker로 Elasticsearch 설치 및 테스트하는 과정을 정리하였다.ㅇ 기본적으로 도커는 설치 되어 있어야 한다. ㅁ 관련 글ㅇ [kotlin] Spring Data Elasticsearch 샘플코드ㅇ [Elasticsearch] Elasticsearch + Kibana 설치하기 with Dockerㅇ [Elasticsearch] Docker로 Elasticsearch 설치 및 테스트하기ㅇ [Elasticsearch] Kibana Query Language 사용법 정리 ㅁ Elasticsearch 이미지 다운로드docker ..
ㅁ 들어가며ㅇ JPA를 사용하면서 CascadeType.REMOVE와 orphanRemoval=true 옵션의 차이를 제대로 이해하지 못하였다.ㅇ 두 옵션 모두 엔티티 간의 관계를 관리하는 데 사용되지만, 그 목적과 동작 방식에는 차이가 있다.ㅇ 이 글에서는 두 옵션의 차이를 설명하고, 언제 어떤 옵션을 사용해야 하는지 알아보았다.ㅇ [JPA] CascadeType.REMOVE vs orphanRemoval=true 차이점 알아보기을 참조하여 작성하였다. ㅁ CascadeType.REMOVEㅇ 부모 엔티티가 삭제될 때, 연관된 자식 엔티티도 함께 삭제되도록 설정하는 옵션이다.@Entityclass Parent( @Id @GeneratedValue(strategy = GenerationType.IDE..
ㅁ 들어가며 MacBook M3에서 로컬에서 빌드한 Docker 이미지가 개발 환경에서 문제가 발생하는 경우가 있다. 그 이유는 주로 아키텍처 호환성 문제 때문일 수 있다. MacBook M3는 ARM 아키텍처를 사용하지만, 많은 서버 환경은 여전히 x86 아키텍처를 사용한다. 이로 인해, ARM에서 빌드한 이미지를 x86 환경에서 실행하려고 하면 문제가 발생할 수 있다. ㅁ 해결방법ㅇ 이 문제를 해결하기 위해 Colima를 사용하여 Docker 이미지를 빌드하는 것이 도움이 될 수 있다.ㅇ Colima는 MacOS에서 Docker를 실행하기 위한 경량의 대안으로, 기본적으로 QEMU를 사용하여 다양한 아키텍처를 지원한다.ㅇ 다음은 Colima를 사용하여 멀티 아키텍처 Docker 이미지를 빌드하는 방법..