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


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) 韩流商品的网站, 支持 中文/英文 等海外结账方式

中文

검색


어깨배너

12월 전사이벤트
~12/21
출간전연재
모바일팝 모바일 5% 할인
시프트북스 공모전
바이백 20% 추가정산
1/6

빠른분야찾기


윙배너

마우스를 올려주세요.

마케팅 텍스트 배너

웹진채널예스


레거시 코드 활용 전략
소득공제 에이콘 소프트웨어 테스팅

레거시 코드 활용 전략

손대기 두려운 낡은 코드, 안전한 변경과 테스트 기법

[ 재출간 ]
마이클 C. 페더스 저/심윤보, 이정문 | 에이콘출판사 | 2018년 09월 28일 | 원제 : Working Effectively with Legacy Code 첫번째 리뷰어가 되어주세요 | 판매지수 3102 판매지수란? 공유 페이스북 공유하기 트위터 공유하기 상품퍼가기 열기/닫기
상품 가격정보
정가 40,000원
판매가 36,000 (10% 할인)
YES포인트
결제혜택
결제혜택 카드/간편결제 혜택을 확인하세요 카드/간편결제 혜택 보기/감추기
카드할인 정보
네이버페이 네이버페이 네이버페이 1% 적립 (전체결제) 자세히 보기
모바일팝 모바일팝 5% 즉시할인 (모바일 결제시) 자세히 보기
롯데 아임원더풀카드 롯데 아임원더풀카드 5%+ 5만원 캐시백 (상세페이지 확인) 자세히 보기
페이코포인트 페이코포인트 1.2% 적립 (건당 1만P 이내) 자세히 보기
구매 시 참고사항
구매 시 참고사항

판매중

수량
배송비 : 무료 배송비 안내
  • 해외배송 가능
  • 최저가 보상
  • 문화비소득공제 신청가능

상품정보

출간일 2018년 09월 28일
쪽수,무게,크기 540쪽 | 1000g | 188*235*26mm
ISBN13 9791161752075
ISBN10 1161752072

책소개

시스템 내에 오래된 코드를 다루는 방법을 배울 수 있다. 오래된 코드, 즉 레거시 코드는 그 코드에 익숙한 사람도 없고, 테스트 루틴도 없어 관리하기 어렵다. 저자는 다년간의 현장 경험과 실제 코드를 바탕으로 다양한 기법을 소개한다. 여러 언어뿐만 아니라, 현업에서 사용되는 도구에 대해 현실적인 조언을 해준다. 코드 내 의존 관계 해결, 효과적 테스팅 방법 등 24가지 기법을 통해 시스템의 낡은 코드를 변경, 관리하는 데 있어 많은 통찰력을 줄 것이다.

저자 소개

작가파일보기 관심작가알림 신청 저 : 마이클 C. 페더스

Michael C. Feathers 멘토링, 능력 개발, 지식 전달, 소프트웨어 개발 관리 등 서비스 제공 분야의 글로벌 리더 업체인 오브젝트 멘토에 근무하고 있다. 테스트 주도 개발, 리팩토링, 객체 지향 설계, 자바, C#, C++, 익스트림 프로그래밍에 대한 트레이닝과 멘토링 등의 컨설팅을 다수 수행했으며, JUnit 테스트 프레임워크의 C++ 버전인 CppUnit과 통합 테스트 프레임워크 FIT의 C++ 버전인 FitCpp의 개발자이기도 하다. ACM과 IEEE 회원이다. OOPSLA 콘퍼런스(객체 지향 기법에 관한 국제 콘퍼런스)에서 코드 페스티벌 의장을 세 차례 맡았다.

작가파일보기 관심작가알림 신청 역 : 심윤보

성균관대학교와 서울대학교에서 컴퓨터공학을 전공했다. 휴대폰 소프트웨어를 개발했으며, 현재는 IT 기획 및 신기술 도입 업무를 수행하고 있다. 인공지능을 비롯한 4차 산업혁명 기술 전반에 대해 관심이 많다.

작가파일보기 관심작가알림 신청 역 : 이정문

컴퓨터공학을 전공했으며 다수의 원서를 번역했다. 번역서로는 에이콘출판사에서 펴낸 『비기닝 ANSI C++』(2008), 『데이터 과학으로 접근하는 정보보안』(2016), 『파이썬 플레이그라운드』(2016) 등이 있다.

