
제목 : UML Distilled 3rd
저자 : Martin Fowler
출판 : Addison-Wesley
정말 훌륭하다. UML을 배우기 위해서 읽어왔던 그 모든 두껍고 무거운 책들을 버려라. 정말 얇고 가볍고 내용은 명확하다.
부모님의 죽음은 자식들에게 많은 것을 남긴다. 보고싶어도 볼 수 없다는 것이 무엇인지 알게되고, 그리움이라는 것이 진짜로 무엇인지 알게된다. 진짜 후회라는 것이 무엇인지 알게되고, 자신이 부모님에게 얼마나 잘한 것이 없는지 알게된다. 하지만 이러한 감정이 지속적이지는 않다. 어느날 문뜩 다시금 이러한 감정이 일어나 힘들어지고 눈물이 나기도 하고 그리워지지만 말이다.
반대로 부모님들에게 자식은 죽음은 진짜 모든 것을 빼앗서 가는 것이다. 단 하나 남는 것은 하루하루가 모두 고통뿐이라는 것이다. 아마 생지옥이라는 말이 맞는 말일 것이다.
참 안타까운 일이지만 자식의 부모님을 향한 사랑보다 부모님의 자식에 대한 사랑이 얼마나 큰지를 알 수 있는 하나의 예이다.
NVidia에서 DX11을 지원하는 그래픽카드를 우여곡절 끝에 출시하였다.

보드나라 GTX470/480 리뷰
http://www.bodnara.co.kr/bbs/article.html?imode=view&D=7&cate=3&d_category=2&num=75705
플웨이즈 GTX480 리뷰
http://www.playwares.com/xe/12397881#1
개인적으로 요약을 해보자면 DX11에서 성능이 뛰어나다. 텍셀레이션 기능을 사용했을 때 확실한 성능적 향상을 보여준다. AA성능도 좋아졌다. 그러나 전력을 엄청많이 소비하고 뜨겁고 시끄럽다.
결국 문제는 출시가격인데 ATI보다 항상 높은 가격대를 형성했던 지금까지의 전례를 보건데 결국 시장에서 외면을 받지 않을까? 하고 조심스럽게 예상을 해본다.
일반적으로 프로 스포츠 선수들이 은퇴를 선언했다가 다시 복귀하는 경우가 있기는 있다. 하지만 철저한 시장 논리에 의해서 수요가 없다면 자신의 능력과 상관없이 복귀는 불가능하다.
하지만 이건희 삼성 전 회장의 그룹 복귀를 지켜보니, 어떻게 본인 스스로 삼성이 위기라고 단정하고 이렇게 쉽게 회사 경영에 다시금 참여를 할 수 있는지 좀 의아하다.
진짜 우리나라를 대표하는 세계적인 기업인 삼성이 지분 비율도 그다지 높지 않은 이건희 회장의 사유 기업이었던 것인가?
그렇지 않고서야 자기 맘대로 회장직으로 이토록 쉽게 복귀가 가능이나 한 것일까? 의문을 가지지 않을 수 없다.

CES2010에서 소개되었던 소니 브라비아의 새로운 LCD TV다.
이번에 국내 출시를 한다.
BLU가 기존 RGB LED에서 삼성이 사용하는 Edge형 White LED를 사용한 형식으로 바뀌었다. 그래서 두께도 줄어들고 전력 소비도 줄어들고 무엇보다 가격이 착해졌다.
40인치형의 가격이 229만원이고 46인치형이 329만원이다.

별매로 판매하는 메탈릭베이스 스탠드도 간지가 작렬하신다. 가격은 40인치용이 24만8천원이고 46인치용이 28만8천원이다.

텍스트큐브의 추천 관심블로그에
우리 회사의 막내 프로그래머의 블로그가 떠 있네요.
역시 같은 일을 해서 공유하는 태그가 많아서 그런가?
우연치고는 재미있군요.
바가지 정액제 데이터 요금제~~~
알파라이징같은 국적없는 단어나 만들어서 그럴듯한 광고나 하지말고 진짜 좋은 서비스와 현실적인 요금제나 실시해라.

