소프트웨어 악취를 제거하는 리팩토링: 구조적 설계 문제를 풀어내는 최선의 실천법!

Free sample

소프트웨어 개발자가 설계 원칙을 어길 때 어떤 악취가 발생하는지를 파악하여 설계 과정에서 직면한 다양한 도전을 탐구한다. 단순히 악취 목록만 나열하는 이론적인 접근 방법에서 벗어나 다양한 일화와 실제 예제를 중심으로 소프트웨어 개발 현장에서 어떤 문제가 발생하는지 소개한다. 그리고 구체적인 방식으로 경험담을 기술하여 이것을 어떻게 해결할 수 있는지 보여 줌으로써 좋은 설계와 나쁜 설계가 무엇인지 제대로 알려 준다.
Read more
Collapse

About the author

터셔 샤르마
인도 방갈로르에 소재한 지멘스 연구 기술 센터 소속 기술 전문가.

가네쉬 사마스얌
인도 방갈로르에서 활동하는 독립 컨설턴트 겸 기업 대상 트레이너.

기리쉬 서야나라야나
인도 방갈로르에 소재한 지멘스 연구 기술 센터 소속 선임 연구 과학자.
Read more
Collapse
Loading...

Additional Information

Publisher
(주)도서출판길벗
Read more
Collapse
Published on
Feb 3, 2016
Read more
Collapse
Pages
344
Read more
Collapse
ISBN
9791186978658
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
Korean
Read more
Collapse
Genres
Computers / Internet / General
Computers / Software Development & Engineering / Project Management
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse
Read Aloud
Available on Android devices
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
어떻게 하면 팀이 자발적으로 움직이게 만들 것인가?

1. 애자일은 가치와 철학이다
특정 방법론, 특정 프로세스, 특정 도구를 사용해야 애자일이라 생각하지만, 애자일은 가치와 철학을 말한다. 따라서 조직 구성원이 원하는 도구와 프로세스를 연결해서 사용할 수 있다. 스크럼을 이용하지만, 스크럼을 100% 적용하지 않아도 되고 필요한 부분만 적용할 수도 있다. 전통적인 프로젝트 관리에도 필요한 도구와 프로세스를 연결해서 사용하면 된다. 애자일은 정형화된 프로세스, 도구, 방법론보다는 제대로 동작하는 소프트웨어, 소통의 중요성, 고객과의 협력, 변화에 대응하는 것을 중시하는 가치와 철학이다.

2. 애자일은 도입이 아니라 변화다
프로젝트 처음부터 애자일로 시작해야 하는 것이 아니다. 이미 진행하는 프로젝트에도 도입할 수 있다. 애자일은 아주 작은 것부터 시작할 수 있다. 작은 변화를 도입하고 구성원에게 동기를 부여하는 것이 중요하다. 애자일은 가치와 철학이다. 구성원이 가치와 철학을 몸에 익히는 데는 시간이 필요하다. 그래서 애자일은 도입이 아니라 변화다. 이것이 오늘도 우리는 애자일을 시도해야 하는 이유다.

3. 애자일을 적용하는 현실적인 방법을 제시한다
개발 방법론에서 말하는 프로세스는 프로세스일 뿐이다. 이미 조직에 뿌리 내린 전통적인 개발 프로세스와 조율하는 방법을 소개한다. 방법론은 맞다, 틀리다의 범위가 아니다. 상호보완하면서 적용할 수 있는 부분이 많으며 실제로 이를 어떻게 활용하느냐가 중요하다. 이 책에서는 전통적인 프로젝트 관리와 애자일의 균형점을 제시한다.
* 종이책 2쇄에 적용된 오탈자 수정 사항을 반

파이썬, 이제 똑똑하게 코딩하자!

1. 파이썬다운 생각을 키우자
일반적인 작업조차 파이썬답게 코딩하는 법을 익히면 더 나은 동작과 성능을 이끌어 낼 수 있다. 파이썬 2와 파이썬 3 프로그래머 모두에게 적합하며 CPython, Jython, PyPy 같은 런타임을 사용하는 프로그래머에게도 유용하다.

