개발 지식
-
ElasticsearchException + MappingException개발 지식 2025. 1. 24. 18:58
ElasticsearchException는 인덱스 명 불일치, 매핑 정보 불일치, 샤드 상태 손상, 쿼리 생성 불가, 클라이언트 연결 문제 등 다양한 원인이 존재할 수 있다.대부분 Elasticsearch 명령어를 사용해 원인을 찾을 수 있지만, 그렇지 못한 경우를 발견해 기록을 남긴다. Kotlin과 Java의 차이로 인해 발생Elasticsearch는 데이터를 조회할 때 클래스의 생성자를 확인하고, 생성자가 없다면 기본 생성자를 통해 객체를 생성한 뒤, 리플렉션을 통해 메모리에 로드한다.하지만 코틀린은 리플렉션을 기본적으로 지원하지 않기에, 생성자를 통해 객체를 생성하지 못했다면 위 예외가 발생한다. 또한 null 가능성이 서로 충돌하는 경우에도 발생할 수 있다.Elasticsearch는 데이터가 n..
-
프로젝트 분석 도구개발 지식 2024. 11. 9. 20:50
이번 글에서는 지금까지 프로젝트를 분석하기 위해 사용해 온 도구들의 종류와 용도를 소개한다. ELK - 로그 수집 및 분석 ELK Stack은 프로젝트에서 발생하는 로그를 수집하고 시각화하여 장애, 에러 패턴, 성능 문제를 파악하는 데 사용되는 도구이다. 구성 요소Elasticsearch : 저장과 검색을 위한 저장소.Logstash : 로그 데이터를 수집하고 Elasticsearch에 전달.Kibana : Elasticsearch에 저장된 데이터를 시각화하고 대시보드로 구성하여 모니터링.서버에 에러가 발생했을 때 발생 지점과 빈도를 파악하거나, 성능 저하의 원인을 특정 이벤트에서 찾고자 할 때 유용하다. Prometheus + Grafana - 메트릭 기반 모니터링 및 시각화 이 조합은 시스템 메트..
-
SpringBoot 프로젝트 ELK 연동개발 지식 2024. 11. 9. 16:23
ElasticSearch: 검색 엔진, 로그 저장소LogStash: SpringBoot의 Logback에 저장된 로그를 ElasticSearch로 전송Kibana: ElasticSearch에 저장된 로그를 시각화 테스트 편의성을 위해 세가지 스택을 Docker-Compose를 통해 실행networks: elk: driver: bridge services: # Elastic search 설정 elasticsearch: container_name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.15.3 ports: - 9200:9200 - 9300:930..
-
코딩 컨벤션 (Coding Conventions)개발 지식 2023. 12. 26. 10:48
개발자들 사이에서 정하는 규약중에 하나이다. 코드를 통일 된 방식으로 작성하여 시각적으로 이해하기 쉽도록 만든다. 아래는 대표적인 코딩 컨벤션의 5가지 예시이다. PascalCase (파스칼 케이스) : 첫글자와 이어지는 단어의 첫글자를 대문자로 표기하는 방법 camelCase (카멜 케이스) : 첫글자는 소문자, 이어지는 단어의 첫글자는 대문자로 표기하는 방법 snake_case (스네이크 케이스) : 모든 단어를 소문자, 이어지는 단어는 _(언더바) 으로 구분하는 방법 kebab-case (케밥 케이스) : 모든 단어를 소문자, 이어지는단어는 -(대시) 으로 구분하는 방법 UPPER_CASE (어퍼 케이스) : 모든 단어를 대문자, 이어지는 단어는 _(언더바) 으로 구분하는 방법 보통 프로젝트 시작시..