[PostgreSQL] "치명적오류: 최대 동시 접속자 수를 초과했습니다" 오류 발생 원인과 해결 방법
·
디버깅∕오류해결
문제 현상서버에서 Connection Error 가 나타나고 정상적으로 동작하지 않았다.[Hikari Pool - Common] - Connection is not available, request timed out after 30007ms. 디버그 모드로 확인해보니 postgresql 동시 접속자 수를 초과했다는 에러가 발생한다.[Hikari Pool - Query] - Exception during pool initialization.org.postgresql.util.PSQLException: 치명적오류: 최대 동시 접속자 수를 초과했습니다.혹은org.postgresql.util.PSQLException: FATAL: sorry, too many clients already.  문제 원인Databa..
[IntelliJ] No candidates found for method call plugins 오류 해결(Gradle 프로젝트)
·
디버깅∕오류해결
문제상황IntelliJ 에서 프로젝트를 잘 쓰고 있었는데 브랜치 왔다 갔다 하고 껐다 켰다 많이 했더니어느 순간 프로젝트에 log 레벨 부분에만 붉은 표시가 뜨고, 프로젝트에 오류가 있다고 표시가 되기 시작했다.e.g. log.info컴파일이랑 빌드하는 데는 문제가 없었지만 찝찝한 상황이다. 오류에 마우스를 올려보니 "No candidates found for method call plugins" 문구가 떴다.Dependency를 건든 적도 없어 의아하지만 정상적인 상황으로 만들어주자. 해결방법gradle project를 reload 하여 오류를 해소할 수 있다. - Reload Gradle Project 클릭 ( gradle 탭 > 프로젝트 우클릭 > Reload Gradle Project )또는- R..
[Oracle] "ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다" 오류 발생 원인과 해결 방법
·
디버깅∕오류해결
문제 현상특정 SQL문이 "ORA-00933: SQL command not properly ended" 오류 로그를 남기며 수행되지 못하는 현상이 발생했다."SQLSyntaxErrorException -> ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다"  문제 원인에러 로그 중 SQLSyntaxErrorException (문법 에러)라는 키워드에 힌트를 얻어 SQL문을 살펴봤다. 보통은 쿼리 작성 시 오타나 잘못된 SQL 문법을 사용했을 경우 발생하는 에러이다. 다만, 내 경우엔 아래 쿼리처럼 단순 SELECT 문이어서 문법상 잘못된 점을 찾아보기 어려웠다.SELECT column_1, column_2 FROM my_table; 원인을 알아본 결과, SQL 구문 끝에 세미콜론(;) 이 ..
[SAP HANA DB] RENAME DATABASE (Tenant Database 이름 변경)
·
DataBase/SAP HANA
※  SAP HANA DB Tenant Database 이름 변경 구문-- RENAME DATABASE TO RENAME DATABASE MYOPS TO MYOPSDEV; ※ Tenant Database Rename 구문 수행 가능 조건 You must be in SYSTEMDB and have the DATABASE ADMIN privilege to change the name of a tenant database. SYSTEMDB 에서 구문을 수행해야 한다.DATBASE ADMIN 권한이 있어야 한다. ※  Tenant Database Rename 불가능한 경우 Renaming tenant databases is not supported on systems running SAP HANA dynami..
[IntelliJ - Gradle build] error: package javax.xml.bind does not existimport javax.xml.bind.DatatypeConverter;
·
디버깅∕오류해결
gradle build 중에 오류가 발생했다.  👾 오류메세지 👾.java:8: error: package javax.xml.bind does not existimport javax.xml.bind.DatatypeConverter; ^ 릴리즈 노트에 따르면 DatatypeConverter 가 java 11 버전부터 지워진 모듈이라고 한다.https://stackoverflow.com/questions/52502189/java-11-package-javax-xml-bind-does-not-existjava.xml.bind (JAXB) - REMOVEDJava 8 - OKJava 9 - DEPRECATEDJava 10 - DEPRECATEDJava 11 - REMOVE..
[IntelliJ] 프로젝트 import 구문 에러 발생할 경우, 해결 방법
·
디버깅∕오류해결
문제 상황인텔리제이 Open Folder as IntelliJ IDEA Project 로 프로젝트를 열었는데, 동시 다발적으로 import 가 되지 않았다. import 문에 선언된 패키지에 클래스가 있음에도 import 를 못하는 오류가 발생했다. 이럴 경우, .idea 폴더가 프로젝트 폴더의 상/하위 경로에 산발적으로 생성되어 있지는 않은지 확인해 볼 필요가 있다. .idea 폴더1) .idea 폴더가 뭐길래?.idea 폴더는 인텔리제이가 생성하는 '프로젝트 설정 파일'을 저장하는 폴더이다.따라서, 프로젝트 폴더 구조를 변경하거나 잘못된 위치에 생성될 경우, 프로젝트가 설정값을 제대로 로드하지 못해 오류가 발생할 수 있다.  2) 어떤 경우에 문제가 생길까? 예시를 통해 알아보자.실제 프로젝트 폴더가..
How to Convert CamelCase to UnderScore & UnderScore to CamelCase
·
JAVA
자바는 기본적으로 CamelCase 형태를 사용하고, DB 는 UnderScore 를 사용하므로 두 형태를 변경해야 하는경우가 종종 생긴다. 처음에는 구글링해서 직접 CaseUtil 클래스를 만들어 메서드를 정의해서 사용했다. 물론, 이 방법도 좋지만 직접 작성하기가 싫다면 이미 있는 library 를 사용해도 좋다. 여기서는 'com.google.common.base' 의 CaseFormat 클래스를 사용했다. 1. 클래스 메서드를 직접 정의해서 사용하는 방법 1. UnderScore to CamelCase UnderScore -> CamelCase 형태로 만들고자 아래처럼 코드를 작성했다. e.g.used_memory -> usedMemory public class CaseUtil { private ..
줄바꿈(\r\n) Enter 로 바꾸는 방법 (Notepad++)
·
기타
Notepad++ 는 문서 편집기, 소스 코드 편집기인데 기능도 많고 보기도 편해서 자주 쓰고 있다. Notepad++ 를 사용해서 \r\n을 Enter 로 바꾸는 방법은 간단하다. 1. Ctrl + H 단축키로 검색 창을 연다. 2. 왼쪽 하단의 찾기 모드를 확장 모드로 지정한다. 3. 찾을 내용에 \\r\\n 을 입력한다. 4. 바꿀 내용에 \r\n 을 입력한다. 5. 모두 바꾸기를 클릭한다. 탭 (\t) 같은 확장 문자열 같은 경우도 모두 동일하게 적용 가능하다. e.g ) \\t => \t 으로 모두 바꾸면 탭이 적용된다. Notepad++ Downloads
Address already in use: JVM_Bind
·
디버깅∕오류해결
웹 서버 실습을 하려는데 오류가 발생했다. 해당 오류는 PORT 가 이미 사용중일 때 발생하는 오류이다. 👾 오류메세지 👾 Address already in use: JVM_Bind private static final int DEFAULT_PORT = 8080; 나는 서버 연결에 사용할 포트를 8080 포트로 지정했다. 현재 8080 포트가 사용중이므로, 해당 포트가 작업중인 프로세스를 끝내서 사용가능한 포트로 만들어야 한다. 1. CMD 창을 관리자 권한으로 실행한다. 일반 CMD 창에서 /taskkill 명령어를 실행할 경우 아래와 같은 에러가 발생할 수 있다. 프로세스를 종료할 수 없습니다. 액세스가 거부되었습니다. 따라서, 관리자 권한으로 실행하도록 한다. 2. 해당 포트의 pid 를 찾는다. ..
[Web 기초] HTTP (Hypertext Transfer Protocol)
·
WEB
정의 웹에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 통신규약 특징 모든 사용자의 요청마다 연결과 해제의 과정을 거치기 때문에 연결 상태가 유지되지 않고, 연결 해제 후에 상태 정보가 저장되지 않는다 (서버의 자원을 절약하기 위함) 비연결성 Connectionless 서버는 클라이언트와 연결을 유지하지 않아 최소한의 자원만 사용할 수 있음 (빠른 속도) TCP/IP 연결을 매번 새로 맺어야 함 (3 way handshake 시간) ⇒ HTTP 지속 연결(Persistent Connection) 으로 해소 무상태성 Stateless 상태 유지 - Stateful : 항상 같은 서버가 유지되어야 한다. (서버 장애에 취약) 무상태 - Stateless : 아무 서버나 호출해도 된다. (스케일 ..