본문 바로가기
반응형

전체 글1576

MySQL 백업과 복원 명령어 최근 spring boot 프로젝트에서 MySQL을 사용하고 있는데 운영서버와 개발서버간의 데이터 동기화를 위해 자주 사용하는 명령어들이다. 정리 해두면 좋은 명령어. 백업하는 명령어 > mysqldump -u root -p [backup target database name] > [backup filename.sql] 백업된 파일로 복원하는 명령어. > myql -u root -p [복원하려는 database name] < [백업했던 파일명].sql 각, 백업과 복원 명령어가 조금 다르다. mysqldump의 경우 백업하는 MySQL버전과 복원하려는 MySQL버전이 서로 다르면 오류가 날 수 있다. mysqldump관련해서는 별도로 버전 및 오류에 대해 준비를 하는 것이 좋다. 2023. 2. 22.
Java/Spring 클라이언트 IP 구하는 함수 아련하지만, 몇 년 전 스프링부트 프로젝트를 할 때 신입사원이 아이피를 구해 테이블에 저장한 것을 보고 이상하다며 이의를 제기했던 일이 생각났다. 오늘 프로젝트 검색 API를 외부에 열어주어야 하는데, 원격 호출하는 IP에 대해서 예외처리를 하고자 클라이언트 IP를 구하는 함수를 보면서 정리해두면 좋겠다는 생각이 들어 간단하게 요약, 정리를 한다. public static String getClientIP(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if (ip == null) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null) { ip = req.. 2023. 2. 9.
Java Long 타입의 비교 에피소드? Long타입의 변수가 2개 있다. 두 값을 비교해서 같을 때 데이터베이스의 특정 컬럼의 값을 업데이트 하는 로직이다. 아주 간단한 작업이다. 로컬에서 테스트할 때 로컬 데이터베이스에 있는 Row를 가지고 테스트했을 때는 잘 되었다. 분명 값이 변경되는걸 확인했고 스웨그로 몇 번을 테스트했다. 그리고 개발 서버에 배포를 하고 프론트 개발자분들에게 API가 개발되었다고 이야기했다. 퇴근길에 안된다는 메일을 받았고 온통 왜지? 라는 물음을 가지고 있었다. 출근을 해서 소스를 열어보고 테스트를 진행했다. 클라이언트에서 테스트한 Long형 값을 가지고 개발 데이터베이스와 연결했는데, 정말 변경이 일어나지 않는다. 뭔 일이지? 하는 마음에 혹시 비교가 잘못되나 싶어 if문에 log를 남겨보았다. 역시나 서로 다르다.. 2023. 2. 2.
IntelliJ Cannot resolve symbol 'Long' 에러 맥북의 자바 버전이 여러개가 되었고 오래전 열었던 프로젝트를 다시 여니 요런 문구가 몇몇 클래스에서 나타났다. 전부 그런것도 아니고.. Cannot resolve symbol 'Long' 해당 오류는 프로젝트의 Java SDK 지정 오류로 다음의 위치에서 바로 잡을 수 있다. IntelliJ IDEA > File > Project Struncture > Project > SDK 를 개발하는 버전에 맞게 설정하면 사라진다. 버전 설정 후 Apply하면 깨끗해진다. 2023. 1. 31.
[SSH] It is required that your private key files are NOT accessible by others.This private key will be ignored. 오라클 클라우드 인프라스트럭처(OCI) 제품을 통해 서버를 구성하는 공부를 하고 있다. 인스턴스를 만들고 사무실과 집에서 접속을 ssh로 하는데, 사무실에서 인스턴스를 만들고 키를 발급하고 할 때는 문제가 없었지만 집에서 하려고 하니 퍼미션 오류가 나서 사무실있는 인증서 파일을 집으로 가져와 동일 경로를 만들고 ssh로 접속하려고 하니 다음과 같은 오류가 나왔다. *.key 파일의 권한이 너무 많이 열려 있다는 말인데 인터넷을 찾아보니 다음과 같은 해결책이 있었다. $ ssh % chmod 400 ./ssh-key-2023-01-11.key 해당 키의 권한을 제한하는 명령을 수행하였다. 정상 접속 완료. 이제 집에서도 계속 도커를 이용한 서버 환경 구성을 학습할 수 있게 되었다. 2023. 1. 28.
IntelliJ 사용하지 않는 import문 제거 방법 2가지. 1. C.E버전에서는 IntelliJ IDEA메뉴 > Settings > Edit > General > Auto Import 항목에서 Java의 Optimize imports on the fly항목에 체크 하면 된다. 그런데 이미 만들어진 java파일에 대해서는 일괄 적용은 안되나? 2. Code > Optimize imports 실행 (단축키 : control + option + o) 지저분?한 것을 별로 좋아하지 않는다. 대신 손발이 고생이다. edit툴속에 있는 코드들을 정갈하게 유지하고 싶을 뿐. 2023. 1. 6.
반응형