콘텐츠 바로가기
본문 바로가기

YES24 카테고리 리스트

YES24 유틸메뉴

Global YES24안내보기

Global YES24는?

K-POP/K-Drama 관련상품(음반,도서,DVD)을
영문/중문 으로 이용하실 수 있습니다.

Korean wave shopping mall, sell the
K-POP/K-Drama (CD,DVD,Blu-ray,Book) We aceept PayPal/UnionPay/Alipay
and support English/Chinese Language service

English

作为出售正规 K-POP/K-Drama 相关(CD,图书,DVD) 韩流商品的网站, 支持 中文/英文 等海外结账方式

中文

검색


어깨배너

2월 혜택 모음
1/6

빠른분야찾기



소프트웨어의 품격
미리보기 공유하기
소득공제 에이콘 소프트웨어 아키텍처 시리즈

소프트웨어의 품격

자바로 살펴보는 좋은 소프트웨어 개발

마르코 파엘라 저/최광민 | 에이콘출판사 | 2021년 09월 24일 | 원제 : Seriously Good Software: Code that works, survives, and wins 첫번째 구매리뷰를 남겨주세요. | 판매지수 1,506 판매지수란?
상품 가격정보
정가 35,000원
판매가 31,500 (10% 할인)
YES포인트
배송안내
배송안내 바로가기

구매 시 참고사항
구매 시 참고사항

판매중

수량
  • 국내배송만 가능
  • 최저가 보상
  • 문화비소득공제 신청가능
1/4
광고 AD

품목정보

품목정보
출간일 2021년 09월 24일
쪽수, 무게, 크기 404쪽 | 188*235*19mm
ISBN13 9791161755618
ISBN10 1161755616

관련분류

이 상품의 이벤트 (10개)

책소개

  •  책의 일부 내용을 미리 읽어보실 수 있습니다. 미리보기

목차

저자 소개 (2명)

이탈리아 네이플스 페데리코 II 대학 조교수로 재임 중이다. 그의 연구 분야는 컴퓨터과학이지만 열정적인 강사이자 프로그래머이기도 하다. 지난 13년 동안 고급 프로그래밍 강의를 해왔고 자바 자격증 참고서를 출간했으며 자바 스트림 영상 강의도 만들었다. 이탈리아 네이플스 페데리코 II 대학 조교수로 재임 중이다. 그의 연구 분야는 컴퓨터과학이지만 열정적인 강사이자 프로그래머이기도 하다. 지난 13년 동안 고급 프로그래밍 강의를 해왔고 자바 자격증 참고서를 출간했으며 자바 스트림 영상 강의도 만들었다.
한양대학교 컴퓨터 전공을 마치고 삼성 SDS 책임 연구원을 거쳐, 현재 인공지능 스타트업 알레시오에서 CTO로 재직 중이다. 회사에서든 일상에서든 새롭고 흥미로운 기술이라면 무엇이든 배우고 즐길 준비가 돼 있으며, 백발노인이 돼서도 끝없이 탐구하고 창조하는 사람이 되는 것을 인생의 목표로 삼고 있다. 한양대학교 컴퓨터 전공을 마치고 삼성 SDS 책임 연구원을 거쳐, 현재 인공지능 스타트업 알레시오에서 CTO로 재직 중이다. 회사에서든 일상에서든 새롭고 흥미로운 기술이라면 무엇이든 배우고 즐길 준비가 돼 있으며, 백발노인이 돼서도 끝없이 탐구하고 창조하는 사람이 되는 것을 인생의 목표로 삼고 있다.

만든 이 코멘트

저자, 역자, 편집자를 위한 공간입니다. 독자들에게 전하고 싶은 말씀을 남겨주세요. 코멘트 쓰기
접수된 글은 확인을 거쳐 이 곳에 게재됩니다.
독자 분들의 리뷰는 리뷰 쓰기를, 책에 대한 문의는 1:1 문의를 이용해 주세요.

출판사 리뷰

이 책에서 다루는 내용

