전체 글
proxy 환경에서 npm, pip 사용
사내망을 사용하고 프록시 서버를 통해 외부 인터넷이 제어되는 경우가 많은데 이러한 환경에서 개발하다 보면 애플리케이션 별로 프록시 환경을 일일이 설정을 해줘야 하는 경우가 많습니다. NodeJS의 패키지 관리자인 npm의 경우 아래와 같이 프록시 서버를 설정하여 이를 해결할 수 있습니다. npm -g config set proxy http://xx.xx.xx.xx:8080 npm -g config set https-proxy http://xx.xx.xx.xx:8080 npm -g config set strict-ssl false -g 옵션은 global 환경 변수로 등록을 의미 python의 패키지 관리자인 pip의 경우 아래와 같이 프록시 서버를 설정하여 이를 해결할 수 있다 pip install -i..
Docker for Mac에서 docker machine 접속
Docker Toolbox에는 docker-machine 프로그램으로 vm에 접속 할 수 있었지만 Docker for mac은 HyperKit VM을 사용하기에 docker-machine으로 vm에 접속 할 수 없습니다. 따라서 HyperKit VM을 사용하려면 별도의 아래와 같은 명령어를 사용하면 접속이 가능합니다. geekshin:/Users/geekshin> screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 위 명령어를 실행하면 아래 화면 처럼 접속 됩니다. 이 상태에서 그냥 터미널을 닫은 후 재 접속하면 화면이 깨지게 되는데, 아래 key를 눌러 exit 해야 화면이 깨지지 않습니다. "CTRL+..
ubuntu remove old vmlinuz
우분투에서 kernel이 계속 업데이트 되다 보면 /boot 디렉토리에 이전 버전이 계속 쌓이게 됩니다. sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") ) 위 명령어를 실행하면, 현재 버전외에는 모조리 삭제 합니다.
스프링 Maven BOM Dependency
스프링을 사용하다보면 spring-context, spring-web, spring-tx 등등 각각의 라이브러리에 버전을 기재해서 pom.xml을 작성합니다. 이렇게 하다 보면 서로 다른 버전의 spring framework 라이브러리가 include될 수가 있습니다. 따라서 아래와 같이 maven에 spring bom(bill of materials)를 import하면 각기 다른 spring framework가 include되는 것을 방지할 수 있습니다. 또한, 필요한 spring framework 라이브러리 마다 별도의 버전을 기재할 필요가 없습니다. Maven "Bill Of Materials" Dependency It is possible to accidentally mix different ve..
스프링 ContentNegotiatingViewResolver
스프링 3.0부터 json, xml 에 대한 지원을 위해 ContentNegotiatingViewResolver라는게 새로 생겼는데 3.2부터 usage가 바뀌었습니다. 기존 설정방법은 아래와 같았으나, 7번 라인에서의 mediaType이 deprecated 됐습니다. * 이와 더불어 defaultContentType, favorParameter, IgnoreAcceptHeader 등도 deprecated 됐습니다. * Json 라이브러리가 이전에는 codehaus이었으나 fasterxml로 바뀌었습니다. 이를 바꾸면 아래와 같이 설정할 수 있다. 4번줄 대로 contentNegotiationManager라는 것을 사용해야 한다. 또한 codehaus의 json라이브러리 대신 19번줄 대로 바뀐 Json..
Apache httpd서버 mod_jk 사용
/etc/apache2/httpd.conf 에 mod_jk에 대한 설정 파일을 포함하도록 합니다. Include /etc/apache2/modjk/httpd-jk.conf 아래는 httpd-jk.conf 파일의 내용입니다. 1번 라인과 같이 mod_jk.so 라이브러리를 Load하고 7번 줄과 같이 mod_jk의 worker를 설정합니다. LoadModule jk_module libexec/apache2/mod_jk.so # We need a workers file exactly once # and in the global server JkWorkersFile /etc/apache2/modjk/workers.properties # Our JK error log # You can (and should) u..
Apache httpd서버 가상호스트 설정
/etc/apache2/httpd.conf 에 다음 줄을 추가합니다. Include /etc/apache2/extra/httpd-vhosts.conf ServerName "localhost" ServerPath / DocumentRoot "/Users/geekshin/git/ProjectFolder" ServerPath는 서블릿패스와 같은 경로의 Prefix 입니다.
jboss web.xml에서 시스템 프로퍼티 사용
jboss deploy하는 웹애플리케이션의 web.xml에서 JVM option으로 설정된 (ex. -Denv=local) 값이 참조될 수 있게 하려면 추가 설정이 필요합니다. 아래와 이미지 처럼 standalone.xml 파일의 항목을 true로 바꾸면 됩니다. true true false
jboss ajp port 사용
jboss에서 ajp port listener는 기본적으로 설정되어 있지 않습니다. 따라서 아래 이미지 처럼 standalone.xml에 ajp-listener를 추가하면 됩니다. ... ...
jboss 로깅 설정 (jboss-deployment-structure.xml)
jboss에 웹애플리케이션을 Deploy하면 기본적으로 jboss 로깅 모듈에 의해서 로깅이 관리됩니다. 이는 웹애플리케이션에 설정된 로깅이 따로 설정되지 않으므로 아래와 같이 jboss-deployment-structure.xml 파일을 WEB-INF 디렉토리에 만들어 주고 logging 모듈을 제외 시키면 웹애플리에션에 설정된 로깅 설정이 적용됩니다. 또한 jboss에는 slf4j 라이브러리가 기본적으로 포함되어 있기 때문에 이것도 제외합니다.