bionote.net


KeyTweak - Keyboard remapper



Microsoft's Scancode Map registry key를 사용해서 키보드의 키매핑을 설정해 주는 프로그램이다. 지금 CapsLock과 LeftCtrl를 서로 바꿨는데, 처음에는 헷갈리다가 한시간정도쓰니 적응이 된다. 적응되고 나니 emacs에서 특히 손가락이 편한 것 같다.
Reference: http://webpages.charter.net/krumsick/
2005/04/25 21:30 2005/04/25 21:30
top

 

[Workshop] XP for Bioinformatics (D-6)


Absent due to Functional Analysis Mid-term Exam.
2005/04/25 21:18 2005/04/25 21:18
top

 

[Workshop] XP for Bioinformatics (D-5)


XP의 화두
- What Is The Simplest Thing That Could Possibly Work?
(WITSTTCPW)
see DTSTTCPW
- Complexity가 낮아지면, Adaptability가 높아진다.
참고: http://xper.org/wiki/xp/SimpleDesign

TDD(TestDrivenDevelopment)

1) TO DO 리스트를 작성
2) test case를 작성
3) test를 만족할 수 있도록 코드를 작성
4) test를 체크하면서 진행정도를 검사


CRC(Class Responsibility Collaboration)카드

--------------------------------------------
| Class(클래스이름) |
|-------------------------------------------|
| Responsibility | Collaboration |
| 클래스가 할 수 | 이 클래스와 협력관계에 |
| 있는 일들을 적음 | 있는 클래스들 |
--------------------------------------------
- 클래스 사이의 관계를 파악하는 도구
- 디자인에 도움이 된다.


Test code -> Code -> Refactoring the code ->refactoring test code -> Code -> ...
2005/04/22 21:35 2005/04/22 21:35
top

 

[Workshop] XP for Bioinformatics (D-4)


Absent due to Neural network Mid-term exam.
2005/04/22 21:34 2005/04/22 21:34
top

 

[Workshop] XP for Bioinformatics (D-3)


새로이 팀을 변경하였다.

중복제거

- 중복지점
- Information Hiding
- Duplication
OAOO(Once And Only Once)
- 여러차원의 중복 (literal<->conceptual)
- second-order duplication: 리팩토링과정에서 발견될 수도 있다.
- Three strike out: 중복이 세번이상 발견되면 제거하라.

Refactoring -> Object Reengineering

error correction을 수반한 수련은 전문가를 비전문가와 구분하는 가장 중요한 기준이다.


Automated Testing/Testing Automation

- (benefit/cost)를 최대화한다.
- Mock object: test를 목적으로 실제 클래스를 흉내내도록 만들어진 object이다. 실제 object를 mock object로 바꿔치기해서 사용한다. 때로는 계산에 걸리는 시간을 단축시키기 위해서 사용하기도 한다.
- testability가 높은 디자인을 하라.
기능이 여기저기 분산되어 있으면 test가 힘들어진다. -> 독립적인 디자인이 바람직하다.
- test가 문제가 있는 부분을 지적해줄 수 있다면, 더욱 좋은 test이다.
- XP에서는 test를 얼마나 통과했는지가 프로젝트의 진행정도를 알려준다.

참고서적
Extreme Programming Installed (역서)
테스트 주도 개발 (역서)
Lessens learned in testing

손쉬운 자동화 접근법
- 하루중 시간이 가장 많이 걸리는 일을 자동화한다
- 자동화가 쉬운 일부터 자동화한다

One-button test
- small change와 함께 많이 쓰이는 테스팅 기법
2005/04/22 21:20 2005/04/22 21:20
top

 

[Workshop] XP for Bioinformatics (D-2)


때로는 단순한 규칙을 따르는 것이 복잡한 규칙의 경우보다 좀 더 나은 성능을 보여준다.

Open-Closed Principle
수정이 필요한 코드보다는 추가가 필요한 코드가 낳다.

"교각비유"를 지키는 것은 중요하다.
외부행동이 바뀌는 시간을 최소화하라!

Refactoring의 예제
1) nested structure를 꺼낼 때
2) 변수명을 변경할 때
...
2005/04/19 21:31 2005/04/19 21:31
top

 

[Workshop] XP for Bioinformatics (D-1)


공식WikiWiki http://xp.ngic.re.kr/bioxp

Pair drawing : pair work(짝작업)의 예시

짝작업을 통해서 자신의 한계를 벗어난 창의적인 결과물을 창출할 수 있다.
짝작업은 집중력을 증가시킨다.
짝작업은 하면 할수록 짝작업의 숙련도가 증가한다.

공동작업의 창의성은 그로 인해 생길 수 있는 Risk를 얼마나 감수하는가에 달려있다.

Pair Programming

코드를 강의하는 일이 없도록 코딩한다. 파트너가 코드를 이해 못하는 경우는 코드의 가독성이 떨어지는 것이라고 생각할 수 있다.
코딩 스타일은 규칙을 만들어서 서로 지키도록하고, aesthetics에 대해서는 어느정도 실험적인 태도가 필요하다.

임무교대는 5분을 기준으로 간단한 문제는 시간을 늘리고, 복잡한 문제는 시간을 줄여가면서 적당히 조절한다.
2005/04/18 21:00 2005/04/18 21:00
top