Clean Code 클린 코드 로버트 C. 마틴 저/박재호,이해영 공역 차례 1장. 깨끗한 코드 2장. 의미 있는 이름 3장. 함수 4장. 주석 5장. 형식 맞추기 6장. 객체와 자료 구조 7장. 오류 처리 8장. 경계 9장. 단위 테스트 10장. 클래스 11장. 시스템 12장. 창발성 13장. 동시성 14장. 점진적인 개선 15장. JUnit 들여다보기 16장. SerialDate 리팩터링 17장. 냄새와 휴리스틱 추천사 5S 철학 1. 정리(Seiri) 또는 조직("정렬(sort)"이라고도 한다) 2. 정돈(Seiton) 또는 단정함("체계화"라고도 한다) 3. 청소(Seiso) 또는 정리("광내기"라 한다) 4. 청결(Seiketsu) 또는 표준화 5. 생활화(Shutsuke) 1장. 깨끗한 코드 ..
Clean Code 클린 코드 로버트 C. 마틴 저/박재호,이해영 공역 비야네 스트롭스트룹(Bjarne Stroustrup) "나는 우아하고 효율적인 코드를 좋아한다. 논리가 간단해야 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. 성능을 최적으로 유지해야 사람들이 원칙 없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다. 깨끗한 코드는 한 가지를 제대로 한다." 그래디 부치(Grady Booch) "깨끗한 코드는 단순하고 직접적이다. 깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다." '큰(Big)' 데이브 토마스(Dave Thomas) "깨끗..
성공으로 이끄는 팀 개발 실천 기술 이케다 타카후미,후지쿠라 카즈아키,이노우에 후미아키 공저/김완섭 역 차례 CH 1. 팀 개발이란? CH 2. 팀 개발에서 발생하는 문제 CH 3. 버전 관리 CH 4. 티켓 관리 CH 5. CI(지속적 통합) CH 6. 배포 자동화(지속적 전달) CH 7. 회귀 테스트 이번 챕터를 읽으면서 명확하게 이해되지 않은 부분은 svn과 git의 차이점이였다. 아래 슬라이드는 이 책보다 그 차이점과 git의 개념을 더 알기 쉽게 설명하고 있는 것 같다. svn 능력자를 위한 git 개념 가이드 from Insub Lee 본문 중에서... 버전 관리 시스템 버전 관리 시스템을 효율적으로 사용하는 것은 팀 개발을 효율화하기 위해 없어서는 안 될 가장 기본적인 요소다. 버전 관리 시..
성공으로 이끄는 팀 개발 실천 기술 이케다 타카후미,후지쿠라 카즈아키,이노우에 후미아키 공저/김완섭 역 차례 CH 1. 팀 개발이란? CH 2. 팀 개발에서 발생하는 문제 CH 3. 버전 관리 CH 4. 티켓 관리 CH 5. CI(지속적 통합) CH 6. 배포 자동화(지속적 전달) CH 7. 회귀 테스트 본문 중에서... "소프트웨어 공학에서 리팩토링(refactoring)은 주로 '결과의 변경 없이 코드 구조를 재조정함'을 뜻한다." - 위키피디아 테스트 코드를 사용하지 않고 레거시 코드를 양산하면 소프트웨어 품질이 저하된다. '바른 것'을 확인하기 위한 수단이 눈으로 확인하는 테스트뿐이라면, '바른 것'을 확인하기 위한 시간이 늘어나서 회귀 테스트 실행이 비현실적이 된다. 테스트로 시간을 낭비하면서 ..
프로그래밍 심리학 제랄드 M. 와인버그 저/조상민 역 제럴드 와인버그의 새 책을 계속 만나보고 싶은데 연세가 많으시다는게 참 아쉽다. 이 분의 잘 다듬어진 문장들을 읽고 있으면 과학자를 넘어 문인 또는 지성인의 글이라는 생각이 든다. 이 책을 읽으면서 내가 프로그래밍하면서 놓치고 있는 것들에 대해 잠시나마 생각해 볼 수 있었다. 프로그래밍은 결국 사람이 하는 행위이다. 아무리 개발과 관리 기술이 발달해도 일하는 사람에 대한 이해가 부족하면 좋은 프로그래머가 만든 좋은 프로그램은 기대하기 힘들것이다. 차례 1부. 인간 행위로 보는 프로그래밍 2부. 사회 할동으로 보는 프로그래밍 3부. 개인 행위로 보는 프로그래밍 4부. 프로그래밍 도구 5부. 에필로그 본문 중에서... 4부. 프로그래밍 도구 11장. 프로..
프로그래밍 심리학 제랄드 M. 와인버그 저/조상민 역 차례 1부. 인간 행위로 보는 프로그래밍 2부. 사회 할동으로 보는 프로그래밍 3부. 개인 행위로 보는 프로그래밍 4부. 프로그래밍 도구 5부. 에필로그 본문 중에서... 3부. 개인 행위로 보는 프로그래밍 7장. 프로그래그밍의 다양성 프로그램은 사람이 만드는 다른 모든 물건처럼 명확한 수명과 활용 범위를 두고 설계되어야 한다. 수백 년 동안 유지될 수 있을 만큼 논리적인 방법으로 만든 장인의 작품처럼, 프로그램에는 과도하게 설계된 부분도 미진하게 설계된 부분도 있어서는 안된다. 그러나 프로그래머에게는 가장 많은 작업을 요하는 부분보다 가장 흥미로운 지적 도전을 즐길 수 있는 부분에 더 많은 시간을 할애하는 직업병이 있다. 적재적소에 필요한 재능을 투..
프로그래밍 심리학 제랄드 M. 와인버그 저/조상민 역 이 책은 1971년에 초판이 출간됐다. 오랜 시간이 흘렀지만 저자의 통찰력은 여전히 빛나고 있다. 과격하게 표현하면 여전히 프로그래머를 공장의 기계처럼 취급하는 우리 현실에서 40년도 전에 '프로그래밍 심리학'을 고민하고 연구했다는 것이 놀랍다. 그리고 우리 프로그래머의 현실은 별로 나아진 것 같지 않아서 슬프다. 차례 1부. 인간 행위로 보는 프로그래밍 2부. 사회 할동으로 보는 프로그래밍 3부. 개인 행위로 보는 프로그래밍 4부. 프로그래밍 도구 5부. 에필로그 본문 중에서... 1부. 인간 행위로 보는 프로그래밍 "중요한 것은 질문을 멈추지 않는 것이다. 호기심에는 그 나름의 존재 이유가 있다. 영원과 인생 그리고 신비한 현실의 구조가 주는 불가..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 7. 템플릿과 일반화 프로그래밍 (2) 항목 44 : 매개변수에 독립적인 코드는 템플릿으로부터 분리시키자 템플릿을 사용하면 비슷비슷한 클래스와 함수가 여러 벌 만들어집니다. 따라서 템플릿 매개변수에 종속되지 않은 템플릿 코드는 비대화의 원인이 됩니다. 비타입 템플릿 매개변수로 생기는 코드 비대화의 경우, 템플릿 매개변수를 함수 매개변수 혹은 클래스 데이터 멤버로 대체함으로써 비대화를 종종 없앨 수 있습니다. 타입 매개변수로 생기는 코드 비대화의 경우, 동일한 이진 표현구조를 가지고 인스턴스화되는 타입들이 한 가지 함수 구현을 공유하게 만듬으로써 비대화를 감소시킬 수 있습니다. 항목 45 : "호환되는 모든 타입"을 받아들이는 데는 멤버..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 7. 템플릿과 일반화 프로그래밍 (1) 항목 41 : 템플릿 프로그래밍의 천릿길도 암시적 인터페이스와 컴파일 타임 다형성부터 명시적 인터페이스와 런타임 다형성의 예 class Widget { public: Widget(); virtual ~Widget(); virtual std::size_t size() const; virtual void normalize(); void swap(Widget& other); }; // w는 명시적 인터페이스 void doProcessing(Widget& w) { if(w.size() > 10 && w != someNastyWidget) { Widget temp(w); // 가상 함수의 호출은 런타임 다..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 6. 상속, 그리고 객체 지향 설계 (3) 항목 38 : "has-a(...는...를 가짐)" 혹은 "is-implemented-in-terms-of(...는...를 써서 구현됨)"를 모형화할 때는 객체 합성을 사용하자 합성(Composition)이란, 어떤 타입의 객체들이 그와 다른 타입의 객체들을 포함하고 있을 경우에 성립하는 그 타입들 사이의 관계를 일컫습니다. 응용 영역 : 객체 중 우리 일상생활에서 볼 수 있는 사물을 본 뜬 것들. 구현 영역 : 응용 영역에 속하지 않는 것들. 시스템 구현만을 위한 인공물. 연결 리스트를 재사용하는 Set 템플릿 예 // list를 잘못 사용한 예(is-a) template class Set ..
- #build2016
- #scottmeyers
- #임백준
- #스콧마이어스
- #팀개발
- 상속
- Scott Meyers
- #클린코드
- #techdays2015
- 객체 지향 설계
- #마이클페더스
- #자녀교육
- Effective Modern C++
- #csharp
- #제럴드와인버그
- #세미나
- #로버트마틴
- Effective C++
- #EffectiveModernCpp
- #ModernCPP
- #알고리즘
- #cplusplus
- #프로그래밍심리학
- #레거시코드
- 책
- #코드최적화
- #cpp
- #ndc
- #mva
- #uwp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |