본문 바로가기

개발중

(616)
[Redis] Sentinel tilt mod Error 해결 : 버전문제 Sentinel 에러에서 아래와 같은 로그를 확인할 수 있었다.1:X 20 Dec 2024 01:34:50.922 # +tilt #tilt mode entered1:X 20 Dec 2024 01:34:50.922 # waitpid() returned a pid (168321) we can't find in our scripts execution queue! 사용량이 없는 시간대에도 에러가 산더미처럼 발생했다. 기존에 레디스 17.* 버전을 사용 중이었는데 19.* 버전대로 올리니 tilt 모드 에러의 빈도수가 줄었다.버전 문제일까 ?
DBeaver: 데이터 가져오기 - 한글이 깨져서 저장됩니다. 해결하기. 이슈 정상적인 UTF-8 .cvs 파일을 "데이터 가져오기" 를 했는데 외계어로 저장이 되었다.  히스토리utf-8 로 했는데 깨졌음.   euc-kr 로 바꾸라고 다들 그래서 바꿨는데 안됨. 여전히 깨짐.  디비버 기본값 인코딩을 바꿔도 안됨.  결론Toad 로 import 해서 해결했음.MYSQL 8버전은 Toad 에서 지원이 안되지만 5버전은 된다.Toad 에서 import 성공 했지만, 8버전은 디비버로 import 해야할텐데 왜 한글이 깨질까, 참 속상하군.
package javax.xml.bind does not exist 해결 요즘 대부분의 프로젝트들은 jdk 11 / 17 버전을 사용하는데A 프로젝트는 JDK 1.8 이었다. 오랜만에 A 프로젝트를 오픈하니 아래와 같이 bind 패키지를 찾지 못했다. package javax.xml.bind does not exist 인텔리 제이의 jdk 설정을 확인하니 17 로 세팅되어있는 부분들도 있었다. 그 부분들을 1.8 으로 변경하니 해결 되었다. 그래도 안된다면 ,,, 캐시를 무효화 ( File > Invalidate Caches / Restart ) 시켜보자.
Java: MAC Address 조회하기 예제 IP 구하는 메서드 구현 public static String getIpAddress(HttpServletRequest request) { String ipAddress = ""; try{ if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { return ipAddress = request.getRemoteAddr(); } }catch (Exception e){ e.printStackTrace(); }finally { return ipAddr..
Spring Batch 관련 Table 자동 생성 안될 때 수동 생성하는 방법 initialize-schema: always 옵션을 지정했음에도 불구하고 Spring Batch 관련 Table 자동 생성 안될 때가 있다.그럴 경우에는 수동 생성해야한다. external libraries 에서 org.springframework.batch:spring-batch-core:*.*.* 라이브러리를 찾아보자.  spring-batch-core-*.*.*.jar 하위에 org 패키지를 오픈한다. 이것저것 많지만, 좀 내리다보면 아래와 같이 .sql 문이 나온다.  내 데이터베이스와 일치하는 .sql 문을 찾는다. 나는  MYSQL 로 가정한다.  복사해서 수동으로 table 을 생성하자.  db 에서 처음 배치 돌릴 때마다 에러나서 ( 버전이 낮음 ; 버전이 낮은 경우에는 안된다고 한다. ..
Spring Cache 이해하고 사용하기: 성능 최적화를 위한 데이터 캐싱 도구 Spring Cache란Spring Cache는 캐싱을 쉽게 구현할 수 있도록 하는 Spring의 추상화 레이어입니다. 이를 통해 애플리케이션은 특정 데이터를 메모리, 디스크, Redis, Ehcache 등 다양한 캐시 저장소에 저장하고 재사용할 수 있습니다. Spring Cache 주요 개념캐싱 메커니즘캐시 저장소: 데이터를 임시로 저장하는 공간(예: ConcurrentHashMap, Redis).캐시 키: 데이터를 식별하기 위한 고유 키.캐시 값: 캐시에 저장된 실제 데이터. 주요 어노테이션Spring Cache는 주로 어노테이션 기반으로 작동한다. @EnableCaching캐시 기능을 활성화한다.보통 Spring Boot의 메인 클래스나 구성 클래스에 선언한다.@SpringBootApplicatio..
docker-compose 에 대해서 알아보기. docker-composedocker-compose는 Docker에서 여러 컨테이너를 정의하고 관리하기 위한 도구이다. 복잡한 애플리케이션은 여러 서비스(예: 웹 서버, 데이터베이스, 캐시 등)로 구성되는데, docker-compose를 사용하면 이러한 서비스들을 하나의 설정 파일로 정의하고 한꺼번에 실행할 수 있다. 주요 기능 및 특징YAML 파일을 통한 설정docker-compose.yml 파일에 서비스, 네트워크, 볼륨 등을 정의하여 각 컨테이너의 설정을 관리한다.멀티 컨테이너 애플리케이션 관리단일 명령어로 여러 컨테이너를 빌드하고 실행할 수 있다.환경 간 일관성 유지개발, 테스트, 프로덕션 환경에서 동일한 설정을 사용하여 일관성을 보장한다.의존성 관리서비스 간의 의존성을 정의하여 실행 순서를 제어..
[redis] sentinel : waitpid() returned a pid (...) we can't find in our scripts execution queue! Sentinel 의 CPU 사용률이 비정상적으로 튀는현상이 발생했다.Sentinel Log 를 확인해보니 아래와 같다. 1:X 15 Nov 2024 06:47:20.330 # +tilt #tilt mode entered1:X 15 Nov 2024 06:47:20.330 # waitpid() returned a pid (924) we can't find in our scripts execution queue!1:X 15 Nov 2024 06:47:50.401 # -tilt #tilt mode exited1:X 15 Nov 2024 06:50:12.123 # +tilt #tilt mode entered1:X 15 Nov 2024 06:50:12.123 # waitpid() returned a pid (138..