소프트웨어 품질 평가
소프트웨어 품질 기준의 기회 비용과 상호작용
한 가지 예제를 바탕으로 다양한 목표 달성
어떠한 객체지향 언어에도 적용할 수 있는 자바 기반 예제

이 책의 목표와 대상 독자

공식적인 교육을 받지 못한 주니어 개발자가 소프트웨어 개발의 시야를 넓히는 시작점으로 적합하다. 공식적인 교육이 부족하거나 컴퓨터과학, 컴퓨터공학 외의 다른 분야를 전공한 현업 개발자는 이 책을 통해 컴퓨터과학과 컴퓨터공학의 기법을 훑어보고 실제 프로그래밍 과업에서 근본적으로 상충하는 가치를 살펴볼 수 있다. 컴퓨터과학과 컴퓨터공학 전공생에게는 별도 강의에서 배운 다양한 주제를 통합하는 사례를 제공한다. 프로그래밍과 소프트웨어 공학 교과서의 보충 교재로 사용할 수 있다.

이 책의 구성

각 장에서 어떠한 관점의 코드 품질을 다루는지 다음과 같이 요약했다. 각 장 끝부분의 연습문제를 그냥 지나치지 말자. 상세한 해답을 제공하며 해당 장에서 다룬 기법을 다른 상황에 적용해 핵심 개념을 완성해 나갈 수 있다. 1장에서는 프로그래밍 예제(수조 클래스)를 설명하고 경험이 부족한 프로그래머에게 나쁜 영향을 미치는 일반적인 오해를 보여주는 사례를 살펴본다. 2장에서는 여러 가지 관점에서 균형 잡힌 품질을 제공하는 레퍼런스 구현을 자세하게 살펴본다. 3장에서는 시간 효율성에 초점을 맞춰 레퍼런스 실행 시간을 수백 배(500배) 줄여본다. 상황에 따라 여러 가지 성능 기준 사이에 충돌이 발생하는 것을 설명한다.

4장에서는 공간(메모리) 효율성을 실험한다. 객체를 이용해 레퍼런스 대비 50%의 메모리 사용량을 절감한다. 그리고 수조를 표현하는 데 ‘객체’를 사용하지 않음으로써 90%의 메모리를 절감한다. 5장에서는 모니터링을 기반으로 신뢰성을 보장하기 위해 규약에 따른 설계방법론을 소개하고 메서드 규약과 클래스 불변 조건에 기반한 런타임 체크와 어서션을 이용해 레퍼런스를 견고하게 만드는 방법을 살펴본다. 6장에서는 단위 테스트로 신뢰성을 향상한다. 코드 커버리지 측정을 비롯한 각종 도구를 이용해 클래스의 테스트 슈트를 설계하고 실행하는 기법을 알아본다. 7장에서는 가독성을 다룬다. 명료한 자기설명적 코드의 모범 사례를 따라 레퍼런스를 리팩토링한다.

8장에서는 동시성과 스레드 안전성을 살펴본다. 스레드 동기화와 관련 있는 기본적인 개념을 되새겨보고 예제를 바탕으로 교착 상태와 경합 조건을 피하는 데 복잡한 기법이 필요하다는 것을 확인한다. 9장에서는 재사용성에 집중한다. 유사한 구조를 지닌 다른 문제에 레퍼런스 클래스를 활용할 수 있게 제네릭을 이용한 일반화를 실습한다. 부록 A에서는 간결함을 주제로, 레퍼런스 코드 길이의 15% 정도로 짧은 구현 방식을 살펴본다. 부록 B에서는 가장 중요한 소프트웨어 품질 기준을 통합해 궁극의 수조 클래스를 작성한다.

지은이의 말

