JavaRush /Java Blog /Random-KO /초보자 등을 위한 최고의 Java 도서(2023)

초보자 등을 위한 최고의 Java 도서(2023)

Random-KO 그룹에 게시되었습니다
우리는 정보에 대한 빠른 접근과 마찬가지로 빠른 흡수에 익숙합니다. 우리는 심층 강의보다는 5분짜리 비디오를, 책보다는 짧은 기사를 선호합니다. 나는 프로그래밍에 관한 좋은 책이 어떤 기사를 대체할 것이라고 주장하지 않을 것입니다. 그러나 그렇지 않습니다. 그리고 그것은 확실히 연습을 대체하지 못할 것입니다. 그러나 개인적으로 프로그래밍의 기본에 대한 진정한 이해는 JavaRush 프로그래밍 과정에서 수백 가지 문제를 해결하고 수많은 기사를 읽은 후 동시에 책에서 이론을 연구하고 깊이 탐구하기 시작한 후에 이루어졌습니다. 나는 꽤 오랫동안 개인적인 "초보자를 위한 최고의 Java 튜토리얼"을 찾고 있었습니다. 다음은 내 연구의 다양한 단계에서 어느 정도 유용했던 몇 가지 Java 책입니다.

초보자를 위한 책

이 섹션에서는 Java 프로그래밍을 배우기 위한 첫 번째 단계를 수행하는 데 필요한 책을 모았습니다.

1. 헤드 퍼스트 자바(Head First Java), 캐시 시에라(Kathy Sierra), 버트 베이츠(Bert Bates)

나는 이 책을 좋아해서가 아니라 가장 단순하기 때문에 이 책으로 시작했다. 많은 프로그래머들에 따르면 이 책은 처음부터 최고의 Java 튜토리얼입니다. 더욱이, 그것은 완전히 처음부터 시작하는 것입니다. 즉, 이제 막 시작하고 어떤 종류의 짐승 프로그래밍이 무엇인지 잘 이해하지 못하는 사람들에게 적합합니다. 나는 그것이 나에게 너무 늦게 왔다는 것을 인정한다. 그렇기 때문에 감사할 수 없었던 것 같아요. “그냥 읽는 것”은 매우 즐거웠지만, 그 안에 구체적인 내용을 찾는 데는 오랜 시간이 걸렸습니다. 자료는 생생하게 제시되지만 다소 피상적이며(처음부터 작성하기 때문에!) 많은 주제와 필요한 설명이 없습니다. 하지만 그것을 물려받은 내 친구는 기뻐하며 이것이 초보자를 위한 최고의 자바 교과서일 뿐만 아니라 직접적인 세계 걸작이며 이것이 어떻게 복잡한 자료를 제시해야 하는지 외쳤습니다.

장점:

  • 살아있는 언어로 작성된 완전한 인형을 위한 최고의 Java 튜토리얼입니다.
  • 멋진 일러스트와 유머.
  • 실제 사례를 들어 설명합니다.

결점:

  • 이미 주제에 들어간 사람들을 위한 많은 물.
  • 항상 성공적인 퍼즐과 연습은 아닙니다.

2. 초보자를 위한 자바, Barry Bird

이 책은 내가 프로그래머로 일하고 있을 때 이미 나에게 다가왔다는 것을 인정해야 한다. 유용한 책에 대한 기사의 이전 버전에서 댓글로 이에 대한 질문을 받았고 직장에서 테스터와 함께 그것을 보았을 때 자세히 살펴보기로 결정했습니다. Barry Bird가 쓴 Java for Dummies는 학습에 도움이 되는 여러 리소스를 기꺼이 사용하려는 초보자를 위한 흥미로운 책입니다. 이 책은 초보자를 위한 튜토리얼이 아니라 Java에 대한 첫 번째 참고서입니다. JavaRush와 같은 단계별 수업과 병행하여 학습하고(필수!) 실제로 배운 내용을 즉시 통합하는 것이 가장 효과적입니다. 프레젠테이션을 바탕으로 나는 저자가 언뜻보기에 예상치 못한 곳에 멈춰서 제기 된 문제를 매우 자세하게 검토하기 때문에 저자가 교사임을 즉시 인식했습니다. 이것은 우연이 아닙니다. 그의 학생들이 가장 자주 실수한 것은 바로 이러한 질문이었습니다. 하지만 일부 주제는 피상적으로 다루어집니다... 하지만 이 책은 초보자를 위한 책이므로 깊이를 기대해서는 안 됩니다. 처음 두 장은 초보자에게 적합하고 OOP(3장)는 다른 책에서 더 잘 연구되지만 4장(고급 프로그래밍 기술 - 클래스 및 메서드 사용 방법, 컬렉션 시작, 멀티스레딩, 예외 처리에 대한 설명) 및 5장은 (실수 방지 요령) 저는 매우 성공적이고 유용하다고 생각합니다. 게다가 Java For Dummies는 읽기 쉽고 다채롭고 재미있는 예제로 가득 차 있습니다. 길에서나 잠들기 전 어디에서나 쉽게 읽을 수 있습니다. 물론 작가의 스타일에 만족한다면 말이죠. 그리고 기억하세요: 이 세상 어떤 책도 당신을 소프트웨어 개발자로 만들 수는 없습니다. 연습만이 가능합니다. 초보자 등을 위한 최고의 Java 도서(2023) - 1