목차

1부. 코드 변경의 메커니즘

1장. 소프트웨어 변경
소프트웨어 코드를 변경하는 네 가지 이유
기능 추가와 버그 수정
설계 개선
최적화
네 가지 이유의 종합
위험한 변경

2장. 피드백 활용
단위 테스트란?
상위 수준의 테스트
테스트를 통한 코드 보호
레거시 코드를 변경하는 순서
변경 지점을 식별한다
테스트 루틴을 작성할 위치를 찾는다
의존 관계를 제거한다
테스트 루틴을 작성한다
변경 및 리팩토링을 수행한다
이후의 내용

3장. 감지와 분리
협업 클래스 위장하기
가짜 객체
가짜 객체의 양면성
가짜 객체의 핵심
모조 객체

4장. 봉합 모델
엄청난 양의 테스트
봉합
봉합의 종류
전처리 봉합
링크 봉합
객체 봉합

5장. 도구
리팩토링 자동화 도구
모조 객체
단위 테스트 하네스
JUnit
CppUnitLite
NUnit
기타 xUnit 프레임워크
일반적인 테스트 하네스
FIT
피트니스

2부. 소프트웨어 변경

6장. 고칠 것은 많고 시간은 없고
발아 메소드
장점과 단점
발아 클래스
장점과 단점
포장 메소드
장점과 단점
포장 클래스
요약

7장. 코드 하나 바꾸는 데 왜 이리 오래 걸리지?
코드 이해하기
... 펼처보기

책속으로

레거시 코드란 무엇일까? 지금까지 이 단어의 뜻을 정의하지 않고 사용했다. 엄밀히 말하면, 레거시 코드는 다른 누군가로부터 이어받은 코드라고 정의할 수 있다. 회사 차원에서 다른 회사로부터 구입한 코드일 수도 있고, 부서 이동으로 인해 다른 팀원에게 인계된 코드일 수도 있다. 이처럼 레거시 코드는 다른 누군가의 코드를 의미하지만, 프로그래머들에게 이 단어는 그 이상의 의미를 갖고 있다. 레거시 코드라는 단어는 시간의 흐름과 함께 더 많은 의미와 무게를 갖게 된 것이다.
레거시 코드라는 말을 들으면 여러분은 어떤 생각이 드는가? 나와 비슷한 생각이 든다면, 여기저기 얽힌 난해한 구조 때문에 제대로 이해하지 못하면서도 수정해야만 하는 코드가 떠오를 것이다. 겉보기에는 쉬워 보였던 기능을 추가하느라 며칠 밤을 지샌 추억이 떠오를 수도 있고, 더 이상 어떻게 할 수 없는 코드에 질려서 무력감에 빠진 모습이 떠오를 수도 있다. 이런 상황에서 당신의 노력은 무가치한 일처럼 느껴진다. 레거시 코드의 정의는 사실 누가 그 코드를 작성했는가와 무관하다. 코드는 다양한 방법으로 부패하며, 대부분의 경우 다른 팀으로부터 가져온 코드인지 여부
... 펼처보기 --- 본문 중에서

줄거리

1부, ‘코드 변경의 메커니즘’은 소프트웨어 코드를 변경하는 네 가지 이유와 단위 테스트, 레거시 코드를 변경하는 순서, 봉합 모델 등 소프트웨어 변경 기법에 관해 다룬다.
2부, ‘소프트웨어 변경’은 레거시 코드 작업과 관련된 매우 일반적인 질문을 다루고 있으며, 각 장의 제목은 특정한 문제를 가리킨다. 이 때문에 제목이 다소 길어졌지만, 독자들이 필요한 내용을 쉽게 찾는 데 도움이 될 것이다.
2부의 앞뒤로는 도입부에 해당하는 몇 개의 장들(1부, ‘코드 변경의 메커니즘’)과 레거시 코드를 다룰 때 유용한 리팩토링에 관한 내용(3부, ‘의존 관계 제거 기법’)을 배치했다. 도입부의 장들, 특히 4장, ‘봉합 모델’은 꼭 읽길 바란다. 2부에서 사용되는 기법들의 배경지식과 관련 용어들을 설명하기 때문이다. 문맥상 이해되지 않는 용어가 있다면 부록의 ‘용어 사전’을 참조한다.
3부, ‘의존 관계 제거 기법’에서 소개하는 리팩토링 기법들은 테스트 루틴이 없는 상황에서 테스트 수행을 목표로 한다는 점에서 특별하다. 더 많은 선택지를 갖고 레거시 코드를 다루기 위해서라도 3부의 각 장을 읽어볼 것을 권장한다.

출판사 리뷰

- 기능 추가, 버그 수정, 설계 개선, 성능 최적화 등의 소프트웨어 변경 기법
- 레거시 코드를 테스트 하네스 안에 넣는 방법
- 새로운 문제 발생으로부터 시스템을 보호해주는 테스트 루틴 작성법
- 자바, C++, C, C# 언어로 작성된 예제를 통해 소개하는 어떤 언어나 플랫폼에도 사용 가능한 기법
- 코드에서 수정해야 할 부분을 정확히 찾아내는 방법
- 객체 지향적으로 작성되지 않은 레거시 시스템을 다루는 기법
- 구조가 모호한 애플리케이션을 다루는 방법

추천평

유능한 소프트웨어 개발자라면 누구나 요구 사항이 변경될 것을 감안해 설계하고자 한다.

이것은 해결하기 매우 어려운 문제처럼 보인다. 실제로 너무 어렵기 때문에 거의 모든 시스템은 서서히 부패해 결국 망가져버린다. 이 부패는 침투력이 매우 강하며, 이처럼 부패한 프로그램을 가리키는 특별한 이름이 존재한다. 바로 ‘레거시 코드(legacy code)’다.

레거시 코드, 이 단어는 프로그래머의 마음속에 구토를 일으키는 단어다. 마치 끈적이는 거머리와 날카로운 침을 가진 날벌레들로 뒤덮인 덤불 천지의 음산한 늪지대를 걸어가는 것과 같은 이미지를 연상시킨다. 암흑, 점액, 고인 물, 악취라고 불러도 좋다. 우리가 처음 느꼈던 프로그래밍의 강렬한 기쁨도 레거시 코드를 다뤄야 하는 고통에 희석되기 십상이다.

최초에 작성했던 코드가 레거시 코드로 전락하지 않도록 막는 방법을 찾기 위해 수많은 사람들이 노력해왔다. 프로그래머가 시스템의 간결함을 유지하는 데 도움을 줄 수 있는 원칙이나 패턴, 실행 방법 등을 설명하는 책은 이미 많다. 하지만 이 책의 저자 페더스는 지금까지 간과됐던 것에 대한 통찰력을 제시하고 있다. 예방만으로는 충분하지 않다. 최선의 원칙을 숙지하고 최선의 패턴을 사용하며 최선의 실행 방법을 따르는 가장 잘 훈련된 개발 팀조차 때때로 일을 망칠 수 있다. 부패는 계속 쌓여가므로 부패를 방지하는 것만으로는 충분하지 않다. 부패를 되돌릴 수 있어야 하는 것이다.
이것이 바로 이 책의 주제다. 즉, 이 책은 부패를 되돌리는 방법을 다룬다. 복잡하게 얽힌 불명료한 시스템을 단계별로 점진적인 방법을 통해 단순하면서 잘 구조화돼 있고 훌륭하게 설계된 시스템으로 변모시키는 방법을 알려준다.

다만, 지나친 흥분은 가라앉히자. 부패를 되돌리는 것은 쉽지 않으며 단기간에 가능하지도 않다. 이 책에서 제시하는 기술이나 패턴, 도구들은 효과적이지만 그만큼 많은 노력과 시간, 인내, 주의를 요구한다. 이 책은 결코 만병통치약을 제시하지 않는다. 하룻밤 사이에 시스템에 쌓인 모든 부패를 되돌리는 방법은 없다. 대신, 여러분이 앞으로의 개발 업무에서 갖춰야 할 원칙과 개념 및 태도, 그리고 품질이 나빠지고 있는 시스템을 점진적으로 개선하는 데 도움이 되는 방법을 설명할 것이다.
ㅡ 로버트 C. 마틴

배송/반품/교환 안내

배송 안내

배송 구분 YES24 배송
포장 안내

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

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

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

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

반품/교환 안내

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

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