잡동사니 22

Go in Windows - Interface

Go언어에서 윈도 인터페이스를 구현하는 경우 매개 변수의 형식은 uintptr 또는 이와 같은 크기의 변수(int,uint,포인터)만 가능하다. HRESULT Invoke( DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr ); 위의 경우를 Go언어에서 구현하면, 아래와 같은 형태가 된다. func Invoke(idMember int,riid *GUID,lcid uint,flags uint, dispParams *DISPPARAMS,varResult *VARIANT, excepInfo *EXCEPINFO..

Go in Windows - BSTR

Go언어에서 윈도 dll을 사용할 때 BSTR이라는 데이터 형식은 조금 다르게 처리해야 한다. BSTR은 uint16 값들의 배열을 가리키는 포인터로 생각할 수 있다. 한 가지 다른 점은 이 포인터 앞에 int32 값으로 문자열의 길이를 가지고 있다는 것이다. 이 때문에 BSTR을 Go언어의 *uint16으로 처리하는 경우 잘못된 메모리 접근(memory access violation)이 발생할 수 있다. 아래와 같은 코드는 제대로 동작할 수도 있고(길이값을 사용하지 않을 때), 아닐 수도 있다(길이값을 사용할 경우). func WrongBstr(s string) *uint16{ return syscall.StringToUTF16Ptr(s) } 대신에 윈도우의 SysAllocString 함수를 이용해야 ..

안드로이드폰 파일 싱크 프로그램

아이폰을 쓰다가 안드로이드폰으로 바꾸고 나서 불편했던 것 중에 하나가 사진을 컴퓨터로 옮기는 것이었다. 그래서 직접 만들어 봤다. 겸사겸사 Go언어도 공부했다. 그리하여 Go 언어를 공부하고서 처음 만든 프로그램. kfilesync [소스 파일] 컴퓨터에 핸드폰 연결하고 명령 프롬프트에서 kfilesync MTP0:\DCIM D:\Pictures 하면 끝. 혹시 필요한 분들이 있을까 하여 실행파일 공유합니다.

물리, 한의학을 만나다 - 머리말

나는 한의학을 좋아한다. 그중에서도 특히 사상체질에 관심이 많다. 뭔지 모르는 끌림이 있기 때문이다. 사랑하고도 비슷하다. 그런데 사랑하는 사람이 손가락질당한다면? 화가 나거나 슬퍼질 것이다. 사상체질은 상당히 유용한 체계이기는 하지만 완전하지는 않다. 그래서 공격도 많이 받고, 비과학적이라고 비판 받기도 한다. 지난겨울 사상체질에 대한 나의 이 불편한 감정을 해결해 보기 위해서 몇 가지 시도를 해보았다. 우리 몸을 보일러의 구조에 비유해서 체질을 설명해 보려 한 것이다. 나름의 성과가 있었지만 중간중간 설명이 깔끔하지 못한 부분이 있어서 아쉬웠다. 왜 설명이 깔끔하지 못한지 생각해보다가 우리 집이 떠올랐다. 나는 한옥을 리모델링한 집에 살고 있다. 기존 구조를 그대로 둔 채로 우리 가족이 필요한 대로 ..

잡동사니 2019.03.27

네이버 뉴스의 낚시를 피하는 확장기능

말도 많고 탈도 많은 네이버 뉴스.그래도 습관적으로 뉴스를 볼 때 네이버 뉴스를 이용한다. 문제는 뉴스 제목만 있고 어느 언론사 기사인지 없는 링크들이 많다는 것이다.그런 기사를 클릭해보면 사용자를 낚기 위한 기레기 기사들이 꽤 있다. 이런 낚시를 피하기 위해서 간단한 브라우저 확장기능을 만들었다.확장기능을 설치하면 아래처럼 바뀐다. 마우스를 가져가면 링크의 설명 부분에 어느 언론사인지가 표시되고주의가 필요한 언론사는 빨간 상자로 한 번 더 표시된다. Naver News Ex (https://chrome.google.com/webstore/detail/naver-news-ex/anfbkggepilagpcoicojhcgbogbppmbh)

잡동사니 2018.07.03

인간이라는 시스템

나는 환자이고 환자보호자이고 한의사이다.그리고 치유에 이르는 길을 찾고 있다. 나는 현상의 이면에 숨어있는 원리에 관심이 많다.내가 물리학을 좋아하는 이유이다. 나는 비효율과 반복을 싫어한다.내가 프로그래밍을 좋아하는 이유이다. '몸이 병듦'으로 드러나는 상태를 치유하기 위해서는 마음의 병도 함께 치유해야 한다.내가 한의학을 좋아하는 이유이다. 병의 이면에 있는 원리를 파악해서 효율적으로 치유하는 것.이것이 내가 찾고 있는 길이다. 질병은 '몸이 병듦'의 형태로 드러난다.몸의 병을 몸에서만 고치려고 하면 근본적인 치유가 되지 않는다.마음의 작용에 의해서 같은 증상이 반복된다.질병과 치료가 반복된다. 이런 치료는 비효율적이다. 몸과 마음을 함께 치료한다고 해도 이것이 일시적이라면 또 같은 상황이 발생한다...

잡동사니 2018.07.01

원격 데스크톱에서 한/영 키 문제 해결

노트북에서 데스크톱으로 원격 데스크톱으로 연결해서 작업하는 경우가 많다. 그런데 노트북에서 잘 동작하던 한/영 키가 원격 데스크톱에서는 오른쪽 Alt 키로 동작해서 불편하다. 구글 검색을 해보니 데스크톱 쪽에서 키보드 설정을 바꾸거나 레지스트리 값을 수정하는 방법이 있었는데 데스크톱은 건드리고 싶지 않아 다른 방법을 생각해 봤다. 방법은 의외로 간단했다. 그동안 생각을 안 해봤을 뿐. 노트북의 레지스트리를 수정해서 노트북의 오른쪽 Alt 키를 한/영 키로 수정하는 것이다. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00..

잡동사니 2017.07.24