장점:

  • 쉬운 언어.
  • 다양한 주제에 대한 건전한 조언과 좋은 소개입니다(1, 2, 4장).
  • 좋은 예입니다.

결점:

  • 모든 주제가 똑같이 잘 제시되는 것은 아닙니다.
  • 모든 사람이 작가의 스타일을 좋아하는 것은 아닙니다.

3. Java: 완전 초보자를 위한 프로그래밍 기초, Nathan Clark

프로그래밍 경험이 전혀 없는 독자를 위한 또 다른 책입니다. 가장 큰 장점은 단계별 특성이라고 말하고 싶습니다. 프로그래밍을 처음 접하는 사람들이 흔히 어려움을 겪는 점들을 꽤 잘 설명하고 있습니다. 여기에서는 IDE를 선택하는 방법과 첫 번째 프로그램을 작성하는 방법을 배웁니다. 이 책에서는 Java Development Kit와 Java Runtime Environment가 무엇인지 설명하고 각 코드의 예를 제공합니다. 그런데... 이 책은 러시아어 번역본이 없어서 최소한 B1 수준의 영어를 아시는 분들에게 추천합니다. 그런데 이 수준에서는 모든 개발자가 영어를 알아야 하므로 영어 책에서 Java를 배우면 일석이조가 될 수 있습니다. 이 기사에는 그러한 책이 충분합니다. 초보자 등을 위한 최고의 Java 도서(2023) - 2

장점:

  • 프로그래밍과 Java 언어의 기본 기능을 원활하게 소개합니다.
  • 발표 순서.

결점:

  • 객체 지향 프로그래밍의 개념에 대한 심층적인 설명이 없기 때문에 일부 실제 예제는 혼란스러울 수 있습니다.
  • 러시아어 번역이 없습니다.

4. Java를 생각하세요: 컴퓨터 과학자처럼 생각하는 방법, Allen Downey 및 Chris Mayfield

영어로 제공되는 또 다른 흥미로운 책입니다. 저자가 지적했듯이 이 책의 주요 목표는 독자가 컴퓨터 과학에 내재된 문제를 해결하는 데 필요한 사고 능력을 개발하도록 돕는 것입니다. 이 책은 초보자를 대상으로 했기 때문에 저자는 프로그래밍 경험이나 Java에 대한 지식이 없는 사람도 이해할 수 있는 기본부터 시작합니다. 간단하게 작성되었으며 프로그래밍을 마스터하고 알고리즘 사고 능력을 개발하려는 학생이나 독학한 사람에게 유용할 수 있습니다. 다른 많은 책과 마찬가지로 이 책도 OOP에 대한 소개로 시작됩니다. 각 장에는 이론을 강화하고 프로그래밍 기술을 익히기 위한 어휘와 연습 섹션이 포함되어 있습니다. 초보자 등을 위한 최고의 Java 도서(2023) - 3

장점:

  • 쉽고 즐겁게 읽을 수 있습니다.
  • 이 책은 복잡한 프로그래밍 개념을 접근 가능하고 이해하기 쉬운 방식으로 제시합니다.
  • 괜찮은 예와 연습.

결점:

  • 단계별 접근 방식이 부족합니다.
  • 특정 주제에 대한 자세한 설명이 항상 제공되는 것은 아니기 때문에 일부 독자들은 일부 섹션 이후에 질문을 남길 수도 있습니다.

5. 자바. 초보자 가이드, Herbert Schildt

이 교과서를 살펴본 후 Headfirst보다 자료에 대한 전통적인 프레젠테이션을 좋아하지만 처음부터 튜토리얼을 찾는 사람들에게 적합하다고 생각했습니다. 어떤 곳에서는 책의 표현이 매우 상세하여 좋은 시각적 예가 포함된 확장되고 번역된 문서를 연상시킵니다. 때로는 저자가 선을 넘어 너무 많이 씹기 시작하고 독서가 지루해집니다... 그리고 갑자기 - 재주 넘기 - 그리고 다소 복잡한 장소가 거의 즉시 놓치고 무엇과 어디를 이해하려고 노력하면서 완전히 어리둥절해집니다. 당신은 놓쳤습니다. 하지만 책에는 그런 곳이 그리 많지 않고, 초보자 가이드가 아직 아무것도 모르는 사람들을 위한 최고의 자바 튜토리얼이라고 믿는 사람들을 알고 있습니다. 개인적으로 나는 책이 고르지 않다고 생각했습니다. 컬렉션을 정렬하기 시작하고 사람의 설명 대신 배열을 기반으로 Set을 독립적으로 생성하는 작업을 제공한다고 가정해 보겠습니다. 멋진 문제입니다. 하지만 먼저 표준 컬렉션이 무엇인지 더 잘 이해하고 싶습니다! 이 책은 이전 책과 마찬가지로 초보자를 위한 교과서로 간주되지만, 교사로서의 나의 경험에 따르면 이 책은 다른 자료와 결합해야만 좋은 것으로 나타났습니다. 인문학 전환자에게는 모든 것이 간단하고 명확하지는 않습니다. "초보자 가이드"는 프로그래밍을 어느 정도 공부한 적이 있는 사람(예를 들어 대학에서), 오래 전에 프로그래밍을 포기한 사람, 동시에 저자의 프레젠테이션 스타일을 좋아하는 사람에게 적합합니다. 특히 교과서가 지속적으로 업데이트되고 Java 8의 기능을 다루고 있으며 현재 버전(10판)에서는 JDK 9 및 JDK 10을 고려하고 있다는 점이 특히 기쁩니다. 초보자 등을 위한 최고의 Java 도서(2023) - 4

