NodeJS, Gulp, Mocha, Bower 설치.

내일 Angular JS, Node JS를 이용한 웹서비스 개발하기 교육을 들으러 간다. 모임 전 몇가지 설치해오라는 메일이 있어서 정말 간단하게 내용없이 설치과정을 남겨두려고 한다. 설치해야 되는 목록. * Node.js – 클라이언트 사이드 언어인 자바스크립트를 사용해 서버를 개발할 수 있도록 해주는 플랫폼. * Gulp – 개발, 배포, 테스팅 도구(프론트엔드 Task 관리도구 라고 한다.) * Mocha – Node.js Continue reading NodeJS, Gulp, Mocha, Bower 설치.

SOP(Same-origin Policy)

A 도메인에서 B 도메인으로 AJAX 호출 시 오류가 발생한다. 이는 JAVASCRIPT 의 보안 정책 때문이라고 한다. 위 정책의 이름은 SOP(Same-origin Policy). 다른 도메인에 대해 허가를 하는 경우 Servlet(또는 컨트롤러)에 아래와 같은 코드를 추가한다. response.setHeader(“Access-Control-Allow-Origin”, “A 도메인”); response.setHeader(“Access-Control-Allow-Headers”, “X-Requested-With”); A 도메인에 대해 허가 하겠다는 의미! 아직 테스트는 안해봤다.

Not an ISO 8859-1 character:

요청이 들어오면 결과값을 JSON으로 보내주어야 하는 API를 만들고 있다. ServletOutputStream os = response.getOutputStream(); os.print(json); 위와 같이 했으나, Not an ISO 8859-1 character: 정 이런 오류가 발생했다. response.setContentType(“text/plain; charset=UTF-8”); response.setCharacterEncoding(“UTF-8”); 을 추가해줘도 여전했다. response.setContentType(“text/plain; charset=UTF-8”); response.setCharacterEncoding(“UTF-8”); PrintWriter out = response.getWriter(); out.write(json); 로 수정했다.

ASCII 코드 NULL Character 치환.

어처구니 없는 일이 일어났다. 디자이너분이 퍼블리싱된 것을 보내줬고 나는 갖다 붙였다. 그런데 왠 런타임익셉션이 딱!! (Unicode: 0x0) 가 문제였고.. 파싱할 수 없는 눈에안보이는 XML 문자가 들어있구나를 알게됐다. ASCII 코드표를 보니 0x0은 NUL Character를 의미한다. 저걸 어떻게 없애나 하고 구글링을 하니 바로 나온다. 정규식을 이용해 \x00 을 치환하란다. 공백으로 치환하니까 해결됐다. 저게 왜 들어가있는지는 알 수 Continue reading ASCII 코드 NULL Character 치환.

20160531_알수없는 400 ERROR.

평소에 잘되던 기능이 갑자기 400 error를 뿜어냈다. 네트워크 문제인가 싶어서 미루다가… 해결해야될 시점이 와서 좀 들여다봤는데. 어플리케이션에서는 오류가 발생하지 않는다. fiddler라는 놈으로 헤더정보를 좀 보던 중에(잘볼줄모름) Accept-Encoding : gzip, deflate, sdch 의 gzip 값이 눈에 띄었다. 왜 gzip 이 들어가있을까.. 하면서 호출되는 jsp에서 뭔가를 압축해서 내보낼만한놈을 제거하니까 제대로 동작한다. 방화벽 문제같은데 확실히 모르겠다. 아우 찝찝하다.

20160531_삽질

잠깐 동안 삽질을 열심히했다… 오늘 해야했던 일은 A 서버에 있던 DB(오라클)를 B 서버로 마이그레이션 후 어플리케이션에서 바라보는 DB를 B 서버로 변경 후 재시작. 1. 멍청하게 db schema 이름을 바꾸지 않아서 연결이 되지 않음^^ 그랬더니 no such column 오류 남발. 오라클은 기본적으로 schema 이름을 계정명으로 사용. 이게 왜안되나 삽질 여러번 후 선임님한테 물어봐서 잔소리듣고 해결. 2. Continue reading 20160531_삽질

Path Traversal Issue.

Path Traversal Issue. 웹 취약점 중 url/get-file?filename=../../../a.txt 이런식으로 파일 경로를 이용해 서버의 파일을 빼내는 공격이 있다. 구글링해보니 Path Traversal 또는 Directory Traversal 이라고 하는 것 같다. 아무튼 위와 같은 취약점이 제기되어서 Apache 설정을 변경하였고 추가적으로 어플리케이션에서 ../를 필터링 하도록 하였다. Apache 의 설정은 [apache]/conf/httpd.conf 파일의 의 Option 값중 Indexes, SymLink 였나…를 지웠다.

Apache Tomcat Error – Failed to start component

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] 톰캣 실행 시 오류가 발생하는 경우 web.xml 에 문제가 있는지 확인해본다. 나의 경우 web.xml 수정 시 필터 하나를 주석으로 막아놓고 URL 매핑을 삭제하지 않아서 없는 필터를 찾다가 오류가 발생했다. 끝.

eclipse – Tomcat Start가 안되는 이유를 모르겠다. – 다시 알았다.

9월 03, 2015 12:00:39 오후 org.apache.catalina.core.ApplicationContext log 정보: Initializing Spring root WebApplicationContext 9월 03, 2015 12:00:42 오후 org.apache.catalina.startup.TldConfig execute 정보: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping Continue reading eclipse – Tomcat Start가 안되는 이유를 모르겠다. – 다시 알았다.

JSP로 Excel 다운로드 시 CSS

JSP로 excel 다운로드 시 CSS 가 잘 적용이 안된다. 방금 적용하면서 주의사항 몇개 적어본다. 1. 기본적으로 CSS를 링크로 걸어 놓으면 먹지 않는다. 직접 엘리먼트에 먹이던지 해당 페이지에 <style></style> 태그를 이용해 적용하도록 한다. 2. <table> 을 이용한다. 그렇지 않은 경우 태그명이 그대로 텍스트로 출력되는 듯 하다. 3. 셀에 테두리를 적용하고 싶은 경우 썩 내키진 않지만 <table Continue reading JSP로 Excel 다운로드 시 CSS