Moneycomb 앱의 SDK 개발 중에 Rest API 콜 하는 부붘의 코드를 정리하면서

리플렉션, 어노테이션, 다이내믹 프록시를 절용했더니

코드의 양은 획기적으로 줄어들었고

실행 속도는 폭발적으로 증가했다.


메서드를 백만번 호출 했을 때 속도 차이가

26초 vs 0.1초 정도 차이가 난다

이를 해결하기 위해서 리플렉션 부분을 캐싱했더니

속도는 26초에서 1초로 줄었으나 메모리가 문제 ㅡㅡ

'머리가 뛰다' 카테고리의 다른 글

흠..  (0) 2014.03.01
오늘의 WPF, Kinect 관련 이슈  (0) 2013.11.24
책갈피 대신 책갈피 줄  (0) 2013.03.06
Behavior-Driven-Development BDD?  (0) 2013.02.22
Redmine 설치기  (0) 2013.02.16
Phonegap create 오류  (0) 2012.11.25

1. 멀티모니터에 자동으로 WPF Window 배치

2. 키넥트 2대 Color Frame 동시 사용


1.

화면 해상도 DPI에 따른 실제 디스플레이 Resolution과, GUI 프로그램에서 사용하는 Resultion이 달라 DPI에 따라 바꿔줘야함,


즉 현재 개발 환경은 맥북 프로에서 키넥트 개발을 위해서 Boot Camp로 Windows 7을 사용중인데,

Retina Display의 해상도는 2880 * 1920인데, 제어판의 디스플레이에 들어가보면 크게 보기가 설정된 것을 알 수가 있다.



이렇게 된 경우 Gui에서 pixel을 계산할 때 원래 해상도 설정에서 (만약 위처럼 크케(L)로 설정 되어있다면) 150%를 줄여서 계산해야 한다.


Win Form 프로그래밍에서는 System.Windows.Forms 가 참조에 추가되어있지 않아서 Screen 클래스를 사용하기 위해서 직접 추가해줘야 한다.


System.Windows.Forms.Screen.AllScreens.FirstOrDefault()

System.Windows.Forms.Screen.AllScreens[index]

System.Windows.Forms.Screen.PrimaryScreen

여기서 얻을 수 있는 Screen을 통해 얻는 디스플레이의 사이즈와


System.Windows.SystemParameters.PrimaryScreenHeight or Width

처럼 WPF에서 제공하는 API로 스크린의 크기를 가져오면 값이 다르다..


만약 이 값이 다르지 않았다면 각 모니터에 창을 배치하는 것을 어떻게 해야할 지 떠올리지 못했을 수도 있겠다.


왜 인지 모르겠으나 WPF 프레임워크에서는 다중 디스플레이 환경 정보를 가져올 수 있는 인터페이스를 제공하지 않는 듯하다.



2.

키넥트 두대를 하나의 PC에 꽂아 동시에 양쪽 키넥트의 ColorFrame을 보여주려고 했는데, 안되서 몇 시간을 삽질했는데, SDK 레벨에서 연산이 제대로 되지 않는지 안된다. 혹여나 같은 프로세스에서 두개의 키넥트에 접근한 것이 문제가 되는가 싶어서 다른 프로세스에서 각각 다른 키넥트에 접근했는데 여전히 똑같다.

그래서 내린 결론은 안된다 였다. 원래 FPS가 30인 것이 0으로 떨어져버린다.


키워드를 Two Kinect at one 처럼 해서 검색해보면 사례가 적긴 하지만 이전 SDK 버전이나 C++ SDK에서는 되긴 하는 것 같다.



'머리가 뛰다' 카테고리의 다른 글

흠..  (0) 2014.03.01
오늘의 WPF, Kinect 관련 이슈  (0) 2013.11.24
책갈피 대신 책갈피 줄  (0) 2013.03.06
Behavior-Driven-Development BDD?  (0) 2013.02.22
Redmine 설치기  (0) 2013.02.16
Phonegap create 오류  (0) 2012.11.25



프로그래머의 길 멘토에게 묻다

저자
데이브 후버, 애디웨일 오시나이 지음
출판사
인사이트 | 2010-07-26 출간
카테고리
컴퓨터/IT
책소개
프로그래머가 되고 싶다면..소프트웨어 개발 분야에서 경력의 시작...
가격비교 글쓴이 평점  


장인 정신이라는 관점에서 프로그래머는 어떻게 공부해나가야 할까에 대한 길잡이가 되어줄 수 있는 책이다.

책은 먼저 장인이 되기 전, 장인이 되기 위해 장인이나 숙련공 밑에 들어가 배우는 견습생에 빗대어 설명하고 있다.

프로그래머의 장인 정신이라는 개념은 Software Craftsmanship (Pete McBreen 저, 번역서) 책에서 소개된 듯 하다.


책은 패턴 언어(Pattern Language)로 구성되어있다.

예전엔 잘 몰랐는데, 이름을 붙이는 것은 중요한 일이라고 느껴진다. 패턴 언어의 장점으로 꼽는 것은 구구절절이 설명해야 할 것을 패턴 언어로 표현함으로써 이해와, 시간을 절약할 수 있다. 어쩌면 심오할 지 모르는 철학이 담긴 패턴 언어를 너무 쉽게 말하는 건 아닌가 싶다.


개발자에게 패턴이라고 하면 딱 떠오르는 건 GoF의 디자인 패턴이 아닐까?

그 외에도 스터디 그룹을 위한 패턴 언어[각주:1]도 있고, 다양한 분야에 적용되고 있는 듯 하다.


예전에 황병선 멘토님이 말씀하시길 "전문가는 전문 용어를 사용하여 있어보이게 말하는 것"라고 하셨다. 물론 농담조이었긴 하지만, '있어 보이는'것을 떠나 그러한 용어를 사용해서 지식을 공유하는 사람들끼리 효율적인 의사소통을 가능하게 한다.


앞으론 어떠한 것을 설명하는 것이 반복된다고 느껴지면 이름 붙이기를 연습해봐야겠다.

이를 테면 가끔 스터디를 진행하거나, 지인이 프로그래밍을 하다가 막히는 부분이 있어 물어볼 때 원격 데스크탑으로 연결하여 화면을 공유하면서 직접 코드를 작성하면서 보여주거나, 주석을 달면서 이렇게 이렇게 해봐라고 한 적이 많았는데, 이런 것에 원격 패어 프로그래밍이라고 이름을 붙여보는 것도 재밌을 듯 하다.


책은 아직 내가 가보지 않은 길에 대한 얘기도 많이 나온다. 이 책에 소개된 환경을 겪게 된다면 그 다음은 장인으로 향하는 길이 될 것이다. 위에 나온 책 소프트웨어 장인 정신이나 실용주의 프로그래머의 경우는 프로그래머에게 이 책의 다음 길잡이가 되어줄 수 있다고 하니, 천천히 읽어봐야겠다.

아직은 봐도 이해하거나 공감할 수 없는 부분도 있으니 그런 때가 와 봐야 책의 진의를 느낄 수 있지 않을까?


* 한국 위키피디아 - 패턴 언어




  1. http://www.industriallogic.com/papers/khdraft.pdf [본문으로]



후쿠시마에 남겨진 동물들

저자
오오타 야스스케 지음
출판사
책공장더불어 | 2013-03-10 출간
카테고리
과학
책소개
다큐멘터리 사진작가가 기록한 후쿠시마에 남겨진 동물들 쓰나미로 ...
가격비교


지진으로 인한 쓰나미와 후쿠시마 원전 폭발로 인해서 사람이 떠나온 후쿠시마에 남은 동물들의 참상을 그리고 있다.



프레임

저자
최인철 지음
출판사
21세기북스 | 2011-03-20 출간
카테고리
자기계발
책소개
나의 한계를 깨는 마음 경영법 프레임을 바꾸면 인생이 바뀐다! ...
가격비교


책을 읽으며 다시 프레임이라는 프레임에 빠지지 않을까 싶지만, 당연하게 선택을 해왔던 것들이 의식적이든 무의식 적이든 프레임의 영향을 받는다는 걸 알게 되었다.



말 잘하는 사람이 이긴다

저자
오쿠시 아유미 지음
출판사
예문 | 2010-08-20 출간
카테고리
자기계발
책소개
상대의 마음을 훔치는 말 한마디의 힘!『일 잘하는 사람보다 말 ...
가격비교



전뇌 학습법

저자
스티븐 D. 에이퍼트 지음
출판사
한스컨텐츠 | 2006-02-22 출간
카테고리
자기계발
책소개
두뇌 전체를 100% 활용하는 사고 훈련법. 대부분의 성인들은 ...
가격비교


세상엔 천재라 불리우는 사람들이 참 많다.

선천적으로 타고난 것인지 후천적으로 그런 천재적인 재능을 만들어내거나 찾을 수 있는지 궁금해서 '후천적 천재'라는 키워드로 검색을 하다가 알게 된 책이다. 전뇌 학습법이란 좌뇌 우뇌를 모두 활성화 시켜 뇌의 활용도를 올리는데 목적이 있고 그로써 일반인도 천재와 같은 능력을 지닐 수 있다고 하는 것이다.



유일한 시간은 현재다.

시간은 오로지 한가지 밖에 없다. 바로 이 순간 말이다. 당신이 지금 경험하고 있는 이 순간이 당신이 경험하는 유일한 시간이며, 당신이 있는 유일한 장소다.

과거는 현재의 기억일 뿐이고, 과거에 집착하는 것은 단지 걱정거리만을 안겨줄 뿐인데, 그것은 당신이 과거에 대해서 할 수 있는 것이 아무것도 없기 때문이다. 203p



생각 창조의 기술

저자
공선표 지음
출판사
리더스북 | 2008-06-20 출간
카테고리
자기계발
책소개
창조적인 사고를 위한 6단계! 창의적인 인재가 되기 위한 전 과...
가격비교


Software Maestro 2단계 팀 빌딩 후 아이디어 도출을 위해 강남 알라딘에서 구매했던 도서다.

사실상 아이디어 기획단계에서는 이 책을 활용, 아니 제대로 펼쳐보지도 못했던터라 다시금 꺼내서 읽고 있다.

내게 있어 요즘엔 책을 읽는데 가장 많은 시간을 할애하는 때는 흡연할 때 인듯 하다.

몇 분 되지 않는 시간동안 많은 페이지가 넘어가지 않지만 횟수가 잦아지면 생각보다 책을 읽어나가는데 속도가 있다.



내가 생각하는 창의적 아이디어란?

문제 해결에 있어 일반적이거나 통용되는 방법이 아닌 다수에게 수용가능하며 합리적인 방법을 말한다.


다른 책의 이야기지만 옛 말에 하늘아래 새로운 것은 없다고 했다.

마찬가지로 이 책 역시 대상을 관찰하고자 하는 것부터 시작한다

읽는 책의 수가 많아지니 그 책마다 책갈피를 사긴 그렇고, 그렇다고 북커버로 접어놓기는 맘에 안들고,

해서 책을 읽을 때 양장본처럼 책갈피 줄을 임시로 달아서 쓰려고 책갈피 줄을 만들어봤습니다.


준비물은 붙일 책과, 반투명 테이프, 리본끈입니다.

임시로 붙이는 거니 쉽게 떼었다 붙였다 할 수 있게 반투명테이프를 사용했고,

전 문구점 가서 리본끈을 샀는데 90cm당 300원이라고 하네요.

집에 책갈피 줄로 쓰기에 적당한 끈이 있다면 그걸 사용하시면 되겠네요.

끈의 길이는 책의 세로 길이보다 5cm 정도 길게 잡으시면 됩니다.



반투명테이프는 말그대로 반투명 테이프..

홀더에 있는 정식 명칭은 스*치 매직 테이프입니다.



테이프를 책의 두께 정도 길이로 잘라주시고 끝을 2mm 정도 접어서 붙여줍니다.

나중에 긁어서 떼는 것보다 깔끔하게 잡고 떼기위함입니다.

(아래처럼)




그리고 테이프에 이렇게 붙여주시고,

(여기서는 꾹꾹 누르지마시고 책에 붙인 후 끈과 테이프를 문질러서 붙여줍니다)



테이프가 쉽게 떨어지지 않도록 손톱을 이용해서 골고루 문질러서 붙여줍니다.

이때 테이프와 끈부분도 꾹꾹 문질러주세요.

모양은 그리 이쁘진 않지만 책을 읽는 동안에는 편리하게 책갈피로 사용하실 수 있습니다.





'머리가 뛰다' 카테고리의 다른 글

흠..  (0) 2014.03.01
오늘의 WPF, Kinect 관련 이슈  (0) 2013.11.24
책갈피 대신 책갈피 줄  (0) 2013.03.06
Behavior-Driven-Development BDD?  (0) 2013.02.22
Redmine 설치기  (0) 2013.02.16
Phonegap create 오류  (0) 2012.11.25


습관의 힘

저자
찰스 두히그 지음
출판사
갤리온 | 2012-10-30 출간
카테고리
자기계발
책소개
당신이 바꾸고 싶은 습관은 무엇입니까?반복되는 행동이 만드는 극...
가격비교


읽으려고 맘 먹었던 책을 드디어 손에 펼쳐들었다.


두개골의 가운데쯤에는 골프공 크기의 조직 덩어리가 있다. 이것이 기저핵이다. 어류, 파충류, 포유류의 머릿속에서도 비슷한 조직 덩어리가 발견된다. 기저핵은 세포들로 이루어진 타원형 조직으로, 얼마 전까지도 어떤 기능을 하는지 정확히 알지 못했다. 35p



뇌가 일련의 행동을 기계적인 관례로 변환하는 과정은 '청킹(chunking, 덩이짓기)'으로 알려져있다. 습관이 형성되는 과정의 근원에 청킹이 있는 셈이다. 37p



습관이 형성되는 이유는 우리 뇌가 활동을 절약할 방법을 끈임없이 찾기 때문이다. 39p


습관은 신호에서 시작해서 반복행동, 보상으로 끝을 맺는 고리형태로 되어있다.

기존의 습관에서 새로운 습관으로 대체하기 위해서는 습관을 없애고 새로운 습관을 만들어내는 것보다는

바꾸려고 하는 습관의 신호와 보상이 무엇인지 확인하고 무의식적으로 이뤄지는 습관을 의식적으로 만든 후

처음 시작하는 신호를 정확히 인지 했을 때 시작되는 반복행동의 대체와 그런 행동을 통해서 얻어지는 보상을 비슷한 유형의 보상을 얻어냄으로써 이뤄진다.


책에서는 개인의 습관에서부터 비롯해 기업의 습관 사회의 습관을 다뤄 포괄적인 개념에서의 습관을 다양한 사례와 함께 말한다.

아직은 기업이나 사회에서의 습관을 다뤄볼 경험은 없겠지만 최소한 내게 있어 바꿔야 할 습관들을 찾아보고,

책에서 소개한 방법을 통해 습관을 바꿔가도록 해봐야겠다.


1. 2013. 03. 14


ps. 지하철은 사람도 많고 소음도 많은 편이지만 은근히 책을 읽는데 집중하기 좋은 장소다.

+ Recent posts