본문 바로가기

Back7

[Nginx] CORS 설정법 환경 : 리눅스 우분투 18.04 리눅스 터미널에 접근 후, 아래 명령어를 입력한다 sudo vi /etc/nginx/site-enabled/default 적용하고자 하는 호스트 location에 아래와 같이 추가해준다. location / { proxy_hide_header Access-Control-Allow-Origin; add_header 'Access-Control-Allow-Origin' '*'; . . . } 2021. 4. 27.
[NodeJS] MongoDB 연동하기 NodeJS와 Express 및 MongoDB 연동에 대한 포스팅입니다 # NodeJS 프로젝트 생성 터미널을 실행한 후 아래와 같이 프로젝트를 생성해줍니다. mkdir [생성할 프로젝트 폴더명] cd [생성한 프로젝트 폴더명] npm init -y // NodeJS 프로젝트 초기 설정 # 미들웨어 및 모듈 설치 npm i express mongoose morgan nodemon 저는 위와 같이 4개의 모듈을 설치해주겠습니다. 그럼 위 4개의 대한 모듈을 살펴볼까요. 1. express Express는 NodeJS를 위한 빠르고 개방적인 간결한 웹 프레임워크입니다. 자세한 설명은 expressjs.com/ko/(새창열림) 를 참고하시기 바랍니다. 2. mongoose 이번 포스팅에서 핵심이 되는 모듈입니.. 2021. 1. 28.
[Java] Preparestatement AddBatch를 사용하여 대용량 데이터 INSERT 처리 연구과제 중 160억건에 달하는 데이터를 기간내에 INSERT 해야하는 이슈가 있었다. 매번 PrepareStatement 를 열고 닫고 하는 시간에서 속도가 떨어지는 것을 확인하게 되었다. 어떻게 하면 Insert를 더 빠르게 할 수 있을까? 생각하다가 Preparestatement에 addbatch() 클래스를 이용하기로 결정했다. 동작방법은 쿼리를 즉시 실행하지 않고 메모리에 쿼리문을 올려 놓고 실행 명령을 기다리다가 명령이 떨어지면 DB에 한번에 쿼리를 날리게 되는 것이다. 아래는 사용예제 코드를 올려 놓았다. 많은 데이터를 빠르게 INSERT하고 싶을 경우 이 방법을 사용해보면 좋다. 실제 사용했을 당시 삼중 반복문안에 INSERT 로직이 담겨져 있었다. Connection 객체설정 부분에 추가.. 2020. 8. 3.
Java Static은 언제, 어떻게 사용해야 할까 static 은 언제, 어떻게 사용해야 할까? 각 인스턴스들은 독립적이고 서로 다른 값을 가지고 있다. 경우에 따라서 각 인스턴스들이 공통적으로 같은 값을 가지고 있어야 하는 경우 Static을 사용한다. Static이 붙은 변수 및 클래스는 프로그램 실행 시 메모리에 자동으로 생성되기 때문에 인스턴스를 생성하지 않아도 사용할 수 있다. 메소드 내 인스턴스 변수가 필요하지 않다면 static을 붙이는 것이 메소드 호출 시간을 줄일 수 있다. 게임을 하는 중 현재 내 캐릭터의 전체 체력과 현재 체력이 있다고 가정하자 전체체력에는 static을 사용해야하고 현재 체력에는 static을 사용하면 안되는 것으로 이해하면 쉽다. static은 공통적이라는 의미를 갖는다고 생각하면 된다. 공통적으로 관리해야하는 값.. 2020. 7. 29.
String 과 String Buffer 차이점을 알아보자 String Class String 클래스는 변경이 불가하다 (Immutable Class) concat(), trim(), substring() 등 메소드들은 새롭게 생성된 String 객체를 반환한다. 기존 String 객체가 가지고 있는 데이터는 변경되지 않고 사용 가능한 상태로 남는다. String.substring() 이런 변경이 일어나면, 기존 String 객체와 String.substring() 객체 두개가 존재하게 되는 것이다. StringBuffer Class StringBuffer 클래스는 변경이 가능하다 (Mutable Class) append(), insert(), delete() 등의 메소드를 통해 StringBuffer객체가 가지고 있는 문자열을 변경할 수 있다. 이때에는 Str.. 2020. 7. 29.
[NodeJS] PostgreSQL 데이터베이스 연동하기 현 직장에서 WebGIS 파트를 담당하고 있다. 공간함수(Spatial Functions)들을 사용하기에 PostgreSQL(PostGIS)를 주로 사용한다. Spring Legacy 또는 전자정부프레임워크를 이용해 REST 서버를 구축하여 이용하는 프로젝트들이 많아 NodeJS를 활용하여 무언가 만들어 볼 기회가 없었다. 최근 수천만건의 데이터를 분석하여 데이터를 분류한 후 DB에 넣어주는 작업을 해야할 일이 생겨 NodeJS로 처리해보기로 결심하게 되었다. 가장 기본적인 NodeJS 세팅과 PostgreSQL을 연동하는 방법에 대해 알아보자. 터미널을 실행한 뒤 아래와 같이 명령어를 입력한다 $ mkdir node-postgresql $ cd node-postgresql $ npm init -y 그러.. 2020. 5. 29.
[Java] Ajax 파일업로드(엑셀) 및 Poi 라이브러리 사용하기 Ajax 비동기통신을 사용해 엑셀파일업로드 후 Controller에서 엑셀데이터를 파싱해보자 업로드가 필요한 페이지 html파일에 아래와 같이 Form과 Input[type=file]을 만들어 줍니다. 페이지.html 데이터 업로드 엑셀파일만 업로드 가능(xls, xlsx) 이제 자바스크립트로 Ajax 코드블럭을 아래와 같이 생성해줍니다. 프로젝트 Maven pom.xml 에 아래와 같이 poi 라이브러리 및 파일 업로드 처리를 위한 라이브러리를 추가해줍니다. org.apache.poi poi-ooxml 3.17 commons-fileupload commons-fileupload 1.3.2 이제 컨트롤러로 넘어옵시다. 아래 소스는 파일업로드 처리 -> 업로드 한 파일을 Poi 라이브러리로 파싱합니다. @.. 2019. 11. 26.