처음에 내가 정한 책 제목은 ‘자바: 스타일 익히기’였다. 매닝의 현명한 직원들이 내게 눈길을 끄는 제목으로 바꾸자고 충고한 후 서문에라도 원래 제목의 의미를 설명하고 싶었다. 스타일 익히기의 전형적인 예로 프랑스 작가 레이먼드 큐뉴는 같은 이야기를 99가지 다른 방법으로 표현했다. 그 책의 요점은 의도적으로 평이하게 만들어진 이야기가 아니라 자연어의 무한한 표현력을 자유롭게 탐험하는 데 있다. 도널드 커누스 같은 저명인들이 문학과 프로그래밍의 간격을 좁히려고 했지만 프로그래밍은 문학이 아니다. 초보 프로그래머라면 프로그래밍 과제를 해결하는 최고의 방법이 수학에서 그렇듯 오직 한 가지라고 믿더라도 용서받을 수 있다. 하지만 오늘날 행해지는 실제 프로그래밍은 수학보다 문학에 훨씬 가깝다. 전례 없던 수준으로 추상적인 구성 요소를 포함할 수 있게 프로그래밍이 진화했고, 목적을 이루는 방법 역시 늘었다.

새로운 언어는 소개된 후에도 진화하는 과정 중 한 가지 일을 해내는 다른 방법이 추가되곤 한다. 자바처럼 가장 많이 쓰이는 언어도 나름의 위치를 차지한 새로운 언어를 견제하고자 빠른 속도로 진화한다. 이 책에서는 어떠한 프로그래밍 작업에서든 고려해야 할 사항과 그 해답의 맛을 보여주고자 한다. 제시된 예제는 매우 평이하다. 수조를 나타내는 클래스를 다룰 텐데 수조를 파이프로 연결하거나 그 안에 액체를 채울 수 있다. 클라이언트는 물을 넣고 빼거나 새로운 파이프를 연결하는 방식으로 지속적인 상호작용을 한다. 이 일을 수행하는 18가지 다른 방법을 제시하고 토론하면서 성능과 코드의 명료성, 여러 가지 다른 측면에서의 소프트웨어 품질을 최대화한다. 이 책은 무미건조한 코드 조각의 나열이 아니다. 흐름에 따라 컴퓨터과학(여러 가지 자료 구조와 복잡도 이론, 분할 상환 복잡도)과 자바 프로그래밍(스레드 동기화와 자바 메모리 모델), 소프트웨어 공학(규약에 따른 설계 방법론과 테스팅 기법)의 특화된 주제를 다룰 것이다. 간단한 사례더라도 깊이 파고들면 더 나은 코드를 작성하는 데 도움을 주는 방대한 주제와 연관 있다는 것을 보여주는 것이 이 책의 목적이다.

옮긴이의 말

초등학교 시절 부모님을 조르고 졸라 다녔던 컴퓨터학원에서 GW-BASIC으로 검은색 바탕에 회색 텍스트로 ASCII 아트를 그리며 놀던 기억이 난다. 지금 생각하면 별것 아니지만 당시는 그게 정말 재미있고 자못 자랑스러웠다. 그때는 그게 왜 그리도 재미있었을까? 아마도 아무 제약이 없었기 때문이 아닐까? 재촉하는 영업 부서도, 결제가 안 된다며 불만을 토로하는 고객도, 예산을 꼬치꼬치 캐묻는 관리 부서도 없고, 그저 그리고 싶은 대로 화면에 그리면 그만이었다. 그 후 대기업과 스타트업이라는 극단적인 환경에서 소프트웨어를 개발하면서 뼈저리게 느낀 점은 소프트웨어를 개발하는 일에는 항상 제약이 따른다는 것이다. 소프트웨어는 정신적 노동의 결과물인 동시에 돈을 받고 팔려야 하는 ‘상품’이기 때문이다. 즉 소프트웨어 개발은 근본적으로 비즈니스라는 문맥을 벗어나 생각할 수 없기 때문에 항상 시간과 예산, 인력 등의 비용 제약을 수반한다.