2. 더 나은 코딩 노하우를 배우자
다양한 팁과 기술을 현실성 있는 코드 예제와 함께 59가지 Better way에 수록했다. 해야 할 것과 피해야 할 것, 적절한 균형을 유지하는 법, 왜 이것이 최선의 선택인지 조언하며 파이썬 코드를 더 효과적으로 작성할 수 있게 해준다.

3. 제공된 코드를 직접 실행하며 이해하자
이 책에 실린 코드 조각의 전체 코드가 별도 파일로 제공되므로 스스로 실습하기에 용이하다. 또한, 코드를 직접 수정해보고 프로그램을 실행하며 책에서 설명한 내용을 확실하게 이해할 수 있다.

더 나은 파이썬 코드를 작성하는 59가지 기술과 해법!

1. 59가지 Better Way로 "파이썬답게" 코딩하는 테크닉을 배운다!
같은 범주끼리 장으로 묶어두었지만 59가지 Better Way는 그 자체로 독립적이다. 상황에 따라 원하는 내용으로 자유롭게 옮겨가며 학습할 수 있다. 또한, 코드를 좀 더 파이썬답게 작성하는 기술을 알려주므로 따라하며 학습하다 보면 한 차원 높은 코드를 작성할 수 있다.

2. 파이썬 2와 파이썬 3의 차이점을 알고 더 나은 방법을 탐구한다!
어느 한 버전에 치우치지 않고 파이썬 2와 파이썬 3의 장단점, 차이점을 정확히 짚어준다. 사용 중인 파이썬 버전이 어떤 것이든 더 나은 파이썬 코드를 작성하는 데 도움이 되는 유용한 팁과 노하우를 학습할 수 있다. 또한, 단순히 솔루션을 제시하기보다는 방향을 제시하여 실전에서 더 나은 방법을 연구할 수 있게 도와준다.

3. 똑똑한 코드 작성의 기술과 해법을 깔끔하게 담았다!
더 나은 코딩 기술을 Better Way 한 줄로 정리했다. Note에는 작업할 때 알아두면 좋은 팁과 저자의 노하우가 정리되어 있다. 바쁜 독자라면 각 Better way의 마지막 부분에 있는 핵심 정리를 참고하는 게 좋다. 해당 절에서 설명한 내용을 요약하여 깔끔하게 목록으로 정리했다. 문법 강조와 살아있는 예제 소스 제공은 기본이다!

1. 한 번 빌드하면 어디서나 실행할 수 있는 애플리케이션 배포 시스템
Docker만 있으면 언제 어디서나 애플리케이션을 실행할 수 있는 안전한 런타임 환경을 구성할 수 있다. 시스템에 따라 설치, 설정, 의존성 같은 반복 작업을 하지 않아도 애플리케이션을 빠르게 배포하는 것이 가능하다. 가상 머신이 시스템간 호환성, 이동성에 제약이 있다면 Docker는 그런 제약에서 자유롭다. 아마존 웹 서비스, 구글 클라우드 플랫폼, 마이크로소프트 애저 같은 플랫폼을 자유롭게 이동하고 배포할 수 있다.

2. 가상 머신의 부하 없이 즐기는 가상 환경
하이퍼바이저가 CPU, RAM, 스토리지 같은 하드웨어를 전부 추상화했다면, Docker는 운영체제 커널만 추상화했다. Docker는 운영체제를 공유하면서 애플리케이션에 필요한 가상화와 격리를 제공하기 때문에 가볍고 빠르다. 이미지 생성, 스냅샷 생성, 초기화도 Docker라면 빠르게 처리할 수 있다.

3. 개발자와 운영자를 위한 진정한 배포 시스템
런타임 환경을 한 번 만들고, 패키징만 하면 어떤 머신에서나 반복해서 실행할 수 있다. 가상 머신처럼 호스트와 격리된 환경에서 실행된다. 개발자는 코드 품질에 더 많은 시간을 집중할 수 있고, 운영자는 개별 서버를 일일이 관리하는 대신 배포 이미지 관리에 집중함으로써 시스템의 일관성을 높일 수 있다. Docker 기반 배포를 구현하면 개발, 테스트, 서비스 단계의 시스템 불일치나 호환성 문제를 줄이거나 제거할 수 있다.
©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.