'나만의 작업/dW'에 해당되는 글 30건
- [dW] JUnit과 TestNG 자세히 살펴보기 2009/01/31
- [dW] 사람을 위한 자동화: 연속 테스팅 2009/01/30
- [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) 2009/01/29
- [dW] iBatis에 관한 글들 2008/12/30
- [dW] Dojo concepts for Java developers 2008/12/27
- [dW] IBM campus wizard 모집 2008/12/22
- [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) 2008/12/09
- [dW] 아파치 더비를 이용한 오프라인 Ajax 2008/11/13
- 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) 2008/11/05
- [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) 2008/10/30
- [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) 2008/10/29
- [dW] 다시 보는 자바스크립트의 역사 (2) 2008/10/28
- [dW] RESTful한 웹 서비스 만들기 (2) 2008/09/29
- [dW] XML을 사용하는 좋은 습관 열가지 (4) 2008/09/24
- [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) 2008/09/23
- [dW] Groovy 유창하게 쓰기 (2) 2008/08/06
- [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) 2008/08/01
- [dW] Ajax 성능 도구 2008/08/01
- [dW] 아파치 메이븐 2 시작하기 (4) 2008/07/11
- [dW] REST 서비스 작성하기 (2) 2008/06/30
[dW] JUnit과 TestNG 자세히 살펴보기
Posted at 2009/01/31 22:40// Posted in 나만의 작업/dW테스트 픽스쳐는 특정 로직이 테스트 전후에 실행되도록 보장하는 하나의 약정이므로 손쉽게 재활용할 수 있다.
JUnit 4 이전 버전에서는 setUp() 메소드에서 각 메소드마다 필요한 일들을 명시하면, 각 테스트 메소드가 실행되기 전에 각각 한번씩 실행이 되었다.
하지만 픽스쳐에 따른 상당한 오버헤드가 있었고 이 메소드를 한번만 하게 하려면 한번만 실행되도록 지정하는 방법이 번거로웠지만, JUnit 4에서는 모든 테스트에 대해 또는 전체 클래스에 대해 한 번 픽스쳐를 실행하거나, 아예 실행하지 않을 수 있도록 좀더 유연해 졌다.
클래스를 겨냥한 @BeforeClass, @AfterClass : 한 클래스에서 한번만 일어나도 되는 일들을 정의
메소드를 겨냥한 @Before, @After : 각 메소드마다 한번씩 일어나야하는 일들을 정의
매개변수 테스트 작성하기 5단계
- 매개변수를 사용하지 않는 일반 테스트를 작성한다.
-
Collection유형을 반환하는static피더 메서드를 작성하고@Parameter주석으로 표시한다. - 첫 번째 단계에서 정의한 일반 메서드에 필요한 매개변수 유형에 대한 클래스 멤버를 만든다.
- 이러한 매개변수 유형을 사용하고 이를 세 번째 단계에서 정의한 클래스 멤버와 연결하는 생성자를 만든다.
-
@RunWith주석을 통해Parameterized클래스와 함께 실행할 테스트 케이스를 지정한다.
exception 테스트 : 특정 유형의 예외가 발생할 경우에 테스트가 통과하는 것.
public void testDivisionByZero() {
try {
int n = 2 / 0;
fail("Divided by zero!");
}
catch (ArithmeticException success) {
assertNotNull(success.getMessage());
}
}
기존에 이렇게 예외처리를 테스트하였다면, JUnit 4에선,
public void divideByZero() {
int n = 2 / 0;
}
이렇게 exception을 테스트할 수 있다.이전에 작성했던 테스트 메소드가 지금 당장 무시하고 싶다면!!!
테스트 무시하기
@Ignore를 이용하자~
Timed test
@Test(timeout=2000)
public void remoteBaseRelativeResolutionWithDirectory()
throws IOException, ParsingException {
builder.build("http://www.ibiblio.org/xml");
}
TestNG
Junit4와 마찬가지로 네 가지 유형의 설정 메소드들이 있다.
beforeTestClass메소드 : 테스트 메소드가 실행되기 전, 클래스가 인스턴스로 된 후에 실행된다.afterTestClass메소드 : 클래스의 모든 테스트 메소드가 실행된 후 이 메소드가 실행된다.beforeTestMethod메소드 : 클래스의 모든 테스트 메소드가 실행되기 전에 이 메소드가 실행된다.afterTestMethod메소드 : 클래스의 모든 테스트 메소드들이 실행된 후 이 메소드가 실행된다.
그림 2. 테스트 클래스 수명주기
exception 검사
@ExpectedExceptions annotation을 이용.
public class NumberUtilsTest
{
@Test(groups = {"tests.math"})
@ExpectedExceptions(NumberFormatException.class)
public void test()
{
NumberUtils.createDouble("12.23.45");
assert false; //shouldn't be invoked
}
}
추가 : 2009.2.20
기존의 @ExpectedExceptions는 deprecated되어서
@Test(expectedExceptions = " ... ")
이렇게 쓰라고 한다.
@Test(expectedExceptions = NumberFormatException.class)
참고
JUnit 4로 뛰어들기
An early look at JUnit 4
예제를 통한 TestNG 살펴보기
테스트엔지로 자바 단위 테스트를 쉽게!
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009/01/31 |
|---|---|
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
[dW] 사람을 위한 자동화: 연속 테스팅
Posted at 2009/01/30 21:44// Posted in 나만의 작업/dW'나만의 작업 > dW' 카테고리의 다른 글
| [dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009/01/31 |
|---|---|
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
[dW] 초보자를 위한 유닉스 팁과 기교, Part 4
Posted at 2009/01/29 10:57// Posted in 나만의 작업/dW# 기호는 주석 행을 뜻한다. (쓸일이 없어서 몰랐군..)bc는 임의의 정밀도를 제공하는 계산기 언어(arbitrary precision calculator language)로, 대다수 유닉스 배포판에서 제공한다. 출력 진법을 지정할 수 있으므로 10진법 이외에 다른 진법으로 결과를 출력할 때 유용하다.<<와 제한 문자열(limit string)을 지정한다. 제한 문자열은 공백이 없는 한 어떤 문자열이라도 괜찮다.현재 디렉터리에서 파일 이름이 정확히 두 자인 파일을 모두 찾아 .ppm이라는 확장자를 추가한다.
for i in ??; { mv $i $i.ppm; }
tar와 서브셸을 사용하여 디렉터리 트리 전체를 복사한다. 파일 권한은 그대로 유지한다.( cd source ; tar pcf - * ) | ( cd target ; tar pxvf - )
이진수를 읽어 십진수로 출력한다.
read BINLOC;echo $((2#$BINLOC))
/usr/local 디렉터리에서 확장자가 .mp3인 파일을 모두 찾은 후 각 파일을
bzip2유틸리티로 압축한다. 이름에 공백이 들어가는 파일도 포함한다.find /usr/local -name "*.mp3" | while read name ; do bzip2 $name; done
파일에서 10진수 값 전부를 16진수로 출력한다.
cat file | while read number ; do echo $((0x$number)); done
파일에서 10진수 값 전부를 16진수로 변환하여 새로운 파일에 저장한다. 새 파일 이름은 원래 파일 이름에 .hex 확장자를 추가한다.
cat file | while read number ; do echo $((0x$number)) >> file.hex; done
루프를 열 번 돌면서 command를 추가한다. command 인수로 0, 10, 20, ..90까지 숫자를 넘긴다.
i=0; while [ $i -ne 100 ]; do command $i; i=$(($i+10)); done
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009/01/31 |
|---|---|
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
-
2009/01/29 11:53 [Edit/Del] [Reply]다녀간 것도 이제야 확인을 했네^^
유닉스 명령어....... 정말 지겹게 썼고.. 많이 안다고 생각했었는데...
그 길을 떠난지 1년도 채 안되어 거의 다 잊어가네;;
다시 보면 기억이나 하려나 모르겠다..^^
당장 다음 월요일인 2월 2일에 출국예정이기에.. 마음만 무거워~
하연이와 하연맘을 두고.. 홀로 3개월간 나가려니..흑흑..ㅠㅠ
새해 복 많이 받구~
행복만으로 가득한 한해가 되길 바래^^-
2009/01/30 21:45 [Edit/Del]앗!! 곧 있으면 출국하시는군요..3개월동안 몸건강하시구..
늦었지만 새해 복도 많이 받으시구,
그곳에서도 안부 전해주세요~^^
-
[dW] iBatis에 관한 글들
Posted at 2008/12/30 10:44// Posted in 나만의 작업/dW'나만의 작업 > dW' 카테고리의 다른 글
| [dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009/01/31 |
|---|---|
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
[dW] Dojo concepts for Java developers
Posted at 2008/12/27 01:29// Posted in 나만의 작업/dW자바 개발자를 위한 Dojo 컨셉 - Declaring classes and setting context
자바에 익숙한 개발자가 Dojo를 이용한 자바스크립트를 사용할 때 차이점과 혼돈을 해결해주기 위해~ Dojo 컨셉을 설명해 주는 영문 article이 있길래~ 간추려 남겨봅니다.
1. The JavaScript hash
Hash는 curly brace (
{})사이에 attribute의 set으로 표현된다. hash는 6개의 attribute로 이뤄져 있다. string, integer, boolean, undefined attribute, 다른 hash, function
Listing 1. Example JavaScript hash
var myHash = {JavaScript는 weakly type이라는게 중요한데, 각 attribute는 value가 이름에 linked될 때 초기화된다.
str_attr : "foo",
int_attr : 7,
bool_attr : true,
undefined_attr : null,
hash_attr : {},
func_attr : function() {}
};
2. Functions are objects
JavaScript function은 다른 function에 argument를 set, referenced, passed 할 수 있다는게 object와 같다. Java method와 JavaScript function사이의 중요한 차이점은 JavaScript function은 다른 context에서 실행될 수 있다. Java programming은 keyword인 this로 쓰여진 class의 현재 instance를 참조하지만, JavaScript function이 사용될 때 this는 function이 실행되고 있는 context를 참조한다.
dojo.declare(
"myClass",
null,
{}
); |
var myClassInstance = new myClass(); |
dojo.declare(
"myClass",
null,
{
globalComplexArg : { val : "foo" },
localComplexArg : null,
constructor : function() {
this.localComplexArg = { val:"bar" };
}
}
);
// Create instances of myClass A and B...
var A = new myClass();
var B = new myClass();
// Output A's attributes...
console.log("A's global val: " + A.globalComplexArg.val);
console.log("A's local val: " + A.localComplexArg.val);
// Update both of A's attributes...
A.globalComplexArg.val = "updatedFoo";
A.localComplexArg.val = "updatedBar";
// Update B's attributes...
console.log("A's global val: " + B.globalComplexArg.val);
console.log("A's local val: " + B.localComplexArg.val);
|
Figure 3. Class attributes

dojo.declare(
"parent",
null,
{
helloWorld : function() {
console.log("parent says 'hello world'");
}
}
);
dojo.declare(
"child",
parent,
{
helloWorld : function() {
this.inherited(arguments); // Call superclass method...
console.log("child says 'hello world'");
}
}
);
var child = new child();
child.helloWorld();
|
Figure 4. Output from invoking superclass method in Dojo
dojo.declare( "myClass", null, { targetArray: null, constructor: function(source) { // Initialise in constructor to avoid making global this.targetArray = []; // Copy each element from source into target... dojo.forEach(source, function(item) { this.targetArray[this.targetArray.length] = item; }, this); }, } ); |
dojo.declare( "myClass", null, { subscribe : function() { dojo.subscribe("publication", this, function(pub) { this.handlePublication(pub); }); }, handlePublication : function(pub) { console.log("Received: " + pub); } } ); |
Listing 13. Setting context in dojo.connect
dojo.connect(obj1, "methodA", obj2, "methodB"); |
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009/01/31 |
|---|---|
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
[dW] IBM campus wizard 모집
Posted at 2008/12/22 17:49// Posted in 나만의 작업/dW
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009/01/30 |
|---|---|
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
[dW] XML 구문을 분석할 때 발생하는 오류 처리하기
Posted at 2008/12/09 10:31// Posted in 나만의 작업/dW프로그램을 짜는 사람이 사용자입장에서 보아도 제일 화가나는 프로그램은 이런 오류가 있다! 하고 그냥 죽어버린다거나, 심지어는 오류를 뱉어내지도 않고 그냥 죽는 프로그램일 것이다.
이러한 오류를 처리하기 위해선, 우수한 오류 처리 코드 요건이 있는데..
- 사용자를 우선한다.
- 뉴저지 주에 사는 컴퓨터 사용자든, 3층에 있는 웹 개발자든, 뉴욕 증권 거래소 소장이든, 일단 내 고객이 누구인지 파악하고나면, 해당 고객이나 고객층을 고려하여 코드를 작성한다. 내 고객이 일반 컴퓨터 사용자라면 프로그래밍 용어를 배제하고 이해하기쉬운 오류 메시지를 제공한다.
- (꼭 필요하지 않는 한) 프로그램 흐름을 방해하지 않는다.
- 문제를 돌아가는 길을 찾는다. 프로그램을 죽이거나, “죄송합니다. 운이 없군요”라는 문구를 내놓거나, 호출 스택 내용을 쏟아내는 방식은 오류 처리가 아니다. 이런 행위는 오류 보고다. 진짜로 어쩌지 못하는 최악의 상황에서만 프로그램 흐름을 완전히 중단한다. 파일이 완전히 누락되었거나, 자료가 복구하지 못할정도로 손상되었거나, XML 문서에서 필수 엘리먼트가 빠졌을 때만 사용자 작업을 중단한다. 고속도로 네다섯 곳이 홍수로 끊기고뒷골목이 완전히 수몰되었을 경우에만 가는 길을 중단하라는 뜻이다. 즉, 진정한 재난이 아니라면 프로그램을 중단하지 말라는 뜻이다.
- 유용한 정보를 제공한다.
- 오류를 어떻게 처리하든 오류 처리 코드는 유용한 정보를 제공해야 한다. 프로그램 사용자가 원했거나 요청한 정보를 제공하거나애초에 프로그램이 제공하려던 정보를 제공한다면 더 이상 바랄 나위가 없다. 우아하게 복구하기 어렵거나 다른 방식으로 처리해야한다면 프로그램 사용자에게 현재 상황을 알려준다. 드물게 프로그램을 완전히 중단해야 한다면 문제 진단에 도움이 될만한 정보를 제공한다.
SAX에서 오류를 처리하는 핵심 인터페이스는
org.xml.sax.ErrorHandler
public void warning(SAXParseException exception) throws Exception public void error(SAXParseException exception) throws Exception public void fatalError(SAXParseException exception) throws Exception
프로그램에서 의미 있는 오류 정보를 전달하는 가장 쉬운 방법이SAXException으로 넘길 예외 클래스를 직접 정의하는 방법인데 getException(), getMessage(), getString()을 이용하여 의미있는 문구를 작성하는
것이 좋다.
코드에서는,
- 오류 메시지가 구체적이고 이해하기 쉬우며 유용하다. 또한 프로그래머가 아니라 실제 사용자에게 제공하는 정보다.
- 상태 코드와 오류 페이지 등 프로그램 관련 정보를 상위 응용 프로그램에 제공한다. 따라서 XML 구문분석 컴포넌트를 호출한 상위 프로그램이 판독 불가능한 호출 스택 대신 대처 가능한 정보를 얻는다.
- 심지어 재지정 페이지도 유용한 정보를 제공한다. 로그 파일에 기록하거나 나중에 프로그래머가 대응할 수 있도록 버그 보고서를 자동으로 생성할 때 필요한 정보를 포함한다.
더 자세한 내용은, XML 구문을 분석할 때 발생하는 오류 처리하기 이곳에서~
오류를 효율적으로 처리하는 방법은 아직 나에겐 어렵지만 좀 더 심혈을 기울여 짜는 것이 나중에도 좋고 프로그램에도 좋을 듯한 뻔한 이야기이겠지?
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 초보자를 위한 유닉스 팁과 기교, Part 4 (2) | 2009/01/29 |
|---|---|
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
[dW] 아파치 더비를 이용한 오프라인 Ajax
Posted at 2008/11/13 10:06// Posted in 나만의 작업/dW아파치 더비를 이용한 오프라인 Ajax
apache derby인 Java 1.6에선 JavaDB로 포함되어 있는 database를 클라이언트 측의 캐시로서 이용하는 예가 나와 있습니다.
derby에 대해서, 또는 Ajax에 대해서 많은 부분이 나와 있는 건 아니지만, derby를 오프라인일 때 로컬 데이터캐시로 활용할 수 있다~
라는 아이디어를 보여주는 것 같군요. 비중으로 따지면 applet이 더 많이 나와 있는듯...하군요..
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] iBatis에 관한 글들 (0) | 2008/12/30 |
|---|---|
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요.
Posted at 2008/11/05 21:58// Posted in 나만의 작업/dW그러나 전 잠시 주말에 지방에 다녀와야해서 참석은 못하겠지만, 수다 예고편을 보니 재미있겠는데요..
개발자들도 예쁜 옷 입고 앉아서 할려나?ㅎㅎㅎㅎㅎ 머 거기까진 아니겠지만, (밑의 그림을 보니..)
못가는 게 너무 아쉽습니다.ㅠㅠㅠ
참가 신청은 전자우편(dWkorea@kr.ibm.com)으로 해주시고, 신청시 이름, 소속, 연락처 등을 적어서 보내주시기 바랍니다.
장소 관계상 참가 신청은 선착순 200명으로 한정하니, 빠른 신청을 부탁드립니다.
"개발자들의 스타트업과 창업", "나는 어떤 일을 잘 할 수 있는가?", "오픈소스에 대한 나의 생각", "개발자들의 제태크", "개발자와의 연애, 불가능한가?", "여성개발자의 커리어패스", "개발자와 QA, 친해지길 바래" 등 이외에도 참가자들이 즉석에서 주제를 제안할 수 있습니다.

'나만의 작업 > dW' 카테고리의 다른 글
| [dW] Dojo concepts for Java developers (0) | 2008/12/27 |
|---|---|
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
[dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기
Posted at 2008/10/30 10:10// Posted in 나만의 작업/dW자바스크립트 개발 툴킷(JSDT) 살펴보기
Javascript는 loosely typed이라 에디터를 제공하기 위해선 어려움이 많기 때문에 정말 많이 쓰이는 언어이지만 에디터는 그에 반해 너무 없는게 안타까운게 현실이지요.
JSDT는 자바스크립트 언어를 모델링하고 클래스 구조를 실시간으로 반영한다고 하는데 잘~~~반영해 줄련지...
<JSDT 디자인>

에디터로서 반드시 갖춰야 할 덕목! 자동완성, 문법에러, 플로우분석, 퀵픽스등의 기능을 제공하고,
- 문법 하이라이팅
- 폴딩/라인 넘버
- 전체 아웃라이닝, 클래스 , 함수, 필드 보여주기
- 대응하는 소괄호/중괄호 확인하고 하이라이팅
- 소괄호, 중괄호, 들여쓰기 자동 완성
- Mark occurrence
- 주석 달기(한 줄, 블록)
- JsDoc 엘리먼트 생성하기
- do, for, try/catch, while 문으로 둘러싸기
- 사용자가 설정 가능한 템플릿 완성
- 함수 추출/함수 시그너처 변경
- 들여쓰기 바로잡기
- 선언 열기
- 타입 계층 구조 열기
- 호출 계층 구조 열기
- 코드 포매팅 커스터마이징
- 전체 검색
- 리팩터링/이름 바꾸기/이동하기
- 브레이크 포인트 기능 지원
- 파이어폭스, 인터넷 익스플로러, 그리고 ECMA-3에서 가용한 JsDoc으로 정의된 브라우저 라이브러리
- JsDoc과 자바스크립트 프로토타입 정의를 사용하여 사용자가 정의한 라이브러리 지원
- 라이브러리 이미지 지원
- ATF 프로젝트를 통한 디버깅 지원
이런 기능을 제공한답니당~
참고 : JSDT wiki
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] IBM campus wizard 모집 (0) | 2008/12/22 |
|---|---|
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
[dW] 자바로 만든 자바스크립트 엔진, 리노
Posted at 2008/10/29 10:26// Posted in 나만의 작업/dW리노(Rhino)는 1997년 넷스케이프에서 '자바로 만든 자바스크립트 엔진'으로 스파이더 몽키(SpiderMonkey)를 본따 개발되었다.
자바 1.6에서는 javax.script 패키지에 포함되어 있다.
리노는 자바스크립트에서 자바 라이브러리를 사용할 수있게 해주고, 자바에서 자바스크립트 코드를 불러오고 실행할 수 있다. 자바 바이트코드로 컴파일할 수 있을 뿐 아니라 인터프리터를 이용할 수도 있다.
이런 내용이!
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008/12/09 |
|---|---|
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
[dW] 다시 보는 자바스크립트의 역사
Posted at 2008/10/28 11:23// Posted in 나만의 작업/dW하루종일 자바스크립트하고 노는데, 늘~ 알수없는 녀석이 어떻게 살아왔나 익히 들어와서 대충 알고있긴 하지만, 이렇게 정리되어 있어 한번 쭈욱 읽고나니 조금 더 묘한 느낌(지금 째즈음악을 듣고 있어서 그런가...)이 납니다.
역사 얘기도 나오고 자바스크립트의 특징도 살짝 나오고,, 지금은 비록 모습이 많이 없지만, 프로토타입 기반 객체지향 개념을 내세운 자바스크립트, 아이오(Io) 언어에 의해 계승되고 있다는 셀프(self)언어를 꺼내며 프로포타입 기반의 객체지향과 클래스 기반의 객체지향에 대해서도 살짝 나오고 있습니다.
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008/11/13 |
|---|---|
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
[dW] RESTful한 웹 서비스 만들기
Posted at 2008/09/29 14:49// Posted in 나만의 작업/dWRESTful한 웹 서비스 만들기(REST와 RESTlet 프레임워크에 대한 소개)
REST란 동사(verb)라고 볼 수 있는 이러한 요청들과 명사(noun)라 볼 수 있는 자원을 연결함으로써 행동(behavior)을 논리적으로 표현한다.
* CRUD/HTTP 간의 대응
| 애플리케이션 작업 | HTTP 명령 | ||
|---|---|---|---|
| Create |
POST
|
||
| Read |
GET
|
||
| Update |
PUT
|
||
| Delete |
DELETE |
장점
메시지가 아닌 이름이 부여된 자원에 REST가 의존하기에 애플리케이션 디자인 측면에서 볼 때 느슨한 결합이라는 게 쉽게 가능해지는데, 이는 하부를 떠 받치는 기술이 무엇인지 노출되지 않기 때문이다.
REST의 아름다움은, 자원은 어떤 것이든 될 수 있고 표현될 수 있는 방식도 다양하다는 점이다. 바로 전에 보았던 예에서 자원은 HTML 파일이었기에 응답 형식도 그에 따라 HTML이 될 것이다. 하지만 자원이 XML 문서이거나, 직렬화된 객체이거나, 혹은 JSON 표현법이었을 수도 있다.
그게 뭐든 상관없다. 중요한 건 하나의 자원은 이름이 부여된다는 것 그리고 자원과의 통신은 자원의 상태에 영향을 주지 않는다는 것이다. 상태에 영향을 미치지 않는다는 것은 중요하다. 상태 없는(stateless) 상호 작용이 확장을 쉽게 해주기 때문이다.
Restlets 프레임워크
첫째, Restlet은 HTTP 혹은 HTTP가 이야기하는 쿠키, 세션과 같은 실질적인 상태와 관련한 것에 대해 직접적인 개념을 갖고 있지 않다. 둘째, Restlet 프레임워크는 초경량화되어 있다. 알게 되겠지만 완벽한 기능을 갖춘 RESTful한 애플리케이션은 핵심 Restlet 기본 클래스 몇 개에서 확장(extends)한 소수의 클래스들만으로도 만들 수 있다. 설정과 배치는 기존 컨테이너 모델을 이용할 수 있기 때문에 간단히 web.xml 파일 정도만 고쳐 표준 웹 아카이브(WAR) 파일을 배치한다.
'나만의 작업 > dW' 카테고리의 다른 글
| 디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008/11/05 |
|---|---|
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
[dW] XML을 사용하는 좋은 습관 열가지
Posted at 2008/09/24 10:34// Posted in 나만의 작업/dW어쩜 이런글은 지나다니다 많이 본 글인 것 같은데..
오늘도 역시 지나다가 한번 훑어보고 나중에 보기위해 포스팅합니다.
[dW] XML을 사용하는 좋은 습관 열가지
1. XML과 인코딩을 정의하라
<?xml version="1.0" encoding="us-ascii"?> 이런식으로 써주면 XML 구문분석기가 문서를 잘못 분석할 가능성을 줄일 수 있다.
2. DTD 또는 XSD를 사용하라
DTD를 정의하면 XML 문서 구조를 검증해 문제를 찾아내기 쉬워진다.
일부 XML 편집기는 자동 완성 기능에 DTD를 요구하는 반면, 스키마를 사용하면 실제 문서 구조를 설계하기가 훨씬 편리해진다. DTD를 사용할지 XSD를 사용할지 여부는 개발자가 처한 상황에 달렸다.
3. 항상 검증하라
JSLint는 자주 쓰는데 xmllint도 있군요. Validation
xmllint는 libxml2 툴킷에 포함되며, libxml2 툴킷은 리눅스, 유닉스(UNIX®), 맥 OS X에 기본적으로 들어있고, 윈도(Windows®) 플랫폼에서는 별도로 툴킷을 내려받아야 한다고 하군요.
4. 때로는 검증으로 부족하다
5. 엘리먼트냐 속성이냐
쓸 때 맨날 고민하는 것 중 하나.. 엘리먼트로 할까? 속성으로 할까?
의견이 분분한데 이 문서에선
"일반적으로는 파일 내부에서 엘리먼트를 사용해 정보를 기술하는 편이 낫다. 즉, 자료를 태그 사이에 정의하는 편이 낫다. 속성은 기술하고자 하는 자료에 조건을 추가할 때 사용해야 한다." 이렇다고 한다.
6. XPath를 활용해 정보를 찾자
7. 정보 인출을 위해 반드시 구문분석기를 사용할 필요는 없다
8. SAX가 DOM보다 나은 경우
문서가 크거나 문서를 변환할 생각이라면 SAX가 낫다.
반면, 구조를 저장하거나 기록하려는 경우에는 SAX가 적합하지 못하다. 또는 문서 전체를 이해한 다음에 문서에서 특정 정보를 추출하려는 경우에도 (예를 들어, 전체 문서에서 연락처 하나만 찾는 경우에도) 마찬가지다.
이 때는 XML 문서 전체를 읽어 자료 구조를 판독한 후 (필요에 따라) 엘리먼트를 출력하는 복잡한 처리 과정을 구현해야 한다.
9. DOM이 SAX보다 나은 경우
DOM은 XML 구조를 보존하고 이해하므로 응용 프로그램에서 구조 전체나 개별 엘리먼트를 쉽게 참조하고 조작할 수 있다.
반면, DOM은 파일을 스트림으로 처리하기 어렵다는 단점이 있다.
또한 DOM은 문서 전체를 메모리로 읽어들이므로 속력이 느려지고 메모리가 많이 필요하다. 반면, 문서 전체를 분석해 메모리에 보존하므로 장점도 존재한다.
10. 좋은 XML 편집기를 사용하라
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 자바스크립트 개발 툴킷(JSDT) 살펴보기 (2) | 2008/10/30 |
|---|---|
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
-
2008/09/24 13:18 [Edit/Del] [Reply]버리님~ 스터디할 자료 말고 일상적인 이야기나 사진은 안올리시나요? ^^
블로그에서 그런거 본지 꽤 된거 같네요~ 바쁘셔서 그러신지~ ㅎㅎ-
2008/09/24 13:59 [Edit/Del]^^어느순간 저도 모르게 그랬네요..^^
일상적인 이야기는 궁금해하실분이 없으실 것 같아서(?)ㅎㅎ
요즘 맘편히 블로깅하는 시간이 없었던 것 같아요(놀러다니느라..ㅎㅎ)
이야기랑 사진 올려야죠~ ㅎㅎ 또 놀러오세요~ ㅎㅎ
-
-
seattle2008/09/24 23:00 [Edit/Del] [Reply]정말 간만에 아는 이야기 나와서 히죽대고 있습니다. ㅋㅋ
전 자알~ 지냅니다. 여기서 대답하기 -_-v
[dW] Ajax와 자바 개발을 간단하게 시리즈~
Posted at 2008/09/23 12:49// Posted in 나만의 작업/dWdW에서 3주동안 시리즈로 올라오는 글 중 웹개발에 도움되는 글이 있군요.
Ajax와 자바 개발을 간단하게, Part 1
JSP 태그 파일로 자바스크립트 코드 동적으로 생성하기 내용인데
HTML과 URL 인코딩 함수 - 유틸리티 함수가 유용하군요~
Ajax와 자바 개발을 간단하게, Part 2
JSTL과 JSP 태그 파일을 사용하여 커스터마이징이 가능한 웹 컴포넌트를 만들기
Ajax와 자바 개발을 간단하게, Part 3
자바스크립트와 JSP 태그 파일을 사용하여 사용자 친화적이고 웹 폼에 안전한 검증 기능을 구현하기
사용자가 웹 브라우저에 입력한 값을 자바스크립트로 검사하는 valid 같은 특정 기능에 얽매이지 않고 더 일반적인 함수를 만들 수 있는 코드가 있군요.
저같이 수련이 많이 필요한 사람에겐~ 배울게 많군요...
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 자바로 만든 자바스크립트 엔진, 리노 (4) | 2008/10/29 |
|---|---|
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
-
-
2008/09/24 10:31 [Edit/Del]열공은... 매일 마음속 다짐으로^^
늘 변함없이 들러주시는 seattle님이 더 멋진데요!ㅋㅋ
잘 계시죠?ㅎㅎ 여기서 안부묻기..ㅎㅎ
-
-
[dW] Groovy 유창하게 쓰기
Posted at 2008/08/06 19:30// Posted in 나만의 작업/dW그루비 처음 공부할 때 이렇게 친절하게 설명한 동영상을 더 먼저 봤으면 더 이해가 쏙쏙 되었을텐데..
이렇게 동영상으로 읊어주시니(?) 더욱 좋은 것 같아요
근데 이 영상을 보고 제목처럼 유창하게 쓸 수 있을지는 모르겠다는 의문이 들긴하지만
그루비가 궁금하신 분은 잠깐 시간내어 보시는 거에 강추합니다.
Groovy 유창하게 쓰기
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] 다시 보는 자바스크립트의 역사 (2) | 2008/10/28 |
|---|---|
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
| [dW] REST 서비스 작성하기 (2) | 2008/06/30 |
[dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관
Posted at 2008/08/01 19:49// Posted in 나만의 작업/dW유닉스 팁: 열 가지 더 좋은 유닉스 습관
유닉스를 많이 사용해 본 적이 없어서 더구나 콘솔로 사용할 일도 많이 없었지만
최근엔 콘솔 사용하는것에 재미(?)를 느껴서 찾아보니 예전 대학교 1학년때 열심히 외우던
명령어가 어렴풋이 배웠던 기억이 나는 명령어도 있군요.
그냥 기록해놓으면 좋을 것 같아서.. 남겨 놓습니다..^^
익혀야 하는 열 가지 더 좋은 습관
- 파일 이름 완성 기능을 활용하자.(bash 쉘에선 TAB: 쉘마다 키가 다르다)
- 히스토리 확장 기능을 활용하자.(
!$명령은 명령어에 사용했던 마지막 인수를 반환한다. ) - 직전에 사용한 인수를 재사용하자.(
!:1연산자는 명령에서 사용한 인수를 반환한다. ) pushd와popd로 디렉터리를 탐색하자.- 대용량 파일을 탐색하자.
- 편집기 없이 임시 파일을 생성하자.(
cat명령어와>파일 재지정 연산자를 활용) curl명령행 유틸리티를 활용하자.(curl명령은 HTTP, HTTPS, FTP, FTPS, Gopher, DICT, TELNET, LDAP, FILE 프로토콜을 사용해서 서버에서 자료를 가져올 수 있다. )- 정규 표현식을 적극 활용하자.
- 현재 사용자가 누구인지 알아내자.(whoami)
awk로 자료를 처리하자.
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] RESTful한 웹 서비스 만들기 (2) | 2008/09/29 |
|---|---|
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
| [dW] REST 서비스 작성하기 (2) | 2008/06/30 |
| [dW] Diagnosing Java code: Java generics without the pain, Part 1 (0) | 2008/06/29 |
[dW] Ajax 성능 도구
Posted at 2008/08/01 18:53// Posted in 나만의 작업/dWAjax 성능 도구
Ajax 성능에 향상을 주는 여러가지 도구와 부가 기능이 많이 있는데 저는 그 중 쓰는게 RAMBack과 YSlow밖에 없군요...
하나씩 써봐야 겠군요... 이렇게 정리해 주니 좋은 것 같습니다. ㅎㅎ
참고로 Load Time Analyzer이 firefox 3 버젼을 아직 지원안하는군요
오픈 소스 도구
- Apache Bench: 서버 부하를 흉내 낸다.
- Tsung: 다중 프로토콜 부하를 시험한다.
- Bonnie++: 디스크 I/O 문제 추적
- Wireshark: 네트워크 트래픽 분석
- Comet 서버 응용 프로그램 도구: 더 긴(long-lived) 연결, 더 높은 병행성, 더 낮은 지연, 더 낮은 서버 부하를 위해 사용된다.
파이어폭스 부가 기능
LiveHTTPHeaders(일 반적인 HTTP 트래픽을 확인)와 파이어버그(자원의 적재 시간을 측정)는 유용한 파이어폭스 부가 기능들이다. RAMBack(내부 캐시 지우기), Load Time Analyzer(적재 시간 분석기: 웹 페이지의 적재 시간을 측정), YSlow(웹 페이지 분석), iMacros for Firefox(웹 응용 프로그램 테스트), ColorBlind Ext(색맹 보조) 등 확장도 관심을 가질 만하다.
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] XML을 사용하는 좋은 습관 열가지 (4) | 2008/09/24 |
|---|---|
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
| [dW] REST 서비스 작성하기 (2) | 2008/06/30 |
| [dW] Diagnosing Java code: Java generics without the pain, Part 1 (0) | 2008/06/29 |
| [dW] Practically Groovy: Reduce code noise with Groovy (0) | 2008/06/24 |
[dW] 아파치 메이븐 2 시작하기
Posted at 2008/07/11 19:55// Posted in 나만의 작업/dWmaven을 처음 쓸 때 dependency 관리에서 그만... 반하고 말았습니다. :)
이클립스에서 프로젝트에 필요한 library를 직접 걸어주고 또는 소스가 보고싶을때 매번 attach source를 해서 자주보는 소스는 다운을 직접 받아서 연결을 시켜줘야 하는데 maven을 쓰면 이 작업이 모두 xml파일(pom.xml)에 몇줄만 추가해주면 되니 너무 행복했지요. maven의 중앙 repository에서 알아서 jar파일을 다운로드하고 관련된 source도 받을 수 있게 할 수 있지요..
이건 뭐.. 빙산의 일부분이겠지요~ 그래도 이것만 되도 행복할 것 같은데, 그 외에도 많은 기능을 제공하지요.
뭐 아실만한 분은 다 아시겠지요~ ㅋㅋ
오늘 내부 세미나에서 maven을 주제로 세미나 하신 분이 계셨는데 그 계기로 좀 더 알아보려고 찾아보다가 dW에서 찾아보니 좋은 문서가 있군요~
아파치 메이븐 2 시작하기
여기에는 maven에 대한 기본 골격과 이클립스에서 메이븐 프로젝트를 생성하는 과정이 잘 나와 있습니다.
참고로 maven을 위한 이클립스 플러그인에는 m2eclipse와 q4eclipse가 있는데
q4e는 dependency 관계를 그림(?)으로로 보여준답니다.
얘가 어떤애를 참고 하고 어떤애가 다른애를 참고하고 있는 걸 눈에 이쁘게 보여주죠~
참고해 보세요.. maven 강추!~ ^^ 제가 아는건 이것밖에 없어서 슝슝=33
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] Ajax와 자바 개발을 간단하게 시리즈~ (4) | 2008/09/23 |
|---|---|
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
| [dW] REST 서비스 작성하기 (2) | 2008/06/30 |
| [dW] Diagnosing Java code: Java generics without the pain, Part 1 (0) | 2008/06/29 |
| [dW] Practically Groovy: Reduce code noise with Groovy (0) | 2008/06/24 |
| [dW] Ajax에서 XML 처리하기 (2) | 2008/05/28 |
-
seattle2008/07/12 00:00 [Edit/Del] [Reply]메이븐 정말 파워풀합니다... 라고 누가 그랬던거 같네요.. 이런거 보면 저도 참 어지간히 공부 안했구나 생각이 듭니다. 즐거운 주말 보내세요~
-
[dW] REST 서비스 작성하기
Posted at 2008/06/30 23:38// Posted in 나만의 작업/dW이 글은 REST(Representation State Transfer)와 Atom Publishing Protocol(APP)에 관한 개념이 잘 나와있습니다. 그리고 REST/APP 기반의 서비스 구현 방법도 예로 나와있지요~
본문 내용중에,
REST 원칙은 URI(Uniform Resource Identifiers)를 사용하여 주어진 자원 표현의 위치를 알아내고 접근한다. 표현 상태(representational state)라 알려진 자원 표현은 만들어질 수도, 찾아올 수도, 수정될 수도, 삭제될 수도 있다. 예를 들어 REST를 적용하여 문서를 발행해 독자들이 이 문서를 읽을 수 있게 할 수 있다. 언제든 문서를 발행할 때는 웹 URL을 보여줘야 한다. 그래야 독자들이 그 문서의 정보(표현 상태)에 접근할 수 있다. 문서를 읽는 사람은 URL만 알면 문서 정보를 읽을 수 있고 승인이 있다면 정보를 수정할 수 있다.
HTTP 기반 REST 시스템에서는
GET, PUT, POST, DELETE라는 표준 HTTP 메서드를 사용하여 자원의 표현 상태에 접근해야 한다.APP는 REST 개념과 기술을 사용하여 의미적으로 풍부한 콘텐츠 교환에 쓰이는 여러 메커니즘을 정형화기 위해 인기있는 아톰 배급 포맷(Atom Syndication Format) 위에 구축된다.
-
GET: 컬렉션이나 멤버 자원 표현을 찾아오는 데 쓰인다. -
POST: 새 멤버 자원을 만드는 데 쓰인다. -
PUT: 멤버 자원을 갱신하는 데 쓰인다. -
DELETE: 멤버 자원을 삭제하는 데 쓰인다.
'나만의 작업 > dW' 카테고리의 다른 글
| [dW] Groovy 유창하게 쓰기 (2) | 2008/08/06 |
|---|---|
| [dW] 유닉스 팁: 열 가지 더 좋은 유닉스 습관 (2) | 2008/08/01 |
| [dW] Ajax 성능 도구 (0) | 2008/08/01 |
| [dW] 아파치 메이븐 2 시작하기 (4) | 2008/07/11 |
| [dW] REST 서비스 작성하기 (2) | 2008/06/30 |
| [dW] Diagnosing Java code: Java generics without the pain, Part 1 (0) | 2008/06/29 |
| [dW] Practically Groovy: Reduce code noise with Groovy (0) | 2008/06/24 |
| [dW] Ajax에서 XML 처리하기 (2) | 2008/05/28 |
| [dW] Learn 10 good XML usage habits (2) | 2008/05/23 |