소프트웨어 엔지니어로서 항상 겪는 갈등도 여기서 비롯된다. 모든 면에서 완벽한 소프트웨어를 만들고 싶은 욕심과 주어진 비용 안에서 과업을 완수해야 하는 제약 사이에 충돌이 발생한다. 결국 인생의 많은 측면이 그렇듯 소프트웨어 개발에도 완성도와 제약 사이의 적절한 균형이 필요하다. 무엇을 취하고 무엇을 버릴지, 무엇을 먼저 하고 무엇을 미뤄야 할지 끝없는 선택의 연속이다. 한마디로 기회비용을 항상 고려해야만 한다. 이 책의 중요한 주제 중 하나가 바로 기회비용이다. 저자는 소프트웨어의 품질을 결정하는 여러 기준을 소개하고 동일한 소프트웨어를 여러 측면에서 최적화하는 방법을 탁월하게 설명한다. 그리고 그 과정에서 각 기준 사이에 불가피한 기회비용이 있는 것을 보여준다.

프로그래밍 언어의 기본적인 내용을 익힌 개발자라면 이 책에서 크게 2가지를 얻을 수 있다. 첫째, 소프트웨어의 품질을 결정하는 여러 기준을 이해하고 그 기준에 부합하는 소프트웨어를 개발하는 방법을 살펴볼 수는 있다. 물론 책 한 권 읽는 것만으로는 고품질의 소프트웨어를 작성할 수 없지만 이 책을 좋은 출발점으로 삼을 수 있을 것이다. 둘째, 여러 품질 기준 사이에 필연적인 충돌이 있다는 것을 이해하고 이러한 기회비용을 어떻게 다룰지 생각할 기회를 얻는 것이다. 물론 책 내용만으로 현실에서 발생하는 모든 충돌을 이해할 수는 없다. 현실의 소프트웨어 개발은 품질 기준뿐만 아니라 사업적, 조직적 요소까지 영향을 미치므로 훨씬 복잡하다. 그래도 이상적인 생각만으로 전쟁터에 뛰어들기보다 마음의 준비를 단단히 하고 뛰어드는 것이 나을 것이다. 인생이 그렇듯 훌륭한 개발자, 엔지니어의 길도 순탄치만은 않다. 가보지 않은 길에 어떠한 괴물이 도사리고 있을지 알 수 없다. 그저 배우고 성장하며 묵묵히 걸어갈 뿐이다. 부디 여러분의 앞길에 이 책이 작은 이정표가 되기를 바란다.

추천평

“더 나은 소프트웨어를 만드는 실용적인 지침서”
- 후안 J. 두릴로(Juan J. Durillo) (LRZ SuperMUC)

“모든 컴퓨터과학 전공자가 꼭 봐야 할 책!”
- 미하우 암브로치에비치(Michał Ambroziewicz) (Netsprint)

“모든 회사의 신입 개발자가 꼭 읽어야 할 책이다.”
- 플라비오 디에즈(Flavio Diez) (codecentric AG)

지난 30년 동안 프로그래밍 서적 몇 권을 저술한 덕분에 책을 쓰는 일에 관한 조언을 요청받곤 한다. 그때마다 우선 한 장(chapter)을 완성해 보여달라고 요청하는데 대부분 그 후로 소식이 없다. 한 장도 쓰지 못한다면 책 한 권은 완성될 수 없고 더 이상 할 얘기도 없기 마련이다. 2018년 2월 네이플대 마르코 파엘라 교수로부터 이메일을 받았다. 그가 캘리포니아대에서 일하던 시절 만난 적이 있었다. 그는 책 저술에 대한 조언을 구했는데 이미 몇 장이 완성된 상태였다! 살펴본 내용이 마음에 들어 몇 가지 조언과 격려를 담아 답장을 보냈다. 그 후 한동안 연락이 없었지만 놀랍지는 않았다. 알고 지내던 한 편집자가 말했듯이 저술을 시작하는 사람은 매우 많지만 저술을 끝마치는 사람은 드물기 때문이다. 2019년 4월 매닝출판사로부터 그의 책이 출간된다는 이메일을 받았는데 정말 훌륭한 책이었다. 8월에는 그가 내게 머리말을 부탁해 흔쾌히 승낙했다. (코어 자바 같은 고전적인) 프로그래밍 언어 관련 책을 쓸 때는 언어의 구성 요소와 특화된 API에 집중한다. 그리고 독자가 자료 구조와 알고리즘, (테스팅과 리팩토링, 디자인 패턴을 비롯한) 소프트웨어 공학 이론을 한 번쯤 접했다고 가정한다. 하지만 교수가 된 후 대학 교육 과정이 이러한 주제를 실용적이고 쉽게 가르치지 못한다는 사실을 깨달았다.

