인덱스 뽑고 있습니다.

이클립스 웹 개발
Eclipse Web Tools Platform

이클립스
이클립스 WTP
블로그 만들기
톰캣 서버설정
디버깅
소스버전관리
코드 네비게이션
리팩토링
단위테스트
협업

관련해서 쓰여지는대로 공개를 하도록 하겠습니다.

이렇게 공개하는 이유는 더 이상 혼자만 알고 있으면 안될 것 같아서 입니다.

좋은 인터뷰 기사를 봤습니다.

게임사업에 손을 대지 않았으면 지금도 코더로 일하고 있을 것이다. -김택진
사용자 삽입 이미지

김택진 대표

그 분의 인터뷰를 보면서 가장 마음에 와닿는 문구였습니다. 리니지라는 게임을 만든 이유도 멋있네요.
우원식 상무와 이찬진 대표 등과 '한글'을 공동개발했고 '한글'이 국내시장에서 90%이상의 점유율을 차지했다. 그런데 이러한 소프트웨어가 수출이 되지 않더라. 우리나라 소프트웨어 중 수출이 되는 것은 게임 밖에 없었다. 그래서 게임을 선택했다. -김택진
국내 프로그래머의 직업적인 위기가 업계를 술렁이고 있습니다. 기준없이 일하고, 그렇기 때문에 보장되지 않은 노동에 대한 보상. 병특 제도같은 것을 이용해서 똑똑한 인력들 다 업계를 비관적으로 바라보게 만든 국내 현실. 기름 짜듯이 진행하는 SI 프로젝트들. 좀처럼 바뀌지 않는 관리자의 컨베이어 벨트 공장식 관리. 근태가 중요하다면서 출근시간 확인하고, 주당 총 근무시간에 대해서는 무지한 관리. 주당 40시간(8시간*5일)을 요구하고 싶지만, 프로그래머의 대부분은 (14시간*7일)인 경우도 많습니다. 오죽하면 "집에 가고 싶다"라는 글까지 올라올까요.

말이 샜네요. SI 프로젝트는 없어졌으면 좋겠습니다. System Integration, 시스템 통합. 시스템을 통합하려는 이유는? 수작업을 줄이기 위한 것이고, 수작업을 줄인다 함은 인력 더 안 뽑아도 되고. 청년 실업이야 나라에서 어떻게 할 것이고. 억지 주장인 것은 압니다만, SI 프로젝트 말고, 서비스를 만드는 프로젝트를 했으면 합니다. 소프트웨어 프로젝트인거죠.

돈되는 프로그램 만드는 시각을 배워야 할 것 같습니다. 돈되는 프로그램이란 가치가 있는 프로그램인데, 그 가치는 사회적인 가치를 말합니다. 방법론에 따라서 시계 부속처럼 개발자1, 개발자2의 자리를 메꾸는 프로그래머가 아니고, 존 카멕이나 리누스 토발즈 같이 소프트웨어와 그 창조자를 기억할 수 있는 프로그램을 짜는 사람들이 많아졌으면 좋겠습니다.



이미지를 브라우저에서 표시할 때 원래의 사이즈와 차이가 날 경우 이미지가 축소되면서 왜곡이 일어납니다. ie6와 firefox2는 이미지 내의 라인을 생략하는 법으로 축소해서 보여주고, opera9.2와 safari3b는 이미지를 다시 렌더링해서 부드럽게 보여줍니다.

이미지 원본

이미지 원본

이미지 원본입니다. 지난 블로그에 올린 글에 첨부한 스크린샷 이미지입니다. 이것이 브라우저마다 다르게 보입니다.

ie6, firefox2

ie6, firefox2

윈도우XP에서 ie6와 firefox2로 보았을 때의 이미지입니다.
opera9.2

opera9.2

윈도우XP에서 오페라9.2로 보았을 때의 이미지입니다.
safari3beta

safari3beta

윈도우XP에서 safari3 beta로 보았을 때의 이미지입니다. 사파리 브라우저는 아직 한글 쓰기가 안되는 버그가 있는 상태입니다.

오페라 브라우저에 대한 호감이 또 한 번 증가하는군요.

