2013년 9월 4일 수요일

const 위치에 따른 의미

char greeting[] = "Hello";
char *p = greering; // 비상수 포인터, 비상수 데이터
const char *p = greeting; // 비상수 포인터, 상수 데이터
char * const p = greeting; // 상수 포인터, 비상수 데이터
const char * const p = greeting; // 상수 포인터, 상수 데이터

Effective C++ 항목 3

2013년 8월 7일 수요일

Mac에서 Boost Thread 사용시 Segment Fault 11 발생할 때

C++ Standard Library를 libstdc++ 로 바꿔.

libc++과 libstdc++은 ABI가 호환이 안되는데 Boost Thread가 libstdc++을 쓰는 모양..

출처 링크

2013년 8월 5일 월요일

2013년 8월 1일 목요일

C언어, enum 타입의 크기는?

C언어, enum 타입의 크기는?

 링크된 글 내용을 간단 요약하면,
 컴파일러가 결정하는데 기본적으로 4byte, 정의된 enum의 최대값에 따라 8byte가 될 수도 있다.

2013년 7월 13일 토요일

바람입력기 단축키 설정 저장 안되는 버그 우회 방법

나는 세벌식을 사용하기 때문에 주로 별도의 입력기를 사용한다.

맥에서는 바람입력기를 사용하는데 이것이 업데이트가 잘 안되고 있다.

마지막 베타 버전에서 특히 단축키 설정이 저장이 잘 안되는 문제가 있는데 어찌어찌 하다 보니 저장하는 우회방법을 발견하여 기록해둔다.

단축키 설정 후 저장 버튼을 누르면 저장되는 것처럼 창이 닫히지만 사실은 저장이 안된다.

이 때 바로 저장을 누르지 말고 일반 탭으로 가서 아무 설정 하나를 변경 한 뒤 저장을 누르면 단축키 설정이 저장이 된다.

일반 탭의 기능 변경은 저장이 잘 되니 이후 다시 바꿔주면 되고.

짐작하기로는 저장 기능을 수행할 때 변경된 사항이 있으면 저장을 하는데 변경된 사항을 감지하는 부분에서 단축키 쪽을 제대로 인식하지 못하는 듯하다.

비교적 최근 나온 구름입력기 라는 프로그램도 있지만 바람입력기의 응응 프로그램 별 초기 한/영 상태 설정 기능 때문에 아직 바람입력기를 사용하고 있었는데 최신 버전의 이 버그로 인해 그 기능을 버릴까 하다가 우연히 발견하게 되어 다행이다.

오픈 소스라 개발에 참여해 볼까 하는 생각도 있지만 할 수 있을까 시간이 있을까 하는 마음에 생각만 해보고 있네;;

2013년 7월 12일 금요일

Being evil.


네이버, 다음, 네이트온 등에서 나온 소프트웨어에서 그토록 진저리 쳤던 은근슬쩍 끼워팔기 를 구글 크롬이 하다니;;

물론 나도 크롬을 권장하고 널리 사용했으면 싶지만 이게 뭐하는 짓이냐 구글..

게다가 나이 많은 분들의 PC 관리에 치명적인 악영향을 주는 툴바 설치라니..

2013년 7월 3일 수요일

enable_shared_from_this를 사용하는 이유

class 내부에서 shared_ptr에 this를 넣고 싶을 경우 enable_shared_from_this를 상속해서 사용해야 한다. 자세한 설명과 이유는 여기서.

2013년 1월 28일 월요일

