Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 똑똑한 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 18: 소유권 독점 자원의 관리에는 std::unique_ptr를 사용하라 기억해 둘 사항들 - std::unique_ptr는 독점 소유권 의미론을 가진 자원의 관리를 위한, 작고 빠른 이동 전용 똑똑한 포인터이다. - 기본적으로 자원 파괴는 delete를 통해 일어나나, 커스텀 삭제자를 지정할 수 도 있다. 상태 있는 삭제자나 함수 포인터를 사용하면 std::unique_ptr 객체의 크기가 커진다. - std::unique_ptr를 std::share..
생각하는 프로그래밍 존 벤틀리 저/윤성준,조상민 공역 프로그램의 성능 향상을 위해 코드 튜닝이 필요하지만 상황에 맞게 적용되어야 한다. 만약 성능 향상은 미비한데 코드의 가독성을 떨어뜨려 코드를 이해하기 어렵게 만드는 경우라면 코드 튜닝을 지양해야 한다. 코드 튜닝을 위한 규칙 1. 시간 단축을 위한 공간 규칙 2. 공간 절약을 위한 시간 규칙 3. 루프 규칙 4. 논리 규칙 5. 프로시저 규칙 6. 수식 규칙 1. 시간 단축을 위한 공간 규칙 Data Structure Augmentation 빈번한 연산을 하는 데 필요한 시간은 종종 부가적 정보로 데이터 구조를 늘리거나 또는 데이터 구조 내의 정보를 변경하여 더 쉽게 접근할 수 있도록 함으로써 감소시킬 수 있다. Store Precomputed Res..
누워서 읽는 알고리즘 임백준 저 은 어려운 알고리즘을 깊이 있게 설명하는 책이 아니다. 알고리즘 교과서에서 흔히 볼 수 있는 알고리즘들을 소재로 프로그래밍이 얼마나 재미있고 가치있는 일인지 깨닫게 해 주는 프로그래밍 에세이다. 책 곳곳에서 작가의 프로그래밍에 대한 애정이 느껴진다. 그 애정이 읽고 있는 사람에게도 전달되어 좋은 동기 부여가 된다. 다 읽고 나니 한 권으로 끝나는게 아쉽다. 2권, 3권도 나왔으면 좋겠다. 이 책에서 소개한 알고리즘 LIFO 알고리즘 RSA 알고리즘 검색 알고리즘 깊이 우선 탐색 알고리즘 둠스데이 알고리즘 메르센느 소수 찾기 사운덱스 검색 알고리즘 암호화 알고리즘 유클리드 알고리즘 재귀 알고리즘 정렬 알고리즘 제프 소머즈 알고리즘 퇴각 검색 알고리즘 팰린드롬 알고리즘 피보나..
오리지널스 애덤 그랜트 저/홍지수 역 오리지널(Original) 명사. 유일한, 독특한 특성을 지닌 것. 흥미롭거나 독특한 의미에서 다른 사람들과 차별화되는 사람, 참신한 독창성이나 창의력을 지닌 사람을 말한다. 효과적인 행동 지침 개인을 위한 행동 제안 A. 독창적인 아이디어를 창출하고 식별하기 1. 기존의 체제에 의문을 던져라. 2. 자신이 창출하는 아이디어의 수를 세 배로 늘려라. 3. 새로운 영역에 몰입하라. 4. 할 일을 전략적으로 미루라. 5. 동료들로부터 더 많이 피드백을 구하라. B. 독창적인 아이디어를 당당하게 제시하기 6. 위험 포트폴리오의 균형을 유지하라. 7. 당신의 아이디어를 지지하지 말아야 하는 이유에 집중하게 하라. 8. 아이디어에 대한 친숙함을 높여라. 9. 당신의 가치를 공..
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 15: 가능하면 항상 constexpr을 사용하라 C++11 제약 사항 - constexpr 함수는 실행 가능 문장이 많아야 하나이어야 하고, 보통의 경우 그 문장은 return 문일 수밖에 없다. - constexpr 멤버 함수는 암묵적으로 const로 선언된다. - void를 반환하는 constexpr 함수는 리터럴 형식이 아니다.C++14에서는 위의 C++11의 제약 사항이 사라짐기억해 둘 사항들 - constexpr 객체는 const이며, 컴파일 ..
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 11: 정의되지 않은 비공개 함수보다 삭제된 함수를 선호하라 정의되지 않은 비공개 함수(C++98)보다 삭제된 함수(C++11) 사용 시 장점1. 멤버 함수 여부에 상관없이 어떤 함수도 삭제 가능2. 원치 않는 템플릿 인스턴스화를 방지 함수를 private으로 선언하되 정의를 생략하는 C++98의 관행은 C++11의 삭제된 함수가 제공하는 기능을 억지로 흉내 내는 것이었다. C++98의 접근방식은 클래스 바깥에서는 작동하지 않으며, 클래스 안에서도 항상 ..
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 7: 객체 생성 시 괄호 ()와 중괄호 {}를 구분하라 기억해 둘 사항들 - 중괄호 초기화는 가장 광범위하게 적용할 수 있는 초기화 구문이며, 좁히기 변환을 방지하며, C++의 가장 성가신 구문 해석에서 자유롭다. - 생성자 중복적재 해소 과정에서 중괄호 초기화는 가능한 한 std::initializer_list 매개변수가 있는 생성자와 부합한다(심지어 겉으로 보기에 그보다 인수들에 더 잘 부합하는 생성자들이 있어도). - 괄호와 중괄호의 선택이 의미 있..
훌륭한 프로그래머 되는 법 차례 Part 1. you.wirte(code); Part 2. 연습을 통해 완벽해진다 Part 3. 개인적인 일로 받아들이기 Part 4. 일 끝내기 Part 5. 사람의 일 4장. 코드 줄여 개선하기 외과적 적출 미래에 필요할지도 모르는 기능이라도 코드를 제거하는 것이 안전하다. 버전 관리 시스템에서 되돌릴 수 있다. 코드 정리와 기능 변화는 별도의 커밋으로 이루어져야 한다. 마치며 가장 훌륭한 코드베이스에도 불필요한 코드는 만들어진다. 프로젝트가 클수록 더 많은 불필요한 코드가 존재한다. 이것은 실패의 징조가 아니다. 죽은 코드를 발견했음에도 아무런 조치도 취하지 않는 것이야말로 실패의 징조이다. 사용되거나 실행되지 않는 불필요한 코드를 찾아냈다면 즉시 제거해버리자. 10..
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 3: decltype의 작동 방식을 숙지하라 기억해 둘 사항들 - decltype은 항상 변수나 표현식의 형식을 아무 수정 없이 보고한다. - decltype은 형식이 T이고 이름이 아닌 왼값 표현식에 대해서는 항상 T& 형식을 보고한다. - C++14는 decltype(auto)를 지원한다. decltype(auto)는 auto처럼 초기치로부터 형식을 연역하지만, 그 형식 연역 과정에서 decltype의 규칙들을 적용한다. [C++ korea] effe..
KOSTA 강의 내용의 일부분을 정리한 글입니다. 1. 프로그램 최적화 이해 최적화(Optimization) 정의 - 컴퓨터 과학에서 프로그램 최적화 또는 소프트웨어 최적화란 작업 효율을 높이거나 보다 적은 자원을 사용하도록 소프트웨어 시스템을 변경하는 작업 절차를 의미함. - 최적화를 잘 수행하더라도 모두 상황에서 최적(optimal)인 시스템은 있을 수 없음. - 수행 시간, 메모리, 저장소, CPU 등 어떤 자원에 우선순위를 두는가에 따라 최적화 방향을 달라질 수 있음. - 따라서, 시스템의 환경과 목표를 이해하고, 다양한 트레이드-오프를 고려하여 최적화 작업을 수행해야 함. - 효율적인 자원 구성과 사용으로 수행 성능(performance)이나 범위성(scalability) 등과 같은 품질 목표를..
- #프로그래밍심리학
- #cpp
- #scottmeyers
- #build2016
- 객체 지향 설계
- #EffectiveModernCpp
- Effective Modern C++
- #세미나
- #techdays2015
- #mva
- #자녀교육
- #알고리즘
- #레거시코드
- 책
- #클린코드
- #ndc
- #제럴드와인버그
- #uwp
- #팀개발
- #로버트마틴
- Effective C++
- #임백준
- #마이클페더스
- #csharp
- #cplusplus
- #코드최적화
- #스콧마이어스
- Scott Meyers
- #ModernCPP
- 상속
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |