선수들이 눈물 흘리는데 나도 살짝 울 것 같았음.
강한 불펜의 대명사 sk를 상대로 결국은 역전 승리!
공격의 물꼬를 튼 안치홍과 결정적 홈런 2방을 날린 나지완이
오늘의 주역!
어린 선수들의 활약으로 시리즈를 우승하니 내년 시즌도 기대된다.
그나저나 당분간 2자리 수 한국시리즈 우승 팀은 나오기 힘들듯..ㅋㅋ
V10!
This blog is about my everyday life.
선수들이 눈물 흘리는데 나도 살짝 울 것 같았음.
강한 불펜의 대명사 sk를 상대로 결국은 역전 승리!
공격의 물꼬를 튼 안치홍과 결정적 홈런 2방을 날린 나지완이
오늘의 주역!
어린 선수들의 활약으로 시리즈를 우승하니 내년 시즌도 기대된다.
그나저나 당분간 2자리 수 한국시리즈 우승 팀은 나오기 힘들듯..ㅋㅋ
V10!
Mathtype에서는 여러 단축키를 제공하기도 하지만, Tex 입력 모드를 사용하면 수식을 훨씬 빠르고 편리하게 입력할 수 있다. 컴퓨터를 재인스톨 한 후 오랫만에 수식을 사용하려니 Tex입력이 되지 않는다. 아무리 구글질을 해도 어떻게 세팅을 해주어야 하는지 기억이 나지 않아서 짜증 나던 중, Mathtype의 help를 찾으니 나온다. 프로그램에서 제공하는 Help를 가장 먼저 신뢰할 것!! -_-
위의 그림과 같이 Preference->Workspace preference를 선택하면 아래와 같은 다이얼로그 박스가 나타난다.
위의 다이얼로그 박스에서 ‘Allow TeX language entry from the keyboard’ 옵션을 설정해 주어야 Tex 입력이 Matytype에서 동작한다.
연구를 하는 과정에서 여러 목적으로 문제를 해결하기 위한 알고리즘을 만들려고 할 경우에, 생각한 아이디어가 의도대로 동작하는지를 확인하는 것이 필요하다. 이 때에, 다양한 입력 패턴을 알고리즘에 적용해 보거나, 파라미터 값들과 시스템 출력 등을 쉽게 확인해 보기에는 GUI를 만드는 것이 좋을 때가 많다. 그러나, MFC를 이용해 GUI를 만드는 것은 때로 매우 복잡한 작업을 필요로 할 때가 많다. 특히 다양한 수학적 알고리즘을 이용하기 위해서는 별도의 라이브러리들을 손수 만들어야 하는 문제가 발생한다.
이 때 Matlab에서 제공하는 GUI 툴을 이용하여, 간단하게 GUI를 만들고 동시에 Matlab이 제공하는 막강한 툴박스들을 이용하여 빠르게 작업할 수 있다.
Matlab의 메인 창에서 위의 버튼을 클릭하거나, command 라인에 guide를 입력하면 아래와 같은 다이얼로그 박스가 나타난다.
빈 다이얼로그 박스나, 몇 개의 콘트롤이 기본적으로 포함된 것들 중에서 필요한 것을 선택하면 된다.그러면 아래와 같이 gui의 엘리먼트들을 만들 수 있는 기본 창이 나타난다.
위의 창에서 좌측의 버튼들을 이용하여, 버튼, 라디오 버튼, 체크박스, 에디트 박스, 그래프 콘트롤등의 여러 엘리먼트들을 만들 수 있다.
위의 그림은 이 버튼들을 이용하여 간단한 gui를 만든 상태를 나타낸다. 여기서 기본적으로 해야 할 일은 각 엘리먼트들의 프로퍼티들을 원하는 대로 지정해 주어야 하는 것이다. 각 엘리먼트의 특성에 따라 많은 프로퍼티들이 있지만 가장 기본적인 것은 Tag 프로퍼티이다. Tag프로퍼티는 이 엘리먼트의 ID 를 나타내며, 프로그램 상에서 이 엘리먼트에 접근하여 프로퍼티를 변경하거나, 데이터를 얻어오는 작업등을 수행할 때 필요한 것이다. 그러므로 이 Tag 프로퍼티를 자기가 원하는 이름으로 지정하여 주는 것이 필요하다. 프로퍼티 설정 창은 각 엘리먼트를 더블 클릭하면 볼 수 있다.
이렇게 만들어진 gui를 저장하게 되면 matlab은 기본적인 코드 구조를 자동 생성하여 준다. 코드는 기본적으로 gui생성시 실행되는 opening 함수와, 각 엘리먼트의 콜백 함수로 구성된다. 기본적으로 gui프로그램은 함수들의 집합체이므로, 각 함수에서 공통된 데이터를 다루려면 알고리즘과 관련된 데이터 변수들은 global 변수로 설정하거나, handles 객체에 포함시켜서 다룰 수 있다. 아래에는 gui를 이용한 가장 기본적인 코드를 소개한다.
Edit 박스의 파라미터를 읽어 들여, 버튼을 눌렀을 때, 그래프를 업데이트 하는 프로그램.
function gui_OpeningFcn(hObject, eventdata, handles, varargin)
%사용자 변수 정의
handles.a1=1;
handles.b1=1;
handles.a2=1;
handles.b2=1;
%타이머 생성
handles.guifig = gcf;
handles.t = timer('TimerFcn',{@OnTimer,handles.guifig},'Period', 2.0, 'ExecutionMode','fixedSpacing');
guidata(handles.guifig,handles);
start(handles.t);
%종료시 처리 부분(타이머 종료하기 위해 필요)
set(hObject,'CloseRequestFcn',@OnClose);
%GUI 엘리먼트 표시 초기화
set(handles.edtA1,'String',handles.a1);
set(handles.edtB1,'String',handles.b1);
set(handles.edtA2,'String',handles.a2);
set(handles.edtB2,'String',handles.b2);
set(handles.edtTime,'String',0);
%그래프 그리기
x1=[-10:1:10];
y1=handles.a1*x1+handles.b1;
x=[-10:1:10];
y=[-10:1:10];
[x2 y2]=meshgrid(x,y);
z2=handles.a2*x2.^2+handles.b2*y2.^2;
axes(handles.graph1)
plot(x1,y1);
grid on;
axes(handles.graph2)
mesh(z2);
grid on;
handles.output = hObject;
guidata(hObject, handles);
위의 코드에서 붉은 색의 코드가 사용자가 직접 추가한 부분이다.타이머 생성부에서 guifig는 타이머 내부에서 gui의 엘리먼트들을 접근하기 위해 저장하는 figure 핸들이다. 위의 예에서 타이머는 2초 간격으로 설정되어 있다. OnTimer는 이 때 콜백 처리를 위한 사용자 정의 함수이다. Start 명령을 이용하여 타이머를 시작시킨다.
종료 처리 함수를 작성하지 않을 경우, gui의 종료 이후에도 타이머는 계속 동작하게 된다. 따라서 이를 종료 시키기 위해 사용자 정의 함수가 필요하다.
GUI에서는 Set 명령을 이용해서 각 element의 프로퍼티를 원하는 값으로 설정할 수 있다. 에디트 박스의 경우, String 프로퍼티가 에디트 박스 안에 나타나는 문자열을 나타내므로, set 명령을 이용하여 원하는 값을 출력하게 만들 수 있다.
그래프를 그리기 위해서는 axes 명령을 이용하여 원하는 그래프 영역을 선택하고 매트랩의 그래프 관련 명령을 이용하여 그래프를 그릴 수 있다.
에디트 박스의 콜백은 각 에디트 박스의 값이 변경되었을 때 호출된다. 그러므로 이 함수를 이용하여 입력을 받을 수 있다.
function edtA1_Callback(hObject, eventdata, handles)
handles.a1=str2double(get(hObject,'String'))
guidata(hObject, handles);
위의 예제 함수와 같이 get 함수를 이용하여 에디트 박스의 string 프로퍼티를 가져오고, 이를 숫자값으로 변경하여 저장한다. 이후 gui 데이터를 업데이트 하는 함수를 반드시 실행 시켜 주어야 한다.
버튼 콜백 함수를 이용하여 원하는 명령을 실행 할 수 있다.
function btnUpdate_Callback(hObject, eventdata, handles)
guidata(hObject, handles);
x1=[-10:1:10];
y1=handles.a1*x1+handles.b1;
x=[-10:1:10];
y=[-10:1:10];
[x2 y2]=meshgrid(x,y);
z2=handles.a2*x2.^2+handles.b2*y2.^2;
axes(handles.graph1)
plot(x1,y1);
grid on;
axes(handles.graph2)
mesh(z2);
grid on;
위의 예제 함수와 같이, guidata 함수를 이용하여, 엘리먼트를 먼저 최종 업데이트 시킨 다음 원하는 작업을 수행하면 된다.
function OnClose(src,evnt)
h=guidata(gcbo)
stop(h.t);
closereq;
종료 프로시저를 처리하기 위해 위와 같은 코드를 추가한다. guidata(gcbo)를 이용하여 이 이벤트를 호출한 gui의 핸들을 얻을 수 있다. Stop 명령을 이용하여 타이머를 정지 시킨다. Closereq를 이용하여 실제 종료 루틴을 실행 시킨다.
function OnTimer(obj,event,handles)
h=guidata(handles);
curTime=event.Data.time(6);
set(h.edtTime,'String',curTime);
guidata(h.guifig,h);
타이머 이벤트 처리를 위해 위의 코드를 추가한다. 위의 코드는 gui의 에디트 박스에 현재 시간을 출력하는 코드이다.
Timer와 GUI관련 자료는 여기서 찾을 수 있다.
위의 예제 코드는 아래의 링크에서 다운 받을 수 있다.








