struts로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts로 검색한 결과
등록일:2008-04-17 15:41:22
작성자:
제목:필수 자바 라이브러리 - 공기만큼 필수적인 리소스들


필수 자바 라이브러리 (한글)

공기만큼 필수적인 리소스들

developerWorks
문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

이 페이지를 이메일로 보내기

이 페이지를 이메일로 보내기


제안 및 의견
피드백

난이도 : 초급

Roy Miller, 창립자 겸 회장, The Other Road, LLC

2005 년 4 월 26 일

정 보 과잉은 자바 개발자들에게 실제로 문제가 된다. 신참 프로그래머는 방대한 지식으로 무장하여 전문가 대열에 참여해야 하는 도전을 안고있다. 말 그대로, 알아야 할 것이 너무나 많다. 숙련된 프로그래머는 이 보다 더하다. 지식이란 것은 언제나 성장하는 것이기 때문에 이를 유지한다는 것 자체가 도전이다. 전문가로서 꼭 갖추어야 할 책과 웹 사이트 목록이 있다면 좋지 않을까? 이 글이 바로 그 리스트이다.

이 글에서 소개 할 책들은 여러분의 서가에 반드시 있어야 할 것들이고, 웹 링크 역시 자주 사용해야 하는 것들이다. 자바 프로그래머로서의 삶을 향상시킬 수 있는 정보들에 초점을 맞춰 소개하겠다. 프로그래머 마다 “선호하는” 것이 있겠지만 이 컬렉션에서는 베스트 중에 베스트만 엄선했다.

자료 목록들을 어떻게 구성할 것인가를 고민했다. 토픽별로 구성할 수도 있었지만 이렇게 되면 토픽 리스트는 금방 다루기가 어렵게 된다. 대신 유형별로 구성하는 대안을 선택했다. 바로 책과 웹 사이트이다.

일반적으로, 숙련된 프로그래머들은 웹사이트를 통해 산업계와 보조를 맞춘다. 책, 아티클, 백서 역시 도움이 되지만 근본적인 교육에 치중하고 있다. 책 하나가 출간되면 근본적인 문제도 달라진다. 목록도 마찬가지다.

한 가지 경고할 것이 있다. 자바 관련 책과 웹 사이트의 수는 상당하다. 개인적으로 선호하는 책이 이 리스트에 없을지도 모른다. 그렇다고 해서 그 책이 좋지 않다는 것은 아니다. 단지 리스트에 없을 뿐이다. 어떤 경우 내가 몰랐기 때문에 목록에 넣지 않을 수도 있다. 또는 필수 정보가 될 만한 자질이 없다고 생각했기 때문일 수도 있다. 특정 자료들을 배제한 것은 그저 판단의 문제이다. 만약 그렇지 않았다면 스크롤을 돌리는데 많은 시간이 걸렸을 것이다. 아니면 그 책들을 다 사기위해 수천 달러를 지불해야 했을 수도 있고. 전문 프로그래머로서 반드시 알아야 할 뛰어난 리소스들이 있다면 알려주기 바란다. 이 리스트는 업데이트 되기 때문에 여러분이 제한한 것이 채택될 수도 있다.

모든 프로그래머는 언제나 참조하게 되는 책들을 갖고 있게 마련이다. 아래 책들은 자바 프로그래머라면 반드시 갖추어야 할 것들이다. 값이 비싼 것도 있기 때문에 목록을 의도적으로 줄였다. 아주 필수적인 것으로만.

Thinking in Java (Bruce Eckel)

Thinking in Java, 3rd edition (Bruce Eckel; Prentice Hall PTR, 2002)
Eckel의 책은 매우 실용적이다. 자바에서 객체 지향을 사용하는 방법을 배울 수 있다. 그가 소개하는 개념들은 코드 샘플을 통해 설명된다. 자바가 언제나 올바른 해답이라고 생각하지 않는 사람들에게도 이 책은 매우 실용적이다. Eckel은 많은 언어들을 오랫동안 다루어왔고 확고한 객체 지향적 기술도 겸비하고 있다. 이 책에서 그 기술을 전수하고 있다. 현재 Thinking in Enterprise Java를 집필중이다.

