Java 전문가를위한 필수 책 방송 :
모든 프로그래머는 종종 전문 자료라고하기 때문에 종종 마모되는 책이 있습니다. 다음 책은 Java Language Programmers의 책장에 필수품이어야합니다. 책은 비싸기 때문에 의도적 으로이 목록을 짧고 중요한 책으로 제한합니다.
Java의 생각 (Bruce Eckel)
Java의 사고, 3 판 (Bruce Eckel; Prentice Hall Ptr, 2002)
Java 프로그래밍 생각 : 3 판 (Chen Haopeng et al.; Machinery Industry Press, 2005)
Eckel 의 책은 Java 로케일에서 객체 지향 기술을 사용하는 방법을 배우는 데 매우 유용합니다. 이 책의 많은 코드 예제가 그가 소개 한 개념을 설명합니다. 텍스트는 Java 기술이 항상 정답이라고 생각하지 않는 사람에게서 나옵니다. Eckel은 객체 지향적 인 방식으로 생각할 수있는 여러 언어와 견고한 기술로 많은 경험을 가지고 있습니다. 이 책은 이러한 기술을 실용적인 Java 로케일에 넣습니다. 그는 또한 Enterprise Java의 Thinking in Thinking이라는 새로운 책을 쓰고 있습니다.
효과적인 Java (Joshua Bloch)
효과적인 Java : 프로그래밍 언어 가이드 (Joshua Bloch; Addison-Wesley, 2001)
효과적인 Java 중국어 버전 (Pan Aimin; Machinery Industry Press, 2003에 의해 번역)
이 책은 우수한 Java 프로그래밍의 원리를 이해하는 가장 좋은 책입니다. 대부분의 자료는 단순히 "학습 자바"에 관한 다른 책에서는 찾을 수 없습니다. 예를 들어, Bloch의 책에 대해 equals ()에 관한 장은 내가 읽은 최고의 참고 문헌 중 하나입니다. 그는 또한이 책에 매우 실용적인 제안을 포함시켰다. 초록 수업을 인터페이스로 바꾸고 유연하게 예외를 사용한다. Bloch는 Sun의 Java 플랫폼 라이브러리의 건축가이므로 언어를 철저히 이해하고 있습니다. 실제로, 그는 언어로 많은 유용한 라이브러리를 썼습니다. 이 책을 읽어야합니다!
Java 프로그래밍 언어 (Ken Arnold, James Gosling, David Holmes)
Java 프로그래밍 언어 (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
Java 프로그래밍 언어 (3 판) (Yu Wanrong et al., China Electric Power Press, 2003에 의해 번역)
이것은 아마도 당신에게 최고의 Java 소개 일 것입니다. 표준 사양이 아니라 각 언어의 특성을 소개하는 읽을 수있는 책입니다. 이 책의 무게는 엄격하고 교육적으로 잘 진행되며 프로그래머는 Java 언어 (및 풍부한 도서관)에 빠르게 끌릴 수 있습니다.
Java의 동시 프로그래밍 : 디자인 원칙 및 패턴 (Doug Lea)
Java의 동시 프로그래밍 : 디자인 원칙 및 패턴, 2 판 (Doug Lea; Addison-Wesley, 1999)
Java 동시 프로그래밍 - 디자인 원리 및 패턴 (제 2 판) (Zhao Yong et al., China Electric Power Press, 2004에 의해 번역)
모든 개발자가 동시성에 대한 세심한 이해를 가질 필요는 없으며, 모든 엔지니어 가이 책의 수준에 도달 할 수있는 것은 아니지만이 책보다 동시성 프로그래밍에 대한 더 나은 개요는 없습니다. 관심이 있으시면 여기에서 시작하십시오. Lea는 SUNY의 전문 프로그래머이며 동시성과 관련된 그의 작품과 아이디어는 JDK 5.0 사양 (JSR166에서 인용)에 포함되므로 Java 사용에 대한 그의 조언은 효과적으로들을 가치가 있음을 확신 할 수 있습니다. 그는 의사 소통하는 데 매우 능숙합니다.
전문가 일대일 J2EE 디자인 및 개발 (Rod Johnson)
전문가 일대일 J2EE 디자인 및 개발 (Rod Johnson)
WROX : J2EE 설계 및 개발 프로그래밍 안내서 (Wei Haiping, Electronics Industry Press, 2003)
J2EE를 처음 접하는 사람들에게는이 책 이이 기술을 진정으로 반영하는 유일한 책입니다. 이 책에는 수년간의 성공과 실패 경험이 포함되어 있습니다. 다른 많은 저자 들과는 달리 Johnson은 실패 경험을 공개하게되어 기쁩니다. J2EE는 종종 과도하게 사용됩니다. 존슨의 책은 이것을 피하는 데 도움이 될 수 있습니다.
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactoring : 기존 코드의 디자인 개선 (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts;
Addison-Wesley, 1999)
Refactoring : 기존 코드 설계 개선 (중국어 버전) (Hou Jie et al., China Electric Power Press, 2003)
Fowler는 분석 패턴을 포함하여 현재 출판 된 가장 인기있는 프로그래밍 서적을 몇 가지 작성했습니다. 재건에 관한 그의 책은이 주제에 대한 기본 책입니다. 리팩토링 코드는 프로그래머가 무시하는 교육이지만 프로그래머에게 가장 직관적 인 아이디어입니다. 리팩토링은 코드 결과를 변경하지 않고 기존 코드의 설계를 향상시키는 것입니다. 이것은 코드를 단정하게 유지하는 가장 좋은 방법이며, 이러한 방식으로 코드를 설계하면 항상 쉽게 수정할 수 있습니다. 언제 재현됩니까? 코드가 "맛을 느낀다". Fowler의 책은 Java 언어 코드의 예로 가득합니다. 많은 Java Language Integrated Development Environments (IBM의 Eclipse 포함)에는 Fowler의 재구성이 포함되며 각각은 재구성 이름으로 명명되므로 추출 방법과 같은 재구성 방법에 익숙해집니다.
디자인 패턴 (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
디자인 패턴 : 재사용 가능한 객체 지향 소프트웨어의 요소 (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997)
디자인 패턴 : 재사용 가능한 객체 지향 소프트웨어의 기초 (Li Yingjun et al., Machinery Industry Press, 2005에 의해 번역)
이 책은 전문 프로그래머 서클에서 더 유명한 책입니다. 저자의 일반적인 별명을 바탕 으로이 책은 "Gang of Four (GOF) 책"으로 간주됩니다. 패턴은 일반 프로그래밍 문제를 생각하고 해결할 때 재사용하는 방법입니다. 학습 모델은 주제입니다. 좋은 모드를 사용하거나 사용하지 않을시기를 아는 것은 기술입니다. 패턴을 무시하는 것이 잘못되었습니다. 이 책의 모든 예제는 C ++로 표시되지만 Java 언어는 그곳에서 태어 났으므로 Java 언어 프로그래머를 Java 언어로 이러한 패턴을 구현하는 방법에 연결하는 것은 비교적 간단합니다. 패턴에 익숙하고 좋은 패턴을 사용하여 프로그래밍을보다 쉽게 할 수있는 방법을 이해하십시오. 이는 일반적인 문제에 대한 일반적인 솔루션에서 패턴이 서로 협력하는 솔루션의 많은 관련 프로그래밍 개념을 설명하는 지름길이기 때문에 다른 프로그래머와 쉽게 의사 소통 할 수 있습니다. 공장 방법과 같은 몇 가지 일반적인 방법은 일반적으로 존재하며 Java 언어 자체에도 존재합니다. 현명한 용도로 패턴을 사용하는 주제에 대해서는 Joshua Kerievsky의 패턴에 대한 리팩토링을 읽을 수도 있습니다.
엔터프라이즈 애플리케이션 아키텍처 패턴 (Martin Fowler)
엔터프라이즈 애플리케이션 아키텍처 패턴 (Martin Fowler; Addison-Wesley, 2002)
Enterprise Application Architecture Model (Wang Huainin et al., Machinery Industry Press, 2004에 의해 번역)
소규모 및 일회성 프로젝트와 비교할 때 기업 개발은 확실히 더 큰 도전을 나타냅니다. 그렇다고 기업 개발로 인한 모든 도전이 새로운 도전이라는 의미는 아닙니다. 실제로, 때때로,이 개발은 이전에 완료되었습니다. 파울러는 많은 프로젝트를 수행했습니다. 그의 책은 몇 가지 일반적인 솔루션을 언급하고 사용, 타협 및 옵션에 대한 지침을 제공합니다. Fowler에는 MVC (Model View Controller)와 같은 책에 친숙한 패턴이 포함되어 있으며 웹 사이트의 특정 페이지 요청 또는 동작 요청을 처리하는 페이지 컨트롤러 모드와 같이 이해하지 못하는 패턴도 제공합니다. 대부분의 모드를 취급하면 많은 모드를 읽으면 "이미 그 모드를 알고 있습니다"라고 생각합니다. 어쩌면 그럴 수도 있지만 참조 패턴에 대한 일반적인 표현식을 갖는 것이 도움이됩니다. 이 클래스의 참고 문헌은 여러 구성 요소 (다른 사람들이 개발)를 가진 대규모 프로젝트에서 큰 도움이됩니다.
UML 증류 (Martin Fowler)
UML 증류 : 표준 객체 모델링 언어에 대한 간단한 안내서 (Martin Fowler; Addison-Wesley 2003)
UML Essence : 표준 객체 언어에 대한 간단한 안내서 (3 판) (Tsinghua University Press, Xu Jiafu, 2005)
전문 프로그래머에게는 UML은 중요한 보편적 시각적 커뮤니케이션 언어이지만 과도하게 사용하고 성급합니다. UML 커뮤니케이션 사용에 대해 많이 알 필요는 없습니다. 마틴의 UML 개선은 가장 핵심적인 것들을 제공합니다. 실제로 전면 및 뒷면 표지는 정기적으로 사용할 수있는 모든 것을 제공합니다. 이 책의 UML 예제 코드는 Java 코드입니다.
시험 중심 개발 : 예제 (Kent Beck)
시험 중심 개발 : 예별 (Kent Beck; Addison-Wesley 2002)
시험 중심 개발 (중국어 버전) (Cui Kai, China Electric Power Press, 2004)에 의해 번역)
Test-First 프로그래밍은 프로그래밍에 혁명을 일으키고 더 나은 프로그래머가되도록 도와줍니다. 코드를 작성하기 전에 테스트를 작성하는 것은 시작하기가 어렵지만 강력한 기술입니다. 테스트의 우선 순위를 정함으로써 코드를 더 간단하게 만들고 처음부터 작동하는지 확인할 수 있습니다 (Beck은 Java의 가장 인기있는 테스트 프레임 워크 인 그의 옹호 우선 순위, 공동 작곡 한 Junit)를 연습했습니다. Beck의 책은 권위있는 참조이며, 확장 된 돈 사례는 Java로 작성되었습니다. Beck은 테스트 우선 순위로 생각하는 방법을 자세히 설명합니다 (많은 프로그래머가 직면 한 첫 번째 장애물 일 수 있음).
실용적인 프로그래머 : Journeyman에서 Master (Andy Hunt와 Dave Thomas)
실용적인 프로그래머 : Journeyman에서 마스터로 (Andrew Hunt와 David Thomas; Addison-Wesley 1999)
연습 방법 - 소규모 근로자에서 전문가에 이르기까지 (Mavida, Electronics Industry Press, 2004)
순수한 객체 지향 개발자가되면 장점이 있습니다 . 오늘날의 복잡한 사회에서 Java 언어 개발자로서, 당신은 종종 당신의 작업을 완료하기 위해 타협해야합니다. 사냥과
Thomas는 실제로 중요한 것을 타협하지 않고 작업을 완료하는 방법을 탐구합니다. 이것은 Java 언어에 관한 책이 아니라 Java 언어 개발자들에게 중요한 생각을 읽습니다. 예를 들어, 나는 "문제를 해결하지 말고 책임을지지 않는 것"이라는 정직한 조언을받는 프로그래머는 자랑스런 예술가처럼 그의 걸작에 유명한 이름에 서명 할 수 없다고 생각합니다.
Peopleware : 생산적인 프로젝트 및 팀 (Tom Demarco 및 Timothy Lister)
Peopleware : 생산적인 프로젝트 및 팀 (Tom DeMarco, Timothy Lister; Dorset House, 1999)
개인 문서 (2 판) (Umlchina Translation Group, Tsinghua University Press, 2003)
이 목록의 다른 모든 책은 기술과 다소 관련되어 있습니다. 이 책은 아닙니다. 모든 기술 전문 용어와 약어의 바다에서 소프트웨어 개발자와 관리자는 때때로 소프트웨어를 만든 사람들입니다. DeMarco와 Lister는이 사실 과이 차이의 이유를 상기시켜줍니다. 이것은 특정 프로그래밍 언어에 관한 책이 아니지만 모든 Java 언어 프로그래머가 읽어야하는 책입니다. “지친 프로그래머가 관리자를 역화하는 방법”에 관한 다른 좋은 책이 많이 있지만, 이것이 가장 좋은 책입니다.
자바 언어를 배우는 것은 읽기부터 시작합니다!