April 2009 Archives

아래 글은 (http://www.javafaq.nu/java-article1168.html)을 정리해본 글이다. 아무래도 maven쪽으로 방향을 잡는 글인데.. 글쎄..

 

프로젝트에서 java 빌드 툴로서 ANT 또는 maven을 선택해야 할 때, 두 도구의 차이점을 이해함으로써 많은 도움을 얻을 수 있을 것이다.

 

개발(자)의 관점에서의 빌드도구

  • 생산성 향상
  • 진짜 업무에 집중하기
  • 문서 산출물을 쉽게 만들기

 

경영자의 관점에서의 빌드도구

  • 개발비용 절감
  • 출시 일정 단축
  • 즉각적인 상황보고

 

역사적으로 ANT는 매우 오래된 빌드 도구 이다. 어떤 면에서는 C 나 C++의 make 와 흡사하다. 과거 make를 이용한 개발자들은 그들이 원하는 것이면 무엇이든 처리할 수 있었다. 하지만 ANT는 좀 다르다. make가 Shell 커멘드를 확장한 반면 ANT는 java class를 확장하는 방식이기 때문이다. shell 커멘드를 빌드 스크립트에 포함하는 것이 아닌 xml 기반의 설정파일을 작성하여야 한다. 각 프로젝트에서는 각각의 다른 Build Process를 작성해야 하고 새로운 팀 멤버는 그 빌드 파일을 분석해야 하는 부담이 있다.

반면에 Maven은 빌드 프로세스를 표준화하였고, 프로젝트의 구성을 규정하고, 프로젝트 정보에 대한 산출물 작성을 용이하게 하고 , 타 프로젝트 jar파일의 의존성을 관리하도록 하였다. Maven은 배스트 프렉티스를 권장한다.

Maven은 ANT에 비해서는 다소 유연하지 못한 면이 있다. 하지만, Maven은 ANT의 TASK를 호출할 수 있기 때문에, ANT에서 할 수 있는 모든 작업이 Maven에서 가능하다.

 

ANT에서 ,Maven으로 전향해서 얻을수 있는 장점은 프로젝트 빌드의 표준화, 명확히 정의된 의존성, 다른 프로젝트와 공유할 수 있는 산출물 컨셉, 보고서 등이다.

 

Maven과 Ant 비교표

Maven ANT
프로젝트에 대한 기술 각 프로젝트마다 빌드 스크립트 개발
기 구현된 goal(taget) 수행 프로젝트 특화된 target 수행
프로젝트 전체 정보를 정의 빌드 프로세스만 정의
빌드 생명주기, 표준화된 디렉토리 레이아웃 매우 복잡한 빌드 스크립트
재사용 가능한 플러그인, 저장소 스크립트가 재사용 가능하지 않음
매우 빠른 속도로 발전하고 있음 발전속도가 느려짐

 

Maven은 온라인 저장소에 들어 있는 매우 많은 플러그인 들로 구성되어 있어 매우 유연하다고 할 수 있다.



서른즈음에 라는 노래를 통해서 10대, 20대, 30대.. 에 대한 이야기를 해 주고 있다.
만약 노래 제목이 마흔 즈음에나 쉰 즈음에 였다면... 제목은 좀 우스꽝 스럽긴 하지만 그런 내용으로 노래가 나왔으면 마흔 즈음인 내 마음의 방황을 정의해 주었을텐데..

CSS기본

| 댓글 없음 | 트랙백 없음

CSS 기본

zbum

I. 서론

웹표준에 입각한 웹페이지를 구성하는데 있어 구조-형식-동작의 분리는 필수적인 요소이다. 지금껏 웹페이지의 디자인을 위해 아무렇게나 써왔던 TABLE Layout, 형식을 위한 tag들을 사용하지 않기위하여 CSS에 대한 깊은 이해는 필수적이다.

 

CSS는 Selector와 Definition으로 구성되어 있으며 Selector을 이해한다면 CSS의 70% 이상을 이해한 것일 할 수 있다. 나머지 Definition은 레퍼런스를 이용하여 계속 참조해 나가야 할 부분이다.  그럼 이제부터 CSS Selector에 대해서 공부해 보자.

II. 본론

1) CSS 의 구성

 CSS는 선택자(Selector)와 선언부로 이루어져 있다. 선언부는 속성과 값으로 구성되어 있다.

 

CSS_BASIC.png 

 

2) CSS 선택자와 HTML 엘리먼트

 CSS의 Selector는 웹페이지의 Document상에서 CSS 속성을 적용할 HTML ELEMENT를 선택(특정,Targeting)하기위한 CSS구성요소 이다.

 CSS Selector의 역할은 아래 그림을 보면 명확히 알 수 있다. 즉, xxx.css에서 p라는 selector를 사용하면 그 CSS를 적용한 HTML문서의 모든 p tag에 해당 속성이 적용된다. 아래 그림처럼 <p>가나다라마</p> 는 볼드체에 파란색 글씨로 보일 것이다.

 

 CSS_HTML.png

 

 

 3) CSS 선택자의 종류

위의 예와 같이 HTML 의 엘리먼트를 선택하는 선택자 뿐만아니라 다양한 형태의 CSS Selector가 존재한다.  아래는 CSS2기준의 Selector이다.

 

구분 패턴 대상 비고
universal selector * Document 상의 모든 HTML Element를 선택  
Element type Selectors E Dcouement 상의 모든 E 엘리먼트 타입을 선택  
Descendant Selectors E F E의 하위도드중 F 타입을 선택  
Child Selectors E > F E의 자식 노드 중 F 타입을 선택  
Class Selector .aaa class 속성이 aaa 인 HTML 엘리먼트 선택  
ID Selector #bbb id 속성이 bbb인 HTML 엘리먼트 선택  
Pseudo-element Selector E:first-child    
Pseudo-class E:active,
E:hover,
E:focus
특정 조건하의 모든 엘리먼트를 선택  
Adjacent Selector E+F E엘리먼트 다음에 바로 F엘리먼트가 이어지면 선택     엘리먼트간 간격 조정등에 유용 IE8에서 지원
Attribute Selectors       E[foo],    foo 속성값이 지정된 E엘리먼트 선택   
    E[foo=“warning”],    foo 속성값이 warning인 E엘리먼트   
    E[foo~=“warning”]    foo 속성값에 단어 warning 이 포함된 E엘리먼트   
    E[lang|=“en”]    lang 속성값에 ‘-’으로 구분된 en값이 포함된 E엘리먼트
lang=“en-uk”
lang=“en-us”

 

III. 결론

CSS의 Selector에 대해서 살펴보았다.

다음엔 CSS를 이용한 웹페이지 Layout에 대해서 살펴 보겠다.

 

이 글은 스프링노트에서 작성되었습니다.

 

About This Blog Author

정지범(jibum.jung@gmail.com)

Google AdSense

Clock Link

Developers Works

Creative Commons License
This blog is licensed under a Creative Commons License.