eclipse의 배포판은 크게 5가지로 패키징 되어있습니다.
JRE 1.4 이상으로 동작하지만, JRE 1.5이상을 권장합니다. WTP의 경우 JRE1.4에서는 JSP 에디터가 열리지 않고 일반 텍스트 에디터가 열리기 때문이죠. okjsp에도 같이 적어 놓았습니다.


이클립스 패키지 5종

이클립스 패키지 5종


대표적인 Java IDE용으로만 패키징된 Eclipse IDE for Java Developers 는 78메가입니다. 버전컨트롤에 사용되는 CVS, 설정파일이 대부분 XML이죠 그래서 유용한 XML 에디터, 그리고 협업의 중요한 창구가 되고 있는 Mylyn 정도가 포함되어 있습니다.

Eclipse IDE for Java EE Developers 는 125메가이고, JEE(예전엔 J2EE) 개발이 가능하도록 되어있습니다. Java IDE 와 JEE 그리고 JSF와 Mylin을 포함합니다. WTP 로 알고 있는 플러그인이 들어가 있습니다. JSP 개발도 이것을 통해서 가능하죠.

Eclipse IDE for C/C++ Developers 는 62메가입니다. CDT라고 알고 있는 것이 들어가 있죠.

Eclipse for RCP/Plug-in Developers 는 RCP 개발과 플러그인 개발용 패키지입니다. 153메가나 되죠.

Eclipse Classic은 140메가인데, 전형적인 이클립스의 패키지였습니다. JDT와 PDE를 포함하고 있는 것이죠.

image from: http://www.eclipse.org/downloads/

인트로
Introduction

배치자는, 이름이 의미하듯이, 톰캣 서버에 웹 애플리케이션을, 정적으로(서버가 기동하기 전에 설치된 애플리케이션) 또는 동적으로 (톰캣 매니저 웹 애플리케이션이나 이미 배치된 애플리케이션들과 연계하여), 배치하거나 제거하는 역할을 합니다.
The deployer, which as its name imply, allows deploying and undeploying web applications to the Tomcat server, either statically (the application is setup before the server is started), or dynamically (in conjunction with the Tomcat Manager web application or manipulating already deployed applications).

컨텍스트 기술서
Context descriptors

컨텍스트 XML 기술서는 XML 데이터 조각입니다. 메인서버 설정 파일(conf/server.xml)에서 정상적으로 보여질 수 있는 유효한 컨텍스트 엘리먼트를 포함합니다. 그리고 이것은 톰캣에서 다양한 관리 도구를 통해서 쉽게 자동화된 조작이 가능합니다. 호스트에서 컨텍스트 기술서의 위치는 $CATALINA_HOME/conf/[enginename]/[hostname]/foo.xml 입니다. 주의할 것은 파일의 이름은 웹 애플리케이션 이름에 맞지 않아도 되지만, 톰캣이 컨텍스트 기술서를 생성하게 되면 컨텍스트 기술서의 이름은 웹 애플리케이션과 동일하게 맞춰집니다.
A Context XML descriptor is a fragment of XML data which contains a valid Context element which would normally be found in the main server configuration file (conf/server.xml), and allows easy and automated manipulation of web applications by the various management tools available in Tomcat. For a given host, the Context descriptors are located in $CATALINA_HOME/conf/[enginename]/[hostname]/foo.xml. Note that while the name of the file is not tied to the webapp name, Tomcat will create Context descriptors which match the webapp name whenever it will generate a Context descriptor.

컨텍스트 기술서는 컨텍스트의 모든 환경설정 파라미터의 정의가 가능합니다. 예를 들면 네이밍 자원과 세션 매니저 설정같은 것이죠. 또 한 가지 말하자면, 컨텍스트 엘리먼트에 있는 docBase 값은 .WAR 파일을 참조하거나 .WAR파일의 압축이 풀려진 디렉토리를 지정할 수 있습니다.
Context descriptors allow defining all aspects and configuration parameters of a Context, such as namign resources and session manager configuration. It should be noted that the docBase specified in the Context element can refer to either the .WAR or the directory which will be created when the .WAR is expanded or the .WAR itself.

from: http://tomcat.apache.org/tomcat-5.0-doc/deployer-howto.html