3월 31일 형님이 오십니다. 아마 올해 PS3 타이틀 중에 가장 대작이 아닐까 생각을 해봅니다.
이미 북미에서 발매가 되었고, 발매 직전 매거진들에서의 평점이 가히 최강이었죠.
역시나 발매전에 특별판과 GOW3 PS3를 판매하는군요. 역시 팔리는 상품은 이런 식의 판매전략이 기본인가 봅니다.
더욱 더 화려해지고 잔혹해진 액션을 조만간 한글 자막으로 만나볼 수 있겠네요. PS3 유저들은 총알을 충전해두셔야할 듯......
G20(주요 20개국) 회의 등 주요 국제행사를 앞둔 서울시가 시민들의 껌 뱉기를 근절하고자 관련 법령을 개정해 과태료를 물리기로 하는 등 총력 단속 태세에 들어갔다.
연합뉴스에서 발췌한 기사이다.
본래 거리에 껌을 뱉는 것 자체는 정말 안좋은 행동이다. 미간상 좋지않은 것은 물론이요. 청소하기도 여간 쉽지 않기때문이다.
아름다운 거리를 만들기 위해서 껌 뱉는 것과 길거리에서 담배 꽁초를 버리는 행동에 대해서는 미리미리 근절시키기 위한 방법을 마련해야 했었던 것 아닐까?
꼭 무슨 일이 있을때 상대방에게 잘보이기 위해서 하는 행동은 너무나 가식적이다. 전시행정의 극치를 보여주는 것이 아닌가? 라는 생각을 안할 수가 없다.
mathematics for 3d game and computer graphics 책의 3장 연습문제 5번 답으로 작성한 quaternion class.
#ifndef __QUATERNION_H__
#define __QUATERNION_H__
namespace toki
{
class cQuaternion
{
public:
cQuaternion() {}
~cQuaternion() {}
//
cQuaternion(float aW, float aX, float aY, float aZ)
{
w_ = aW;
x_ = aX;
y_ = aY;
z_ = aZ;
}
cQuaternion(const cQuaternion& aQuat)
{
*this = aQuat;
}
cQuaternion& operator = (const cQuaternion& aQuat)
{
if(this != &aQuat)
{
w_ = aQuat.w_;
x_ = aQuat.x_;
y_ = aQuat.y_;
z_ = aQuat.z_;
}
return *this;
}
cQuaternion& operator += (float aW)
{
w_ += aW;
return *this;
}
cQuaternion& operator -= (float aW)
{
w_ -= aW;
return *this;
}
cQuaternion& operator *= (float aW)
{
w_ *= aW;
x_ *= aW;
y_ *= aW;
z_ *= aW;
return *this;
}
cQuaternion& operator /= (float aW)
{
w_ /= aW;
x_ /= aW;
y_ /= aW;
z_ /= aW;
return *this;
}
cQuaternion& operator *= (const cQuaternion& aQuat)
{
w_ = w_*aQuat.w_ - x_*aQuat.x_ - y_*aQuat.y_ - z_*aQuat.z_;
x_ = w_*aQuat.x_ + x_*aQuat.w_ + y_*aQuat.z_ - z_*aQuat.y_;
y_ = w_*aQuat.y_ - x_*aQuat.z_ + y_*aQuat.w_ + z_*aQuat.x_;
z_ = w_*aQuat.z_ + x_*aQuat.y_ - z_*aQuat.x_ + z_*aQuat.w_;
return *this;
}
// axis must pre-normalize.
void setToFromAxisAngle(float aX, float aY, float aZ, float aAngle)
{
float s,c;
s = sin(aAngle/2.0f);
c = cos(aAngle/2.0f);
w_ = c;
x_ = aX * s;
y_ = aY * s;
z_ = aZ * s;
}
float magnitude(void)
{
return sqrt(square());
}
const cQuaternion copyInvertQuaternion(void) const
{
float s = square();
return cQuaternion(w_ / s, x_ / -s, y_ / -s, z_ / -s);
}
private:
float square(void) const
{
return w_*w_+x_*x_+y_*y_+z_*z_;
}
float w_,x_,y_,z_;
};
inline const cQuaternion operator * (const cQuaternion& aLhs, const cQuaternion& aRhs)
{
return(cQuaternion(aLhs) *= aRhs);
}
inline const cQuaternion operator + (const cQuaternion& aQuat, float aScalar)
{
return(cQuaternion(aQuat) += aScalar);
}
inline const cQuaternion operator + (float aScalar, const cQuaternion& aQuat)
{
return(cQuaternion(aQuat) += aScalar);
}
inline const cQuaternion operator - (const cQuaternion& aQuat, float aScalar)
{
return(cQuaternion(aQuat) -= aScalar);
}
inline const cQuaternion operator - (float aScalar, const cQuaternion& aQuat)
{
return(cQuaternion(aQuat) -= aScalar);
}
inline const cQuaternion operator * (const cQuaternion& aQuat, float aScalar)
{
return(cQuaternion(aQuat) *= aScalar);
}
inline const cQuaternion operator * (float aScalar, const cQuaternion& aQuat)
{
return(cQuaternion(aQuat) *= aScalar);
}
inline const cQuaternion operator / (const cQuaternion& aQuat, float aScalar)
{
return(cQuaternion(aQuat) /= aScalar);
}
inline const cQuaternion makeQuaternionFromAxisAngle(float aX, float aY, float aZ, float aAngle)
{
cQuaternion ret;
ret.setToFromAxisAngle(aX,aY,aZ,aAngle);
return ret;
}
inline const cQuaternion invertQuaternion(const cQuaternion& aQuat)
{
return cQuaternion(aQuat.copyInvertQuaternion());
}
}
#endif//__QUATERNION_H__

