실무적인 내용을 주로 다룬 책이다.
빠르고 손쉽게 접근할 수 있다.
다른 책에서 다루는 스트럿츠 프레임웍의 사용에 대한 내용 뿐 아니라,
원리에 대한 체계적 설명을 통한 확장 사용을 도모하는 실무를 위한 책.
주의 : Java 및 웹 응용프로그램에 대한 기본 개념은 필수!!
이 책은 저와 같은 초보자가 웹 개발에서 스트럿츠를 어떤 역할로 어떻게 사용할 수 있는지를 자세히 예제를 들어 설명하고 있습니다. 입문서 같이 얇고 총 6개 장으로 구성되어 있습니다. 첫 장은 모델1에서 모델2로 가는 장점을 스트럿츠 프레임워크가 아닌 방법으로 간단한 예제를 작성하여 비교, 분석하고 있습니다. 예제가 간단하긴 하지만 아주 명확하게 모델1과 모델2의 차이를 소스를 통해 보여주고 있습니다. 두 번째 장은 첫 장에서 다루었던 모델2에 대한 이해를 기반으로 Struts를 자연스럽게 설명하고 있습니다. 꼭 이해 해야만 하는 메소드들과 실제 환경에서 쓰이는 팁들을 설명하고 있습니다. 세 번째 장은 Easy Struts 플러그인과 Eclipse 그리고 Xdoclet이 이루고 있는 훌륭한 시너지 효과를 설명하고 있습니다. 네 번째 장부터 여섯 번째 장까지 실전 예제를 통해 사용자 요구분석에서부터 Struts의 활용방법, 생각해야 할 문제를 설명하고 있습니다. 실제로 Action 클래스에 대해서는 처음에 구구절절이 설명을 시작하지 않고 필요할 때 마다 설명하는 방법을 택하고 있어서 어렵지 않게 파생 클래스들을 접할 수 있습니다. 부록에는 모든 책들이 그렇듯이 Tomcat과 MySQL, Ant에 대해 설명하고 있고 책 모든 장의 시작부분의 예제를 build하고 실행시킬 수 있는 방법을 설명하고 있습니다. 모델1 과 모델2 사이에서 고민하시거나 Struts를 도대체 어디에 어떻게 써야하는 지를 고민하시는 분들에게 이 책을 추천합니다.
스트럿츠에 대한 번역서조차 몇 권 안되는 상황에서 이 정도의 활용서가 나왔다는 점은 상당히 반가운 일이다.
게다가 그리 두껍지 않은 양에 스트럿츠 뿐만 아니라 XDoclet 이나 Hibernate 등을 이용한 효율적인 프로젝트 수행 노하우를 담아내려한 저자의 의욕 또한 빛나는 책이다.
하지만 그래도 아쉬움은 남는 법.
우선 다양한 기술들의 통합을 효과적으로 보여주려한 저자의 의도일 수도 있겠으나 너무 많은 샘플 프로그램을 넣다보니 구성이 상당히 혼란스러워진 점을 지적해야 할 듯 하다. 챕터 넘어갈 때마다 완전히 새로운 샘플이 나오면서 그에 해당하는 업무 분석, DB 구성 등의 내용 등을 새로 파악해야 하고 그런 후에야 해당 챕터에서 본래 소개하는 내용에 접근할 수 있는 식으로 구성이 되다 보니 학습하면서 호흡이 곧잘 끊어진다는 느낌을 받게 된다. 또한 책이 얇다보니 새로운 샘플에 대한 소개를 위해 몇 페이지씩 할애하는 것 자체도 조금은 아깝게 느껴지지 않을 수 없다.
( 이런 단점을 극복하려면 이 책 후반부는 아예 한 챕터씩을 완전히 독립적으로 분리해서 팀 스터디 같은 방식으로 학습한다면 그나마 효과가 있을듯 하다 )
또하나 지적하고 싶은 점은 얇은 스트럿츠 책에서 이 정도나마 XDoclet 등 레퍼런스가 그리 많지 않은 기술들 담아낸 점은 인정하지 않을 수 없으나 그래도 이왕 담아내기로 했다면 좀 더 깊이있게 다뤄줬었으면 하는거다. XDoclet과 Hibernate 등도 그렇지만 특히 tiles 다룬 부분은 아쉬움이 많이 남을 수 밖에 없다.
끝으로 좀만 더 욕심 내보자면 이왕 Struts 와 함께 사용할 수 있는 다른 기술, 프레임워크 등을 다루기로 맘먹었다면 Velocity 나 JSF 도 덧붙였었으면 어떨까 하는 아쉬움도 생기게 된다.
아무튼 Struts 에 관한한은 이 정도 분량에 실무에 적용해볼만한 이만큼의 정보를 제공해줄 수 있는 책은 아직은 국내서 중에는 없다라고 감히 판단하고 당분간은 Struts 학습에서만큼은 이 책을 주저없이 권하게 될 듯 하다. 필자의 건필을 계속 기대해본다.
자카르타 스트럿츠 프레임워크 책에 뜬 구름잡는 얘기들을 풀어놓은 책이다.
번역된 책이라는 한개도 있지만, 레퍼런스 책같은 조랑말 그림의 스트럿츠 책은 요점이 않잡혀서 읽던 중 몇번이나 앞으로 가서 다시 읽고 하다가 도중에 책을 접었었다. 책을 읽기엔 너무 내 그릇이 작다는 생각이 나를 더 괴롭게 했었다. 그래서 잠시 뜸을 들이던 나를 끌어준 책이 이 책이다.
이 책에 가장 백미는 Action과 ActionForm 클래스의 차이점을 머리에 각인 시켜주는 부분이라고 본다. ActionForward는 조랑말 책으로도 이해가 되었었지만, 이 두 클래스는 Model 2의 미묘한 부분을 다루는 부분이라 이해가 정말 힘들었었다.
후반부에서는 Validator 프레임워크와 Hibernate 프레임워크를 다루어 개발자들의 생산성 향상에 도움을 주려는 저자의 뜻이 더 깊게 와 닫는다.
책에 예제도 작은 것은 적절히 작고 큰 것은 적절히 큰 것이 독자들이 프레임워크 자체에 몰두하도록 하는데 한목을 하고 있다. 3장 예제에 포함된 EncodingFilter에 대한 설명은 4장에 나와있음을 주의하기 바란다. 4장 예제를 좀더 단순하게 유지해서 독자들의 부담을 줄여 주려는 배려인 것 같다.
이 책을 쉽게 읽기 위해서는 스트럿츠를 조금이라도 맛본 상태라야 한다고 생각한다. MFC를 제대로 쓰려면 MFC에 대해 석박사 수준이 되어야 한다는 제프 베일리 아저씨의 말처럼 프레임워크는 한번에 머리에 집어넣기는 조금 무리가 있다. 스트럿츠를 전혀 모르는 사람은 이 책을 읽던 중에 이해가 않되는 부분이 나오면, 그 즉시 읽기를 중지하고 조랑말 그림 책에서 해당 부분을 꼭 참고하며 읽어나가기 바란다.
저나 많은 분들이 Struts에 대해 간략한 정보를 접한 후 공감하는 질문이 아니었을까요? (물론 한글으로요..^^;;) 웹 개발 특히 자바진영에서 개발하시는 분들의 요즘 주 관심사항은 강력한 공개 IDE툴인 Eclipse와 공개 웹 개발 Framework인 Struts라는 생각이 듭니다. 자바쪽 웹 개발에서는 변변한 IDE툴도 없었고 그렇다고 이렇다 할만한 널리 사용될 만한 Framework도 없었기 때문에 MS진영에 비하면 불쌍하다는 생각까지 들었습니다..-_-;; 뭐 자세히 모르기 때문에 Asp나 Asp.net쪽에도 구조나 Framework가 존재하겠지만 그것과 비교하는 것은 아닙니다.
학생 시절 Core Java란 책에서 MVC 위임 패턴(지금의 웹 애플리케이션이 아닌 일반 애플리케이션)을 처음 들었을 때 좋은데? 너무 복잡한 것 아냐? 라는 생각을 한 이후로 다시 모델2 라는 개발 방식을 접했을 때 똑 같은 생각을 할 수 밖에 없었습니다. 보통 하나의 패러다임이 다른 패러다임을 대체한다는 건 이전의 생각이나 방식들을 많이 포기해야 하기 때문에 위험을 감수해야 하는 모험이라고 까지 말할 수 있는 것 같습니다. Struts를 사용한 웹 개발 역시 위험을 감수해야 하는 방식입니다. 초기 학습시간이 필요하고 충분한 이해가 없으면 이전에 쉽게 해결했던 문제들을 처리하지 못하는 경우가 발생하여 프로젝트 기간을 초과 할 수 밖에 없다고 저자는 말하고 있습니다. 가장 좋은 방법은 필요에 맞게 적당한 모델을 사용하는 것이구요.
저도 Struts에 대해 관심이 많았지만 실제 프로젝트를 진행하고 있지는 않았기 때문에 한빛 미디어의 Struts 프로그래밍이라는 개념서는 그리 와 닿지 않는 내용이었습니다. 많은 클래스와 세세한 Framework에 대한 설명들은 저 같이 Struts 어디에 써먹을 수 있을까? 라는 생각을 들게끔 하기에는 너무나 어려웠습니다. 이후 모델2로 다시 배우는 JSP에서는 모델1에서 모델2로 가는 당위성(?) 설명이 너무 부족했고 Struts에 관한 내용이 적었기 때문에 Struts에 대한 갈증을 채워주지 못했죠. 나머지 영한에서 나온 책은 아직 읽지 못하였습니다.
이 책은 저같이 Struts 가 웹 개발에서 어떤 역할로 어떻게 사용될 수 있는지를 자세히 예제를 들어 설명하고 있습니다. 입문서 같이 얇고 총 6개 장으로 구성되어 있는 이 책의 처음 장은 struts의 탄생 배경에 대해 설명하고 있습니다. 이 부분은 모델1에서 모델2로 가는 장점을 struts Framework가 아닌 방법으로 간단한 예제를 작성하여 비교, 분석하고 있습니다. 예제가 간단하긴 하지만 아주 명확하게 모델1과 모델2의 차이를 소스를 통해 보여주고 있습니다. 또한 각 장의 마지막 부분에는 생각해볼 문제를 두어 단순히 따라 하기 식의 책이 아닌 좀더 개발자에게 생각할 수 있는 시간을 주고 있습니다. 저 같은 경우는 Struts가 모델 부분의 역할도 해줄 수 있다고 생각했었거든요.
두 번째 장은 첫 장에서 다루었던 모델2에 대한 이해를 기반으로 Struts를 자연스럽게 설명하고 있습니다. 다소 지루하고 장황한 설명을 해야 하는 부분이지만 생략할 부분은 과감하게 넘어가고 꼭 이해 해야만 하는 메소드들과 실제 환경에서 쓰이는 팁(환경설정 파일을 고치고 재시작 하지 않는 방법)을 설명하고 있습니다.
세 번째 장은 Easy Struts 플러그인과 Eclipse 그리고 Xdoclet이 이루고 있는 훌륭한 시너지 효과를 설명하고 있습니다. 부제에 시너지 효과 라는 말을 넣어도 좋을 법한 내용 이었습니다. 특히 Xdoclet의 대한 내용은 책 전반에 걸쳐 계속 강조함으로써 학습효과를 높이고 있습니다.
네 번째 장부터 여섯 번째 장까지 실전 예제를 통해 사용자 요구분석에서부터 Struts의 활용방법, 생각해야 할 문제를 설명하고 있습니다. 실제로 Action 클래스에 대해서는 처음에 구구절절이 설명을 시작하지 않고 필요할 때 마다 설명하는 방법을 택하고 있어서 어렵지 않게 파생 클래스들을 접할 수 있습니다. 특이한 점은 현재 진행되고 있는 프로젝트인 RDBMS를 객체로 매핑하는 Hibernate, 검증을 위한 Validator, 로깅 Framework를 곳곳에 사용하여 좋은 툴을 적재적소에 사용하는 것도 개발자의 능력임을 보여주고 있습니다. 또한 사용되는 예제를 통해서 실제 개발환경에서 일어나고 저자가 직접 게시판을 운영하면서 모델1에서 모델2로 가면서 사람들이 어려워하는 달라진 개발방법에 대해 설명하고 있습니다.
부록에는 모든 책들이 그렇듯이 Tomcat과 MySQL, Ant에 대해 설명하고 있고 책 모든 장의 시작부분의 예제를 build하고 실행시킬 수 있는 방법을 설명하고 있습니다. 또한 책의 전반에 걸처 스트럿츠 프로그래밍이라는 책의 몇 페이지를 참고하라고 나와있어 실제 레퍼런스하기 쉽게 되어 있습니다. 이책과 동일 출판사에서 나온 Struts 프로그래밍이라는 책을 같이 보신다면 Struts Framework에 대한 이해와 실제 활용예제를 통한 Skill-up이라는 두 마리 토끼를 잡을 수 있을 것입니다.
마지막으로 이 책은 단순히 Struts를 설명하는 것을 넘어 Sturts를 적용 여부에 대하여 생각해볼 문제와 예제를 통해 판단할 수 있도록 돕고 있습니다. 모델1 과 모델2 사이에서 고민하시거나 Struts를 도대체 어디에 어떻게 써먹을 것인가? 고민하시는 분들에게 이 책을 추천해 드립니다.
책 두께도 얇고, 작은 크기에 한손에 딱 잡히는 이 책이 딱 제가 원하던
스트럿츠 책이었습니다.
몇권의 책이 번역되었고, 원서도 몇 종류 있었습니다만,
그 사이에서 돋보이는 책입니다.
우선 괜찮았던 점부터 나열해보자면,
우선 기존 Model 1, Model 2의 차이점을 명확히 구분함으로써, 스트럿츠의 장점을
되새김. 그냥 새로운 거라고 해서, 무턱대고 받아드릴 순 없는 일입니다.
무엇 때문에 스트럿츠가 나왔고, 한챕터에 걸쳐서 설명하고 있습니다.
두번째, 스트럿츠 내부 구조는 물론, 안에서 어떻게 돌아가는지 알 수 있습니다. 스트럿츠
는 웹 애플리케이션 프레임워크로 그냥 이용만 할 수 있어도 충분할 것입니다. 그러나, 내
부를 이해하고, 사용하는 것과 무작정 방법만 익혀서 사용하는 것은 큰 차이가 있겠죠?
다른 책에서 찾아볼 수 없는 각 메소드 별 설명, 어떤 부분을 커스터마이징하면 어떤 효과를
얻을 수 있는 지 등은 도움이 많이 되었습니다.
세번째, 실제 예제를 통한 스트럿츠 활용하기. 그냥 예제 따라하기 방식이 아닙니다. 예를 들어서,
제가 게시판을 스트럿츠로 다시 만들고 있는데, 너무 액션이 많아서 클래스 구조가 너무 지저분
해졌습니다. 한참 있다가, 스트럿츠에서 제공하는 몇개의 액션들이 있더군요.
그걸 어떤 곳에 사용하면 되는 지와 함께...
네번째, 한글 처리. 서블릿 필터를 이용하는 방식과 RequestProcessor를 커스터 마이징하는 방법
을 소개하고 있습니다.
다섯번째, 연관된 오픈소스 프레임워크에 대한 저자의 생각 표시. Validator나 로깅 관련해서나
타일즈 등등...물론, 다른 책에서도 언급되고는 있지만, 그 정도에서 머무르지 않고, 현업에서의
자신의 경험을 알려준 것도 괜찮았습니다.
여섯번째, OR-Mapping 프레임워크 Hibernate 소개...
일곱번째, 자신의 홈페이지에서 애프터 서비스....질문과 답변을 찾아볼 수 있습니다.
실제로, 공부하는 것과 직접 해보는 것과는 많이 다르다고, 스트럿츠 자체는 몇권의 책을 통해서
많이 공부했는데, 직접 만들어 보니까...생각보다 많이 막히는 부분이 많았습니다. 그리고, 이 부분
을 나중에 다른 회사 분들께 교육을 해야 한다고 생각하니 막막하더군요.
우선은 의식구조부터 바꿔야 할 듯한데..^^;;
앞으로 이렇게 사용되는 프레임워크들이 개발자들이 일일히 해오던 일들을 대신 처리해줄겁니다.
그 대신 해줘야 할게 각각의 프레임워크를 각자 조화롭게 Organize하고, 독립적으로 자신의 위치
에서 최상의 성능을 낼 수 있도록 이끌어 내는게 개발자의 역할이 아닐까 생각이 듭니다. 갑자기-_-;
이 책으로 모든 것을 커버할 수는 없겠지만, 상당히 만족스러운 스트럿츠 책이었습니다.