이클립스 3.3 버전에는 역시나 많은 기능이 들어갔습니다.
영어권 제품을 쓸 때 제일 필요없다고 생각되는 놈이 스펠링 체크입니다.
워드에서 맞춤법 검사는 괜찮은데, 영문 스펠링 체크는 영어를 쓸 일이 없어서... ^^;

사용자 삽입 이미지

eclipse spell check


Preferences... 화면에서 spell이라고 치면 spelling 관련해서 설정할 수 있는 메뉴가 나옵니다.
여기서 Enable spell checking 의 체크를 풀어주시면 좀더 쾌적하게 사용할 수 있을 것입니다. ㅎㅎ

제 특성 중 하나가 이것 저것 알기는 들은 것은 있는데, 실제로 쓰는 것은 별로 없다는 것이죠. 심한 단점일 수도 있고, 제네럴리스트의 장점일 수도 있죠.
어제 오픈소스 프로젝트 세미나에서 김승권님의 테스트에 대한 내용을 들으면서 나온 테스트 커버리지에 관련된  얘기를 듣고 clover를 이제는 써야겠다 생각이 들었습니다.

해서 연구 시작했습니다.
clover 라는 툴이 있습니다.
http://www.cenqua.com/clover/ 에서 30일 평가판을 다운로드 받을 수 있습니다. 물론 이메일 요구합니다.
 

cenqua clover

clover

흔히 하던대로 zip파일 받아서 eclipse의 plugins 디렉토리 아래에 폴더를 놓아둡니다. 그리고 재시동.

다음과 같은 뷰를 볼 수 있습니다.
사용자 삽입 이미지

clover view


html, pdf, xml의 리포트도 뽑아줍니다.
JUnit 테스트에 날개를 달아준 것 같다는 생각이 듭니다.
솔직히 스트럿츠로 뭘 짜 본 적 없습니다.

샘플 소스 돌려 본 적은 있지요.

스프링으로 뭘 짜본 적은 있지만,
제가 스프링프레임워크를 세팅하지는 않았습니다.

온리 JSP인 제가 오픈소스 아키텍처링이라는 무거운 주제로 강의를 했습니다.

다시는 하고 싶지 않은 강의입니다. 후에 맘이 변할지도 모르지만,

저 나름대로 제법 잘 나간다는 개발 현장에서 경험한 얘기를 들려드렸습니다만,

제가 소신있게 말씀드릴 수 있는 것은 이것입니다.

누가 함께 프로그램을 짜고 있느냐, 그 사람과 마음이 통하냐.
그게 동료이던 클라이언트든 사람이면 마음을 터야 한다.

이게 제가 얘기하고 싶은 것이었습니다.
정전
no electricity
battery out
하드가 깨졌어요. <-- 헉, 디카사진.

톰캣 시작할 때 디플로이
Deploying on Tomcat startup

host의 "deployOnStartup" 프로퍼티 값이 true이면 host appBase 폴더에 있는 웹 애플리케이션들은 디플로이 됩니다. 디플로이 프로세스는 다음과 같습니다:
  • 컨텍스트 XML 선언은 제일 처음 디플로이 됩니다.
  • 컨텍스트 XML 선언으로 참조되지 않은 펼쳐진 웹 애플리케이션들이 그 다음으로 디플로이 됩니다; 만일 .WAR파일과 연관이 되어있고, 그 .WAR파일이 새 것이라면, 펼쳐진 디렉토리는 제거되고, 웹 애플리케이션은 .WAR 파일 압축이 풀리면서 재 디플로이 될 것입니다.
  • .WAR 파일들이 디플로이 됩니다.
만약 매칭되는 컨텍스트 XML 파일이 없다면, 디플로이되는 웹 애플리케이션마다 해당 컨텍스트 XML이 생성될 것입니다.
 
The webapps which are present in the host appBase will be deployed if the host "deployOnStartup" property is true. The deployment process is the following:

The Context XML declarations will be deployed first

Expanded web applications not referenced by Context XML declarations will then be deployed; if they have an associated .WAR file and it is newer than the expanded web application, the expanded directory will be removed and the webapp will be redeployed from the .WAR

.WAR files will be deployed

For each deployed web application, a matching Context XML descriptor will be created unless one exists already.

from: http://tomcat.apache.org/tomcat-5.0-doc/deployer-howto.html

+ Recent posts