Spring 3.2 부터 이 @ControllerAdvice가 생겼다고 한다.컨트롤러 서비스 퍼시스턴스 단에 발생할 수 있는 예외를 이 어노테이션을 지정한 클래스에서 공통적으로 관리 해 줄 수 있다. 사용 방법은 간단하다.(세부적으로 들어가면 간단하지 않음.) 보는 것처럼 스프링 빈을 정의해주는 config파일에 구문을 넣어준다.context:component-scan이라는 것은 bean엘리먼트를 정의하지 않아도 자동으로 해당 패키지에 있는 @compoenet, @service, @controller 등을 알아서 스캔해 인스턴스를 생성해준다. 안에 있는 context:include-filter는 스프링이 제공하는 기본필터를 사용하지 않고 @ControllerAdvice의 클래스를 사용하겠다는 뜻.. 다음..
Thread 쓰레드는 프로세스에 포함되는 자원이다.프로세스란 실행중인 프로그램이며, 프로그램을 실행할 때 필요한 자원이 하나 이상의 쓰레드이다. 하나의 프로세스에 하나의 쓰레드만 있다면 싱글 쓰레드 프로세스라 부르고, 하나의 프로세스에 하나 이상의 쓰레드가 있다면 멀티 쓰레드 프로세스라고 부른다.옛날에 쓰던 DOS환경을 보통 싱글쓰레드, 요즘 쓰는 windows환경을 멀티쓰레드로 이해하면 되겠다. 자바에서 콘솔 프로그램을 짤 때 public staitc void main(String[] args)라는 메서드가 있는데 이것조차도 하나의 쓰레드이다. 아래의 쓰레드 예제는 쓰레드를 생성하는 두가지 방법을 코딩한 것이다.쓰레드를 생성하는 방법은 Runnble인터페이스를 구현하는 방법과 Thread클래스를 상속하..
소스코딩을 하면서 JDBC연결에 필요한 username, password, url 같은 접속 정보나 로컬호스트와 서버의 파일 저장 경로같은 설정을 기존에는 MessageSource기능을 이용해서 사용하였는데..이 방법의 단점은 자바의 controller단에서 request객체를 이용하여 서버의 url을 가져온 다음에 조건문으로 localhost나 127.0.0.1, 192.168.x.x 같은 호스트가 포함되어 있으면 로컬이라하고 아니면 서버로 구분한 문자열을 service단으로 넘겨서이문자열을 플래그 값으로 해서 실서버 환경인지 로컬작업 환경인지를 구분하는 조금 복잡한 구조를 가지고 있었는데.. 어떻게 다른 방법이 없나 하다가 profile이라는 기능을 발견하게 되었다. 사용방법은 의외로 간단하면서 유용..
본인의 OS : centos 6.X 설치 ### 필수 패키지 설치 ### # yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel ### perl-Text-CSV_XS 설치 (2가지) ### 1) 직접 rpm으로 설치하는 방법 http://pkgs.repoforge.org/perl-Text-CSV_XS/ 에서 최신 버전을 확인하고 설치해준다. # rpm -Uvh http://pkgs.repoforge.org/perl-Text-CSV_XS/perl-Text-CSV_XS-0.80-1.el6.rf.x86_64.rpm 2) rpmforge repo 를 추가하여 yum으로 설치하는 방법 # rpm -i ht..
DNS 서버의 잘못된 설정을 이용한 분산 반사 서비스 거부 공격 (DRDoS 공격)의 형태인증 절차가 존재 하지 않는 DNS 서버의 경우 Reflector로 사용되어 공격에 사용될 수 있습니다. 방법(vi /etc/named.conf) recursion no;additional-from-auth no; additional-from-cache no;Then restart named so that it will use the new secure options:/etc/init.d/named restart