본문 바로가기

서버46

리눅스 zip, unzip 사용법 ​cent os 기준으로 작성되었습니다. ​ ​설치 # zip 설치 yum install zip # unzip 설치 yum install unzip 압축하기 # 압축하기 # zip 파일명.zip 압축할파일명 예시) zip test.zip text.log # 디렉토리 압축하기 # zip 파일명.zip 디렉토리명 예시) zip test.zip ./* # 하위 디렉토리 및 파일 포함 전부 압축하기 # zip -r 파일명.zip 디렉토리명 예시) zip -r test.zip ./* 압축풀기 # 현재 디렉토리에 압축풀기 # unzip 파일명.zip 예시) unzip test.zip # 특정 디렉토리에 압축풀기 # unzip 파일명.zip -d 디렉토리명 예시) unzip test.zip -d /home/my 2022. 3. 31.
InvalidConfigDataPropertyException 에러 해결방법 인텔리제이에서 active profile을 설정하고 실행하면 다음과 같은 에러가 발생하는 경우가 있다. 아래의 에러는 profile을 dev로 설정하여 실행한 케이스이다. Property 'spring.profiles.active' imported from location 'class path resource [application-dev.properties]' is invalid in a profile specific resource [origin: class path resource [application-dev.properties] - 1:24] string.profiles.active 를 dev로 설정하고 실행한 경우로서 해결방법은 아주 간단하다. application.properties에 다음의.. 2022. 2. 28.
오라클 connect by level 사용법 서비스를 개발하다보면 시간별, 월별 그래프 등을 보여줘야할 때가 있다. 예를들어 과거 1년간의 월별 그래프를 표현한다고 치자. 12개월간의 데이터가 모두 수집되어 있으면 고민할 필요 없이 SQL을 작성하여 그래프를 표현할 것이다. 하지만 수집에 누락이 있다던지의 문제로 인해 데이터가 비어있는 경우가 있을 수 있다. 이럴때는 CONNECT BY LEVEL을 이용하여 미리 시간 데이터를 만들어 놓고 JOIN을 통하여 차트 데이터를 구현한다. 다음은 현재시간을 기준으로 월별, 일별, 년도별을 출력하는 예제이다. - 과거 1년간 월별 출력 SELECT V_MONTH FROM ( SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -LEVEL+1), 'YYYYMM') AS V_MONTH FROM DUA.. 2022. 2. 15.
Input variables exceeded 1000 서버 개발을 하면서 post로 많은 양이 데이터를 보낼 때 발생한다. Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0 이때 두가지 방법이 있다. 1. php.ini 수정 서버권한이 있다면 max_input_vars 항목을 찾아 수정. 2. .htaccess 파일 수정 서버권한이 없다면 root 디렉토리에 해당 파일을 찾아 수정. 2021. 11. 13.
Maximum execution time of 120 seconds exceeded codeigniter3, MySQL을 사용하던 중 발생. query가 장시간 실행될 때 발생한다. 원인은 php.ini의 설정 중 max_execution_time의 값이 120으로 설정되어 있기 때문. 다음의 해결방법이 있다. 1. max_execution_time의 값을 조정. - 어플리케이션 전체에 영향을 받게 된다. 2. 스크립트 상단에 set_time_limit(0)을 설정. - 해당 스크립트 부분에서만 영향을 받게 된다. 2021. 11. 4.
리눅스에 node js 개발환경 구성 centos 7을 기준으로 작성되었습니다. 우선 wget을 설치합니다. yum install wget wget으로 nvm(node version manager) 을 설치합니다. nvm을 사용하는 이유는 상황에 따라 쉽게 관리를 하기 위해서 입니다. 기존 레파지토리를 등록하여 설치하는 과정에 몇번의 이슈가 있어 nvm을 사용하였고 쉽게 해결하였습니다. wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash 설치 후 bashrc를 로드합니다. source ~/.bashrc 로드 후에도 nvm이 실행되지 않을 때는 다음의 내용을 업데이트하고 다시 로드해주세요. nano ~/bashrc export NVM_DIR="$HOM.. 2021. 4. 12.
리눅스에서 백그라운드 등록하기. // 프로세스를 중단없이 백그라운드에서 돌리고 싶다면 다음의 명령어를 사용하면 된다. // nohup은 세션과 연결을 종료해도 실행되는 명령어. // &는 백그라운드에서 실행시키는 명령어. // 주의할 점은 반드시 755 퍼미션을 가지고 있어야 한다. nohup java -jar -Dspring.profiles.active=production program.jar & // 프로세스 id 찾기는 ps -ef | grep [프로그램 파일명] // 프로세스 종료는 kill -9 [프로세스id] 2021. 4. 8.
Unsupported major.minor version 52.0 에러 대응 서버에 war를 배포하려고 하니 다음과 같은 에러가 발생했다. Unsupported major.minor version 52.0 해당내용은 컴파일된 jar 혹은 war가 서버환경의 jdk보다 높은 경우 발생한다고 한다. 다음은 jdk별 버전이다. J2SE 8 = Version 52 J2SE 7 = Version 51 J2SE 6.0 = Version 50 J2SE 5.0 = Version 49 JDK 1.4 = Version 48 JDK 1.3 = Version 47 JDK 1.2 = Version 46 JDK 1.1 = Version 45 즉 컴파일하는 jdk버전과 서버환경의 jdk버전을 맞춰주면 된다고 한다. 보통은 이렇게 해결한다고 한다. 만약 jdk가 여러 버전으로 설치되어 있는 경우 환경이 잘 .. 2020. 12. 15.
오라클에서 인덱스가 없는 테이블에 인덱스 생성하기 (인덱스 생성을 빠르게) 어느날 고객으로부터 화면 조회가 느리다는 이야기를 들었다. 확인해 보니 해당 화면은 A라는 테이블을 사용 중 이었고 해당 테이블에는 인덱스가 없었다. A라는 테이블에는 약 3억건의 데이터가 있었다. 단순 SELECT조회도 느렸고 FULL PARALLEL의 힌트를 줘도 느렸다. 그래서 인덱스를 생성하게 되었는데. 두가지의 방법을 생각해 보았다. 1. 먼저 TEMP테이블을 생성 후 인덱스를 생성한 뒤 기존의 테이블의 데이터를 SELECT 후 INSERT하는 방법. 그리고 기존 테이블은 지우고 TEMP 테이블을 기존 테이블명으로 변경한다. 2. 기존 테이블에 CREATE INDEX를 이용하여 생성한다. 3억건이나 되는 테이블이니 당연히 1번이 빠를 거라고 생각하였지만 보통 귀찮은 일이 아니다. 그래서 찾아보니.. 2020. 11. 9.