본문 바로가기

전체 글72

서버 java.lang.OutOfMemoryError: Java heap space 힙 메모리 부족이 원인힙 메모리 증설 전 힙메모리 확인 방법 리눅스 서버 기준ps -ef | grep java 로 하면 java로 실행중인 프로젝트가 여러개가 주르륵 나타남.이를 통해 PID 를 찾아올수 있다. UID       PID       PPID   C  STIME   TTY         TIME     CMDuser      11111          1     0    12:12      ?         00:00:00   -Xmx64M java-application.jar UID : 프로세스를 실행한 사용자PID : 프로세스 IDPPID : 부모 프로세스 IDC : CPU 사용률STIME : 프로세스 시작 시간TTY : 터미널 타입TIME : CPU 시간CMD : 실행된 명령어 대충 요.. 2025. 4. 10.
IP 주소로 외부 API 호출하기 (CertificateException No subject alternative names present) 더보기개발 실무본지 이제 n년차 (사실 5년도 안됨, 주니어 중에 주니어,,)외부 IP주소로 API 사용해보려 한다. 우선 외부 API는 ssl 인증서가 정상적이지 않았다.브라우저에 접속하면 뜨는 흔하디 흔한, 아래의 이미지처럼 뜨는 그런 사이트이다. 외부 API 접속할때 사용하라고 IP주소를 던져줘서 막상 접속해보니 자꾸 에러가 뜨는것이다. 아니 근데 구글링 하니까 해결방법이 1. 도메인 주소로 바꾸세용2. 스프링에서 https를 무시하는 코드를 넣으시면 됩니다, 코드 좌르륵등등이런 해결방법 밖에 없는거다, 나는 뭔가 좀 더 심플하게 해결 할 수 없나? 있을거같은데,사수에 말에 의하면 무슨 인증서를 로컬에 등록하면 된다고 하는데, 잘 안되서 거의 1주일 버린거같다. CertificateException.. 2025. 3. 6.
JPA hibernate dialect 설정 설정하기에 앞서 간단하게 JPA, hibernate, dialect에 대해 알아보겠다. JPA란?JAVA Persistence API의 약자로 자바에서 관계형데이터베이스를 사용하는 방식을 정의한 인터페이스라고 한다. 인터페이스라서 구조만 갖추고 있다. hibernate란?JPA를 구현한 impl이라고 보면 된다, 그래서 hibernate의 방식이 안맞다면, 다른 라이브러리를 선택해도 된다.  dialect란?데이터베이스 방언,본인한테 맞는 DB를 선택하여 쿼리를 날릴때 도움을 준다.DB도 mysql5, mysql8, orcle, H2 등등 다양하게 존재하는데 디비마다 사용되는 쿼리가 조금씩 다르다, dialect를 쓰면 사용하는 디비를 지정할 수 있다. jpa에 hibernate를 쓰는데 dialect는.. 2025. 1. 22.
DB master-slave replication 이란?복제본 데이터베이스를 운용하는 것을 리플리케이션이라고 한다.ex) master-slave 구조 : 마스터 디비를 복제하여 슬레이브 디비는 마스터와 동일한 데이터를 가지고 있다. master-slave 흐름1. 클라이언트 커밋2. 접속 스레드에서 스토리 엔진에 준비하라고함.3. 마스터 스레드에 바이너리 로그를 변경하고 커밋함.4. 마스터 스레드는 바이너리 로그를 슬레이브에 전달5. 전달받은 슬레이브 I/O 스레드는 릴레이 로그에 기록한다.6. 슬레이브 SQL 스레드는 스토리지 엔진에 변경 적용한다.※ 요약 : 클라이언트 커밋 -> 마스터 슬레이브 바이너리 변경 및 스토리지엔진에 커밋 -> 마스터에서 슬레이브로 전달 -> 스토리지엔진에 변경적용 master-slave 주활용mast.. 2024. 11. 28.