積讀家(적독가)

@getogrand · 2024년 6월 4일 가입 · 88권 적독

데이터 중심 애플리케이션 설계 (신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 시스템을 지탱하는 핵심 아이디어)

책 소개

데이터는 오늘날 시스템을 설계할 때 마주치는 많은 도전 과제 중에서도 가장 중심에 있다. 확장성, 일관성, 신뢰성, 효율성, 유지보수성과 같은 해결하기 어려운 문제를 파악해야 할 뿐 아니라 관계형 데이터베이스, NoSQL 데이터스토어, 스트림 처리자 또는 일괄 처리 처리자, 메시지 브로커 등을 포함한 도구의 다양성에 압도된다. 어떤 선택이 애플리케이션에 적합한가? 이 유행어들을 얼마나 이해하고 있는가?

마틴 클레프만은 이 실용적이고 포괄적인 안내서에서 데이터를 처리하고 저장하는 다양한 기술의 장단점을 검토한다. 이 책은 여러분이 거대한 문제 공간 속을 항해하는 데 좋은 길잡이가 될 것이다. 소프트웨어는 계속 변하지만 근본 원리는 동일하다. 이 책에서 소프트웨어 엔지니어와 아키텍트는 실전에 이 개념을 어떻게 적용하는지, 그리고 현대 애플리케이션에서 어떻게 데이터를 최대한 활용하는지 배운다.

소트웍스 앤솔러지 : 소프트웨어 기술과 혁신에 관한 에세이 (소프트웨어 기술과 혁신에 관한 에세이)

책 소개

21세기 소프트웨어 개발의 최전선에서 그들이 실제 경험하고 적용하여 얻은 지혜와 통찰력이 어떠한 편집과 검열도 없이 자유롭게 표출된 책. 하나의 주제로 철저한 기획력의 산물인 전형적인 기술서들과는 달리, 소트웍스 사람 하나하나의 마음을 비춰주는 문장들로 채워져 있다.

<소트웍스 앤솔러지>에서 펼쳐지는 자유로움과 다채로움은 산만하게 서로를 외면하기보다는, 결국은 오늘날 소프트웨어 개발의 고민에 대한 대안 제시라는 점에서 더 많이 공감하게 된다. 다양한 스펙트럼 중에서도 큰 흐름을 이어가는 '더 좋은 소프트웨어 개발 과정과 결과'라는 주제를 향한 강렬한 열정을 담은 책이다.

오브젝트 (코드로 이해하는 객체지향 설계)

책 소개

역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!

객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 존재로 바라보는 것이다. 세번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체 들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다.

《객체지향의 사실과 오해》가 첫번째 걸음과 두번째 걸음인 객체와 협력에 초점을 맞췄다면 《오브젝트: 코드로 이해하는 객체지향 설계》는 세번째와 네번째 걸음인 책임의 할당과 그 구현에 초점을 맞춘다. 이 책을 읽고 나면 객체에 적절한 역할과 책임을 부여하는 방법과 유연하면서도 요구사항에 적절한 협력을 설계하는 방법을 익히게 될 것이다. 나아가 프로그래밍 언어라는 도구를 이용해 객체지향의 개념과 원칙들을 오롯이 표현할 수 있는 방법 역시 익힐 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

◎ 역할, 책임, 협력에 기반해 객체지향 프로그램을 설계하고 구현하는 방법 ◎ 응집도와 결합도를 이용해 설계를 트레이드오프하는 방법 ◎ 설계를 유연하게 만드는 다양한 의존성 관리 기법 ◎ 타입 계층을 위한 상속과 코드 재사용을 위한 합성의 개념 ◎ 다양한 설계 원칙과 디자인 패턴

UML 실전에서는 이것만 쓴다 (JAVA 프로그래머를 위한 UML)

책 소개

UML, 실무에서 효과적으로 사용하는 방법!

『UML 실전에서는 이것만 쓴다』는 UML을 어떻게 이용해야 하는지 고민하는 현장 개발자를 위한 가이드북이다. 실무에서 꼭 필요한 다이어그램과 객체지향 설계 개념만을 다룬 이 책은 평범하고 나쁜 설계를 좋은 객체지향 설계로 발전시키는 과정을 단계별로 보여주기 위해서 코드를 풍부하게 수록하였다. 특히 저자는 'UML은 표기법이며 다른 목표를 이루기 위한 수단'임을 강조하고, 6장부터 8장까지 나오는 개발원칙과 방법론을 통해 '왜' 다이어그램을 그려야 하는지 생각하게 한다.

프로그래밍 심리학

책 소개

컴퓨터 프로그래밍을 인간의 심리로 연구한 고전

『프로그래밍 심리학』은 프로그래밍을 둘러싼 여러 영역의 사람들이 가지는 마음의 이치를 다루고 있다. '인간 행위로 보는 프로그래밍', '사회 활동으로 보는 프로그래밍', '개인 행위로 보는 프로그래밍' 등으로 구성하여 프로젝트를 이끌어나가는 사람과 사람 사이의 관계뿐 아니라, 사람과 코드와의 관계, 사람과 도구와의 관계에 대해서도 살펴본다. 그러한 작업을 통해 프로그래머는 스스로 마음을 가진 존재로서 정당한 대우를 받고 있는지에 검토하고 있다. 그 외 프로그래머의 성격과 훈련과 경험이 프로그래밍에 주는 영향 등의 흥미로운 연구를 다룬다.

조엘 온 소프트웨어 (유쾌한 오프라인 블로그)

책 소개

2005년 15회 JOLT상 수상작! 아마존 선정 컴퓨터 인터넷 부문 10대 도서. Java.net 선정 개발자 · 관리자 필독서.

조엘 온 소프트웨어는 조엘 스폴스키가 운영하는 유명한 소프트웨어 개발 블로그인 조엘 온 소프트웨어(http://www.joelonsoftware.com)에 수록한 주옥같은 글 중에서 특히 독자들이 관심을 보일 만한 베스트를 뽑아 엮은 책이다. 조엘은 딱딱한 소프트웨어 공학 서적에서 찾아보기 어려운 소프트웨어 개발자의 애환과 톡톡 튀는 생각을 수필에 가까운 부담 없는 필체로 기술하고 있다. 따라서 최전선에서 소프트웨어...

앨런 튜링, 지능에 관하여

책 소개

컴퓨터 과학과 인공지능의 선구자 앨런 튜링 그의 주요 논문을 번역한 최초의 한국어판 출간

앨런 튜링의 주요 논문 다섯 편을 수록했다. 최초의 인공지능 선언문 [지능을 가진 기계](1948), 가장 유명한 [계산 기계와 지능](1950)을 비롯해 모두 인공지능에 관한 논문들이다. 튜링의 시대에는 ‘인공지능’이라는 단어가 존재하지 않았다. 하지만 이 다섯 편의 논문에는 기계 학습, 신경망, 유전 알고리즘 등 현대 인공지능의 토대가 되는 개념들이 이미 심도 깊게 논의되고 있다. 튜링은 [계산 기계와 지능]에서 흉내 게임(이미테이션 게임)을 처음으로 제안했는데, 이는 인공지능 구현의 척도로서 ‘튜링 테스트’라는 이름으로 널리 알려져 지금도 도전의 과제로 남아 있다. 또한 같은 논문에 ‘학습하는 기계’라는 오늘날 ‘머신 러닝’의 아이디어가 제시되어 있다는 점도 중요하다. [계산 기계와 지능]은 “현대 인공지능에 시동을 건 업적”으로 평가받는다. 특이하게도 튜링은 이 논문을 저명한 철학 학술지 [마인드]에 기고하였다. 이 논문은 함께 생각해 볼 것을 권하며 시작한다. “‘기계가 생각할 수 있을까?’라는 질문에 대해 생각해 보자.” 앨런 튜링이 문을 연 이 지적인 모험은 현재진행 중이며 그의 논문들은 반드시 거쳐야 할 관문이 되었다. 과학 및 인문서로 유명한 노승영 번역가의 명철한 번역, 앨런 튜링의 업적과 인간적인 면모를 밝힌 ‘소설 쓰는 과학자’ 곽재식의 해제가 한국어판의 특별한 가치를 만들어 주었다.

CODE (하드웨어와 소프트웨어에 숨어 있는 언어)

책 소개

23년 만에 돌아온 컴퓨터 공학 분야의 필독서!

20년이 넘는 세월 동안 컴퓨터 공학 분야의 필독서로서 많은 독자를 열광하게 만든 《CODE》가 새로운 컴퓨팅 시대에 맞춰 개정되었습니다. 컴퓨터 내부의 비밀스러운 이야기들을 담은 이 책은 잘 짜인 일러스트와 이해하기 쉬운 설명을 통해서 컴퓨터에 대한 수수께끼를 풀어냅니다. 손전등, 검은 고양이, 시소, 폴 리비어의 질주를 통해서 컴퓨팅에 대해 배울 수 있으며, 인간의 독창성과 소통에 대한 충동이 우리가 지금 사용하는 모든 전자 장치에 어떤 영향을 끼쳤는지 확인할 수 있습니다.

관계형 데이터 모델링 노트 (재미와 깨달음이 있는 모델링 이야기)

책 소개

출간 이래 데이터 모델러와 DA(Data Architect)들로부터 필독서로 인정받아온 [관계형 데이터 모델링 노트]의 개정판이다. 이 책은 저자의 [관계형 데이터 모델링 프리미엄 가이드]와 함께 데이터 모델링 분야에서 최고의 권위를 인정 받고 있다.

Analysis Patterns: Reusable Object Models (Reusable Object Models)

책 소개

The King of Vordan is dying, and his daughter, Raesinia, is destined to become the first Queen in centuries. But politics knows no loyalties, especially for Duke Orlanko, Minister of Information and spymaster of the empire.

생각하는 프로그래밍 (프로그래밍 본질에 관한 15가지 에세이)

책 소개

프로그래밍 사고력 훈련의 첫걸음

프로그래밍 본질에 관한 15가지 에세이 『생각하는 프로그래밍』. ACM의 전통 있는 간행물 CACM에 연재된 《Programming Pearls》의 칼럼을 엮은 것으로, 몇 개의 간단한 알고리즘 및 데이터 구조를 통해 문제를 정확히 분석하고 효율적으로 해결할 수 있도록 생각하는 방법을 알려주는 책이다. 1부에서는 문제 정의, 알고리즘, 데이터 구조, 프로그램 검증, 테스팅과 같은 프로그래밍의 기본을 복습하고, 2부에서는 효율성에 관한 주제를 다루며, 3부에서는 이들 기술을 정렬, 탐색, 문자열과 같은 실질적인 문제에 적용한다.

리팩터링 2판 (리팩토링 개정판)

마틴 파울러 · 개앞맵시 · 남기혁주원영

리팩터링 2판 (리팩토링 개정판)

책 소개

마틴 파울러의 『리팩터링』의 2판으로, 새로운 리팩터링 카탈로그를 자바스크립트 코드로 제시한다. 리팩터링 원칙부터 클래스 없이 리팩터링하는 방법과 데이터 조직화, 조건부 로직 간소화 방법을 다룬다. 또한 ...

UML Distilled 3판 - 한국어판

책 소개

UML Distilled 3판 - 한국어판

실용주의 프로그래머(20주년 기념판)

책 소개

실용주의 프로그래머 20주년 기념판 전문가를 향한 여정

《실용주의 프로그래머》는 당신이 읽고, 또 읽고, 수년간 또다시 읽게 될 몇 안 되는 기술 서적이다. 당신이 이 분야에 처음 발을 디딘 사람이건, 경험 많은 전문가이건 매번 새로운 통찰을 얻게 될 것이다.

데이비드 토머스와 앤드류 헌트는 소프트웨어 산업에 큰 영향을 미친 이 책의 1판을 1999년에 썼다. 고객들이 더 나은 소프트웨어를 만들고 코딩의 기쁨을 재발견하도록 돕기 위해서였다. 이 책의 가르침 덕분에 한 세대에 걸친 프로그래머들이 어떤 언어나 프레임워크, 방법론을 사용하든 상관없이 소프트웨어 개발의 본질을 돌아볼 수 있었다. 그리고 실용주의 철학은 수백 권의 책, 스크린캐스트, 오디오북으로 그리고 무수한 사람들의 경력과 성공 스토리로 퍼져 나갔다.

객체지향 사고 프로세스 (프로그래밍보다 먼저 익혀야 하는 생각의 기술, 제5판)

책 소개

객체지향을 더 잘 이해할 수 있게 구성한 이 책은 객체지향 프로그래밍을 해법 지향적으로 접근하는 방식을 취한다. 이 책을 통해 상속과 합성을 사용하는 방법, 응집과 결합의 차이점을 이해하는 방법, 인터페이스와 구현 간의 중요한 차이점을 이해하는 방법을 배울 수 있다.

프로그래밍 기술이 여러 해에 걸쳐 변화하고 진화해 왔지만, 플랫폼이 무엇이든지 간에 객체지향 개념은 변하지 않는다. 이 책에서는 지난 20여 년에 걸쳐 여전히 중요한 자리를 차지하고 있는 객체지향 사고방식의 근원에 초점을 맞추며, 새롭게 범위를 확장한 디자인 패턴을 적용하는 방법, 의존성을 피하는 방법, 소프트웨어를 이해하기 쉽고 유연하며 유지·관리하기 쉬운 것으로 만드는 SOLID 원리를 제시한다.

UML을 활용한 객체지향 분석 설계

그래디 부치 · 로버트 막심처크 · 마이클 잉글 · 바비 영 · 짐 코널런주원영

UML을 활용한 객체지향 분석 설계

책 소개

객체지향 구루(Guru)들이 표준 UML 2.0을 기반으로 근본적인 객체지향 세계의 이해부터 대규모 시스템 개발에 이르기까지 소프트웨어 개발에 필요한 다양한 내용을 명확하게 제시한 책이다. 현실 세계를 사용자 관점으로 표현해주고, IT가 만들어내는 새로운 세상에 맞게 시장에서 필요로 하는 비즈니스 로직을 시각화 해주는 UML 속에 IT 리더가 되는 길이 숨어있다. 아이폰 게임 개발을 위한 오브젝티브C에서부터 빅데이터 분석에 활용하는 R의 활용에 이르기까지 UML을 활용해 경쟁력 있는 소프트웨어를 개발하는 혜안을 이 책에서 얻을 수 있다.

Code Complete 코드 컴플리트 (더 나은 소프트웨어 구현을 위한 실무 지침서)

책 소개

《Code Complete 2》는 소프트웨어 구현을 둘러싼 다양한 비유부터 기초적인 프로그래밍, 시스템 구축, 소프트웨어 장인정신에 이르기까지 소프트웨어 업계에 종사하는 분이라면 누구나 읽어야 할 필독서입니다.

2004년에 초판이 출간된 이후로 시간이 흘러도 여전히 가치 있는 명저의 반열에 오른 책으로서 특정 프로그래밍 언어나 플랫폼과는 무관한 내용으로 구성돼 있어 소프트웨어 업계에 종사하는 모든 분들에게 도움될 만한 내용으로 가득 차 있습니다.

유닉스의 탄생 (세상을 바꾼 운영체제를 만든 천재들의 숨은 이야기)

책 소개

브라이언 커니핸이 들려주는 UNIX의 탄생과 발전 과정, 천재 개발자와 기여자들의 이야기

이 책은 유닉스의 역사를 기록한 책이자 유닉스 개발 현장에 있던 이들의 회고록이다. 유닉스가 무엇인지, 어떤 이유로 개발되었는지, 어떤 과정을 거쳐 발전했는지 꼼꼼하게 기록했다. 동시에 무한한 창조성을 발휘하며 수많은 가능성에 도전한 천재들의 이야기와 자유로운 연구 환경을 제공한 벨 연구소 현장도 생생하게 담았다. 이 책을 읽으며 새로운 것을 창조하고 더 나은 세상을 만드는 일의 기쁨을 함께 느껴보길 바란다.

리팩토링: 루비 에디션 (버그 없이 프로그램을 개선시키는 최고의 방법)

책 소개

『리팩토링: 루비 에디션』은 마틴 파울러의 기존 리팩토링 원판 교재를 바탕으로 루비 예제와 적용 방법을 수록한 책이다. 많은 수정과 보완을 거쳐 루비 사용자뿐만이 아닌 리팩토링에 관심 있는 모든 개발자들에게 유익한 교재로 구성하였다. 검증된 70개 이상의 리팩토링 기법을 단계적인 실시 방법, 원리를 보여주는 예제 코드와 함께 자세히 설명하고 있다.

Http Pocket Reference 반양장

책 소개

All web programmers, administrators, and application developers need to be familiar with HTTP in order to work effectively. The HTTP Pocket Reference provides a solid conceptual foundation of HTTP, and also serves as a quick reference to each of the headers and status codes that compose an HTTP transaction. For those who need to get "beyond the browser," this book is the place to start.

클린 코드를 위한 테스트 주도 개발 (파이썬을 이용한)

책 소개

웹 애플리케이션의 개발 과정 전반을 다루는 책. 애플리케이션을 구축하기에 앞서 어떻게 테스트 코드를 작성하고 실행해야 할지를 알려주고, 테스트 코드를 통과하기 위한 최소 기능을 구현하는 방법을 소개한다. 최신 웹 개발 기술뿐만 아니라, Django, 셀레늄(Selenium), git, jQuery, 모크(Mock)에 대한 기본 기술도 배울 수 있다.

백엔드 개발을 위한 핸즈온 장고 (장고 모델링과 마이그레이션부터 쿼리셋, DRF까지)

책 소개

그림과 코드로 이해하는 장고 코어 모듈과 DRF 활용법

장고는 파이썬 웹 프레임워크이자 풀스택 프레임워크이다. 하지만 대부분의 웹 서비스는 프런트엔드와 백엔드를 분리해서 개발한다. 더욱이 리액트나 뷰 같은 훌륭한 프런트엔드 SPA 도구가 등장했고 DRF라는 강력한 장고 라이브러리가 있기 때문에 장고를 백엔드 개발 도구로 사용하는 것이 더 효과적이다. 이 책은 파이썬 백엔드 개발을 위한 장고의 핵심 개념을 다루고 있다. 실제 주니어 개발자가 궁금해하던 내용을 포함하여 백엔드 개발을 하기 위해 알아야 하는 CS 지식과 장고 코어 모듈을 입문자가 쉽게 이해할 수 있도록 설명한다. 또한 장고의 동작 원리와 구조를 정확하게 이해하는 데 도움을 주는 다양한 그림과 실무에서 활용할 수 있는 실습 코드를 수록했다.

Two Scoops of Django (모범 사례로 배우는 Django(장고) 테크닉)

책 소개

“장고: 기한을 맞추기 위한 완벽주의자를 위한 웹 프레임워크”

이 책의 내용은 상당히 실무 경험에 기반을 두었으며 장고 개발자라면 누구나 겪었을 일과 누구나 한 번은 저질렀을 법한 실수와 치부를 정확히 짚어주고 있다. 이 책은 장고를 이제 막 본격적으로 접하려는 개발자에겐 앞으로 만나게 될 여러 문제를 미리 맛보는 내용이 될 것이고, 이미 어느 정도 프로젝트를 경험한 사람에겐 자신의 경험에 대한 깊은 공감과 다음 프로젝트에 대한 큰 지침서가 될 것이다.

비단 장고의 구조와 프로그래밍 실천 방안뿐 아니라, 실무 경험에 기반을 둔 환경 설정 방법들, 배포와 보안, 지속적 통합 그리고 아무리 강조해도 지나치지 않는 테스트 방법론까지 다른 책에선 드물게 다룬 부분까지 짚고 넘어갔다. 사실 장고를 잘한다는 것은 장고의 기본 라이브러리를 잘 알고 그것을 능숙하게 이용하는 것 이상으로, 장고의 개발 문화를 이해하고 이를 실천하는 것이라고 생각한다.

Do it! 알고리즘 코딩 테스트: 파이썬 편 (코딩 테스트를 처음 준비하는 취준생의 필독서!)

책 소개

기출 유형 분석부터 문제 풀이 비법까지 코딩 테스트를 처음 준비하는 IT 기업 취준생의 필독서!

“코딩 테스트를 제대로 준비하려면 어떤 문제를 얼마나 풀어야 할까?” 곧 코딩 테스트를 앞둔 취업 또는 이직 준비생이라면 누구나 이런 고민을 할 것이다. 《Do it! 알고리즘 코딩 테스트 - 파이썬 편》에 그 답이 있다. 네이버, 카카오, 삼성, 라인 등 주요 IT 기업의 시험에 나오는 알고리즘 내용이 모두 담겨 있어 책 한 권만으로 코딩 테스트 합격에 필요한 지식을 충분히 공부할 수 있다. 책에 수록된 알고리즘 문제 100개는 모두 최신 기출 유형을 반영하고 있어서 이 책의 문제만 다 풀면 당장 코딩 테스트를 볼 수 있는 수준까지 실력을 갖출 수 있다. 모든 문제는 ‘분석, 전략, 슈도코드, 코드 구현’까지 총 4단계를 거쳐 푸는데, 이렇게 문제를 푸는 습관까지 자기 것으로 만든다면 진짜 시험에서 어떤 문제를 만나든 실수 없이 해결할 수 있을 것이다.

루씬 인 액션 (고성능 오픈소스 자바 검색엔진, 개정판)

책 소개

루씬(Lucene) 안내서. DB에 담겨 있는 수백만 건의 정보를 마음대로 조회하지 못하거나, 사내 인트라넷의 엄청난 디렉토리 구조 안에 저장된 수많은 문서 중 원하는 내용이 들어있는 문서를 찾지 못해 어려움을 겪고 있다면, 그렇다고 상용 검색 엔진을 구입해 사용하기엔 너무 부담스러운 경우, 루씬(Lucene)이 해결책이 될 수 있다. 이 책은 외주 개발이든 사내 개발이든 간에 전문적인 검색 기능을 필요로 한다면 최우선으로 고려해야 할 루씬에 대해 색인부터 검색과 고급 설정까지 예제 기반으로 설명한다.

혼자 공부하는 머신러닝+딥러닝 (구글 코랩으로 환경 설정 없이 실습 가능)

책 소개

혼자 해도 충분하다! 1:1 과외하듯 배우는 인공지능 자습서

이 책은 수식과 이론으로 중무장한 머신러닝, 딥러닝 책에 지친 ‘독학하는 입문자’가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. 구글 머신러닝 전문가(Google ML expert)로 활동하고 있는 저자는 여러 차례의 입문자들과 함께한 머신러닝&딥러닝 스터디와 번역ㆍ집필 경험을 통해 ‘무엇을’ ‘어떻게’ 학습해야 할지 모르는 입문자의 막연함을 이해하고, 과외 선생님이 알려주듯 친절하게 핵심적인 내용을 콕콕 집어준다. 컴퓨터 앞에서 〈손코딩〉을 따라하고, 확인 문제를 풀다 보면 그간 어렵기만 했던 머신러닝과 딥러닝을 개념을 스스로 익힐 수 있을 것이다! - 베타리더가 함께 만든 입문서 베타리딩 과정을 통해 입문자에게 적절한 난이도, 분량, 학습 요소 등을 고민하고 반영했다. 어려운 용어와 개념은 한 번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 마음과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.

프로젝트 성패를 결정짓는 데이터 모델링 이야기

책 소개

『프로젝트 성패를 결정짓는 데이터 모델링 이야기』는 공학과 철학을 넘나들며 다른 책에서 충분히 다루지 않은 모델링의 본질적 이야기를 담았다. 저자가 친절히 그려준 책 구성 지도(책 8~9페이지)를 함께 보며 엔터티 정의부터 관계, 코드 속성 표준화, 유연성 등의 개념을 명확히 이해할 수 있다.

Effective Python 2nd 이펙티브 파이썬 : 파이썬 코딩의 기술 (똑똑하게 코딩하는 법, 개정판)

책 소개

아마존 파이썬 프로그래밍 분야 베스트셀러, 〈Effective Python〉 전면 개정 증보판! 파이썬의 매력과 강점을 이용해 강력하고 우수한 성능의 코드를 작성하는 90가지 방법!

파이썬다운 방식으로 프로그램을 작성하는 방법, 파이썬을 사용하는 가장 좋은 방법에 대한 통찰을 담았다! 2판에서는 파이썬 3.8까지 이르는 파이썬 3에만 초점을 맞췄으며, 1판의 모든 내용을 검토하고 대부분의 내용을 수정하고 갱신했다. 또한, 파이썬 3의 새로운 기능에 대한 내용을 충분히 보강했다. 책 속에 담긴 90가지 Better way를 통해 무엇을 하고 무엇을 하지 말아야 할지, 이 방법이 왜 최선인지 이해하면서 자신의 코드를 향상시킬 수 있는 방법을 습득하자!

전문가를 위한 파이썬 (간단하고, 명료하고, 효율적인 파이썬 프로그래밍 (파이썬 3 버전 기반))

책 소개

파이썬의 잠재력을 끌어올리는 프로그래밍 기법

초보자들이 놓치기 쉬운 파이썬 기능을 활용하여, 효율적인 파이썬 코드 작성 방법을 제시하는 실용 안내서다. 특히 다른 언어에서는 찾아볼 수 없는 파이썬 고유의 기능을 중점적으로 살펴본다. 파이썬의 핵심 요소 및 주요 기본 라이브러리도 기본에 충실하게 소개한다. 이 책으로 더욱 간결하고, 읽기 좋고, 빠른 코드를 작성하는 방법을 터득할 수 있을 것이다.

컴파일러 개발자가 들려주는 C 이야기 (아무도 알려주지 않던 심오한 C의 비밀)

책 소개

이 책은 모든 프로그래머의 두 번째 C 책이어야 한다.

《컴파일러 개발자가 들려주는 C 이야기》는 최고의 C 프로그래머들이 사용한 코딩 테크닉을 보여준다. 이러한 코딩 기법과 전략은 다른 프로그래밍 언어에도 적용할 수 있다. 저자는 썬 마이크로시스템즈의 컴파일러/운영 체제 커널 부문에서 근무한 실무 경험을 바탕으로 실용적인 사례들을 쉽고 재미있는 방식으로 풀어낸다. IBM PC와 유닉스 시스템 전문가들의 실전 노하우를 통해 재미와 교육적 요소를 모두 잡는다. C 언어의 유래부터 구현 및 실무에서의 활용까지, 깊은 곳에 숨어 있는 C 언어의 지식과 함께 뒷이야기가 궁금한 개발자라면 반드시 읽어야 할 필독서이다. 또한 C++ 개요도 포함되어 누구나 쉽게 C++에 대한 기본적인 지식을 얻을 수 있다.

ㆍ 금성 탐사선을 날려버린 소프트웨어 ㆍ AT&T 전화망 전체를 다운시킨 C 버그 ㆍ 실리콘 밸리의 C 개발자 채용 면접시험 비밀 ㆍ 개발자가 핼러윈과 크리스마스를 구분하지 못하는 이유 ㆍ C로 작성한 BASIC 인터프리터 전체 코드

“명확하면서도 재미있는 책이다. 전문 프로그래머라면 이 책의 문체를 좋아할 것이며, 특히 대학원생에게는 더욱 환영받을 것이다. 부록 A만으로도 이 책을 구매할 가치가 있을 정도로 대단한 조언으로 가득 차 있다.” - 잭 베이들러 체어맨(스크랜튼대학교 컴퓨터과학과 교수)

“그래서 extern char *cp가 extern char cp[]와 같지 않은 것이었군. 이 책을 통해 겉보기에는 같아 보이는 이 두 문장이 왜 예상대로 동작하지 않는지를 명확히 알게 되었다. 또한 C 개발자 면접시험에 대한 내용도 마음에 쏙 든다.” - 데이비드 S. 플래트(롤링 선더 컴퓨팅)

“저자는 C 언어 전문지식과 유머감각을 탁월하게 엮어 하나의 책으로 완성해냈다. 저자의 재미난 표현, 실제 사례를 통한 경험 지식으로 장황하고 지루한 산문으로 대표되는 전문서 장르에 새 지평을 열었다.” - 존 배리(《Sunburst》, 《Technobabble》 등 집필)

웹 API 설계 원칙 (마이크로서비스 아키텍처로의 효과적인 전환)

책 소개

API 목적이 비즈니스 문제의 해결에 있다는 사실을 다시 한번 상기시키는 책이다. 애플리케이션 현대화의 흐름 속에서 비동기화, 마이크로서비스 등 기술적인 관점에만 머무르기 쉬운 관점을 넓혀준다. 또한 비즈니스의 특성을 어떻게 API 설계와 구현으로 풀어낼 것인지, 개발 이후에도 지속되는 변경사항을 효율적으로 API에 반영해 비즈니스 환경 변화에 대응하는 방법론과 절차를 소개하고 있다. 마이크로서비스 아키텍처로 전환하고 현대화된 API 설계를 고심하고 있다면, 이 책의 효과적인 API 설계 방법론과 사례는 좋은 지침이 될 수 있다.

AWS로 시작하는 인프라 구축의 정석 (견고한 엔터프라이즈 프로덕션 환경을 만들고 지키는 법)

책 소개

쏙쏙쏙 따라 하며 배우는 AWS 인프라 구축 A to Z

클라우드 입문자를 위해 AWS 인프라를 구축하고 운용하는 방법을 단계별로 설명한다. 먼저 클라우드에서 네트워크 및 서버를 구축하는 데 필요한 기본 지식을 알려주고, AWS의 네이티브 기능을 조합하여 안전하면서도 강력한 엔터프라이즈 인프라를 구축/운용하기 위한 설정 방법과 노하우를 친절하게 알려준다.

실용주의 프로그래머(20주년 기념판)

책 소개

실용주의 프로그래머 20주년 기념판 전문가를 향한 여정

《실용주의 프로그래머》는 당신이 읽고, 또 읽고, 수년간 또다시 읽게 될 몇 안 되는 기술 서적이다. 당신이 이 분야에 처음 발을 디딘 사람이건, 경험 많은 전문가이건 매번 새로운 통찰을 얻게 될 것이다.

데이비드 토머스와 앤드류 헌트는 소프트웨어 산업에 큰 영향을 미친 이 책의 1판을 1999년에 썼다. 고객들이 더 나은 소프트웨어를 만들고 코딩의 기쁨을 재발견하도록 돕기 위해서였다. 이 책의 가르침 덕분에 한 세대에 걸친 프로그래머들이 어떤 언어나 프레임워크, 방법론을 사용하든 상관없이 소프트웨어 개발의 본질을 돌아볼 수 있었다. 그리고 실용주의 철학은 수백 권의 책, 스크린캐스트, 오디오북으로 그리고 무수한 사람들의 경력과 성공 스토리로 퍼져 나갔다.

린 UX (린 UX 캔버스를 활용한 프로덕트 개발 실무)

책 소개

린 UX를 적용하여 변화에 빠르게 대응하는 팀을 구축하는 방법

다양한 분야의 전문가를 팀으로 모아 짧은 주기로 이터레이션을 반복하면서 제품 개발을 진행하는 린 UX는 급변하는 시장 환경에 대응하기 위한 최상의 방법이다. 하지만 많은 기업이 분야별로 독립된 팀들이 각자 작업해서 서로에게 작업물을 넘겨주는 핸드오프 방식에서 벗어나지 못하고 있다. 《린 UX》 3판은 개발자, 디자이너, 프로덕트 매니저 등을 하나의 애자일 팀으로 구성한 다음 지속적인 학습과 실험을 통해 문제점을 파악해서 수정하면서 제품을 개발해 나가는 프로세스를 제안한다. 이 책에서 저자들은 린 UX 팀을 구성하는 방법, '린 UX 캔버스'를 활용해서 애자일한 방식으로 제품 개발 프로세스를 진행하는 방법을 자세히 설명하고, 어떻게 기업에 린 UX 팀과 프로세스를 적용할 것인지 조언한다. 저자들은 풍부한 경험을 바탕으로 다양한 예시와 실무에 적용할 수 있는 팁을 제시한다.

켄트 벡의 Tidy First? (더 나은 소프트웨어 설계를 위한 32가지 코드 정리법)

책 소개

익스트림 프로그래밍의 창시자, 켄트 벡 그의 수십 년 경험과 통찰이 담겨 있는 ‘경험적 소프트웨어 설계’ 노하우

* 저자와 옮긴이가 함께 만든 책 * 옮긴이 노트(별책부록) 특별 구성: 켄트 벡과 옮긴이의 소통 기록 + 옮긴이 특별 부록

익스트림 프로그래밍(XP)의 창시자이자 소프트웨어 패턴의 선구자, 켄트 벡이 10년 만에 돌아왔습니다. 격변의 시기에 놓인 우리를 위한 그의 첫 번째 조언은, 시스템의 전체적인 구조를 생각하며 코드를 작성하고, 복잡한 코드는 논리적인 작은 조각으로 정리하는 방법입니다. 이 코딩 노하우를 32가지로 책에 간결하게 정리했으며, 소프트웨어 설계의 기반이 되는 결합도, 응집도, 설계 옵션, 비용 등에 대한 저자만의 인사이트도 함께 담았습니다. 더 나은 프로그래밍을 할 수 있는 방법이 바로 여기에 있습니다.

러닝 HTTP/2: 핵심만 쏙쏙, HTTP/2 적용 실무 가이드 (핵심만 쏙쏙, HTTP/2 적용 실무 가이드)

책 소개

빠르고 간단하게 HTTP/2를 적용하는 방법!

1999년 HTTP/1.1이 승인된 이후 웹은 급격히 발전하여 복잡한 페이지를 속도 저하 없이 잘 처리하는 새로운 프로토콜이 필요하게 되었다. 그래서 등장한 HTTP/2는 20여 년 만의 메이저 개정 버전으로, 웹 콘텐츠를 불러올 때의 체감 성능이 대폭 개선되었다. 이 책은 웹사이트를 구축하거나 운영하는 사람뿐만 아니라 HTTP/2를 구현하거나 HTTP/2의 동작 방식을 이해하고 싶은 사람을 대상으로 한다. HTTP/2의 이점, 활용 방법 등 HTTP/2에서 달라진 점을 설명한다. 페이스북, 트위터, 구글, 위키백과 등 HTTP/2를 사용하는 사이트가 늘고 있다. 아직 HTTP/2로의 전환을 망설이는 이에게 이 책을 권한다.

사용자 스토리 (고객 중심의 요구사항 기법)

책 소개

사용자가 필요로 하는 소프트웨어를 개발하기 위해 '사용자의 이야기'를 듣는 것부터 시작하는 것은 당연하다. 사용자 스토리는 실제 사용자들에게 정말 가치 있는 기능을 간단명료하게 기술한 것이다. 이 책의 저자 사용자 스토리를 작성하는 것은 물론이고, 사용자 스토리를 여러분의 개발 프로세스에 접목시킬 수 있도록 하나에서 열까지 충실히 설명한다. 이 책에서 스토리를 잘 작성하기 위한 포인트뿐만 아니라 조심해야 할 사항을 배우게 될 것이다. 그리고 사용자 스토리를 수집하는 현실적 방법들과, 실제 사용자를 만나볼 수 ?..

익스트림 프로그래밍(Extreme Programming) (변화를 포용하라, 2판)

책 소개

1999년에 Extreme Programming Explained 1판이 출판되었다. XP는 당시만 해도 이단아 취급을 받았다. 세상이 받아들이기에는 너무 급진적으로, 그야말로 익스트림하게 보였다. 하지만 지금은 상황이 많이 바뀌었다. 개발자들의 일하는 방식이 알게 모르게 상당히 XP화 되었다. IBM, 휴렛패커드, 모토롤라, 구글, 야후, MS 등 유명 기업에서 기민한 방법론을 사용하기 시작했다.

이제 초판이 나오고 5년 만에 두 번째 판이 나왔다. 개정판이라고는 하지만 사실상 완전히 새로 쓴 것이나 다름없다. 이 책의 1판은 익스트림 프로그래밍(XP)이 '무엇'인지를 말해 주었다. 그것은 소프트웨어 개발에 대한 많은 사람들의 생각을 바꾸어 놓았다. 2판은 한 단계 더 나아가 XP에 대한 '왜', 곧 실천방법 뒤에 놓인 동기와 원칙들에 대해 매우 많은 것을 말해준다.

두 번째 판의 XP는 더 유연하고 더 강력해졌다. 대규모이고 여러 장소에 흩어져있는 팀도 XP를 할 수 있을까? 할 수 있다. 짝 프로그래밍을 못해도 XP가 가능할까? 가능하다. 팀 수준에서 도입하지 않고 개인만이라도 XP를 할 수 있을까? 그렇다. 임베디드에도 XP를 쓸 수 있나? 물론이다. 오늘 당장부터 개선을 시작할 수 있을까? 그렇다.

패턴을 활용한 리팩터링

책 소개

패턴을 고려한 리팩터링(설계자가 패턴을 구현 또는 제거한 설계로 안전하게 이동할 수 있도록 하는 일련의 저수준 리팩터링의 결합)의 이론과 실무를 소개한다. 실세계 프로젝트의 코드를 사용해 20여 개의 패턴에 기반한 설계 변환에 대한 근본적인 사고 과정과 절차를 문서화했다. 또한 패턴 사이의 차이와 패턴을 구현하는 가장 단순한 방법에 대한 통찰을 준다.

로버트 나이스트롬의 인터프리터 in Java, C (내 손으로 직접 밑바닥부터 만들며 배우는 리얼 인터프리터와 컴파일러의 세계)

책 소개

프로그래밍 언어 디자인에 관한 최고의 책! Dragon Book보다 재미있다! OOP와 함수형 프로그래밍을 모두 지원하는, 현대 프로그래밍 언어의 실용적 구현!

매일 사용하고 있는 프로그래밍 언어가 어떻게 설계되고 구현되는지 알고 싶은가? 프로그래밍 언어가 어떻게 작동하고, 바이트 코드로 컴파일되고, 가상 머신에서 실행되는지에 관심이 있는가? 프로그래밍 언어가 어떻게 구축되었는지 더 깊이 이해해서 더 강력하고 유능한 소프트웨어 개발자가 되고 싶은가? 그렇다면 이 책은 당신을 위한 것이다. 이 책은 모든 기능을 갖춘 효율적인 스크립팅 언어를 구현하기 위해 알아야 할 모든 것을 담고 있다. 로버트 나이스트롬은 이 책에서 자신이 디자인한 작은 동적 언어인 Lox에 대해 두 가지 인터프리터를 구축한다. 첫 번째, 제이록스(jlox)는 Java 기반 인터프리터로 스캐닝, 재귀 하강을 사용한 표현식 구문 분석, 표현식, 제어 흐름, 함수 및 클로저, 클래스 및 상속을 평가한다. 아무것도 없는 밑바닥부터 시작하여 각 장의 주제를 구현해내는 모든 코드를 작성, 수정, 추가하며 설명한다. 두 번째, 씨록스(clox)는 C 기반으로 추상 구문 트리를 따라가는 느린 인터프리터 대신 스택 기반 가상 머신을 개발하며 관련 이론과 실제로 고려해야 할 사항을 다룬다. 위 두 가지를 구현하면서 비슷한 주제에 다르게 접근한다. 예를 들어 제이록스에서는 Java의 HashMap을 사용하여 식별자를 관리하고 Java의 가비지 수집에 의존했다면, 씨록스에서는 해시 테이블과 가비지 수집기를 직접 구현한다. 새로운 프로그래밍 언어를 구축하는 쉽지 않은 길을 위해, 책 전반에 걸쳐 복잡한 주제를 쉽게 이해할 수 있도록 세심하게 설명하고, 코드 역시 명확하고 따라하기 쉽게 넣고자 했다.