이 책은 그러한 부족함을 채워준다. 자바 프로그래밍의 기본에만 익숙하다면 저자가 고품질 프로그램을 향한 길을 제시할 것이다. 여러분이 알고리즘 설계, API 설계, 테스팅, 동시성에 경험이 있을 수 있지만 저자는 고전적인 주제에 새로운 관점을 제시한다. 저자는 한 예제를 다른 방식으로 계속 구현하면서 엄청나게 많은 통찰을 끌어낸다. 나는 이렇게 ‘실제로 돌아가는 예제’를 가지고 설명하는 방식을 좋아하지 않는다. 예제 프로그램이 진화하는 과정을 파악하기 위해 책을 꼭 순서대로 읽어야 하기 때문이다. 하지만 이 책의 예제는 영리하게 설계됐다. 놀랍고 흥미로운 핵심 개념 몇 가지를 첫눈에 이해한 후 각 장에서 독립적인 방향으로 코드를 발전시킨 나간다. 이는 놀라운 경험이 될 것이다. 중요한 내용을 다루는 장을 읽은 후 ‘이전과 완전하게 다른 뭔가’를 발견할 것이다. 그랬다면 새로운 기술을 다른 상황에 적용할 차례다. 본문 중간의 퀴즈와 각 장 끝부분의 연습문제를 꼭 풀어보길 바란다. 고품질 소프트웨어를 만드는 일은 결코 간단하지 않다. 하지만 훌륭한 설계 이론과 장인 정신을 다시 되새기는 것은 항상 도움을 준다. 내가 그랬듯이 여러분도 이 책에서 제시하는 신선한 관점을 즐겨보길 바란다.
- 케이 호스트만(Cay Horstmann) (초보와 숙련된 프로그래머를 위한 수많은 책(『Core Java』 시리즈, 『Modern JavaScript for the Impatient』 등)의 저자)

회원리뷰 (0건)

매주 10건의 우수리뷰를 선정하여 YES포인트 3만원을 드립니다.
3,000원 이상 구매 후 리뷰 작성 시 일반회원 300원, 마니아회원 600원의 YES포인트를 드립니다.
(CD/LP, DVD/Blu-ray, 패션 및 판매금지 상품, 예스24 앱스토어 상품 제외) 리뷰/한줄평 정책 자세히 보기
리뷰쓰기

등록된 리뷰가 없습니다.

첫번째 리뷰어가 되어주세요.

한줄평 (1건)

1,000원 이상 구매 후 한줄평 작성 시 일반회원 50원, 마니아회원 100원의 YES포인트를 드립니다.
(CD/LP, DVD/Blu-ray, 패션 및 판매금지 상품, 예스24 앱스토어 상품 제외) 리뷰/한줄평 정책 자세히 보기
0/50

배송/반품/교환 안내

배송 안내

배송 안내
배송 구분 YES24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4

반품/교환 안내

※ 상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내
반품/교환 방법
  •  마이페이지 > 반품/교환 신청 및 조회, 1:1 문의, 고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에 따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
맨위로
예스이십사(주)
서울시 영등포구 은행로 11, 5층~6층(여의도동,일신빌딩) 대표 : 김석환   개인정보보호책임자 : 권민석 yes24help@yes24.com 사업자등록번호 : 229-81-37000   통신판매업신고 : 제 2005-02682호 사업자 정보확인 호스팅 서비스사업자 : 예스이십사(주)
YES24 수상내역 정보보호 관리체계 ISMS인증획득 개인정보보호 우수사이트
소비자피해보상보험 서울보증보험
고객님은 안전거래를 위해 현금 등으로 결제 시 저희 쇼핑몰에서 가입한 구매안전서비스를 이용하실 수 있습니다. 서비스가입사실 확인
EQUUS5