장점:

  • 기본 사항에 대한 전통적인 사려 깊은 프레젠테이션입니다.
  • 좋은 예입니다.

결점:

  • "너무 씹은 것"에서 "지나가면서 말한 것"으로 점프가 있습니다.
  • 지루한 곳이에요.
그건 그렇고, Herbert Schildt는 프로그래밍에 관한 또 다른 유명한 책인 "Java. The Complete Guide"를 가지고 있습니다. 이것은 완전히 다른 교과서이며 더 근본적입니다. 계속 진행해 보겠습니다.

계속하거나 다시 시작하는 사람들을 위한 안내

다음 책은 이미 프로그래밍에 대해 어느 정도 이해하고 있고 Java에 대해 좀 더 깊이 알고 싶거나 더 철저하게 연습하기를 원하는 사람들에게 가장 적합합니다. 사람들이 일반적으로 바로 이해하지 못하는 새롭거나 상대적으로 새로운 Java 기능에 대한 매뉴얼, 참고 서적 및 튜토리얼이 있으며 Android에 관한 책(보다 정확하게는 Android에 대한 책 한 권)도 있습니다.

6. 자바. 완전한 가이드, Herbert Shildt

고백합니다. 옛날에 저는 이 책을 평가한 다음 구매 여부를 결정하기 위해 인터넷에서 이 책을 다운로드했습니다. 농담이 아닙니다. 1300페이지의 텍스트입니다! 그리고 가격은 볼륨만큼 인상적이지 않습니다. 나는 Kay Horstmann이 쓴 두 권으로 구성된 "Professional's Library"에도 동일한 작업을 수행했습니다(자세한 내용은 아래 참조). 앞으로는 두 번째를 선택했다고 말씀 드리겠습니다. 왜? Java 책에 있기 때문입니다. 완전한 안내서" "초보자 안내서"와 동일한 단점을 보았습니다. 설명은 때로 씹히기도 하고, 때로 구겨지기도 하지만, 동시에 그냥 구겨진 것이 아니라 어쩐지 장황하게 구겨지기도 한다. 아마도 이것이 작가의 스타일이고 누군가는 그것을 좋아할 것이라고 생각합니다. 전반적으로 Java 8: The Definitive Guide는 Java에 대한 좋은 참고서입니다. 하지만 개인적으로는 같은 내용을 다른 책에서 제시하는 것이 더 마음에 들었습니다. 초보자 등을 위한 최고의 Java 도서(2023) - 5

장점:

  • 완전한 가이드. 단순히 초보자가 아닌, 초보자가 알아야 할 내용은 다 있는 것 같습니다.
  • 자세한 설명.

결점:

  • 물이 많습니다(그러나 어떤 사람들은 그것을 좋아할 수도 있습니다!).
  • 러시아어 번역이 최고가 아닙니다.

7. 자바. 전문가의 도서관, Kay S. Horstmann, Harry Cornell

Schildt와 Horstmann의 책은 종종 서로 비교됩니다. 둘 다 충성스러운 팬이 있습니다. 나에게는 Horstmann의 두 권짜리 책이 Java에 관한 최고의 교과서입니다. 이 책은 JavaRush의 초급 및 중급 수준의 저에게 참고서가 되었습니다. 제가 어떤 주제를 이해하지 못했을 때 저는 주로 Horstmann에게 의지했고 그는 많은 것을 명확하게 설명해주었습니다. 이 책은 구문부터 멀티스레드 프로그래밍, 프로그램 지역화, XML 작업에 이르기까지 모든 것을 다루고 있습니다. 그리고 "Professional's Library"라는 이름 때문에 겁먹지 마세요. (그래서 겁이 났습니다.) 기본 사항이 꽤 잘 설명되어 있습니다. 또한, 주기적으로 다시 읽어 지식을 정리하고 정리하는 데에도 유용합니다.

장점:

  • 놀라울 정도로 페이지 수가 많아서 (실트와 달리) 물이 거의 없습니다.
  • 초보자에게 필요한 모든 것이 포함되어 있습니다.
  • Java 8을 확장하고 JDK 9, 10 및 11의 변경 사항을 고려합니다.
  • 컬렉션과 제네릭에 관한 주제를 잘 표현했습니다.
  • JavaRush와 잘 어울립니다. 주제에 접근하고, 문제를 해결하고, 조만간 이해하지 못하는 내용이 있으면 Horstmann을 보고 다시 시도해 보세요.