제목 : Exceptional C++
저자 : Herb Sutter
역자 : 김동현
출판 : 인포북

제목 : The Annotated C++ Reference Manual
저자 : Margaret A. Ellis, Bjarne Stroustrup
출판 : Addison-Wesley Professional
c/c++ compiler는 여러 가지 호출 규약이 존재하는데 이러한 서로 다른 호출 규약들을 이해하는 것이 디버깅이나 어셈블리 언어로 만들어진 루틴들을 링크하는데 도움을 줄 수 있다.
이 글에서는 간단한 예제를 각각의 규약들에 따라서 어떻게 달라지는지를 도식화하여 보여줄 것이다.

C/C++ 언어가 기본적인 규약으로 정한 __cdecl이 가변인자를 지원하기 때문에 stack을 지우는 책임이 caller냐 callee냐 이렇게 두가지 경우로 나뉘게 되었다.
__stdcall은 고정된 인자의 크기에서 사용되는데, 인자의 크기가 고정되어 사용되므로 함수 자신은 스택의 크기를 언제나 알 수 있으므로 스택 해제를 RET와 ADD의 두 과정을 거치는 것이 아니라 RET argsize 단 한번의 명령으로 처리가 가능하므로 속도면에서 이득이 있다.
가변인자의 경우는 callee가 스택의 크기를 알 수 없으므로 __stdcall로는 스택을 지울 수 없다.
caller가 함수 호출후에 스택을 지우는 역활을 대신하고 callee는 스택에 대해서 신경쓰지말라는 규약이 바로 __cdecl인 것이다.
함수 이름은 실제적으로 Mangling 규칙에 따라서 심볼화되어 함수 테이블에 저장된다. C언어의 경우에 호출 규약에 따라서 단순한 Mangling 규칙을 가지지만 C++언어는 함수의 다형성을 제공하기 때문에 C언어처럼 단순한 Mangling 규칙을 따르진 않는다.
C++언어의 Mangling 규칙은 컴파일러 제작사들에 따라서 약간씩 다르다. C++에서 특정 함수를 어떤 방식으로 mangling 할지를 결정할 수 있는데 그러한 선언문이 바로 extern string-literal 이다.
여기서 string-literal에는 "C", "C++"가 존재한다(MSVC경우). 만약 C언어로 작성된 오브젝트 파일에 함수를 C++ 언어로 작성한 프로그램에서 사용할 때 그 함수의 헤더파일을 포함해서 컴파일한다면 둘의 mangling이 달라서 같은 함수 이름을 다른 심볼로 가지므로 인해서 link error가 발생할 것이다.
이럴 경우를 대비하기 위해서 위와 같은 선언문이 존재한다. 실제로 표준 C라이브러리 함수들의 헤더파일을 보면 다 extern "C" 선언문이 붙어있는 것을 볼 수 있다.

제목 : 생각하는 프로그래밍
저자 : John Bentley
역자 : 윤성준, 조상민
출판 : 인사이트
세상에 말잘하는 사람은 많고 멋진 글을 쓰는 사람도 많다.
세상에는 사람들을 감동시키는 많은 명언들이 있다.
하지만 자신의 한 말을 실천하는 사람들은 극히 드물다.
이상하게도 사람은 자기자신에게는 매우 관대하기 때문이다.
나는 무소유를 읽고 많은 감동을 받았다.
책을 읽는지도 몇년이 지나서 이제 책의 내용도 잘 기억이 나지 않지만,
확실히 기억하는 것은 나는 아무런 실천도 하지 않았고
지금도 욕심으로 인해서 많은 고통을 받는다는 것이다.
나의 존재를 스스로 찾지 못하고 결국 무언가를 사는 것으로 존재를 인지하고
무엇가로 인해 타인에게 좋은 얘기를 듣는 것으로만 나 자신이 존재한다고 느끼고 있다.
딱히 무소유를 하겠다는 것이 아니라
나도 법정 스님처럼 자신의 한 말을 실천하는 사람이 되고싶다.
근 15년 가까이 직장 생활을 해오고 있지만, 아직도 대인관계에서 원할하지 못한 것 같다. 요즘은 왠지 사람들한테 부담감을 주는지? 나를 멀리하는 것 같기도 하고.
생각해보니, 예나 지금이나 누가 내 자리로 찾아와서 말을 거는 사람이 없는 것 같다. 훔...... 쿨하게 왕따를 당하고 있던 것인가?

