본문 바로가기 메뉴 바로가기

James Song's Blog

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

James Song's Blog

검색하기 폼
  • 분류 전체보기 (104)
    • Books_tech (52)
    • Books_etc (32)
    • Seminar (19)
    • Articles (1)
    • Scrap (0)
    • 기타 (0)
  • 방명록

Books_tech (52)
스콧 마이어스 <이펙티브 모던 C++> Item 18-19 요약

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..

Books_tech 2016. 5. 14. 08:29
코드 튜닝을 위한 규칙 <생각하는 프로그래밍>

생각하는 프로그래밍 존 벤틀리 저/윤성준,조상민 공역 프로그램의 성능 향상을 위해 코드 튜닝이 필요하지만 상황에 맞게 적용되어야 한다. 만약 성능 향상은 미비한데 코드의 가독성을 떨어뜨려 코드를 이해하기 어렵게 만드는 경우라면 코드 튜닝을 지양해야 한다. 코드 튜닝을 위한 규칙 1. 시간 단축을 위한 공간 규칙 2. 공간 절약을 위한 시간 규칙 3. 루프 규칙 4. 논리 규칙 5. 프로시저 규칙 6. 수식 규칙 1. 시간 단축을 위한 공간 규칙 Data Structure Augmentation 빈번한 연산을 하는 데 필요한 시간은 종종 부가적 정보로 데이터 구조를 늘리거나 또는 데이터 구조 내의 정보를 변경하여 더 쉽게 접근할 수 있도록 함으로써 감소시킬 수 있다. Store Precomputed Res..

Books_tech 2016. 5. 7. 08:44
재미있는 알고리즘 이야기 <누워서 읽는 알고리즘>

누워서 읽는 알고리즘 임백준 저 은 어려운 알고리즘을 깊이 있게 설명하는 책이 아니다. 알고리즘 교과서에서 흔히 볼 수 있는 알고리즘들을 소재로 프로그래밍이 얼마나 재미있고 가치있는 일인지 깨닫게 해 주는 프로그래밍 에세이다. 책 곳곳에서 작가의 프로그래밍에 대한 애정이 느껴진다. 그 애정이 읽고 있는 사람에게도 전달되어 좋은 동기 부여가 된다. 다 읽고 나니 한 권으로 끝나는게 아쉽다. 2권, 3권도 나왔으면 좋겠다. 이 책에서 소개한 알고리즘 LIFO 알고리즘 RSA 알고리즘 검색 알고리즘 깊이 우선 탐색 알고리즘 둠스데이 알고리즘 메르센느 소수 찾기 사운덱스 검색 알고리즘 암호화 알고리즘 유클리드 알고리즘 재귀 알고리즘 정렬 알고리즘 제프 소머즈 알고리즘 퇴각 검색 알고리즘 팰린드롬 알고리즘 피보나..

Books_tech 2016. 4. 16. 17:35
스콧 마이어스 <이펙티브 모던 C++> Item 15-17 요약

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이며, 컴파일 ..

Books_tech 2016. 4. 2. 08:08
스콧 마이어스 <이펙티브 모던 C++> Item 11-14 요약

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의 접근방식은 클래스 바깥에서는 작동하지 않으며, 클래스 안에서도 항상 ..

Books_tech 2016. 3. 28. 22:45
스콧 마이어스 <이펙티브 모던 C++> Item 7-10 요약

Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 7: 객체 생성 시 괄호 ()와 중괄호 {}를 구분하라 기억해 둘 사항들 - 중괄호 초기화는 가장 광범위하게 적용할 수 있는 초기화 구문이며, 좁히기 변환을 방지하며, C++의 가장 성가신 구문 해석에서 자유롭다. - 생성자 중복적재 해소 과정에서 중괄호 초기화는 가능한 한 std::initializer_list 매개변수가 있는 생성자와 부합한다(심지어 겉으로 보기에 그보다 인수들에 더 잘 부합하는 생성자들이 있어도). - 괄호와 중괄호의 선택이 의미 있..

