Programming121 ELK 스택으로 구축하는 로그 수집, 시각화 목차모니터링 방법과 ELK 스택구축해 보기모니터링 방법과 ELK 스택 어제 8시 즈음 회원 서버 로그 좀 봐볼까? (회원 서버만 10대인데요?) 애플리케이션이 많아질수록 개발자 (관리자)가 조회해야 하는 애플리케이션 관련 데이터가 급격히 늘어난다. metric, 로그 데이터와 같은 것들이다. 애플리케이션이 한 개이고, 레플리카도 하나라면 직접 서버에 접속해 로그 파일을 추적해 보면 되지만, 여러 대인 상황에서는 쉽지 않다. APM (Application Performance Monitoring) 솔루션을 사용하면 애플리케이션의 실시간 모니터링이 가능하다. 성능 관련 데이터는 실시간에 가깝게 조회되어야 하는 데이터지만, 로그나 사용자 추적 데이터 (히스토리, 페이지 이동 이력 등)는 성격이 다르다... 2024. 7. 24. [Database] MySQL ORDER BY 방식 비교와 성능 목차인덱스를 이용한 정렬 (extra에 별도 표기 없음)driving table만 정렬 (Using filesort)임시 테이블을 이용한 정렬 (Using temporary; Using filesort) MySQL에서 ORDER BY (정렬)을 처리하는 방식은 크게 2가지가 있다. 인덱스를 활용하는 인덱스 정렬과, 메모리 (혹은 디스크까지)를 활용해서 정렬하는 filesort이다. 이 2가지 방법을 토대로 옵티마이저는 크게 세 가지 형태로 정렬을 진행할 수 있는데 결론부터 말하자면,가능하다면 인덱스를 사용한 정렬로 유도 하고, (인덱스 정렬)그렇지 못하면 최소한 드라이빙 테이블만 정렬해도 되는 수준으로 유도하는 것이 좋은 튜닝방법이다. (filesort)그렇지 않으면 임시 테이블을 이용해 정렬하게 되는.. 2024. 7. 16. [Kotlin, jackson] non-null 객체에 런타임에 null 초기화하는 문제 코틀린은 compile-time에 변수의 null 여부를 검사할 수 있는 null-safety 기능을 제공한다. 그러나 run-time에 null이 초기화되는 것은 체크할 방도가 없다. 따라서 위 테스트는 말끔하게 통과하는 불상사가 일어난다. 코틀린으로 스프링 개발할 때 jackon 라이브러리에서 필드값들을 (역) 직렬화 작업을 하면서 위 현상을 보고, NPE까지 터지는 일이 발생한다. 다행히도 jackson에서 아래 같은 애노테이션을 지원한다. 2024. 6. 25. [algorithm] 정렬 4. 정리 및 응용 목차어떤 정렬 알고리즘을 사용해야 하는가환원 : 정렬 알고리즘 응용하기정렬알고리즘 사용 사례어떤 정렬 알고리즘을 사용해야 하는가 명제 : 퀵-정렬은 가장 빠른 범용 정렬 알고리즘이다.위 가설은 퀵-정렬이 개발된 이래 수십 년간 수많은 컴퓨팅 시스템에서 수많은 방식으로 구현되어 왔다. 일반적으로 퀵 정렬이 빠른 이유는 내부 루프의 명령어 수가 적기 때문이다. 결론 : 대부분의 실제 상황에서 퀵-정렬을 선택하는 것이 안전하다. 그 선택이 올바른지는 예외 상황들을 토대로 살펴봐야 한다. 예를 들어 안정정렬이 중요하고 공간이 충분하다면 병합 정렬이 최선일 것이다. 기본형 데이터 타입의 정렬성능에 매우 민감하거나 숫자의 정렬에만 집중한다면 int와 같은 기본형을 사용하는 것이 좋다. int는 후술 할 포인터 .. 2024. 6. 22. [Kotlin, JPA] Should have [public, protected] no-arg constructor @Entity@Table(name = "member")data class Member( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, @Column val nameMember: String, @Column val ymdtCre: LocalDateTime = LocalDateTime.now(), @Column val ymdtUpdt: LocalDateTime?) 에러 메시지에 원인이 나와있다. public, protected 접근제어자로 기본생성자를 만들라는 컴파일 에러다. 엔티티는 반드시 기본 생성자를 가져야한다. Java라면 Lombok을 사용해 @NoArg.. 2024. 6. 10. [Java, Spring] 버전 선택 가이드 2024 (Java 21) 2023년 버전으로 자바 버전 채택 가이드를 포스팅을 한 지 1년이 채 안 돼 조회수가 1만이 넘었다;; 내 티스토리의 명실상부 효자 포스팅이 아닐 수 없어 2024 버전으로 다시 작성해보려 한다.https://kghworks.tistory.com/137 [JAVA, SPRING] 버전 선택 가이드 2023Java와 Spring을 선택함에 있어 Java version과 Spring version은 매우 중요합니다. 특히 Java 8부터 소개된 lamda, stream, Java 11의 var 타입추론 등은 같은 Java여도 버전에 따라 꽤 다른 가독성, 문법을 보여주기kghworks.tistory.com 미리 쓰는 결론 : JDK 17 쓰자Spring Framework로 개발하는 경우 : JDK17.. 2024. 4. 27. 이전 1 2 3 4 5 ··· 21 다음