결점:

  • 어떤 사람들은 책이 건조하다고 생각할 수도 있습니다.
  • 연습이 없습니다.
  • 실수가 있는 러시아어 번역.

8. Java 8의 활용: 람다, 스트림, 함수형 프로그래밍

여덟 번째 버전에서는 Java의 세계에 새로운 기능이 매우 중요하고 이전과는 다르기 때문에 이러한 주제를 다른 모든 항목과 별도로 연구하는 것이 좋습니다. 게다가 지금까지 더 중요한 언어 업데이트는 아직 이루어지지 않았습니다. 따라서 우리 앞에는 Java 8에 대한 흥미로운 교과서인 Java 8 in action이 있습니다. 이 책은 "그냥" Java의 기본 사항을 이미 알고 있는 사람들을 위해 설계되었다는 점을 즉시 지적하는 것이 중요합니다. 이 책의 장점은 다양하고 유용한 연습 문제가 많다는 것입니다. 예에는 "올바른" 코드 샘플과 "잘못된" 코드 샘플이 모두 포함됩니다. 가장 중요한 것은 혼동하지 않는 것입니다.

장점:

  • 실천 지향적입니다.
  • 올바른 코드와 잘못된 코드의 차이를 보여줍니다.

결점:

  • Java 기본 사항을 더 깊이 이해하려면 추가 리소스가 필요합니다.

9. 인내심이 부족한 사람들을 위한 핵심 Java(제3판) 또는 Java SE 9. 기본 과정, Kay Horstmann

원문에서는 이 책을 '성급한 사람을 위한 코어 자바', 즉 '성급한 사람을 위한 자바 코어'라고 불렀다. 왜 번역에는 포함되지 않았는지 모르겠습니다. 내 생각에는 이것이 이 책이 동료들 사이에서 길을 잃지 않는 데 도움이 될 것입니다. 이 책의 두 번째 판은 러시아어로 번역되었으며 영어로는 이미 Java 17로 업데이트된 세 번째 판이 있습니다. 이 책은 빠른 참조로 구성되어 있으며 다음 질문에 대한 답을 찾는 데 매우 편리합니다. 잊어버린 내용이 있거나 이전에 다른 언어로 프로그래밍한 적이 있는 경우 구체적인 질문을 해보세요. 특히 마음에 들었던 점은 텍스트가 매우 짧고, 본질적으로 씹거나 물을 넣지 않는다는 것입니다. 이 책은 람다 식, 입력/출력 스트림 및 모듈에 대한 좋은 설명을 제공합니다. 하지만 이 책에서는 변수나 루프가 무엇인지 설명하지 않습니다. 그러나 이미 언급한 기본 구조, 컬렉션, 주석, 제네릭, 로깅, 멀티스레딩 등 실제로 작업할 모든 것이 있습니다. 솔직히 저는 이 책을 정말 좋아해서 지금도 가끔 보고 있어요. 이 책은 프로그래밍에 대해 전혀 모르는 사람들에게는 적합하지 않다는 점을 기억하세요. 이미 다른 언어나 동일한 Java를 공부했지만 완전히는 아니지만 오랫동안 공부한 사람들에게 더 가능성이 높습니다.

장점:

  • 짧은 정보 블록. 모든 것이 요점입니다.
  • 불필요한 주제는 없습니다.
  • 초보 Java 프로그래머가 공부할 수 있는 매우 유용한 최신 주제 선택입니다.
  • 성공적인 사례.

결점:

  • 이 책은 처음부터 프로그래밍을 배우기 시작하는 사람들에게는 적합하지 않습니다.

10. 자바. 개발자 핸드북, Benjamin J. Evans, David Flanagan

Horstmann의 책에 대한 대안인 훌륭한 보편적 참고서입니다. 계속해서 프로그래밍에 뛰어드는 초보자와 Java 개발자 모두에게 유용한 정보가 포함되어 있습니다. 이 문구를 작성할 당시의 최신판(7번째)은 Java 11을 기반으로 합니다. 책은 길지 않고 예제도 많으며 Java API 및 모범 개발 사례에 대해 논의합니다. 이 책은 읽기 쉬우며, 이 책을 통해 언어의 기초, 유용한 프로그래밍 기술, 심지어 Java의 새로운 경향까지 배울 수 있습니다.

장점:

  • 짧고 좋은 요약.
  • 초보 프로그래머에게 필요한 모든 것이 있습니다.
  • 최신 도구에 대한 좋은 설명입니다.
  • 성공적인 사례.

결점:

  • 러시아어로 용어가 항상 적절하게 번역되는 것은 아닙니다.

11. 자바 모듈 시스템, 니콜라이 팔로그

