Spring과 Quartz를 연동해서 개발해본다. Spring 3.2 와 Quartz 1.8을 연동한다. (Quartz 2.x 버전은 Spring 3.2 버전과 잘 안되므로 1.8로 한다)
1. pom.xml 에 추가
pom.xml에서 quartz와 연동하기 위해서 이클립스에서 생성된 spring 모듈이외에 다음의 spring 모듈이 필요하고, quartz를 추가한다.
2. QuartzJobBean클래스를 상속받는 클래스 작성
우리는 quartz에서 Job클래스를 만들고 그 클래스에서 Spring Controller 클래스에 접근하여 해당 메소드를 수행하도록 한다.
Controller 클래스를 다음과 같이 작성한다.
다음은 Job 클래스를 만들어보자. Quartz에서 Job를 생성하려면 QuartzJobBean를 상속해야 한다. 그런데 job1.class, job2.class 등 여러개의 Job 클래스를 만드는 경우가 많으므로 공통의 추상클래스를 만들어주고 Job 클래스에서 상속받아 처리하기 하자.
MyAbstractJob라는 추상클래스를 만들었다. TestController는 스프링 Controller이다. quartz에서 만든 Job클래스에서 스프링 controller 클래스로 접근하여 작업을 하고자 한다. 즉, applicationContext.xml에 bean 구현된 ‘testController’를 통해 접근이 가능하게 한다. 모든 Job클래스에서 같은 부분을 사용하니까 추상클래스에서 만들어주고 Job 클래스는 executeJob 만 각각 용도에 맞게 처리하면 된다.
3. xml 설정
스프링에서 사용하는 applicationContext.xml 만든다. 그리고 Job 클래스에 접근할 controller를 등록해준다.
설계 명세서에 의하면 JavaScript에서 수는 "이중정밀도 64비트 형식 IEEE 754 값"으로 정의됩니다. 이것은 몇가지 흥미로운 결과를 가져옵니다. JavaScript에는 정수와 같은 것이 존재하지 않으므로, C 나 Java 에서 수학 계산을 한 경험이 있다면 산술할 때 약간 조심할 필요가 있습니다. 다음과 같은 경우를 주의해야 합니다:
JavaScript는 또 특별한 값 Infinity와 -Infinity를 가지고 있습니다: Infinity를 수(number)에서 설명하는 이유는 이 Infinity는 typeof 함수를 이용해 데이터타입을 확인하였을때 number로 분류되기 때문입니다. NaN과 마찬가지로 수학 연산값이 주어지는경우 그 결과는 Infinity가 됩니다.
어떤 언어에서라도 기초가 되는 부분인 타입을 살펴보는 것부터 시작해봅시다. JavaScript 프로그램은 값을 다루고 해당 값은 모두 타입을 가지고 있습니다. JavaScript의 타입은 다음과 같습니다:
수 (Number)
문자열 (String)
부울 (Boolean)
함수 (Function)
객체 (Object)
추가로 기호(Symbol)이라는 것이 있지만 솔직히 그건 잘 모르겠습니다. ㅋㅋㅋ
그리고 약간 특별한 타입인 정의되지 않음(Undefined) 과 널(Null) 이 있습니다. 또한 객체의 특별한 종류인 배열(Array) 객체. 그리고 자유롭게 사용할 수 있는 날짜(Date) 객체 와 정규식(RegExp) 객체가 있습니다. 그리고 기술적으로 정확히 말해 함수(Function)는 단지 객체의 특별한 타입으로 취급됩니다. 따라서 타입 구조도를 정리해보면 다음과 같습니다
수 (Number)
문자열 (String)
부울 (Boolean)
기호 (Symbol)
객체 (Object)
함수 (Function)
배열 (Array)
날짜 (Date)
정규식 (RegExp)
널 (Null)
정의되지 않음 (Undefined)
그리고 또 몇 가지 오류 타입이 내장되어 있습니다. 그렇지만 처음 구조도를 기억하고만 있으면 다른 것들도 아주 쉽게 이해할 수 있을 것입니다.
여러 브라우저에서 공통적으로 사용되는 JavaScript는 최초 1995년 Netscape의 엔지니어(Brendan Eich)에 의해 만들어졌습니다. 그리고 그 이름은 모카 또는 LiveScript로 불리워 지기로 되어있었습니다. 하지만 Sun Microsystem의 Java 언어의 성공에 편승해보려고 두 언어 사이의 공통점이 거의 없음에도 불구하고, 마케팅의 사유로 JavaScript라는 이름을 가지게 되었습니다. 그래서 이 사건은 처음 개발을 입문하는 사람이나 IT 지식이 없는 사람들에게 혼란의 근원이 되어버립니다.
대부분의 프로그래밍 언어와는 달리, JavaScript 언어는 입출력 개념이 없습니다. 호스트 환경 아래에서 스크립트 언어로서 동작하도록 디자인 되어있고, 따라서 외부 세계와 통신하기위해 호스트 환경이 제공하는 메커니즘에 의존합니다. 대부분의 경우 일반적인 호스트 환경은 브라우저이지만 JavaScript 인터프리터는 Adobe Acrobat, Photoshop, SVG images, Yahoo! 위젯 엔진 등의 제품에서도 발견할 수 있고, node.js 와 같은 서버 측 환경에서도 찾을 수 있습니다. 하지만 JavaScript가 사용되는 분야는 계속 더 넓혀지고 있습니다. NoSQL 데이터베이스, Apache CouchDB, 임베디드 컴퓨터, GNU/Linux OS의 가장 유명한 GUI 인 GNOME 과 같은 데스크톱 환경에서도 JavaScript가 사용됩니다.
JDK (JAVA Development Kit) 우선 JAVA를 배우시기위해서는 JDK를 설치해야합니다. 언어를 쓰기위한 단어들을 컴퓨터에 입력한다고 생각하시면 됩니다.
Eclipse 단어들을 이용해 문장을 만들어주는 사전(?) 같은 개념이라고 생각하시면 됩니다. Eclipse의 SE 와 EE의 차이는 다음과 같다.
SE(Standard Edition) 말그대로 '기본판' 즉, 표준 개발 tool이라고 생각하면 될 것이다. 일반적인 프로그램을 만들때 주로 이용하며, 많은 개발자들이 사용한다. EE(Enterprise Edition) 주로 웹개발에 쓰인다. 엄밀히 말해 웹개발을 위한 tool은 아니다. 쉽게 말해 윈도우7 홈에디션이 SE라면, Ultimate 버전은 EE라고 볼 수 있다. 그만큼 SE보다 더 많은 기능을 가지고 있으며 특히 다른 개발환경과 연동할 경우에 많이 이용하게된다.
둘중 어떤 버전을 쓸지는 개인이 만들려는 프로그램에따라 다르겠지만, 아무래도 모든기능을 다할 수 있는 EE 버전을 쓰는것이 좋다고 판단된다.
결국 JDK 와 Eclipse 둘다 설치 해야 JAVA를 이용한 개발을 할 수 있고, 이후 Android 개발을 위해서는 Android SDK를 별도로 설치 해야한다.