본문 바로가기

All

(36)
[Java, SQL] DB와 자바객체 매핑 시 한글자 컬럼 주의 Feat.롬복 개발환경: Windows10, IntelliJ Ultimate2021.1.3, Java1.7, Tomcat6 데이터베이스 테이블에 스네이크표기법으로 작성된 컬럼 중 각 자리에 단 한글자의 문자열만 들어있는 컬럼 존재 시, 해당 컬럼을 자바 객체와 매핑할때 주의할 점을 발견했다. 예시) DB USER테이블의 컬럼 - ID - FULL_NAME - N_GRADE 자바 UserVO 필드 - private Long id; - private String fullName; - private String nGrade; 이때 다른 컬럼은 신경쓰지 않아도 되지만, N_GRADE처럼 한글자로 이루어진 단어가 있는 컬럼이 문제가 된다. VO에서 수동으로, 혹은 IDE에서 제공하는 generater로 getter와 sette..
[IDE] IntelliJ 한글깨짐 인코딩 문제 해결 개발환경: Windows10, IntelliJ Ultimate2021.1.3, Java1.7, Tomcat6 인텔리제이에서 톰캣을 실행했을 때, 프로젝트에 따라 이따금씩 아래와 같이 한글이 깨지는 현상이 나타나서 정리할 겸 글을 작성한다. 검색을 하다 보니 대부분 프로젝트의 파일 인코딩 설정이라던가 톰캣 문제인 것 같았다. 내 경우에는 아래 세 가지 방법을 차례로 시도했을 때 다행히 대부분 해결되었다. 1. Ctrl+Alt+S로 Setting창 오픈, Editor>File Encodings에서 Global Encoding, Project Encoding을 UTF-8로 변경 2. 톰캣 Configuration에서 VM options에 -Dfile.encoding=UTF-8 혹은 -Duser.language..
[OS] Linux CentOS 서버시간 설정 Rdate localtime 서버시간이 안맞아서 rdate 패키지를 설치해 rdate -s time.bora.net 명령어로 해당 서버 시간과 동기화를 해주려고 했다. 하지만 아무 에러도 없이 서버시간은 바뀌지 않았고, 검색을 통해 해결방법을 찾았다. /etc/경로 아래 localtime이라는 링크가 있을 것이다. localtime -> /usr/share/zoneinfo/UTC 등으로 되어있다면, 이를 삭제하고 다시 링크를 걸어줘야 한다. 1. rm -rf /etc/localtime localtime 링크를 삭제한다. 2. ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 서울 지역으로 localtime 링크를 새로 생성한다. 다시 서버시간 동기화작업 후 date 명령어로 서버 시간을 확..
[Xen] XCP-ng Center 젠서버 가상머신 셧다운 에러 PC환경: xcp-ng center 20.04.00, 젠서버 7.6 xcp센터에서 가상머신이 죽어있는데 마치 살아있는것처럼 표시되고있길래~ 여느때처럼 재부팅하려고 Force Shut down, Force Reboot 해봤다. 그런데 처음보는 "vm not in expected power state after completing operation" 라는 에러가 빼꼼하면서 자기는 아직 죽기싫다는 뜻을 내비쳤다. 검색 결과, 해당 VM-general탭에서 uuid를 알아내 젠서버 콘솔에서 xe vm-reset-powerstate --force uuid=가상머신uuid 명령어를 입력해 강제로 죽이는데 성공했다!
[MQ] RabbitMQ rabbitmqctl 에러시 erlang쿠키 확인 환경: centos7.9 rabbitmq 설치경로 아래 sbin 폴더를 환경변수로 등록한 뒤 rabbitmqctl stop_app 커맨드로 rabbitMQ포트를 죽이려고 했는데, 아래 그림과 같은 에러가 터졌다. suggestion을 읽어보니 서버의 모든 노드의 쿠키가 동일한지 확인해보라고 한다. 검색 결과, .erlang.cookies 파일에 적힌 값을 동일하게 맞추라고 해서 /root/.erlang.cookie 파일에 적힌 값과 /home/username/.erlang.cookie 파일에 적힌 값을 똑같이 맞추었더니 해결되었다.
[Network] 라우터 Access list 시스코 라우터를 기준으로 설명 Access List는 방화벽의 블랙리스트, 화이트리스트처럼 어느 주소를 허용하고 차단할건지 정해놓을 수 있는 라우터 설정이다. 라우터의 특성상 3계층인 네트워크 레이어까지만 차단할 수 있어 방화벽보다는 비교적으로 보안성이 낮다. Access List 종류 - Standard: 출발지 주소를 기준으로 접근 허용/차단 - Extended: 출발지 주소는 물론 목적지, 프로토콜, 포트 등 갖가지 항목을 보고 접근 허용/차단 - Dynamic Access List 규칙 - 여러 정책을 설정하면 처음 설정한 정책(맨 윗줄)부터 차례로 검사한다 - 정책을 만들면 순차적으로 기존 정책 리스트 맨 아래 인덱스에 추가되는데, 인덱스를 수정하거나 특정 인덱스를 제거할 수 없다 - 정책이 하..
[DB] SQL Tool - MySQL Workbench 커넥션 실패 PC환경: MacbookAir M1 MacOS ventura 13.2 무료 sql툴을 찾아보던 도중 heidisql과 workbench를 사용해 봤는데, workbench 사용과정에서 커넥션이 자꾸 실패해서 검색하던 도중, workbench버전과 mysql버전 간 호환이 안되서 그런 경우가 있다고 했다. PC에 설치된 mysql버전은 5.0.77이였고 workbench 버전이 최신버전이어서, 다운그레이드를 위해 설치된 8버전을 제거한 후 workbench 버전 아카이브에 가서 6.3.10버전을 다운받아 실행하니 연결되었다.
[Java] 메이븐 Executable Jar 파일 빌드 개발환경: Centos7.9.2009, JDK1.8, SpringBoot2.6.3 프로젝트 내에서 메이븐(mvnw 명령)을 통해 package를 하면 /target폴더 안에 jar파일이 생성된다. 이 jar 파일을 텍스트 편집기로 열어보면 인코딩이 깨진듯한 문자들이 나오는데, 정상이다. 이 jar파일은 java -jar 명령어로 실행시킬 수 있지만, start와 같은 쉘 스크립트로 실행하면 바이너리로 된 jar파일을 실행할 수 없다는 cannot execute binary file 에러가 발생한다. 그렇기 때문에 쉘 스크립트로 jar파일을 실행하기 위해선 executable한 jar파일로 빌드해야 한다. 메이븐 프로젝트 생성 시 만들어지는 pom.xml파일에서 아래 코드와 같이 build>plugins>..