이 책은 영어와 러시아어로 제공됩니다. Java 모듈러 시스템에 대한 매우 상세한 안내서입니다. 저자는 코드를 깔끔한 블록으로 패키징하면 안정적이고 안전한 애플리케이션을 만드는 것이 훨씬 쉽다고 주장합니다. Java의 모듈은 비교적 새로운 도구입니다. 근본적인 아키텍처 변경은 버전 9 이후에만 Java 코어에 영향을 미쳤습니다. 그리고 모듈을 사용하는 프로젝트가 점점 더 많아지고 있지만 구식 방식으로 작업하는 데 익숙하고 이에 대해 아무것도 모르는 사람들이 있습니다. 흥미로운 혁신. 이 책을 읽고 나면 다양한 JAR 파일이 상호 작용하는 방식을 모니터링하고 누락된 종속성을 쉽게 찾는 방법을 이해할 수 있습니다. 모듈식 Java 프로젝트에 대해 진지하게 생각하고 있거나 업무용 모듈을 배워야 한다면 이 책을 확인해 보세요.

장점:

  • 모듈형 시스템의 장점에 대한 가장 완벽한 설명입니다.
  • 모듈로 마이그레이션하기 위한 훌륭한 예와 전략입니다.

결점:

  • 구문 설명이 거의 없어 초보자에게는 어렵습니다.

12. 현대적인 Java 실행: 람다, 스트림, 함수형 및 반응형 프로그래밍

Java는 수년 동안 존재해 왔지만 언어에는 지속적으로 새로운 기능이 추가되고 있습니다. 물론 우리는 모두 인간이므로 프로그래머는 때때로 새로운 기능과 접근 방식을 무시하고 이를 Java 프로젝트에 구현하는 것을 꺼립니다. Modern Java in Action과 같은 책은 이 문제를 해결하는 데 도움이 되도록 설계되었습니다. 이 가이드에서는 단기 멘토링 교육에서 가장 자주 다루는 주제를 자세히 다룹니다. 일반적으로 이러한 교육은 1~3일 동안 지속되며 정보가 매우 집중되어 있습니다. 따라서 초보 프로그래머는 단순히 새로운 정보에 빠져서 그것을 동화하지 않습니다. 그리고 이 책에서는 람다 표현식부터 메소드 참조, 기능적 인터페이스 및 스레드까지 단계별로 설명하고 신중하게 작업할 수 있는지 여부를 안내합니다.

장점:

  • 이 책에는 Java의 최신 기능이 모두 포함되어 있어 매우 유용합니다.
  • 복잡한 개념을 일관되게 표현합니다.
  • 저자는 새로운 트렌드를 기존 트렌드와 비교합니다. 그래서 이 책은 초보자에게도 추천할 수 있다.

결점:

  • 이미 해당 주제에 대해 알고 있는 사람들에게는 이 책이 다소 장황하게 보일 수도 있습니다.

13. 헤드 퍼스트 안드로이드 개발

Java는 Android의 기본 언어입니다. 따라서 이 언어로 애플리케이션 개발을 시작하는 가장 인기 있는 옵션 중 하나는 Android 애플리케이션을 만드는 것입니다. 이 책(러시아어로 번역된 "Android용 Head First 프로그래밍"이 있음)은 Head First 시리즈의 또 다른 책입니다. 따라서 시리즈의 가족적 특성은 이 매뉴얼에 내재되어 있습니다. 즉, 여기서는 본질을 진지하게 탐구하지 않고도 많은 그림, 쉬운 스타일, 많은 연습을 찾을 수 있습니다. 즉, Android 앱 개발을 완전히 이해하려면 몇 가지 추가 조사를 수행하고 소스에 대해 더 깊이 들어가야 할 수도 있습니다. 하지만 이 시스템에 대한 프로그래밍을 빠르게 시작하고 싶다면 이곳이 당신을 위한 곳입니다.

장점:

  • 학습 과정에 독자를 적극적으로 참여시킬 수 있는 쉬운 스타일, 그림, 다양한 작업 및 프로젝트 연습입니다.
  • 단순성과 접근성: 저자는 초보자가 쉽게 이해할 수 있도록 복잡한 개념을 간단한 용어로 설명하려고 노력합니다.

결점:

  • 더 이상 지원되지 않음: 프로그래밍 및 Android 분야의 급격한 기술 변화로 인해 이 책에는 더 이상 최신 접근 방식과 도구가 포함되지 않을 수 있습니다.
  • 일부 주제는 너무 피상적으로 다루어집니다.

14. Java 학습: Java를 사용한 실제 프로그래밍 소개

이 책은 초보자를 위한 책이 아니라는 점을 바로 말씀드리고 싶습니다. 최소한 기본 수준에서 Core Java를 알고 간단한 애플리케이션을 작성할 수 있는 경우 필요합니다. 그렇다면 이 책은 자바 언어의 다양하고 복잡한 개념을 이해하는 데 도움이 될 것이며 이 모든 클래스, 라이브러리, 람다 표현식, 입력/출력 등이 실제 산업 프로그래밍에서 어떻게 사용되는지 설명할 것입니다. 이 책은 최신 버전의 Java를 기반으로 하며 실제 작업에 매우 간단하지만 유용한 예제를 포함하고 있습니다. 마지막 섹션에서는 책에서 자주 볼 수 없는 웹 애플리케이션 및 웹 서버에 Java를 직접 사용하는 방법에 대해 설명합니다. 그런데 이 책은 러시아어 버전(“Programming in Java”, Mark Loy)에도 존재합니다.

