- 책_곽용재님 홈페이지
- 책_노란북 - 책 가격비교
- 책_김재우-SICP번역
- 플밍_쏘쓰포지
- 플밍_CodingHorror ?
- 플밍_상킴
- 플밍_김민장님
- GPGStudy
- 플밍_미친감자님
- 플밍_jz
- 플밍_샤방샤방님
- 플밍_글쓰는프로그래머2
- 플밍_키보드후킹
- 사람_재혁
- 사람_kernel0
- 사람_박PD
- 사람_경석형
- 사람_nemo
- 사람_kikiwaka
- 사람_Junios
- 사람_harry
- 사람_어떤 개발자의 금서목록..
- 사람_모기소리
- 사람_낙타한마리
- 사람_redkuma
- 사람_영원의끝
- 사람_민식형
- 도스박스 다음카페
- 플레이웨어즈 - 게임하드웨어벤치마크
- http://puwazaza.com/
- David harvey의 Reading Marx's c…
- 씨네21
- 한겨레_임경선의 이기적인 상담실
- 본격2차대전만화 - 굽시니스트
- 영화_정성일 글모음 페이지
- 영화_영화속이데올로기파악하기
- 음식_생선회
- 죽력고
- 사람_한밀
- 플밍_수까락
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영화
- 고등학교 사회공부
- c++
- 건강
- 노무현
- 단상
- 정신분석
- 고전강의
- 태그가 아깝다
- programming challenges
- 프로그래밍
- 소비자고발
- 정성일
- 일리아스
- 게임
- BSP
- 삼국지
- 강유원
- 삼국지6
- 유머
- 책
- 진삼국무쌍5
- 진중권
- Programming
- 김두식
- 인문학
- stl
- modernc++
- 유시민
- template
- Today
- Total
목록Programming (40)
lancelot.com
template instantiation 결과로 생성된 코드를 확인하고 싶을때 compiler explorer site 에서 어셈블리의 생성을 확인 ( http://godbolt.org) https://cppinsights.io/ 에서 코드 생성을 확인 ( template 뿐만아니라 range for 등의 코드 생성도 볼 수 있음) 인스턴스화 된 함수 이름 출력 ( 비표준 MS 용 매크로 __FUNCSIG__, g++ 에서는 __PRETTYO_FUNCTION__ ) C++20 의 -> 하지만 MSVC에서는 __FUNCTION__ 처럼 동작해서 의미가 없음 trailing return type - template 에서 return type을 타입추론을 통해서 생성해야할 경우가 있는데, 함수 선언에서 dec..
절차적 방식의 프로그래밍에서 벗어나, 진정한 OOP를 사용하는 객체지향 프로그래밍을 해야한하고, 그렇게하려면 어떻게 해야하는지를 구체적인 예시를 통해 이야기하는 책이다. 절차적 방식의 프로그래밍에 익숙해진 사람들은, 객체지향 방식으로 사고하고 프로그래밍을 하는게 힘든데, 이 책에서는 다양한 경우에 볼 수 있는 설득력있는 예제를 가지고 설명해준다. 각 주제마다 붙은 토론하기 링크를 따라가서 읽어보면 더 다양한 예시와 다른 사람들의 의견을 들을 수 있어서 좋다. 처음 접해보는 사람들에게도 좋겠지만, 한 번 정도 객체지향설계나 애자일 개발에 관해 접해본 사람이 사람들이라면 이해가 훨씬 더 쉬울 수 있을 것 같다. 객체의 일생을 인생에 비유해서 설명하는게 특징인데 각 챕터 제목은, 출생(Birth) 학습(Edu..
1. Shadow map의 단점과 Perspective Shadow map 아래 링크의 그림을 보면 한번에 이해가 된다. https://www-sop.inria.fr/reves/Marc.Stamminger/psm/ index.html An example for a point (spot) light source is shown in the following images. The upper row shows the light source view for a uniform shadow map (left), its depth buffer (center) and the resulting view (right) with strong aliasing artifacts. The lower row s www-sop.in..
1. 디자인원칙 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다. 스타버즈 커피숍에 여러종류의 커피들과 거기 올리는 데코레이션을 가지고 설명하고 있습니다. 예제가 적절하니 이해가 쏙쏙 잘되네요. 데코레이터 패턴은 역시 생성을 관리해주는 무엇이 있어야 겠군요. 혼자서는 쓰임이 자칫하면 스파게티 코드가 될 우려가 있어보입니다. 2. Decorator Pattern 객체에 추가적인 요건을 동적으로 첨가한다. 서브클래스를 통해 기능을 유용하게 확장하는 방법을 제공. 덧. 이거 예제 C++로 만들어보다가 const 때문에 삽질을 했네요. 같은 함수인가의 구분은 함수선언가지고 하는데요, 함수선언에는 함수명(인자...) const 뒤에 const 까지 들어갑니다. const가 있는..
1. 디자인원칙 서로 상호작용하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야한다. 예시에서는 기상관측기(Subject) - 여러가지 관측Display 장치(Observer) 가 등장했는데요, 저는 이게 잘 이해가 안됬어요. 기상관측기(Subject)에서 자동으로 Mesurement()를 호출해주는데, 굳이 Observer 가 Subject를 가지고 있을 필요가 있을까 해서지요. 그런데 Design pattern 자체가 잘못되었을 리는 없기때문에, 다른 책(GOF디자인패턴, 이렇게 활용한다)을 보니 다른 예제가 등장했습니다. 엑셀에서 테이블이 있고, 그 테이블을 여러가지 그래프로 나타내주는 그런 관계를 예시로 들어놨더군요. 그제서야 확실히 이해가 갔습니다. 표의 자료가 갱신되면, 그래프의..
1. 디자인원칙 바뀌는 부분은 캡슐화한다. 상속보다는 구성을 활용한다. 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다. strategy pattern 을 설명하면서 Duck class를 예로 들었네요. Duck 클래스에 fly(), quack() 등의 함수들이 있고, 이걸 상속받아서 RedheadDuck, RubberDuck 등을 만들었는데요. 그렇게하면, 자식 class에서 fly(), quack()등이 바뀌거나 재정의 될때 비효율적이됩니다. 그래서, fly(), quack() 등의 행동을 나타내는 함수를 behavior class로 빼낸 후 그것을 superclass인 Duck class가 가지고 있는 방식이 훨씬 나은 방식이라는 설명입니다. 이해가 잘 되도록 적절한 예시네요. 2. Strategy ..
1. 경고 레벨을 달리해서 컴파일하기. #pragma warning( push, 3 ) #include "myinclude.h" #pragma warning( pop ) 이렇게 하면 전체의 프로젝트 warning level 이 4이더라도, myinclude.h 만 warning level 3으로 컴파일된다고 하네요. ( 저런거 보면 #pragma 를 디게 잘만든거같기도 합니다. 어떻게 저렇게 다양한 용법으로, 쓰기 쉽게 만들었을까 하는 생각도). 2. warning 끄는거. #pragma warning (disable : 4244 ) C4244번 possible loss of data 경고를 끄는 것입니다. 3. console 창 띄우기 #pragma comment ( linker, "/entry:Win..
http://acmicpc-live-archive.uva.es/nuevoportal/data/problem.php?p=3124 언뜻 보기에 쉬워보였는데, 생각해보니 답이 안나오는? ;
http://acmicpc-live-archive.uva.es/nuevoportal/data/problem.php?p=2013 문제가 어렵지는 않은데, 구현이 좀 짜증남. 개인적으로 이런 배열 인덱스 구현이 너무 싫다(머리가 안돌아가~~~ ㅠㅠ) 다른 이쁜 방법으로 하는건 없을까?; input, output http://contest.mff.cuni.cz/archive/spac2000/