Effective Java (Joshua Bloch)

Effective Java: Programming Language Guide (Joshua Bloch; Addison-Wesley, 2001)
좋은 자바프로그램을 만들기 위한 원리를 이해할 수 있는 책이다. 대부분의 내용은 다른 “자바 배우기” 책들에서 찾을 수 있는 것은 아니다. 예를 들어 overriding equals() 챕터는 내가 읽은 부분 중 최고였다. 추상 클래스 대신 인터페이스를 사용하는 것과 예외를 지능적으로 사용하는 것에 대한 실질적인 조언도 추가했다. Bloch는 Sun의 자바 플랫폼 라이브러리 아키텍트였기 때문에 이 언어에 정통해있다. 사실, 많은 책들을 저술하기도 했다. 이 책은 반드시 읽어야 한다.

The Java Programming Language (Ken Arnold, James Gosling, David Holmes)

The Java Programming Language (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
아마도 최고의 자바 서적일 것이다. 정식 스팩은 아니지만 각 언어 기능에 대한 소개가 읽을 만 하다. 엄격함과 교육적인 측면 사이에서 균형을 맞추면서 누구라도 자바 프로그래밍을 빠르게 이해할 수 있도록 했다.

Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)

Concurrent Programming in Java: Design Principles and Patterns, 2nd edition (Doug Lea; Addison-Wesley, 1999)
모든 개발자가 병행성(concurrency)에 대해 알아야 하는 것은 아니고 모든 엔지니어들이 이 책의 수준까지 될 필요는 없지만 이 책만큼 병행 프로그래밍을 잘 다룬 책을 본 적이 없다. 관심이 있다면 읽어보기 바란다. Lea는 SUNY 사의 전문 프로그래머이며 병행성과 관련된 그의 작업과 생각들은 JDK 5.0 스팩(JSR166)에 투영되었다. 자바를 효과적으로 사용하는 방법에 대한 그의 생각은 귀 기울일 만 하다.

Expert One-On-One J2EE Design and Development (Rod Johnson)

Expert One-On-One J2EE Design and Development (Rod Johnson)
J2EE를 처음 접하는 사람들에게, 이 책은 J2EE가 무엇인지를 말해준다. 이 책은 수년간의 경험의 산물이며, 다른 저자들의 책들과는 달리 Johnson은 자신이 경험하지 않은 것은 이야기 하지 않는다. J2EE는 오버킬이 불필요할 때 자주 사용된다. Johnson은 이것을 피하는 방법을 설명한다.

Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)

Refactoring: Improving the Design of Existing Code (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts; Addison-Wesley, 1999)
Fowler는 Analysis Patterns를 비롯하여 가장 대중적인 프로그래밍 책을 저술했다. 코드 리팩토링은 프로그래머 훈련 목록에서는 무시되지만 프로그래머의 직관에 의존한다. 리팩토링은 결과를 변경하지 않고 기존 코드의 디자인을 향상시킨다. 이것은 코드를 깨끗하게 유지하는 최상의 방법이며 언제라도 변경이 가능하다. 언제 리팩토링을 하는가? 코드가 냄새를 풍길 때 마다 리팩토링 한다. Fowler의 책은 자바 코드 예제들로 가득 차 있다. Eclipse를 포함하여 많은 자바의 IDE는 Fowler의 리팩토링을 결합하고 있다.

Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

Design Patterns: Elements of Reusable Object Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997)
전문 프로그래머들 사이 가장 유명한 책 중 하나이며 "the Gang of Four (GOF) book"으로 알려져 있다. 패턴은 일반적인 프로그래밍 문제들을 생각하고 해결하는 재사용 가능한 방식이다. 패턴을 배우는 것은 훈련이다. 이들을 잘 사용하는 것(또는 패턴을 사용하지 않아야 할 때를 아는 것)은 기술이다. 패턴을 무시하는 것은 실수이다. 이 책의 모든 예제들은 C++로 작성되었지만 자바도 여기서부터 출발했기 때문에 자바 언어에서 패턴을 구현하는 방법은 비교적 간단하다. 패턴에 익숙해지고 잘 사용하는 방법을 알면 프로그래밍이 쉬워진다. 또한 다른 프로그래머들과의 통신도 쉬워진다. 패턴은 일반적인 문제에 대한 일반적인 솔루션에 대해 함께 작업하는 많은 연관된 프로그래밍 개념을 설명하는 지름길이기 때문이다. Factory Method 같은 좀더 일반적인 것으로 유비쿼터스가 있다. 패턴을 효율적으로 사용하는 문제에 대해서는 Joshua Kerievsky의 Refactoring to Patterns을 참조하기 바란다.

Patterns of Enterprise Application Architecture (Martin Fowler)

Patterns of Enterprise Application Architecture (Martin Fowler; Addison-Wesley, 2002)
엔터프라이즈 개발은 작은 일회성 프로젝트 보다 훨씬 어렵다. 모든 엔터프라이즈 개발이 다 새로운 도전이라는 것은 아니다. 사실 하늘 아래 새로운 것은 없다. 많은 경우는 Fowler가 수행했던 프로젝트들이다. 그의 책에서는 일반적인 솔루션에 대해 이야기하고 사용법, 대안 등에 대한 가이드를 제공한다. Fowler는 Model View Controller (MVC) 같은 익숙한 패턴을 넣었고 like Page Controller 같은 비교적 새로운 것도 추가했다. 대부분의 패턴들과 마찬가지로 일단 읽고 나면 이미 알고있었던 것 처럼 생각하게 될 것이다.

UML Distilled (Martin Fowler)

UML Distilled: A Brief Guide to the Standard Object Modeling Language (Martin Fowler; Addison-Wesley 2003)
UML은 전문 프로그래머에게 중요한 시각적인 통신 언어이지만 과용 및 남용되고 있다. UML과 통신에 대해 많은 것을 알 필요가 없다. Martin은 아주 필수적인 것만 전달한다. 사실 대부분은 기본적으로 사용하고 있던 것이다. UML 예제의 모든 코드는 자바 코드이다.

Test-Driven Development: By Example (Kent Beck)

Test-Driven Development: By Example (Kent Beck; Addison-Wesley 2002)
테스트 중심의 프로그래밍은 프로그래밍의 혁명이고 더 나은 프로그래머가 될 수 있는 지름길이다. 코드를 작성하기 전에 테스트를 작성하는 것은 처음에는 어색하지만 강력한 개발 기술이다. 테스트를 먼저 작성함으로서 코드는 더욱 단순해진다. (Beck은 대표적인 테스트 중심의 자바 프레임웍인 JUnit도 공동 작성했다.) Beck의 책은 신뢰할 만한 자료이고 확장된 Money 예제는 자바이다. Beck은 테스트 중심을 생각하는 방식부터 설명한다. 바로 이것이 많은 프로그래머들이 겪는 첫 번째 어려움이기 때문이다.

The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)

The Pragmatic Programmer: From Journeyman to Master (Andrew Hunt and David Thomas; Addison-Wesley 1999)
순수 객체 지향주의자가 된다는 것은 모험이다. 요즘 처럼 복잡한 세상에 어떤 일이든 이루려면 타협을 해야 한다. 가이드 원리는 실용적인 것으로 되어가고 있다. Hunt와 Thomas는 정말로 중요한 것을 타협하지 않고 이 일을 할 수 있는 방법을 이야기 한다. 이것은 자바 책은 아니지만 자바 개발자를 위한 정신 수양 책이라고 할 수 있다.

Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)

Peopleware: Productive Projects and Teams (Tom DeMarco, Timothy Lister; Dorset House, 1999)
이 목록에 있는 다른 책들은 기술적이다. 하지만 이 책은 아니다. 기술적인 전문 용어들 속에서 그리고 약어의 바다 속에서, 소프트웨어 개발자들과 매니저들은 가끔씩 사람들이 소프트웨어를 만든다는 것을 잊는다. DeMarco와 Lister가 그 사실을 일깨워주고 그것이 차이를 만드는 이유를 설명한다. 이것은 실용적인 프로그래밍 책은 아니지만 자바 프로그래머라면 읽어야 한다. 프로그래머들을 위한 끝내주는 책들이 있겠지만 이것 역시 최고이다.




위로


웹 사이트

찾으려고만 하면 생각보다 많은 웹 사이트들이 있다. 자바 관련 웹 사이트들은 놀라울 정도로 많다. 아래 소개한 사이트들은 진짜이다.

Sun's Java Technology site

Sun's Java language site
Sun의 메인 자바 사이트이다. 자바 개발자라면 자주 들르게 될 것이다. 다음 링크는 특별히 중요하다. 특히 신참 자바 개발자들에게는 더욱 그렇다:

New to Java Center
New to Java Center
New to Java Center는 자바 자료들로 단계별로 이끈다. 초보 자바 개발자라면 시작 하기에 좋은 장소이다.

Tutorials and Code Camps
Java Tutorial
유명하지 않은 자바 튜토리얼과 (예를 들어, Collections 같은)자바의 다양한 측면들을 소개한다.

IBM developerWorks

IBM's developerWorks
이 글을 통해 developerWorks를 소개하는 것이 쑥스럽긴 하지만, developerWorks는 자바의 툴과 기술에 관련된 튜토리얼과 아티클의 거대한 리소스이다. 초보자 가이드에서부터 고급 병행성 기술까지 다루고 있다. 토픽별, 유형별로 검색할 수 있다.

The Apache Software Foundation

The Apache Software Foundation
Apache 사이트는 많은 재사용 가능한 라이브러리와 자바 개발자용 툴의 본산이다. 모두 오픈 소스이기 때문에 원하는 대로 다운로드 받을 수 있다. 매우 대중적인 자바 라이브러리와 툴 (struts, Ant, Tomcat)은 Apache 프로젝트로 시작했다. Jakarta는 부상하고 있는 자바의 한 분야이다.

Eclipse.org

Eclipse
좋은 자바 통합 개발 환경은 많이 있다. Eclipse(IBM)은 최신의, 빠르게 성장하고 있는 자바용 IDE 이다. 온전한 오픈 소스이며 무료이다. 사이트에는 Eclipse를 효과적으로 사용하는 방법을 배울 수 있는 모든 종류의 자료들이 있다. Swing의 대안인 Standard Widget Toolkit (SWT) 정보도 수록되어 있다.

Eclipse Plugin Central, EclipsePlugins

Eclipse Plugin Central, EclipsePlugins
Eclipse는 플러그인 아키텍쳐를 기반으로 한다. 사실, Eclipse의 자바 개발 컴포넌트는 플러그인이다. 하지만 Eclipse 환경에서 사용할 수 있는 플러그인은 수백 가지나 된다. 이 두 사이트에서는 이 플러그인을 목록별로 구분하고 있다. 이들은 뛰어난 자료이다. Eclipse를 사용하고 있고 개발 환경에 새로운 어떤 것을 하고자 할 때, 거기에 맞는 플러그인이 있다면 신나지 않겠는가? 두 사이트에서 플러그인들을 리뷰하여 자신에게 맞는 것을 고를 수 있다.

JUnit.org

JUnit.org
JUnit은 자바용 단위 테스트 프레임웍이다. 이 사이트에서는 최신 버전들 외에 테스팅 관련 정보를 다양한 레벨별로 소개하고 있다. 데스크탑 애플리케이션, 웹 애플리케이션, J2EE 애플리케이션 별로 설명한다. 테스팅 자료를 찾는다면 이곳이 최적의 장소이다.

TheServerSide.com

TheServerSide.com
서버측 자바 개발에 관여하고 있다면 이 사이트는 필수 사이트이다. JBoss, J2EE, LDAP, struts 관련 정보가 수록되어 있으며 검색도 쉽다. 자바의 기능과 지원 라이브러리만을 단순히 설명하지는 않는다. 라이브러리의 고급 사용법도 함께 설명한다. (템플릿 엔진 대신 Jakarta의 Velocity 사용하기). 자바의 현주소에 대한 논평도 기재되어 있다. 이 사이트의 장점 중 하나는 자바 툴과 제품을 비교할 수 있다는 점이다.

Bruce Eckel's MindView, Inc.

Bruce Eckel's MindView, Inc.
Eckel은 자바, Python, C++용 “thinking in” 시리즈를 저술했다. 그의 Thinking in Java는 개인적으로 내가 자바를 배울 때 많은 도움이 되었다. 자바 언어에서 객체를 어떻게 생각해야 하는지에 대한 통찰력을 심어주었다. 이 사이트에서 그의 모든 저서들을 무료로 다운로드 할 수 있다. 그가 쓴 많은 아티클들도 링크 되어 있다.

ONJava.com

ONJava.com
O’Reilley는 프로그래밍 언어와 툴 관련 저서들을 오랫동안 출판해왔다. 이들의 자바 관련 웹 사이트도 훌륭하다. 다양한 자바 툴(JDOM, Hibernate) 정보와 자바 플랫폼의 다양한 부분들(J2SE, J2EE)을 수록하고 있다. 또한 뛰어난 아티클과 튜토리얼도 갖고 있다. 이 사이트는 토픽별로 구분되어 있다. 몇몇 예제는 자바와 XML, Java Security, Wireless Java, Java SysAdmin으로 구성된다. 이 사이트는 O’Reilley 교육 랩으로 연결되어 온라인 강의를 들을 수 있다. 무료는 아니지만 기술도 배우고 보증서도 받을 수 있는 편리한 방법이다.

java.net

java.net Communities
이곳에는 여러 커뮤니티들이 있다. 또한 주제 포럼과 아티클도 있다. 예를 들어 Java Desktop 커뮤니티에는 데스크탑 용 자바 개발과 관련된 모든 종류를 다루고 있다. Java Patterns 커뮤니티는 자바 세계의 패턴 리소스 포탈로서 흥미를 끌고 있다. Java User Groups (JUGs)에서는 JUG의 생성, 실행에 관련된 정보를 찾을 수 있다.




위로


요약

“좋은”, “필수적인”, “중요한” 리소스 리스트는 불완전하기 마련이다. 이 글 역시 예외는 아니다. 물론 자바 서적의 수는 방대하고 웹 사이트 역시 엄청나다. 이 글에서 소개한 것보다 더 많은 자바 교육 자료들이 있다. 하지만 이 글에서 언급한 책이나 웹 사이트, 아티클/튜토리얼을 갖고 있다면 가히 실용적인 리소스를 갖추었다고 할만하다.

능력 있는 자바 개발자가 된다는 것은 여러분의 손이 더러워지고 많은 것을 시도해야 한다는 것을 의미한다. 튜토리얼이 없다면 구현하고 싶은 소프트웨어가 있어도 구현하지 못할 것이다. 언젠가는 여러분들이 책들을 통해 배운 것을 토대로 직접 글도 작성하고 튜토리얼도 작성할 수 있게 되길 바란다..




위로


참고자료




위로


필자소개


Roy Miller는 소프트웨어 개발 코치, 프로그래머, 집필가로 활동하고 있다.