장점:

  • 최신 버전의 Java.
  • 웹 애플리케이션 및 서버의 예.

결점:

  • 초보자에게는 어렵습니다.

시대를 초월한 클래식

내가 아래에 쓰는 책들은 초보자와 중급 자비스트를 위한 신성한 텍스트라고 할 수 있습니다.

15. 효과적인 자바, 조슈아 블로흐

이 책은 책이 아니라 보물이며, 저자 중 한 명인 조슈아 블로흐(Joshua Bloch)가 언어의 기본 원리에 초점을 맞추고 있습니다. 아마도 이미 해당 라이브러리(예: Java 컬렉션)를 사용했을 것입니다. 바로 예약하겠습니다. 일부 신동-스피드러너를 제외한 완전 초보자에게는 Effective Java 책이 필요하지 않습니다. 첫째, 구문을 익히고 최소한 프로그래밍 연습을 하는 것이 더 좋습니다. 말하자면, 머리를 숙이고 Joshua Bloch의 창작물을 맡아보세요. 이 책은 Java를 진정으로 이해하고, 이 언어로 프로그래밍할 때 올바른 접근 방식을 형성하고, 수행 방법뿐만 아니라 정확히 그런 방식으로 수행해야 하는 다른 모든 것을 이해하려는 사람들에게 유용할 것입니다. 또한 OOP를 깊이 이해하고 싶은 사람들을 위한 것입니다(원칙적으로 이것은 상호 연관된 것입니다). 이 책은 프로그래밍에 대한 객체 지향 접근 방식의 맥락에서 Java에 관한 최고의 교과서입니다.

장점:

  • OOP 주제에 관한 훌륭한 자료 발표.
  • 최고의 프로그래밍 방법이 제공됩니다.
  • 저자는 Java를 내부적으로 매우 잘 알고 있습니다.

결점:

  • 초보자에게는 어렵습니다.

16. 자바 철학, 브루스 에켈

이 책의 제목은 그 자체로 말해줍니다. 이것은 Java를 알고 싶어하는 모든 사람을 위한 또 다른 알파이자 오메가입니다! 이 책에서 여러분은 훌륭하고 명확한 예제를 찾을 수 있으며, 그 예제를 통해 Java가 어떻게 작동하는지 명확해질 것입니다. "Java 철학"이나 "효과적인 프로그래밍"이라는 두 책 중 어느 책이 더 낫다고 말하기는 어렵습니다. Eckel은 초보자에게 좀 더 친근한 반면 Bloch는 약간의 경험이 필요하다고 말하고 싶습니다. 저는 JavaRush를 막 배우기 시작했을 때 처음으로 "Java Philosophy" 장을 읽었습니다(초기 수준 중 하나에서 권장 사항으로 나열되어 있었던 것 같습니다). 그렇다면 그녀는 나에게 적합하지 않았습니다. 하지만 레벨 10이나 12 이후에는 - 그것은 노래였습니다! 그리고 매우 유용한 노래라고 말하고 싶습니다. 나중에 효과적인 프로그래밍에 접근했을 때 다시 돌아왔습니다. 나는 이렇게 말할 것입니다: Bloch와 Eckel이 동일한 것에 대해 이야기하지만 다른 방식으로 말하고 다른 예를 제시하도록 하겠습니다.

장점:

  • 전문가가 Java 원칙에 대해 심도 있게 설명합니다.
  • 예를 들어 C++와 많은 비교가 있습니다.
  • 레벨 10부터 읽기 시작할 수 있는 것 같지만 Eckel은 조금 나중에 읽을 수 있습니다.

결점:

  • 러시아어 번역이 매우 나쁩니다.

일반 프로그래밍 서적

다음 책들은 자바와 직접적인 관련은 없지만, 프로그래머의 사고력을 키우고 컴퓨터가 작동하는 방식, 프로그래밍의 주요 원리와 개념, 클린 코드가 무엇인지, 작성 방법을 이해하는 데 도움이 되므로 초보 개발자에게 유용할 것입니다. 그것.

17. 자바의 고전적인 컴퓨터 과학 문제

