입문 – 이창호 정통바둑 1

입문
이창호 지음/삼호미디어

‘역시 기본을 다지려면 책이 제일이야’ 하는 생각에 고르게 된 책이다. 이미 인터넷의 VOD강좌를 통해 습득한 어지럽게 흩어져있던 지식들이 책을 읽으면서 차분히 정리되는 느낌이다. 바둑을 제대로 즐기기 위해서는 다양한 바둑 관련 어휘에 익숙해야한다. 행마를 일컷는 어휘만도 여러가지가 있다. (날일자 행마, 마늘모 행마, 한칸뜀 등등) 책을 읽으면서 이러한 어휘들에 익숙해지는 것만으로도 상당한 소득인 것 같다.

머리말에서밝히듯 “쉽고 재미있게” 이 두가지 명제를 최대한 반영하기 위한 이창호님의 노력덕분에 정말 지루하지 않고 쉽게 읽힌다. 바둑의 룰에서 부터 사활, 행마, 수상전, 포석등 큰 그림을 그릴 수 있도록 도와주는 책이다. 여전히 상대방의 공격을 받을때면 어떻게 대처해야할지 당황하긴 하지만. 지금은 두번째 읽는 중이다. 추석연휴로 서점이 닫기 전에 활용편을 구입해두어야겠다.

두번 읽기

읽은 책에 대한 포스팅이 뜸한 요즘이다. 한동안 한달에 10만원정도의 책을 구입해서 읽다가 최근에 와서는 드문드문 책을 구입하면서 읽었던 책 중에 다시 읽고 싶은 책들을 선택해 독서노트를 작성하며 읽고 있다. 정신없이 1년에 100권을 읽겠다는 목표를 바꿔 책에서 최대한 많은 것을 느끼고 배우고자 노력하고 있다. 즉, 실행활에 책에서 배운 것들을 적용하려고 한다.

그동안 책을 읽으면서 어떠한 삶이 바람직한 삶이고 내가 추구해야 할 삶인지 힌트를 얻을 수 있었다고 생각한다. 하지만 머리속에서 잠깐의 생각에 그쳤을 뿐이라 나의 생활을 바꾸기에는 그 영향력이 미미했던 것이 사실. 기록되지 않은 생각은 쉽게 잊혀진다. 그리하여 책에서 만난 좋은 글귀와 나의 생각을 담은 독서노트를 기록하고 있고 소중하게 간직하고 있다. 마치 그 것을 잃어버리면 그동안 책으로 부터 얻은 것들을 잃게될 것 처럼 …

요즘 다시 읽고 있는 책은 “카네기 인간관계론”“나는 서브 쓰리를 꿈꾼다” 등등. 새로 읽고 있는 책은 “이창호 정통바둑 입문”, “도덕경”. 특히 “도덕경”은 어렵지만 조금씩 읽어나가다 보면 고전인 만큼 많은 생각을 하게 한다. 앞으로 읽을 책은 “1리터의 눈물”, “국밥”. 책읽기 좋은 긴 연휴다. 틈틈히 책을 읽으며 생각의 끈을 놓지 말자!
    

카네기 인간관계론
데일 카네기 지음, 최염순 옮김/씨앗을뿌리는사람
나는 서브쓰리를 꿈꾼다
원희룡 지음/꽃삽
도덕경
노자 지음, 오강남 풀어 엮음/현암사

Perspective

이클립스 워크벤치에서 perspective라고 하는 것은 툴바와 메뉴에 위치하게될 action들의 사용여부와 view의 초기 레이아웃을 정의하는 역할을 담당한다. 아래의 그림의 우측상단에 VICODE라고 선택되어 있는 부분이 바로 perspective를 의미한다.


이클립스에 기본적으로 제공되는 perspective가 몇가지 있다. Java를 선택하면 자바 어플리케이션을 개발하는데 필요한 action이 메뉴와 툴바에 나타날 것이고, Debug를 선택하면 디버깅을 위한 view들이 화면에 배치되는 것을 확인할 수 있다.

따라서 특정 목적(VICODE의 경우 임베디드 시스템 개발)을 가지는 개발환경을 이클립스에서 구현한다면, 이에 해당하는 action들만을 메뉴나 툴바에 나타내고 특정 정보를 화면에 보여주기 위한 view를 원하는 레이아웃에 따라 배치하고 싶을 것이다.

VICODE perspective를 선택했을 때를 살펴보면, Project 메뉴 아래에 필자가 여기저기서 주워와서 갔다 붙인 조악한 툴바 아이콘을 볼 수 있고 화면의 하단에는 따로 만들어서 추가한 Log, Result view가 존재하는 것을 알 수 있다. 이와 같이 perspective는 플러그인이 제공하는 특정 개발 환경을 정의하는 역할을 한다.

개념의 대한 설명은 여기서 마치고 구현방법을 소개하자면,
다음과 같이 org.eclipse.ui.perspectives 확장점을 이용한다.  

  <!– VICODE Perspective –>
  <extension
        point=”org.eclipse.ui.perspectives”>
     <perspective
           class=”edu.kaist.vicode.perspective.PerspectiveFactory”
           fixed=”true”
           icon=”icons/jdg2eProd.gif”
           id=”edu.kaist.vicode.perspective”
           name=”VICODE”/>
  </extension>

PerspectiveFactory.java의 내용은 다음과 같다.

package edu.kaist.vicode.perspective;import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
public class PerspectiveFactory implements IPerspectiveFactory {
public static final String ID_VICODE_ACTIONS = “edu.kaist.vicode.actionset”;
public static final String ID_VICODE_PROJECT_WIZARD =
  “edu.kaist.vicode.projectwizard”;
public static final String ID_VICODE_MODULE_WIZARD =
  “edu.kaist.vicode.modulewizard”;
public static final String ID_VICODE_LOG_VIEW = “edu.kaist.vicode.logview”;
public static final String ID_VICODE_RESULT_VIEW = “edu.kaist.vicode.resultview”;

public void createInitialLayout(IPageLayout layout) {
// Navigator
layout.addView(IPageLayout.ID_RES_NAV, IPageLayout.LEFT, 0.20f,
  IPageLayout.ID_EDITOR_AREA);
// Bottom : Another folder area, to stack additional views
IFolderLayout bottom = layout.createFolder(“bottom”,
  IPageLayout.BOTTOM, 0.8f, IPageLayout.ID_EDITOR_AREA);
bottom.addView(ID_VICODE_LOG_VIEW);
bottom.addView(ID_VICODE_RESULT_VIEW);
bottom.addView(IPageLayout.ID_PROBLEM_VIEW);

// Add Outline View
layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, 0.80f,
IPageLayout.ID_EDITOR_AREA);
   
// Add new wizard shortcut
layout.addNewWizardShortcut(ID_VICODE_PROJECT_WIZARD);
layout.addNewWizardShortcut(ID_VICODE_MODULE_WIZARD);

// Add our actions
layout.addActionSet(ID_VICODE_ACTIONS);
}
}

위의 VICODE perspective가 선택된 화면과 소스코드를 비교해보면 이해하기가 수월 할 것이다. createInitialLayout() 메서드에서 넘어온 IPageLayout 인스턴스를 이용하여 레이아웃을 지정할 수 있다. 차례로 왼쪽의 Navigator를 추가하고 하단에 3개의 view를 추가한다. 그리고 우측의 Outline view를 정의한 후 추후에 다루게 될 마법사를 추가한다. 마지막으로 action에서 다루었던 action set을 추가한다. action set의 visible 속성이 false로 지정되었다면 이렇게 perspective에서 추가해주어야만 화면에 나타나게된다. 모든 것의 참조는 plugin.xml에서 정의한 ID로 이루어진다.

물론 이미 존재하는 perspective에 자신의 view나 action을 추가할 수 있는데 (JDT를 확장하는 경우) 이럴 때는 org.eclipse.ui.perspectiveExtensions 확장점을 이용해야 한다.

지름신

대부분의 남자들은 여자들에 비해서 평소에 돈을 쓸일이 많지 않다. 그러나 짧지 않은 시간동안 쓴 돈을 모아보면 결코 적지 않은 것은 주기적으로 지름신이 강림하시기 때문일 것이다. 나 역시 대학생일 때 과외를 해서 쏠쏠히 벌었던 돈이 다 어디로 갔는가에 대해서 생각해보면 컴퓨터를 비롯해 온갖 전자기기를 사는데 쏟아부었던 것 같다.

이번달은 랩비지급도 추석이후로 늦춰지고, 쌍춘년의 여파로 적잖은 축의금과 그 밖에 졸업앨범비와 같은 예상치 못한 지출이 발생하며 CMA계좌 잔고가 20만원대를 기록하고 있다. 그런데도 불구하고 지름신이 강림하시려고 한다. 요즘 사고 싶다는 생각이 드는 물건은 바로 이녀석!

아이팟 나노 2세대

오늘 쥬크온에서 MP3 한곡에 10원 상품권을 구입했고, 이미 CD로 주문해놓은 이승철 8집을 다운받았다. 320 kbps로 다운받을 수 있어서 역시 음질이 좋았고, 이승철 8집의 노래는 더욱 좋았다. 실제 CD는 다음주에나 도착할 것이기에 구입한 mp3를 쥬크온 플레이어에서 음악 CD로 구워서 듣게 되었는데, 컴퓨터로 들을 때와는 전혀 다른 느낌. 똑같은 헤드폰을 쓰고 듣고 있는데도 풍부한 음량과 타격감은 감동을 선사하기에 충분. 어차피 320 kbps 정도의 샘플링 레이트라면 사람이 듣기에 음질의 손상은 없을테고 기기가 들려주는 음색의 차이가 아닐까? 따라서 나의 CDP를 아끼고 사랑하는 것으로 지름신을 외면해보아야겠다.

 

Google Notebook

다른 사람의 블로그를 구경하다가 깜짝 놀랐다. 구글 노트북?  차분히 글을 읽어보니 구글랩에서 새롭게 개발한 웹페이지 스크랩을 위한 서비스의 이름이였다. 구글의 직원들에게는 자신이 맡고 있는 일 이외에 새로운 아이디어로 하고 싶은 일을 도전해볼 수 있는 시간이 주어진다고 하는데, 이렇게 시도되는 여러가지 서비스가 우리를 즐겁게 하고 있다.


웹서핑을 하다보면 두고두고 다시 읽고 싶은 좋은 글들을 만날 때가 많은데 막상 이를 어떻게 보관해야할지 막막하다. 지금까지는 네이버 블로그에 저장해두었는데 이제는 해당내용을 긁고 오른버튼 눌러서 나오는 Note this 버튼을 누르는 것으로 간단히 보관할 수 있게 되었다.

익스플로어나 불여우에 플러그인 형태로 설치되며 사용법은 매우 간단하다. 처음 플러그인을 설치하면 스크랩 방법과 열람하는 방법을 간단히 설명해준다. 구글 UI의 매력은 무엇보다도 단순함과 실용성에 있다는 것을 다시 한번 느끼끼게 해주었다. 웹서핑 중 만나는 간간히 보관하고 싶은 문서가 있는 분들은 도전해보시길.

http://www.google.com/notebook/