PyCharm 설정에 대한 정리 tab 설정Settings > Editor > Code Style 메뉴 이동오른쪽에 Use tab character, Smart tabs 체크 Right margin 설정코드 포멧팅 시 120 columns 이상이면 개행이 된다. 개행이 되는 것이 싫다면 해당 사이즈를 늘려주도록 한다. Spelling Typo 오류 체크 기능 해제코드의 스펠링을 체크하는 기능인데 경고 표시가 불편하면 설정 해제한다. show line numbers 설정Settings > Editor > Appearance 선택show line numbers 체크한다. 단축키 설정이클립스 단축키로 사용하고 싶을 때에는 아래 설정에서 변경하면 된다.Settings > Keymap 이동 후 아래와 같이 변경
@RequestMapping의 value에 선언하는 스트링 값을 프로퍼티에서 관리할 수 있는 방법에 대해서 알아보았다. 아래와 같이 Controller에 선언되어 있는 @RequestMapping 이 존재한다.@RequestMapping(value = "/loginPage", method = RequestMethod.GET)public String loginPage() {return "login/loginPage";} 위의 맵핑 애노테이션 정보를 다음과 같이 수정한 후 테스트를 진행해 보았다.물론, properties 파일에는 cont.req.name=loginPage 라고 선언이 되어 있는 상태이다.@RequestMapping(value = "/${cont.req.name}", method = Requ..
레디스 서버 설치 한번 해보자. 1. redis 소스 다운로드wget http://download.redis.io/releases/redis-2.8.17.tar.gz 2. 압축 풀기tar cvfz redis-2.8.17.tar.gz 3. 압축푼 디렉토리로 이동cd redis-2.8.17 4. 컴파일make 5. src 디렉토리로 이동cd src 6. 서버 기동 (background로 구동하기 위해서 & 추가)$ redis-server & 7. redis 서버 접속$redis-cli 8. hello world 테스트127.0.0.1:6379> set hello "hello world"OK127.0.0.1:6379> get hello"hello world"
Dynamic Code Evolution VM (DCEVM) 우연하게 Hotswap 기능을 제공해 주는 DCEVM 오픈 소스를 알게 되었다.그것도 공짜이면서 설정이 복잡하지도 않고, 간단하며 hotswap이 빠르게 적용된다. 방금 적용 한 후 테스트를 해보니 hotswap이 정상적으로 동작하는 것을 확인했다.저장할 때 마다 hotswap을 진행하는데 reload 속도도 빠르고, 최초 애플리케이션 구동 시 오래 걸리지도 않는다. 설치 방법은 다음과 같다. 1. DCEVM 다운로드https://github.com/dcevm/dcevm/releases 페이지 이동 후 최신 버전을 다운로드 받는다. 2.다운로드 받은 installer-light-jdk7u51.10.jar 파일을 더블 클릭하면 다음과 같은 화면이..
작업 중 아래와 같이 빨간 딱지가 보였을 경우 해당 코드를 수정하기 위해서 내가 가장 많이 사용하는 기능이 CTRL + 1 Quick Assist 기능이다. 대게 내가 사용하는 패턴이 빨간 딱지가 생기면 마우스 커서를 해당 영역으로 옮긴 후 CTRL + 1을 통해 코드를 수정하곤 했는데 에러가 난 라인으로 커서를 이동시킬 수 있는 단축키가 존재했다.CTRL + , : 현재 커서에서 이전 에러 난 곳으로의 커서 이동CTRL + . : 현재 커서에서 이후 에러 난 곳으로의 커서 이동
빈 등록을 XML이 아닌 코드로 해야 할 일이 있어 찾아보니 DefaultListableBeanFactory를 이용하면 가능하다는 것을 알게 되었다. 스프링 웹 애플리케이션을 구동하면 다음과 같이 DefaultListableBeanFactory 클래스에서 생성된 빈 정보를 출력하는 것을 확인 할 수 있다.[2014-08-13 13:12:09 INFO o.s.b.f.s.DefaultListableBeanFactory][598] - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7c24d3f1: defining beans [loggingAOP,scheduleTest,appli..
feature 브랜치에서 작업을 진행하고 있는 중 다른 작업 요청이 와서 다른 브랜치로 checkout을 했는데 작업했던 소스가 보이는 현상이 발생했다. 내가 원했던 것은 새로운 브랜치로 변경을 하게 되면 기존 작업했던 소스 변경 및 새로 추가된 파일이 보이지 않는 것이였다. 이를 해결하기 위한 방법으로는 작업했던 소스들을 local repository에 커밋한 후 브랜치 변경을 하면 작업했던 소스들이 보이지 않게 할 수 있다. 하지만 완성되지 않은 코드를 커밋하는 것은 안 좋은 방법이기 때문에 이 방법은 그닥 추천하지 않는다. 이런 경우 Git에서는 어떠한 방법으로 가이드 하고 있는지 찾아보니 stash 라는 기능이 있다는 것을 알게 되었고, 다음과 같은 작업 절차를 이용하면 내가 원하는 상태에서 개발..
메이븐 멀티모듈 프로젝트로 개발을 하게 되면 jar 또는 war와 같은 형태로 서브 모듈을 구성하게 된다. jar 파일에는 대게 공통적으로 사용되는 java 코드들을 몰아 넣고, 메이븐 빌드 시 war 프로젝트의 WEB-INF/lib 디렉토리에 배포하여 사용되어지는데 jsp, css, js 같은 파일들도 이와 같이 사용하기 위해서는 어떻게 해야 하는지에 대해서 찾아보았다. 방법은 간단하다. (servlet 3.0에서만 가능)다음과 같이 META-INF 하위에 resources 디렉토리를 생성한 후 그 안에 여러 프로젝트에서 공유할 resource를 추가해 주면 된다.META-INF/resources/image/test.pngMETA-INF/resources/css/test.cssMETA-INF/resou..
javascript 라이브러리를 가져다가 이클립스 프로젝트에 추가하게 되면 프로젝트에 빨간 X 표가 들어오는 경우가 있다.물론 큰 문제가 되지는 않지만 이 빨간 X 표시로 인하여 java 파일에 오류가 있는지 확인을 못하는 경우가 있다.확인을 하지 못하는 이유는 이미 내 프로젝트에 javascript로 인하여 빨간 X표시가 나는 것을 당연하게 받아들이고 있는 상태이고, 어느 순간 Java파일에 에러가 발생하는 경우 이를 인지하지 못하는 상황이 발생하기 때문이다. 이로 인하여 서버가 구동이 안 되거나 잘못된 Java 파일을 commit 하는 경우가 발생할지도 모른다.그렇기에 javascript로 인하여 발생되는 빨간 X 표시는 가급적 없애도록 하는 편이 좋다. 설정은 간단하다.1. 프로젝트 선택 후 우 클..
Apache HTTP Client를 이용하여 multipart/form-data content-type으로의 요청을 서버로 보내는 유틸을 개발하게 되었다.흔히 웹 브라우저에서 파일 첨부를 한 후 "저장하기" 버튼을 클릭했을 때의 동작을 Java 코드로 구현하는 것 뿐이다. client와 server코드를 완성한 후 서버측으로 다음과 같은 정보로 요청을 보냈다.request URL : http://localhost:8080/file/upload업로드 파일 : test.txt, test1.txt 로그 레벨을 DEBUG로 설정한 후 파일 업로드 요청을 보내게 되면 다음과 같은 request raw 데이터가 남게 된다.실제 client 에서는 다음과 같은 데이터를 서버로 보내게 되는 것이다. multipart/..