아무리 상대방의 의견을 듣는 순간 병신같이 느껴져도 절대로 네버 네버
바로 반박하면 안된다는 것이다. 무조건 어떻게 해서라도 그 병신같이
느껴진 의견 중에서라도 인정해줄만한 부분을 찾아내서
그 부분은 인정하는데 이부분이 다르다 식으로 이야기를 해야 한다.
첫째 이유는, 실제로 그 의견이 옳고 내 의견이 틀릴 수 있기 때문이며.
둘째 이유는, 아무리 성인군자라고 해도 자기의견이 그렇게 통째로반박
당하면 발끈할 수 밖에 없기 때문이다. 상대방이 이 토론을 자존심싸움
으로 인식하는 순간. 의견수렴은 불가능해진다.
내가 얼굴붉혀왔던 수많은 언쟁들이 상당부분 저걸 못지켜서 그랬다는
사실을 깨닫고, 그 다음부터는 최대한 저것을 지키려고 한다. 물론 간혹
내 의견에 대해서 저런 면박성 반박을 당하면 같이 발끈하는 것이 사실이지만
최대한 자제하려고 노력한다.




파운데이션 시리즈를 몇 권까지 샀던지 확인하는 김에, 2008년의 책,음반 지름을 회고하고자 한다..^^
팍팍한 생활의 유일한 낙인 책,음반 지르기.
올해도 건강한 식생활(?)에 방해 되지 않는 선에서 엥겔지수를 낮출 수 있도록..ㅋㅋ
1. Come to Where I am
박정현의 새 앨범. 여전한 가창력.
그렇지만 왠지 나의 플레이 리스트에서는 자주 보이지 않게 되었다.
2.The Left
몇년을 두고 읽으리라고 생각하며 지른 책.
두께가 펼쳐들기 두렵게 한다.
몇장 읽다가 아이구 쓰느라 고생하셨겠습니다. 라고는 접는다..-_-
3. Only You
올 한해는 일본 음악을 많이 골라 들었던 한해.
우연히 いつも君のそばに 이 노래 듣고 필이 꽂혀서
단지 이 노래 하나 보고 사버렸다.
어린 시절 J-pop을 듣고 자란 경험은 없어서 뭔가 오래 묵은 감정은 들지는 않지만
오래 지난 좋은 그림을 본 느낌이 든다.
4. 북유럽 신화
영화 Beowolf를 보고 샀던 책.
이게 다 오딘 때문이다.
자세히 보니 현재의 잘 팔리는 많은 판타지들이 북유럽의 신화를 모태로 하고 있었다.
5. Monologue
김동률의 새앨범. 역시 김동률.
그 외엔 말이 필요 없었다.
6. 빌 브라이슨의 유럽 산책
아마 신문 어느 구석에선가 도서 평을 읽고 샀던 것으로 기억한다.
남의 여행 이야기를 듣는 것은 언제나 즐거운 일이지만,
'이거 인종 차별 아닌가?' 하며 막무가내식 표현에 깜짝 깜짝 놀라며 읽었었다.
예를 들어 '전라도 개X끼들 진짜 개X끼더라' 이런 표현을 책에서 읽은 느낌..
제목의 '발칙한' 이란 단어가 그래서 붙어 있는 것 같다.
7. 아카펠라 지브리
꽤나 기대 했건만 살짝 실망한 앨범.
'지브리'라는 스테디 셀러 아이템을 너무 식상한 방법으로 변주한 느낌이었다.
8. Earls 2집
이 음반도 신문 어딘가의 음반 평을 읽고 샀던 음반.
기대 만큼 신선했다. 괜찮은 Funk 음반.
Bulldog Mansion과 비슷한 느낌이 들었다.
9. 슈퍼 자본주의
사서 쌓아 놓다가, 요즘 읽고 있는 책.
경제 위기다 어쩐다는 소리가 점점 커지다 보니 손이 가게 되었다.
아직은 현상에 대한 원인 분석 부분을 읽고 있는데,
자본주의의 탐욕은 그 자체의 본성으로 이것의 효율성은 결국 우리에게 부와 편리함을 가져다 준다.
하지만 이 탐욕을 잘 통제하기 위해 민주주의라는 제도를 어떻게 잘 운영할지 고민 해야할 시점을 놓친 것이
결국 작금의 사태를 불러 온 것이 아닐까 하는 생각이 든다.
10. Commonly Unique
사실 어디선가 나도 모르게 내 하드에 흘러 들어온 MP3 파일을 가지고 있었는데,
한 곡이 이상하게 중간에 인코딩이 끊긴 듯한 느낌이 들어 음반을 사버리고 말았다..-_-
근데 그게 원래 노래가 맞더라...
주옥같은 노래들이 많아서 후회하지는 않는다.
11. 장미의 이름
장미의 이름을 대학 교양 수업때 영화로 정말 재밌게 본 기억이 문득 떠올라,
원전을 읽어 보고 싶어서 질러 버렸다.
언제나 드는 생각이지만 에코의 책은 참 읽기 어렵다. -_-
12. 로마제국의 탄생과 몰락
처음으로 DVD 다큐를 구매해 보았다.
날잡아서 맘 편하게 쭉 봐야지 하고는 몇달 째 시간을 못내고 있다.
13.지상에 숟가락 하나
제주 4.3항쟁을 배경으로 한 유명한 소설이다.
올해 바뀐 정권하에서 제주 4.3항쟁의 가치가 잘못 평가되는 것이
이슈일 때 사서 읽어 보게 되었다.
14. Galanty Show
정말 오랫만에 나온 김진표의 새 앨범. 소식을 듣자 마자 지른 음반.
개인적으로 한국어로 하는 랩은 김진표가 짱이라고 생각한다.
15. 미학 오디세이 3
1,2권 이후에 오랫만에 3권 구입.
그래도 1,2권은 잘 읽혔던 것 같은데, 이번 편은 시뮬라시옹과 현대 예술에 대한 얘기가 나오면서
쉽게 이해하기 어려웠다.
담에 기회가 되면 1,2권 부터 쭉 다시 읽어 봐야 할 듯 하다.
16. 스키너의 심리상자 열기
사실 배송비 하한선을 넘기려고, 싼 맛에 골라 산 책.-_-
감정 연구를 하면서 심리학 쪽 얘기들을 열심히 엿들어 온지 4년째인데.
흥미로운 소재들과 심리학 역사상의 의미들을 잘 엮어서 이야기 한 듯하다.
개인적인 취향상 저자 개인의 감상이 자주 드러나는 부분은 좀 맘에 안 들었다.
17. 본격 제 2차 세계 대전 만화
인생에서 처음 산 만화책.
저자의 인터넷 만화를 너무 재밌게 보아서 냅다 사버렸다.
인터넷에서 보여진 이야기와 색다른 점이 별로 없어서 살짝 실망.
18. 메이지 유신: 현대 일본의 출발점
올해 중반 쯤 문득 이런 의문이 들었다.
일본은 왜 근대화에 성공하여,
서구가 동양에서 유일하게 인정하는 파워와 문화를 가진 국가가 되었을까?
너무 긴 책들은 읽기 부담 될 것 같아서 짧은 책을 골랐다.
이네 들도 직관적으로 알고 있는 것 과 달리
근대화 과정에서 굉장히 많은 혼란이 있었다는 것을 알 수 있었는데
의문에 대한 결론을 스스로 내리기는 아직 어렵다.
19.종교는 진화한다.
도킨스의 God delusion을 읽어본 이후,
계속 관심 가지고 있는 종교와 진화에 관한 떡밥(?)을 고민하기 위해 산 책.
초반을 조금 뒤적이다 아직 들춰 보지 못하고 있다.
아직 이 책이 나와 친해지지 않은듯.
20. 넥스트 Triology Part 1
오랫만에 넥스트 앨범 발매 소식에 냅다 구매.
음.... Part 2,3를 계속 낼 예정이라니 평가는 모두 들어봐야 할 수 있을 것 같은 느낌이 들었다.
뭐랄까.... 너무 교조적인 느낌이 든다.^^
백분토론에서 너무 자주 봐서 그런 이미지가 나에게 각인이 된 듯하다.
21. 한일 고대사 유적 답사기
메이지 유신에 대한 이야기를 읽고, 가지고 있던 몇개의 역사 주제의 책을 뒤적여 보다가
예전에 전방 후원분의 한반도 분포를 핵심 소재로 해서,
한일간의 고대 관계사에 대한 책을 기사에서 본 내용이 생각나, 읽어 보았다.
과연 한민족 이라는 개념을 한반도에 사는 모두가 언제 부터 공유하게 되었을까?
이러한 관점에서 고대사를 해석하는 시도가 웃지못할 결과들을 많이 초래하는 것 같다.
왕인이 사실 우리 역사에는 한마디도 등장하지 않는 다는 것이 신선했다.
22. 남한산성
김훈씨의 책들을 읽어 본 것은 이것이 처음이다.
그의 글쟁이로서의 치밀함을 한번 훔쳐 보고 싶었다.
허무한 결말.
그래도 칼의 노래와 현의 노래를 다음 구매 목록에 저장해 놓았다.
23. 동네 한바퀴
윤종신의 새 앨범. 그러고 보니 올해에는 다시 돌아온 예전의 전사들이 많은 듯 하다.
결혼 하시더니 너무 즐거우신 듯 하다...^^
예전의 그 지지리 궁상 분위기를 산뜻한 멜로디에 담아 내던 매력이 살짝 아쉬웠다.
24. 파운데이션 4,5권
올해 개인적 독서도 복고의 영향이 많았다.
나를 공돌이의 길로 정착하게한 주범들 중의 하나인 아시모프의 파운데이션 시리즈.
다시 읽어 보고 싶은 마음에 3권까지 사서 읽어 보고, 올해 다시 4,5권을 구매했다.
제 1 파운데이션의 위기를 변변한 액션(?) 하나 없이 극복해 나가는 영웅들의 이야기는 여전히 매력적이다.
개인적으로 영화화하면 스타워즈 시리즈 못지않은 대서사시가 되리라 생각하는 파운데이션 시리즈.
2009년 그래서 올해의 첫 지름은
바비킴의 새 앨범과 과 파운데이션 6권.
파운데이션 시리즈가 재출간 되면서 예전의 번역본과 달리 순서를 뒤섞은 부분이 있다는데
예전에 읽은 것이 15년 쯤 전이라 기억도 안난다.
이상하게 교보문고의 지름은 항상 목,금요일날 하게 되어서 주말을 초조하게 보내게 된다..-_-