본문 바로가기

전체 글95

[에러 해결]jackson-dataformat-yaml 사용 시 java.lang.NoClassDefFoundError 및 java.lang.NoSuchMethodError 에러 해결 스프링부트 프로젝트에서 log4j2 설정파일을 보통 xml로 설정하는데, xml 대신 yml로 사용할 경우 빌드툴에 jackson-dataformat-yaml 과 jackson-databind를 추가해줘야 한다. 그런데 이 두개의 버전이 불일치할 경우 다음과 같은 에러가 발생한다 Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/std/ToStringSerializerBase 해당 에러가 발생하는 사유는 jackson-dataformat-yaml과 jackson-databind, 그리고 그 밑에 속한 jackson-core와 jackson-annotations의 버전인 불일치하기 때문에 발생하는 문제다. 내가 추가한.. 2021. 6. 8.
Oracle SQL LISTAGG 함수로 행(row) 합치기 Oracle SQL을 작성하다 보면 특정 컬럼의 데이터 row를 1개의 문자열로 합쳐야 하는 경우가 존재한다. 그럴 경우 아래와 같이 ORACLE LISTAGG 함수를 이용해서 행을 합칠 수 있다. 만약 10, 20, 30 데이터 row로 이루어진 테이블이 있다고 가정하자(이 글에서는 테이블 대신 WITH 절을 사용할 것이다) WITH TAB AS ( SELECT '10' COL FROM DUAL UNION ALL SELECT '20' COL FROM DUAL UNION ALL SELECT '30' COL FROM DUAL) SELECT * FROM TAB; 3개의 ROW를 1개의 STRING으로 묶고 각 데이터 값을 ","로 구분하기 위해서는 아래와 같이 LISTAGG 함수를 사용해서 SQL을 작성하면.. 2021. 5. 28.
Oracle SQL 특정 문자 기준으로 문자열 분리하기(행으로 분리) Oracle SQL을 작성하다 보면 특정 문자를 기준으로 문자열을 행(row)으로 분리해야 하는 경우가 종종 있다. 만약 테이블 컬럼의 데이터가 "10|20|30|40|50|" 인 경우, 문자 "|"를 기준으로 10~50으로 데이터를 분리(5개의 row) 하려면 아래와 같이 SQL을 작성하면 된다(아래 SQL에서는 테이블이 WITH절, 컬럼은 STR이고, 분리된 ROW 명이 CODE 다 ) 문자열 SQL WITH TMP AS (SELECT '10|20|30|40|50|' AS STR FROM DUAL) SELECT REGEXP_SUBSTR(TMP.STR, '[^|]+', 1, LEVEL) CODE FROM DUAL, TMP CONNECT BYREGEXP_SUBSTR(TMP.STR, '[^|]+', 1, .. 2021. 5. 26.
[에러 해결]ssh_exchange_identification: read: Connection reset by peer 에러 해결 리눅스에서 sshpass와 scp를 통해서 파일 전송 시(클라이언트 서버 -> 호스트서버로 파일 전송) 다음과 같은 에러가 발생하는 경우가 있다. ssh_exchange_identification: read: Connection reset by peer lost connection Build step 'Execute shell' marked build as failure 해당 에러는 호스트 서버에 클라이언트 서버의 SSH 접근이 허용되지 않았기 때문에 발생한 문제다. 해당 문제를 해결하기 위해서는 호스트 서버에 있는 /etc/hosts.allow 파일에 클라이언트 서버의 IP를 추가해주면 된다. sshd: [클라이언트 서버 ip] 참고 phoenixnap.com/kb/fix-connection-reset.. 2021. 3. 22.
[에러 해결]제니퍼가 설정된 WAS(Tomcat)에 배포된 어플리케이션의 인코딩이 깨지는 문제 운영 업무 수행 중 발생한 오류 내용을 기억하기 위해 블로그에 남긴다 (팀 내 AA분께서 처리하신 내용이고, 추후 이런 오류가 또다시 발생하는 경우를 대비해 내용을 기록한다) 1. 오류 내용 운영 업무 수행 중 제니퍼가 설정된 WAS(Tomcat 8.X)에 배포된 어플리케이션의 특정 인코딩이 깨지며 서비스 처리에 문제가 생기는 현상이 발생하였다(해당 서비스의 로그도 깨지는 현상 발생) 문제가 발생한 서비스는 NAS로 마운트 된 스토리지에 파일을 업로드/다운로드 하는 서비스다. 2. 해결방안 제니퍼 에이전트는 기본적으로 인코딩 관련한 어떤 처리도 담당하지는 않지만, 추가적으로 엔드포인트의 Request, Response에 인코딩 정의가 가능하다. Jennifer console - agent 옵션에 2가지 .. 2021. 2. 5.
마크 트웨인 명언1 - 곤경에 빠지는 것은 뭔가를 몰라서가 아니다. 뭔가를 확실하게 안다는 착각 때문이다. "곤경에 빠지는 것은 뭔가를 몰라서가 아니다. 뭔가를 확실하게 안다는 착각 때문이다." - 마크 트웨인 원문 : "It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so." 최근에 인상깊게 본 영화 빅쇼트의 시작부분에서 나오는 구절이다. 우리는 인생을 살아갈 때 잘 모르는 것에 대해서는 조금 더 유심히 알아보고 조심하는 경향이 있지만, 뭔가를 확실히 안다고 생각할 때는 방심하는 경우가 많다. 무엇인가에 대해 확실히 알고 있더라고 한번 더 짚어보는 습관을 들여보도록 하자. 2021. 1. 23.
npm install 시 npm ERR! cb.apply is not a function 에러 해결방법 오랜만에 react-native를 활용해서 앱을 만들어볼까 생각을 해서, node를 새롭게 설치한 후, npm install 명령어를 날리는 순간 다음과 같은 에러가 발생하였다. "npmERR! cb.apply is not a function" $ npm install npm WARN npm npm does not support Node.js v14.15.4 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are .. 2021. 1. 21.