개인적으로 지하철에서 책을 보다가 본의아니게 크게 웃음 소리를 낸 적은 아마 '세상에서 가장 완벽한 남편' 이 책이 유일할 듯 하다.
처음에 책을 보다보면 소개와는 다르게 왠지 밋밋하고 지루한 듯 해서 실망감이 크다가 어차피 산 책이니 끝까지 읽긴해야지 하면서 읽다보니 어느 순간 부터 빵빵터지기 시작하는데 정말이지 이렇게 유쾌할 수가 없다.
유머라는 것이 일반적으로 문화적인 차이가 있기 마련이고 그래서 슬랩스틱 코미디가 아니면 재미있기 힘들다고 생각하는데, 의외로 이 책은 상당히 재미가 있다.
진짜 실컷 웃고 싶다면 강추하는 바이다.
4차원 벡터 (x,y,z,w)에서 w가 1이 아닌 값을 1이 되도록 나누어 주는 이런 표현이 모두 동차 좌표계라고 알고 있는 사람들이 많은데 그것은 잘못된 지식이다.
동차 표현에 대해서
펼쳐두기..
동차 좌표계에 대해서
펼쳐두기..
한 7-8개월만에 피규어를 구입한 것 같다.
솔직히 수집에 대한 취미를 가져볼까 하고 작년에는 좀 자주 구입을 했었는데, 이 피규어 수집이라는 것이 진짜 딱 5분 만족이라는 결론이 나서 그냥 사지 말아야겠다라고 생각을 했는데......
2월에 13번째 월급인 소득공제가 상당한 액수로 환급되서 그냥 간만에 하나를 또 구입해봤다.
역시 5분 만족이겠지.
구입한 피규어는 메가하우스에서 만든 엑설런트 모델 시리즈 중에서 일본내수용으로 발매된 마크로스 F 셰릴 놈 A버전이다.

초창기에는 조형사들이 본인이 맘에 들어하는 캐릭터들을 직접 형틀을 만들어서 레진으로 조형을 뜨고 채색을 하였고, 판매도 완제품보다는 레진킷을 판매하였다.
물론 구매자들도 레진킷을 조립하고 채색을 하여야 했는데, 최근들어서는 PVC로 대량 생산이 가능해졌다. 물론 중국의 엄청나게 저렴한 인력이 동원되어서 가능한 것이기도 하지만 말이다.
그러다 보니 최근에는 예전보다 훨씬 저가로 피규어를 구입할 수 있게되었는데, 가끔 유명한 피규어 제조사들 매드하우스, 오키드시드, 고토부키야같은 업체들에서 한국 게임관련 피규어 상품이 나오는 것을 보면 우리 온라인 게임이 일본에서도 꽤 알려져 있다고 생각을 해본다.
개인적으로 마비노기의 나오 캐릭터를 가지고 있는데, 마비노기 게임을 하지는 않지만 일본에서 나오 캐릭터가 상당한 인기가 있는지 여러가지 버전과 넨도로이드로도 발매가 되었다. 아래가 소장하고 있는 오키드시드판 나오 피규어이다.

요즘 개인적으로 관심을 가지는 국내 게임 피규어는 리니지II 엘프다. 아직 발매전인데, 본래 피규어라는 것이 대량 생산이 되기 전에 이미 제작자가 레진킷을 제작해서 전시를 하기 때문에 제품을 미리 볼 수가 있다.

이번 3월에 오키드시드에서 발매가될 예정인 리니지II 엘프다. 조형이 상당히 예쁘게 잘 나온것 같다.
개인적으로 내가 만들고 있는 게임도 언젠가 일본에서 피블리싱도 하고 캐릭터들이 인기를 끌어서 이렇게 조형화되길 기대해본다.

메달리스트든 아니든 국가를 대표하는 국가대표이다. 성적이 어떻게 되었건 많은 노력을 했고 최선을 다했으면 되는 것이라고 떠벌리더니......
모든 제품들은 라이프타임을 가진다.
온라인 게임이라고 해서 예외는 아닌데,
리니지가 12년째 장수를 하고 있는 것은 정말 경이적인 일이라고 생각한다.
하지만 누적매출 1조는 정말 큰 액수이긴 하지만
와우가 매년 1조원이 넘는 매출을 올리고 있기 때문에,
그렇게 크게 와닿지가 않는다.
솔직히
MMORPG = WoW다. 전세계 점유율이 75%를 육박하기 때문이다.
우리나라가 온라인 게임 제작 강국이긴 하지만 아직 갈길이 멀다.
그렇지만 부정적인 면이 많다고 해도 12년간 유저의 사랑을 받고 있는
리니지에 대해서 인정을 하지않을 수는 없을 것 같다.