David Kopec이 쓴 이 책은 "Java 컴퓨터 과학의 고전적 문제"로 번역될 수 있습니다. 또한 숙련된 개발자와 프로그래밍 언어를 알고 이미 실제 문제에 직면하기 시작한 초보자 모두를 대상으로 합니다. 또는 프로그래머 사고를 개발하기 위해 비표준 작업에 관심이 있는 사람들을 위한 것입니다. 혹은 실력을 향상시켜 면접에서 좋은 성적을 내고 싶은 분들을 위해. 일부 작업은 극복할 수 없는 것처럼 보이지만 프로그래밍의 세계는 생각보다 작습니다. 아마도 누군가가 이미 당신의 풀리지 않는 문제를 해결했을 것입니다. David Kopec은 자신의 책에서 가장 유용한 기성 솔루션, 원리 및 알고리즘을 수집했습니다. 고전 컴퓨터 과학 문제에는 기본 알고리즘, 제약 조건, 인공 지능 등 최신 주제를 다루는 55개의 실제 예제가 포함되어 있습니다. 책의 주요 주제:
  • 재귀, 암기 및 비트 조작.
  • 검색, 그래프 및 유전자 알고리즘.
  • 클러스터링(k-평균 방법), 신경망 및 경쟁 검색.
  • 장점:

    • 모든 유용한 알고리즘과 이에 대한 접근 방식이 한 권의 책에 담겨 있습니다.
    • 자바의 예.

    결점:

    • 일부 예는 초보자가 이해하기 어렵습니다.

    18. 머리부터 코드 배우기 - Eric Freeman

    나는 이 글에서 이미 Head First 책들을 두 번 언급했습니다. 여기 세 번째가 있습니다! 이 시리즈의 모든 책과 마찬가지로 이 책은 완전 초보자를 위해 작성되었으며 프로그래밍에 전념하고 있습니다. 이전에 이 시리즈를 접해본 적이 있다면, 이 책을 펼치면 헤드 퍼스트의 시그니처 스타일을 쉽게 알아볼 수 있을 것입니다. 재미있고 이해하기 쉬운 방식으로 핵심 프로그래밍 개념에 대한 도움이 필요하다면 이 책을 추천합니다.

    장점:

    • 프로그래밍에 대한 전반적인 이해를 제공합니다.

    결점:

    • Python의 예제를 사용합니다(초보자에게 가장 쉬운 언어로 간주됨).

    19. 클린 코드, 로버트 S. 마틴

    초보 프로그래머는 자신의 코드 스타일에 많은 관심을 기울이지 않습니다. 그는 오류 퇴치에 훨씬 더 중점을 두고 있습니다. 그러나 스타일을 개선하는 것은 잠재적인 작업에 매우 중요합니다. 깨끗한 코드를 고수하지 않는 사람은 프로젝트에서 함께 작업하기가 매우 어렵습니다. 해당 코드는 읽고 유지 관리하기가 어렵습니다. 이 책은 좋은 코드와 나쁜 코드의 차이점을 보여주고 모범 사례를 사용하여 깨끗하고 읽기 쉬운 코드를 작성하는 기본 규칙을 알려줍니다. 전문가에게 물어보면 그 사람이 모든 개발자 지망생에게 이 책을 적극 추천할 가능성이 높습니다.

    장점:

    • 읽기 쉬운 코드를 작성하기 위한 좋은 예제와 팁입니다.
    • 같은 종류의 몇 안 되는 책 중 하나입니다.

    결점:

    • 저자는 때때로 너무 꼼꼼합니다.

    20. 코드: 컴퓨터 과학의 비밀 언어, Charles Petzold

    이 책은 컴퓨터에 관심이 있는 학생과 컴퓨터 과학을 더 잘 이해하고 싶은 수년간의 경험을 가진 프로그래머 모두에게 추천할 수 있습니다. 나는 고등학교 때 이 책의 러시아어 버전을 접하고 큰 영감을 받았습니다. 매우 간단한 예를 사용하여 회로 설계를 설명하기도 하며 모든 것은 닭과 기본 손전등으로 시작됩니다. 저자는 전기, 회로, 계전기, 이진 시스템, 논리, 게이트, 마이크로프로세서, 코드 등 다양한 주제를 다루며 컴퓨터 기술이 어떻게 작동하는지 점차적으로 이해해 나가고 있습니다. 이 책을 읽고 나면 데스크탑의 픽셀 뒤에 무엇이 있는지, 그리고 장치를 사용할 때마다 무슨 일이 일어나는지 이해하게 될 것입니다.

    장점:

    • 가장 낮은 수준의 하드웨어에 대해 자세히 알아보세요.

    결점:

    • 때로는 다이빙이 너무 깊습니다 :)

    21. 코딩 인터뷰 크래킹, Gail Laakmann McDowell

    이 책은 가까운 미래에 소프트웨어 개발자로 취업할 계획을 갖고 있는 사람들에게 매우 흥미로운 책입니다. 면접 시 받을 수 있는 다양한 실제 질문과 솔루션이 포함되어 있습니다. 물론 모든 것은 흐르고, 모든 것은 변합니다. 그리고 개발자 "테스트"의 추세도 변화하고 있습니다. 하지만 이 책은 초보자가 인터뷰에서 무엇을 기대해야 하는지 이해하는 데 도움이 될 것입니다. 그러나 포럼과 Java 커뮤니티에서 이 지식을 복습하는 것이 좋습니다.

    장점:

    • 실제 프로그래밍 인터뷰를 준비합니다.

    결점:

    • 추가 소스가 없으면 도움이 되지 않습니다.

    알고리즘 및 데이터 구조

    알고리즘에 대한 지식은 소프트웨어 개발 문제를 효율적이고 최적으로 해결하는 데 도움이 됩니다. 올바른 데이터 구조를 선택하는 방법을 아는 것은 성능을 향상시키고, 메모리 비용을 줄이며, 보다 안정적이고 효율적인 프로그램을 제공하는 데 도움이 됩니다. 하지만 적어도 인터뷰에 합격하려면 그들을 알아야 합니다. 그래서 아래에 유용한 책들이 있습니다.

    22. 락킹 알고리즘, Aditya Bhargava

    알고리즘의 기초에 관한 매우 흥미롭고 매우 간단한 책입니다. 정렬, 검색 등 널리 사용되는 알고리즘을 그래픽 형식으로 설명합니다. 알고리즘의 아름다움과 복잡성을 이해하고 온 마음을 다해 사랑하는 데 도움이 되는 책은 바로 이 책입니다. 이 책에는 많은 그림이 있습니다. 저자는 설명에 대한 시각적 접근 방식을 선호합니다. 이 책은 새로운 정보가 올바른 비율로 흡수될 수 있도록 다양한 예와 함께 짧은 섹션으로 나누어져 있습니다.

    장점:

    • 그래픽과 함께 설명이 잘 되어있습니다.
    • 단지에 대해 흥미 롭습니다.

    결점:

    • Python의 예.

    23. 알고리즘 입문, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    알고리즘 소개(러시아어 제목 "알고리즘: 구성 및 분석")는 자료를 일관되고 철저하게 표현하는 것을 좋아하는 사람들을 위한 알고리즘에 관한 매우 성공적인 책입니다. 이 책의 모든 예제는 소위 의사 코드, 즉 실제 프로그래밍 언어가 아니라 모든 사람이 직관적으로 이해할 수 있는 합성 언어로 작성되었습니다. 이 책은 "알고리즘 입문"이라고 소개되어 있지만 다루는 주제는 매우 광범위하고 데이터 구조와 알고리즘의 개념이 꽤 잘 설명되어 있습니다.
    • 정렬: 삽입 정렬, 교환 정렬, 퀵 정렬, 병합 정렬 등 다양한 정렬 알고리즘에 대해 자세히 연구합니다.
    • 검색: 정방향 검색, 역방향 검색, 이진 검색 및 기타.
    • 트리: 이진 트리, 레드-블랙 트리, AVL 트리 등.
    • 그래프: 그래프 순회, 최단 경로 검색, 최소 뼈대 트리 등
    • 동적 프로그래밍.
    하지만 이 책에도 단점이 있다. 제 생각에는 서문이 알고리즘의 이론적 측면에 너무 많은 초점을 맞추고 있지만 때로는 실제 구현에 관한 세부 정보가 부족합니다. 원본은 상당히 간단한 영어로 작성되었습니다(영어 버전을 추천합니다!).

    장점:

    • 정렬, 검색, 트리, 그래프에 대한 가장 중요한 알고리즘에 대한 탁월한 이론적 설명입니다.
    • 쉬운 영어.

    결점:

    • 연습이 충분하지 않아 주제의 이론적 측면에 집중합니다.

    24. 데이터 구조를 생각하라: 자바의 알고리즘과 정보 검색(Allen B. Downey)

    이는 Java 예제를 사용하여 프로그래밍할 때 데이터 구조를 사용하는 데 유용한 가이드입니다. 이 책은 실습에 초점을 맞춰 실제 프로그램에서 알고리즘과 데이터 구조를 구현하고 사용하는 방법을 빠르게 이해하는 데 도움이 됩니다. 저자는 알고리즘과 데이터 구조의 복잡한 개념을 접근하기 쉽고 이해하기 쉽게 설명하므로 최소한 기본적인 프로그래밍 능력을 갖추고 있다면 이 책이 적합합니다. 각 섹션에는 이론을 통합하기 위한 주제 소개, 예제, 추가 설명 및 연습이 포함되어 있습니다. 특히 좋은 점은 각 장에 독자가 배운 내용을 적용하여 자신만의 알고리즘 및 데이터 구조 구현을 만들 수 있도록 하는 설계 문제가 포함되어 있다는 것입니다.

    장점:

    • 유용한 예시가 포함된 간결한 자료입니다.
    • 프로젝트 작업의 가용성.

    결점:

    • 초보자에게는 조금 어려울 수도 있습니다.
    • 모든 주제가 동일한 깊이로 다루어지는 것은 아닙니다.

    25. 알고리즘, 로버트 세지윅, 케빈 웨인

    한 세대 이상의 소프트웨어 엔지니어를 양성한 해당 분야의 실제 전문가가 쓴 프로그래밍에 관한 가장 유명한 책 중 하나입니다. 철저한 학문적 발표와 주제에 대한 완전한 몰입에 겁먹지 않고, 알고리즘을 진정으로 이해하고 한번에 분석할 준비가 되었다면 이 책을 공부하세요. 학생, 교사 및 개발자에게 좋은 선택입니다. 그러나 초보자의 경우 책의 내용을 잘 이해하려면 추가 시간과 노력이 필요할 수 있습니다. 저자는 이론과 Java의 실제 예제를 성공적으로 결합하여 독자가 복잡한 개념을 더 쉽게 이해할 수 있도록 했습니다.

    장점:

    • 명확하고 철저한 프레젠테이션.
    • Java에는 많은 예제가 있습니다.
    • 다양한 주제: 이 책은 알고리즘에 대해 알아야 할 거의 모든 것을 다루고 있습니다.

    결점:

    • 과도한 학문적 발표.
    • 책은 적절한 지원 없이는 혼자서 공부하기 어려울 수 있으며,
    코멘트
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION