산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

2021년 코딩 실력 향상을 위한 최고의 프로그래밍 책 17권

왜 프로그래밍 책인가?

프로그래밍은 배우고 돈을 벌 수 있는 기회가 많은 가장 인기 있는 분야 중 하나입니다. 하지만 이 분야에서 성공하려면 지속적으로 학습하고 기술을 발전시켜야 합니다. 책만큼 좋은 학습 도구가 있을까요?

최고의 프로그래밍 책은 언어의 문법과 의미론만 알려주는 게 아니라, 생각하고, 정리하고, 더 나은 코더가 되도록 돕습니다. 효율적으로 문제를 해결하는 방법을 가르쳐 주는데, 이는 프로그래머에게 가장 중요한 교훈입니다.

인터넷에는 필독 프로그래밍 책 목록을 주장하는 수많은 기사가 있지만, 모두 똑같은 오래된 책들을 추천합니다. 좋고 새로운 자료를 찾는 건 정말 까다로워졌습니다.

이 일을 더 쉽게 만들기 위해, 더 나은 코더에게 중요한 모든 영역에서 탄탄한 기초를 다져주기 위해 특별히 쓰인 최고의 프로그래밍 책들을 나열했습니다. 이 중 단 한 권만 읽어도 주변 거의 모든 사람보다 한 발 앞서갈 수 있습니다.

17. 생각하게 하지 마라, 개정판(Don't Make Me Think, Revisited)

저자: 스티브 크룩(Steve Krug)
출간: 2013년

추천 대상: 초보자

저자는 웹 사용성이라는 주제를 진정으로 재미있게 만듭니다. 가벼운 문체와 재치로 첫 장부터 끝까지 주의를 끌게 합니다.

이 책은 사용성과 접근성에 대해 깊이 생각하게 만듭니다. 모든 장이 논리적이고 간결합니다. 저자의 관점을 설명하고 웹 프로젝트의 다양한 이해관계자들이 사이트 사용성에 어떻게 기여할 수 있는지 보여주는 풍부한 예시가 있습니다.

제 생각엔 모든 사람이 이 책을 읽어야 합니다 — 디자이너는 펜을 대기 전에 황금 규칙을 배우기 위해, 코더는 사용성 구현의 기술적 요구사항을 이해하기 위해, 프로젝트 매니저는 뇌를 자극해 새로운 방식으로 생각하고 세상을 보기 위해 읽어야 합니다.

16. 피플웨어: 생산적인 프로젝트와 팀(Peopleware: Productive Projects and Teams)

저자: 톰 드마르코(Tom DeMarco)와 티모시 리스터(Tim Lister)
출간: 2013년 (3판)

추천 대상: 초보자

두 소프트웨어 컨설턴트가 쓴 피플웨어는 소프트웨어 조직 관리에 대한 유명한 책입니다. 소프트웨어 개발의 대부분 문제는 기술적이 아니라 인간적이라는 사실을 강조합니다.

이 책은 개인 업무 관점, 기업 이데올로기, 작업공간 이론 간의 갈등을 탐구합니다. 대부분의 주제가 권위 있는 출처나 구체적 이야기로 뒷받침된 원칙으로 제시됩니다.

관리자든 피관리자든 모든 직장인은 이 책을 읽어야 합니다. 성공적이고 효과적인 팀을 구축하는 방법을 매우 간결하고 직설적으로 알려주기 때문입니다.

15. 레거시 코드 효과적으로 다루기(Working Effectively with Legacy Code)

저자: 마이클 페더스(Michael Feathers)
출간: 2004년

추천 대상: 중급자

페더스의 책은 16년이 넘었지만 내용은 전혀 낡지 않았습니다. 프로그램에 안전하게 변경을 가할 수 있게 해주는 24가지 의존성 깨기 기법 카탈로그가 포함되어 있습니다.

이 책은 거대하고 테스트되지 않은 레거시 프로그램과 작업하는 방법, 코드 변경이 필요한 지점을 정확히 식별하는 방법, 적절한 구조가 없어 보이는 애플리케이션을 다루는 방법을 가르쳐 줍니다.

C, C++, C#, 자바 등 어떤 언어나 플랫폼에도 적용할 수 있는 풍부한 기법을 찾을 수 있습니다. 일부 기법은 구식으로 보이지만 언제 필요할지 모릅니다.

14. 나만의 신경망 만들기(Make Your Own Neural Network)

저자: 타리크 라시드(Tariq Rashid)
출간: 2016년

추천 대상: 초보자와 중급자

인공지능 관련 책을 살 때 보통 뭘 기대하나요? 페이지마다 정의? 정리와 증명? 잔뜩 수학? 수많은 건조한 문단? 글쎄, 이 책은 다릅니다. 주제를 이해하고 실전에 적용하는 데 필요한 것만 정확히 얻을 수 있습니다 — 그 이상도 이하도 아닙니다.

파이썬(Python)으로 나만의 신경망을 만들고 사람 손글씨 숫자를 인식하도록 훈련시키는 방법을 가르쳐 줍니다. 책은 세 섹션으로 나뉩니다:

신경망 작동 원리를 전혀 모르는 사람들에게 이 책은 완벽한 눈뜨개 역할을 하며 미래 학습의 기초를 제공할 수 있습니다.

13. 코드: 컴퓨터 하드웨어와 소프트웨어의 숨겨진 언어(Code: The Hidden Language of Computer Hardware & Software)

저자: 찰스 페촐드(Charles Petzold)
출간: 2000년

추천 대상: 초보자와 중급자

이 책은 간결한 선형 스토리텔링 형식으로 컴퓨팅 세계를 엽니다. 모스 부호, 점자, 불리언 논리 같은 오래된 기술로 시작해 HTTP와 WWW 이야기로 현대까지 다다릅니다.

그 후 ASCII, 운영체제, 부동소수점 수학 같은 최근 개발 주제를 설명합니다. 장을 흥미롭게 만들기 위해 은유와 비유를 아끼지 않고 사용했습니다.

여러분의 기술 수준이 어떻든 이 책은 여러분을 매료시킬 것이고, 아마도 내면의 기술 애호가를 깨울 것입니다.

12. C++ 프로그래밍 언어(The C++ Programming Language)

저자: 비야네 스트롭스트룹(Bjarne Stroustrup)
출간: 2000년

추천 대상: 중급자부터 전문가

C++의 아버지 자신이 쓴, C++에 관한 세계에서 가장 신뢰받고 널리 읽히는 책입니다. C++ 언어, 핵심 설계 기법, 표준 라이브러리에 대한 완전하고 권위 있는 커버리지를 제공합니다.

이 1300페이지 책은 세 섹션으로 나눌 수 있습니다. 첫 번째 섹션(2~5장)은 C++ 속성 코스. 두 번째 섹션(6~29장)은 구조적 튜토리얼 섹션. 마지막 섹션(30~44장)은 언어 자체만큼 중요하고 필수적인 표준 라이브러리를 탐구합니다.

언어를 빨리 배우고 싶다면 이 책은 아닙니다. 하지만 마스터가 되는 게 목표라면(거기까지 가려면 많은 시간과 노력이 필요합니다), 이 책이 제격입니다. 기초부터 난해한 부분까지 언어의 모든 측면을 상세히 다루는 길고 매우 기술적인 독서입니다.

11. 알고리즘 소개(Introduction to Algorithms)

저자: 토마스 코멘(Thomas Cormen), 클리포드 스타인(Clifford Stein), 로날드 리베스트(Ronald Rivest), 찰스 라이저슨(Charles Leiserson)
출간: 2001년

추천 대상: 초보자와 중급자

이 책은 그래프 이론의 고전 알고리즘부터 수론, 계산기하학, 문자열 매칭의 특수 알고리즘까지 광범위한 알고리즘을 상세히 다룹니다.

수학적 엄밀성을 희생하지 않으면서 매우 단순한 언어로 모든 것을 설명합니다. 하지만 복사하거나 다운로드할 수 있는 순수한 알고리즘 요리책을 기대하진 마세요.

초보자라면 모든 장을 꼼꼼히 읽어야 합니다. 각 장 끝의 연습문제가 방금 읽은 개념을 더 잘 이해하는 데 도움이 됩니다. 이 교과서에 충분한 시간을 투자하면 컴퓨터를 얼마나 힘들게 일하게 만드는지 결정하는 구체적 접근법을 배울 수 있습니다.

10. 이펙티브 자바(Effective Java)

저자: 조슈아 블로크(Joshua Bloch)
출간: 2017년

추천 대상: 초보자부터 전문가

초판(2001년 출간) 이후 이펙티브 자바는 크게 변했습니다. 저자는 새 자바 버전과 라이브러리 기능을 활용해 제목을 업데이트했습니다.

이전 판들처럼 각 장은 여러 섹션을 포함합니다(각각 자바 플랫폼의 미묘함에 대한 통찰을 제공하는 단순하고 독립적인 에세이 형태로 작성됨) 그리고 업데이트된 코드 스니펫이 있습니다.

이 책은 오늘날 우리가 사용하는 여러 라이브러리의 좋고 나쁜 관행뿐만 아니라 거의 모든 중요한 자바 기능을 다룹니다. 모든 걸 기억하기 어렵기 때문에(경험 많은 프로그래머라도), 코딩할 때 참고서로 곁에 두길 권합니다.

9. 플루언트 파이썬(Fluent Python)

저자: 루치아누 라말류(Luciano Ramalho)
출간: 2015년

추천 대상: 전문가

프로그래밍 언어를 진정으로 이해하고 훌륭한 교수법을 가진 저자를 따르는 건 항상 즐겁습니다. 루치아누 라말류가 그런 저자 중 하나입니다. 그는 파이썬에 대해 열정적으로 쓰지만 함정과 결함을 숨기지 않습니다.

어떤 장은 매우 단순해 보이지만, 다른 장들은 언어의 핵심인 퀵(quirks)과 복잡성을 건드립니다. 파이썬 데이터 모델, 자료구조, 객체로서의 함수, 제어 흐름, 메타프로그래밍을 다룹니다.

전반적으로 이 700페이지 책은 파이썬의 핵심 기능과 라이브러리를 소개하고, 코드를 더 빠르고, 짧고, 읽기 쉽게 만드는 법을 가르쳐 줍니다.

8. 코드 컴플리트(Code Complete)

저자: 스티브 맥코넬(Steve McConnell)
출간: 2014년 (2판)

추천 대상: 초보자부터 전문가

이 고전적인 책은 수백 개의 새로운 코드 샘플과 최첨단 관행으로 완전히 업데이트되고 개정되어 소프트웨어 개발의 과학과 예술을 보여줍니다.

책은 7부로 나뉩니다: 처음 6부는 기초 다지기, 고품질 프로그램 작성, 변수, 문장, 코드 개선. 7부는 소프트웨어 장인정신(성격, 스타일, 레이아웃, 문서화)을 다룹니다.

제 생각에 2~3년 경력의 모든 프로그래머는 이 책을 읽어야 합니다. 모든 소프트웨어 개발 프로세스에 적용되진 않고 일부는 구식일 수 있지만, 모든 프로그래머가 이해하고 받아들여야 할 아이디어를 확실히 전달합니다.

7. 딥러닝(Deep Learning)

저자: 이안 굿펠로우(Ian Goodfellow), 요슈아 벤지오(Yoshua Bengio), 아론 쿠르빌(Aaron Courville)
출간: 2016년

추천 대상: 전문가

이 책은 신경망과 그 딥 버전에 대한 엄청난 양의 디테일을 제공합니다. 저자들은 어려운 주제들을 아이디어를 매끄럽게 전달하는 방식으로 분류했습니다.

책은 세 섹션으로 나뉩니다:

이 책은 딥러닝 개념에 이미 익숙하고 이론적 배경을 탐구하려는 사람들을 위한 것입니다. 인공지능을 중심으로 연구하는 박사과정 학생과 연구자들에게도 매우 좋습니다.

참고: 컴퓨터 프로그래밍 법칙 50가지

6. 인공지능: 현대적 접근(Artificial Intelligence: A Modern Approach)

저자: 스튜어트 러셀(Stuart Russell), 피터 노빅(Peter Norvig)
출간: 2015년

추천 대상: 초보자와 중급자

이 책은 인공지능에 대한 훌륭한 입문서일 뿐만 아니라 기술적 글쓰기의 서베이 코스 역할도 합니다. 수학적 표기 노출과 알고리즘 효율성 또는 계산 복잡성에 대한 기본 이해 외에는 많은 배경지식을 전제하지 않습니다.

인공지능에 관해 알고 싶을 만한 모든 것을 담고 있습니다. 모든 개념이 매우 잘 설명되어 있고, 그 이면의 진정한 의미를 파악하는 데 도움이 되는 예시들로 가득합니다.

같은 분야의 실용적 함의도 다루며, 음성 인식, 기계 번역, 로봇공학 등이 포함됩니다. 읽고, 다시 읽고, 소중히 다루세요 — 오랫동안 보상을 거둘 것입니다.

참고: 최고의 인공지능 프로그래밍 언어 8선

5. 클린 코드: 애자일 소프트웨어 장인정신 핸드북(Clean Code: A Handbook of Agile Software Craftsmanship)

저자: 로버트 세실 마틴(Robert Cecil Martin)
출간: 2007년

추천 대상: 초보자와 중급자

클린 코드 저자는 수많은 소프트웨어 설계 원칙 개발로 가장 유명합니다. 이 책에서 그는 '즉석에서' 코드를 정리하는 최고의 애자일 관행을 소개합니다.

많은 코드 스니펫이 있으며, 무엇이 잘못되었고 무엇이 올바른지 식별해야 합니다. 이 책은 나쁜 코드가 어떻게 생겼는지, 처음에 어떻게 작성되었어야 하는지 가르쳐 줍니다.

세 섹션이 있습니다. 첫 번째는 클린 코드 작성의 패턴, 원칙, 관행을 소개합니다. 두 번째는 다양한 케이스 스터디를 담고 있습니다. 세 번째는 케이스 스터디를 만들면서 모은 휴리스틱 목록입니다.

대부분 예제가 자바 중심이지만, 더 나은 코드 생산에 관심 있는 누구든 읽을 수 있습니다 — 소프트웨어 개발자, 팀 리드, 시스템 분석가, 프로젝트 매니저든 상관없습니다.

4. 코딩 인터뷰 완전 분석(Cracking the Coding Interview)

저자: 게일 라크만 맥도웰(Gayle Laakmann McDowell)
출간: 2011년

추천 대상: 초보자와 중급자

코딩 인터뷰 완전 분석은 프로그래밍 또는 소프트웨어 개발 인터뷰를 성공적으로 통과하는 방법에 대한 가장 방대하고 상세한 가이드입니다.

기술 면접의 '왜'를 설명하는 것으로 시작해, 비기술적 질문 연습법, 문제 분석·분해법, 효율적 코드 작성법, 합격·불합격 대응법을 다룹니다.

그러면 180개 이상의 프로그래밍 질문과 답변이 책의 대부분을 차지합니다. 각 섹션은 핵심 지식과 유사 문제 해결 접근법을 논의하는 것으로 시작해, 정확한 해결 기법으로 들어갑니다. 책에 링크가 있어 직접 다운로드, 컴파일, 솔루션 분석이 가능합니다.

3. 알고리즘 쉽게 배우기(Grokking Algorithms)

저자: 아디티아 바르가바(Aditya Bhargava)
출간: 2015년

추천 대상: 중급자와 전문가

컴퓨터 과학의 핵심 주제에 대한 무장해제된 접근법입니다. 이 책은 코더로서 일상에서 마주치는 실제 문제에 알고리즘을 적용하는 법을 가르칩니다.

검색과 정렬 같은 단순한 문제로 시작합니다. 사고력이 쌓이면 해싱, 그래프, 탐욕 알고리즘, 맵리듀스(MapReduce), P vs NP, 데이터 압축 등 더 복잡한 주제를 다룹니다. 모든 것이 삽화와 시각적 예시로 설명됩니다.

모바일 앱, 비디오 게임, 비즈니스 툴을 개발하든 이전에 손대지 못했던 문제들을 해결하는 알고리즘적 방법을 배울 수 있습니다. 예를 들어 허프만 코딩으로 데이터 압축이 어떻게 작동하는지 이해하고, 그래프 알고리즘으로 맞춤법 검사기를 작성하는 법 등을 배웁니다.

참고: 코드 작성을 위한 최고의 프로그래밍 소프트웨어 14가지 [2020]

2. 디자인 패턴: 재사용 가능한 객체지향 소프트웨어의 요소(Design Patterns: Elements of Reusable Object-Oriented Software)

저자: 에리히 감마(Erich Gamma), 랄프 존슨(Ralph Johnson), 리처드 헬름(Richard Helm), 존 블리시데스(John Vlissides)
출간: 1994년

추천 대상: 초보자와 중급자

객체지향 소프트웨어 설계에 대한 풍부한 경험을 담아, '4인방(Gang of Four)'이 일반적인 설계 이슈에 대한 단순하고 간결한 솔루션 카탈로그를 제시합니다.

책은 패턴이 무엇이고 객체지향 도구에서 어떻게 유용한지 설명으로 시작합니다. 이 패턴들이 소프트웨어 개발 단계에 어떻게 들어맞는지, 개발자들이 자신의 설계 문제를 가장 효율적으로 해결하는 데 어떻게 활용할 수 있는지 가르칩니다.

책은 두 섹션으로 나뉩니다: 처음 두 장은 객체지향 프로그래밍의 장단점을 설명하고, 나머지 장들은 23가지 고전 소프트웨어 디자인 패턴을 탐구합니다. 스몰토크와 C++ 예제가 풍부합니다.

객체지향 설계 이론과 실무의 중요한 자료로 간주됩니다. 14개 언어로 50만 부 이상 팔렸습니다.

1. 실용주의 프로그래머: 숙달로의 여정(The Pragmatic Programmer: Your Journey to Mastery)

저자: 앤드류 헌트(Andrew Hunt)와 데이비드 토마스(David Thomas)
출간: 2019년

추천 대상: 초보자와 중급자

이 책은 1999년 출간된 영향력 있는 책 실용주의 프로그래머의 2판입니다. 20년 후, 이 새 판은 현대적 코더가 된다는 게 무엇을 의미하는지 재검토합니다.

개발 프로세스를 실용적으로 개선하는 여러 팁을 포함합니다. 커리어 개발과 개인 책임부터 코드를 유연하고 쉽게 유지보수 가능하게 유지하는 아키텍처 기법까지 광범위한 유용한 주제를 다룹니다.

참고: 코드 작성을 위한 최고의 프로그래밍 소프트웨어 14가지

이 책은 여러분에게 다음을 가르쳐 줍니다:

대부분 프로그래밍 책의 방법론에 좌절하셨다면 이 책 한번 시도해 보세요. 실용주의 프로그래머가 되는 데 필요한 모든 것이 들어 있습니다.

산업기술

  1. SPICE 프로그래밍 기초: 실전 가이드
  2. 마이크로프로세서 프로그래밍 기초
  3. 현대 책의 진화와 제작 공정: 점토판에서 데스크톱 출판까지
  4. 2021년 윈도우·맥·리눅스용 베스트 C++ IDE 15선 – 무료·유료 옵션
  5. 2024년 업데이트: C++ 마스터하기 좋은 온라인 강좌 15선
  6. 2021년 Windows, macOS, Linux용 탑 10 C# IDE 리뷰
  7. 2024년 C 프로그래밍 면접 질문 TOP 100 & 답변 총정리
  8. 2021년 톱 13 B2B SaaS 기업: 검증된 리더와 혁신가
  9. 2021 양자 컴퓨팅: 12가지 주요 응용 설명
  10. 2021년 반드시 배워야 할 프로그래밍 언어 9가지