전체 글106 리눅스에 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. spring boot에서 transaction 사용하기 이 포스팅은 spring boot 2.2.6을 기준으로 작성되었습니다. spring boot로 프로젝트를 진행하던 중 DB에 delete 후 insert를 하는 로직을 구현해야 했습니다. 구현 로직 처리 중 만일 query가 실패 할 경우 기존의 데이터는 그대로 남아야 했기 때문에 transaction을 추가했습니다. xml 코드가 아닌 java코드로 bean 객체를 생성해야 했으므로 구글링을 하여 방법을 찾았습니다. spring의 application에 다음과 같이 transactinon manager를 추가해주세요. 1. EnableEnableTransactionManagement 어노테이션 추가 2. DataSourceTransactionManager 함수 구현 @EnableTransactionMa.. 2021. 1. 15. 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. postgresql에서 auto increment 설정(자동 index증가) My Sql에서는 sequence번호를 자동으로 생성해주는 auto increament 기능이 있어서 편하게 사용했다. 최근 postgrespostgresql를 관계형 DB로 사용할 기회가 생겨 테이블 스키마를 생성하던 중 해당 문제에 직면하였고 해결하였기에 기록을 하고자 글을 쓴다. 코드의 예시는 다음과 같다. CREATE SEQUENCE example_id_seq; CREATE TABLE example_table ( id integer NOT NULL DEFAULT nextval(example_id_seq) PRIMARY KEY, name varchar NOT NULL, nick varchar NOT NULL ); ALTER SEQUENCE example_id_seq OWNED BY example_t.. 2020. 6. 29. mysql 접속이 느려졌을 때 대처방안. 어느날 mysql에 접속하려고 하니 접속이 현저히 느려진 현상이 발생했습니다. 이유를 몰라 구글링을 하던 중 다음과 같은 해결방법을 찾게 되었습니다. mysql.cnf (환경에 따라 파일명이 조금씩 다를 수 있습니다.)의 설정을 변경하는 것인데요. 해당 환경설정 파일에서 다음을 추가해주세요. [mysqld] skip-name-resolve 추가 후 mysql을 재시작 해주세요. 원인은 방화벽, 인터넷 환경, 라우팅 등 다양하게 있겠지만 한가지의 원인으로 외부에서 database 접근시 DNS의 문제가 있을 수도 있으며 해당 설정은 DNS호스트 이름 검색을 사용하지 않도록 설정하는 것이라고 합니다. 저의 경우는 해당설정을 하고 나니 이전 보다는 빠른 접속이 가능해졌습니다. 2020. 6. 25. postgresql에서 connect by 를 써보기. 오라클에서는 달력일자를 가져오는 쿼리를 구현할 때 connect by를 쓰면 쉽게 원하는 결과를 출력할 수 있습니다. select to_char(trunc(current_date, 'MM') + LEVEL -1, 'yyyy-MM-dd') from dual connect by level 2020. 4. 6. 디지털오션 초대코드 ( Digital ocean Referrals) https://m.do.co/c/cdf53d83c38e DigitalOcean – The developer cloud Helping millions of developers easily build, test, manage, and scale applications of any size – faster than ever before. www.digitalocean.com 디지털 오션에 따르면 해당 주소로 접근하여 회원가입을 하게되면 60일동안 사용가능한 100달러상당의 금액을 충전해준다고하네요. 참고로 가장저렴한 머신이 한달 5달러정도로 사용가능합니다. Everyone you refer gets $100 in credit over 60 days. 2020. 1. 8. 이전 1 2 3 4 5 6 7 ··· 12 다음