오른쪽 클릭을 막는 웹페이지들


 웹 서핑 하다보면 오른쪽 클릭이나 드래그 등이 안되는 웹페이지를 심심찮게 발견할 수 있다. 네이버 블로그는 그런 기능이 기본인 건지 꽤 많은 것 같기도 하고.

 남의 컨텐츠를 복사해서 자기 블로그 등에 올리는 이른바 불펌을 막기 위해서라고들 한다. 하지만 그렇게 한들 막을 수 없는것을 모르는 것도 아니면서 그러고들 있다. 계획적으로 불펌 하고자 하는 사람이 그것 피하는 방법도 모르고 불펌하겠냐? 검색 한번만 해봐도 다 나오는 것을.



 마우스 클릭은 크게 두가지로 나뉜다. 일반 클릭과 오른쪽 클릭. 가장 많이 쓰이는 링크 누르기 기능을 일반 클릭에, 그 외 모든 컨텍스트에 따른 기능은 오른쪽 클릭에 다 집어넣었다. "복사하기" 가 아니라 "모든". 예를 든면 "사전에서 찾기" 라던지 "구글로 검색" 이런 것들을 오른쪽 클릭을 통해서 할 수 있다. 확장 프로그램 등을 설치하면 얼마든지 추가할 수도 있다. 이것을 블로그나 웹사이트 주인이 대체 어떤 권한으로 못하게 막는다는 것인가? 복사 기능만 따로 막는 것도 아니고 통째로 못하게 하다니. 물론 본인은 복사 기능만 막는다고 해도 찬성하진 않지만.

 정부에서 도촬 방지 대책으로 스마트폰의 카메라 어플 탑재를 금지시킨다면 어떻겠는가? 결국 도촬할 사람은 알아서 설치해서 할 것이고 결국 모든 스마트폰 사용자들은 카메라를 사용하려면 별도로 설치를 해야 하는 불편을 감수해야 할 것이다. 이거랑 다를게 하나도 없다. 아니 , 이건 한번만 하면 되고 간단하니 오히려 더 양호한 편이다.

 완전 벼룩 잡자고 초가삼간 태우고 앉아 있다. 지들이 판단한 특정 사이트 막으면 청소년이 보호되는줄 알고 ActiveX 설치하면 보안이 강화되는줄 아는 나랏일 하시는 놈들 수준의 대응이다.



 오른쪽 클릭이나 드래그 등을 막는 자바스크립트를 사용하는 웹사이트는 인터넷의 사용성을 심각하게 훼손하고 있다고 본다. 내 블로그 내가 알아서 하는데 뭔 상관이냐고? 그럼 구글링에 검색되지 않게 하던지.

 자기 소유의 웹페이지가 제공하는 기능이나 내용을 주인은 자기 마음대로 결정할 권리가 있다. 그러나 그건 웹페이지가 제공하는 기능일 때 얘기고 기본적으로 사용자에게 주어져 있는 컴퓨터의, 웹브라우져의 기능을 사용자의 동의 없이 마음대로 제한할 권리는 없다. 사용자보다 기술적인 우위에 있다고 해서 마음대로 해도 되는 것이 아니다. 경찰이 범인을 잡기 위한 목적이라고 해도 영장 없이 아무 집이나 들어가서 막 뒤져도 되는게 아닌 것처럼.

<추가>

 글 싸지르고 나서 이에 관한 다른 사람들의 글들을 좀 살펴봤다. 우클릭 금지 옹호 주장자들은 다들 하나같이 우클릭을 하는 이유에 대한 옹호만 있을 뿐 우클릭 금지 자체가 가지는 사용자의 권한 무시는 간과하고 있다. 이유는 나도 동감한다. 불펌이 좋다는 사람이 누가 있겠냐. 하지만 불펌을 금지해야지 우클릭을 금지하는 것은 방법이 잘못 됐다는 거다.

 유명한 미술품 전시회에서 손으로 만지면 안되는데 사람들이 자꾸 만져서 입구에서 손가락 없는 장갑으로 꽁꽁 싸매 가려워도 얼굴도 못 긁는 상황이 돼 보면 약간 이해 하려나. "오른쪽 클릭 막는것은 최소한의 대응이고 의사표시다" "뭐 그리 불편하다고 그러냐"고 말하는 사람들에게는 이 경우 "만지지 말라는 박물관 측의 최소한의 의사표시다" "손가락으로 못 긁으면 손등이나 팔 어깨로 문질러서 긁거나 좀 참으면 되지 뭘 그리 대수냐" 라는게 적용 되시겠다.

2013년 1월 7일 월요일

나는 항상 옳다.

나는 항상 옳다.

왜냐하면 나는 '언제든 내가 틀릴 수 있다'고 생각하니까.

내가 틀릴 수 있다는 저 생각이 옳지 않으려면 나는 항상 옳아야 하므로

내가 저 생각을 계속하는 한 어느 쪽이든 나는 옳다.

진실과 진리를 찾으려는 논쟁이 아닌 이기려는 싸움을 만날 때면 바로 저 절대무적의 생각을 권해주고 싶다.

그런 다음에는 진실과 진리를 찾아낸 양측 모두의 승리만 남을뿐이다.

그리하여 나는 항상 옳다옳은 방향으로 가고 있다.

제목은 낚시.