Books_tech 2016. 3. 23. 09:11
프로그래밍에 대한 광범위한 지침 <훌륭한 프로그래머 되는 법> 정리 #1

훌륭한 프로그래머 되는 법 차례 Part 1. you.wirte(code); Part 2. 연습을 통해 완벽해진다 Part 3. 개인적인 일로 받아들이기 Part 4. 일 끝내기 Part 5. 사람의 일 4장. 코드 줄여 개선하기 외과적 적출 미래에 필요할지도 모르는 기능이라도 코드를 제거하는 것이 안전하다. 버전 관리 시스템에서 되돌릴 수 있다. 코드 정리와 기능 변화는 별도의 커밋으로 이루어져야 한다. 마치며 가장 훌륭한 코드베이스에도 불필요한 코드는 만들어진다. 프로젝트가 클수록 더 많은 불필요한 코드가 존재한다. 이것은 실패의 징조가 아니다. 죽은 코드를 발견했음에도 아무런 조치도 취하지 않는 것이야말로 실패의 징조이다. 사용되거나 실행되지 않는 불필요한 코드를 찾아냈다면 즉시 제거해버리자. 10..

Books_tech 2016. 3. 19. 08:05
스콧 마이어스 <이펙티브 모던 C++> Item 3-6 요약

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..

Books_tech 2016. 3. 17. 18:17
로버트 마틴과 장인 정신 <클린 코드> 요약 #3

Clean Code 클린 코드 로버트 C. 마틴 저/박재호,이해영 공역 차례 1장. 깨끗한 코드 2장. 의미 있는 이름 3장. 함수 4장. 주석 5장. 형식 맞추기 6장. 객체와 자료 구조 7장. 오류 처리 8장. 경계 9장. 단위 테스트 10장. 클래스 11장. 시스템 12장. 창발성 13장. 동시성 14장. 점진적인 개선 15장. JUnit 들여다보기 16장. SerialDate 리팩터링 17장. 냄새와 휴리스틱 8장. 경계 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자. Map에서 봤듯이, 새로운 클래스로 경계를 감싸거나 아니면 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자. 어느 방법이든 코드 가독성이 높아지며, 경계 인터페이스를 사용하..

Books_tech 2016. 3. 4. 08:25
로버트 마틴과 장인 정신 <클린 코드> 요약 #2

Clean Code 클린 코드 로버트 C. 마틴 저/박재호,이해영 공역 차례 1장. 깨끗한 코드 2장. 의미 있는 이름 3장. 함수 4장. 주석 5장. 형식 맞추기 6장. 객체와 자료 구조 7장. 오류 처리 8장. 경계 9장. 단위 테스트 10장. 클래스 11장. 시스템 12장. 창발성 13장. 동시성 14장. 점진적인 개선 15장. JUnit 들여다보기 16장. SerialDate 리팩터링 17장. 냄새와 휴리스틱 6장. 객체와 자료 구조 자료 추상화 인터페이스나 조회/설정 함수만으로는 추상화가 이뤄지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다. 자료/객체 비대칭 객체와 자료 구조는 근본적으..

Books_tech 2016. 2. 28. 08:22
이전 1 2 3 4 5 6 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
  • #마이클페더스
  • #클린코드
  • #스콧마이어스
  • #techdays2015
  • #cpp
  • #cplusplus
  • #scottmeyers
  • #ndc
  • Scott Meyers
  • Effective Modern C++
  • #팀개발
  • Effective C++
  • #EffectiveModernCpp
  • #uwp
  • #로버트마틴
  • #mva
  • #build2016
  • #csharp
  • 객체 지향 설계
  • 책
  • #레거시코드
  • #세미나
  • #알고리즘
  • #임백준
  • 상속
  • #자녀교육
  • #코드최적화
  • #ModernCPP
  • #제럴드와인버그
  • #프로그래밍심리학
more
«   2025/05   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바