31 (목):
YoriJori Pair
VPP 로 진행. 한동안 손놓고 있어서 개인적으로 약간 걱정이 앞섰는데, 응주씨가 Pair 를 잘해주었다. 프로젝트 참여도가 가장 높아서 그런지 모르겠지만, 할 일에 대해 즉각적으로 해결책을 생각해내는 모습이 정말 대단했다. 2시간동안의 작업을 시간흐른지 모른채 즐겁게 진행했다.
Editplus 로 VPP 진행하는 한쪽창에 to do list 를 적었는데, VPP 인 경우 한사람이 todolist 를 적는 동안, 드라이버가 코드를 잡지 못한다는게 한편으론 단점이요, 한편으론 장점 같기도 하다. 일단은 궁리.
특정 팀원과의 토론이 필요한 Task 외엔 별다른 어려움 없이 잘 진행되었다. Virtual Pair Programming 에서도 VIM 단축키들을 배웠다.; ctrl + v, shift + v 몰라서 매번 할때 Help 뒤졌다 까먹고 그랬던것 같은데, 제대로 익힐듯 하다.
----
Conceptual Integrity 에 대해 찾아보던중 꼬리에 꼬리를 물고 논문을 보다가 의외의 글을 보게 되었다.
http://www.utdallas.edu/~chung/patterns/conceptual_integrity.doc - Design Patterns as a Path to Conceptual Integrity 라는 글과 그 글과 관련, Design Patterns As Litmus Paper To Test The Strength Of Object Oriented Methods 라는 글을 보게 되었는데,
http://www.econ.kuleuven.ac.be/tew/academic/infosys/Members/Snoeck/litmus2.ps 이다. 디자인패턴의 생성성과 관련, RDD 와 EDD 가 언급이 되는 듯 하다.
29 (화):
화이트헤드과정철학의이해 읽기 관련.
공부라는 것에 대해 머릿속 생각을 정리 할땐 꼭 손에 잡히는 책이
이성의기능 과
화이트헤드과정철학의이해 이다. (같은 책만 잡으니까 위험한건지도 모르겠다.) 요 사이 뭔가 머릿속이 허전하다. 뭔가가. 함정이 있는 듯한.
21, 22, 23 (월, 화, 수): Freechal Album Grabber 작성중.
아는 사람으로부터 부탁을 받아서 작성중. 이미 프리첼 게시판 백업 프로그램은 제로보드나 이지보드, 드림위즈 등에서 만들어졌는데, 앨범/자료실 추출은 아직 이루어지지 않았나 보다. 뭐, 조금있으면 나올 것도 같은데.. 그냥 개인적으로 연습겸 만들어보게 되었다.
Python 이용. 적당히 TDD 와 중간 UP Front를 섞었다. (CRC와 UML을 이용) 거의 정규표현식이나 find 등을 이용한 스트링 파싱 노가다급이지만, 하루 작업치곤 생각보다 많이 나간 것 같다.
1차적으로 CRC 를 이용하여 간단한 Conceptual Model 을 만든뒤, TDD 로 개개 모듈을 작업했다.
중간 개개의 모듈을 통합할때쯤에 이전에 생각해둔 디자인이 제대로 기억이 나지 않았다.; 이때 Sequence Diagram 을 그리면서 프로그램의 흐름을 천천히 생각했다. 어느정도 진행된 바가 있고, 개발하면서 개개별 모듈에 대한 인터페이스들을 정확히 알고 있었기 때문에, Conceptual Model 보다 더 구체적인 Upfront 로 가도 별 무리가 없다고 판단했다. 내가 만든 모듈을 일종의 Spike Solution 처럼 접근하고, 다시 TDD를 들어가고 하니까 중간 망설임 없이 거의 일사천리로 작업하게 되었다.
- TDD의 테스트들은 마치 모래주머니 같다. 묵직한 느낌을 주면서 프로그래밍 한 것들을 이해하게 하니까. 그리고, 갈수록 느끼는 것이지만, 테스트 없는 리팩토링은 정말 상상하기 어렵다. 요새는 중간중간 테스트를 작성하지 않는 코드들도 이용하고 있다. 조심스럽긴 하지만, 모듈의 복잡도,중요도에 따라 적당히 골라쓸 수 있을 것 같다.
- 요새들어 다시금 느끼지만, vi 로 파이썬 프로그래밍 하는게 가장 편한것 같다. cygwin 을 쓰니까 윈도우건 ZP 계정이건 작업스타일이 똑같아서 좋다. 그리고, command 위주의 작업환경은 내가 하려는 일에 대해 명시적으로 생각하게끔 하는 효과를 주는것 같다. 단점에서오는장점이랄까.
- 3일 코드 생산량 691 라인. 테스트 코드 245라인인중.
- 예전 PHP 프로그래밍 할때 맨날 제로보드 소스보면서 욕했는데 -_-; (보고 배울 소스 아니다 둥둥, 왜 스킨제작하는 사람들이 소스 수정하여 기능들을 만들어내야 하는가 등등 -_-.. 디자인적으로 그리 보고 배울 것이 아니라고 생각했기 때문. 그냥 노가다 코드라고 생각.)
근데.. 자기 학교수업 들으면서 수많은 사람들의 사랑을 받는 버전 4.0 이상을 바라보는 프로그램 만드는게 어디 쉬운일일까. 디자인 훌륭하고 깔끔한 코드를 만드는 것 말고 할일은 많다. 더 중요한, 근본적인, 자기가 하려고 하는 일의 목적은 무엇인가.
WorseIsBetter
17, 18 일 (목, 금): TDD 기사 진행.
MMM 에서의 '프로그래머의 낙관주의'가 떠오르는. -_-; 전날 기사쓰다가 졸려서 잤는데, 금요일 아침먹고 탈이 나서 아주 주금이다. 사람이 하는 일에 대해서 이유없는 낙관주의는 정당화 될 수 없다. -_-; 오늘 하루종일 토할 것 같은 느낌때문에 죽을 지경인중.;
- 이것도 병인지 모르겠다. --a 세미나 날짜 다가올때 밥먹다 죽겠는 지경이나, 기사 마감날짜 임박하니 죽겠는 지경이나. 어디 정신과 치료라도 받아야겠다. -_-a (무의식적으로 책임강박관념증이라던지, 스케줄관리미숙으로인한신경압박증 기타등등 군시렁군시렁)
- 스케줄 관리는 확실히 미숙했다. 지난번 기사 쓸때는 Pair 였었기 때문에 비슷한 시간을 할당해서는 곤란했다라는 생각중. 오히려 1.5배 이상을 잡고 재빠르게 진행했어야 했건만. 결단을 내리는 속도가 느리다. 빨리 얻을건 빨리 얻고, 빨리 버릴건 빨리 버려야 하겠건만.
16 일 (수): TDDBE 다시 정독. 기사 진행.
TDDBE를
PowerReading 에서의 방법을 적용해서 읽어보았다. 내가 필요로 하는 부분인 '왜 TDD를 하는가?' 와 'TDD Pattern' 부분에 대해서 했는데, 여전히 접근법은 이해를 위주로 했다. WPM 은 평균 60대. 이해도는 한번은 90% (책을 안보고 요약을 쓸때 대부분의 내용이 기억이 났다.), 한번은 이해도 40%(이때는 사전을 안찾았었다.) 이해도와 속도의 영향은 역시 외국어 실력부분인것 같다. 단어 자체를 모를때, 모르는 문법이 나왔을 경우의 문제는 읽기 방법의 문제가 아닌 것 같다.
요새 Summary 할때의 느낌이 참 좋다. 책을 씹어먹는다는 느낌이 드니까. 속도가 느리게 나오더라도. 한동안은 이 리듬으로. 조금씩 올리기 노력노력.
14 일 (월): TDD 기사작성 Start, 일주일 할일 설정.
어제 다이어리 셋팅한 것을 이용하고, XP 에서의 Story 정리방법을 약간 적용하였다. 아직 각 Story 에 대해서 Task 를 안나눴기 때문에, 일단 좀 더 할일들에 대해 구체적인 서술이 필요하다.
아침 기상시간 7시. To Do List 에서 작은 일들에 대해서는 깔끔하게 처리. 단, 약간 단위를 크게 잡은 일들에 대해서 제대로 처리를 못하였다. (2-3시간 걸릴 것이라 생각되는 일들) 차라리 이 일들을 1시간 단위 일들로 더 쪼갰었으면 어떠했을까 하는 아쉬움이 든다.
학교에 도착하고 난뒤 페이스를 제대로 유지못했다. 학교 도착 이후 5시간에 대해서 제대로 활용을 못했다. 일을 시작하기 전에 계속 망설였다. 망설임을 줄이려면 일을 좀더 명확하게 나누었어야 할건데. 암튼.
13 일 (일): 다이어리 셋팅,
컴퓨터고전스터디/20021013
다이어리 셋팅을 하면서 꼭 필요한 기능 & 빼도 상관없는 기능들 궁리중.
- To Do List 에 대해서 Layering 이 필요하다 - 전체지도 : 부분지도 랄까. XP 라면 UserStory : EngineeringTask 를 이야기할 수도 있겠지. EngineeringTask 수준의 경우 Index Card 가 더 편하긴 한데, 보관해야 할일이 생길때 문제다. (특히 2-3일로 나누어서 하는 작업의 경우) 이건 다이어리 중간중간에 껴놓는 방법으로 해결예정. (구멍 3개짜리 다이어리용 인덱스카드는 없을까. -_a 평소엔 보관하다 필요하면 뜯어서 쓰고; 포스트잇이 더 나을까.)
- 개인 사색을 쓸 공간 부족 - 버스에서 중간중간 떠오르는 단상이 아쉽다. (이는 요새 3 x 5 인덱스카드를 충전(?)하지 않은게 문제인듯 하다.)
- WPM 로그 작성 - 주로 연습장에 Summary 를 하는데, 측정데이터를 모으기가 어렵다. Summary 노트를 따로 만드는건 그리 원하지 않고. (Summary 내용을 보는 것보단 Summary 하면서 회상작용을 하는게 더 의미있다고 생각하기에) 이건 그래프를 그리는 게 더 쉬울 것 같다. 그래프는 처음 표만 만들어두면 표시하는데 1분도 안든다는 점에서. 그리고 그래프는 모눈속지 1개만 쓰면 되니까.
Uninstall & Install
현재 다이어리 내 인스톨된 시스템.
- 한달 할일 - 전체중 '일정이 정해진 행위' 에 대해 유효하므로 놔두기
- 하루 할일 - 매일 아침. 또는 그 전날 작성하기.
- 기상 시간 체크 그래프 - 하루 1분 이용. 아직 '개선' 단계까진 가지 못했지만, 일단 계속 체크용.
- 낙서장 - 이녀석은 필요없을듯. 아이디어 궁리할때는 차라리 연습장이 더 편하니까. 차라리 Index Card 나 포스트잇으로 쓰고 중간에 붙이는게 더 유연한 방법이라 생각한다.
데이터 중복되는 것 삭제하고, 이전 로그들 정리하고.. 이로서 다이어리 두께 2/3 으로 줄이는데 성공.
아직은 필요한 시스템만 Install 하는 목표에 충실하도록 노력하자.
Refactoring.
필요한만큼만 .
----
컴퓨터고전스터디/20021013
발표준비할때 책을 3번정도 읽고, 두번을 노트요약정리했다. 나름대로 이해했다고 생각했는데, 중간에 대강 이해한부분에 대해 내 생각을 덧붙여서 이야기하는 우를 범했다. 일단은 텍스트에 충실해야 했는데, 텍스트에 충실하기 위해서는 글을 100% 완벽하게 해석해서 읽는게 첫 단계이리라.
이성의기능 에서의 김용옥의 자세를 다시 생각해야봐야겠다.
텍스트 해석을 제대로 안할수록 그 모자란 부분을 내 생각으로 채우려고 하는 성향이 보인다. 경계가 필요하다. 왜
PowerReading 에서, 모르는 단어에 대해서는 꼬박꼬박 반드시 사전을 찾아보라고 했는지, 저자 - 독자와의 대화하는 입장에서 일단 저자의 생각을 제대로 이해하는게 먼저인지, 오늘 다시 느꼈다. 느낌으로 끝나지 않아야겠다.
- '이해했다' 로 느끼는 것과 그걸 설명하기 위해 완성된 글로 정리하고, 그걸 말로 하기 위해서 해야할일은 다른 것 같다.
- Opening Question 이 부족했다. 개인적 경험과 결부시켜서 질문해볼 수 있었을건데. 아는 선배 (뭐 뻔하지만) 가 대화를 할때 정말 잘하는 기술중 하나가 적절한 질문법이다. 분석이 필요하다.
12 일 (토):
PosterAreaBy1002 , 2번째 문제.
이번에는 TDD 로 하되, TDD쪽보다는 PBI 에 더 주안을 두고 했다. 이런 수학공식 구하기 스타일의 문제의 경우는
StepwiseRefinement 와도 같은 PBI가 굉장히 유용하다는 생각이 든다. 첫번째 문제 풀때 코드-테스트-재정의 식으로(중복보다는 재정의에 더 신경썼기 때문에) 넘어가는게 거의 1분을 넘어가지 않았다.
처음에는
~cpp
int calculateVisiableBoxSize
(int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) {
return 14;
}
void testCalculate () {
assert(calculateVisiableBoxSize(2,3,5,8,4,7,6,10) == 14);
}
void test() {
testCalculate();
}
로 시작하여.
~cpp
int boxSize=15;
int coverBoxSize=1;
return boxSize-coverBoxSize;
~cpp
int boxSize=(5-2)*(8-3);
int coverBoxSize=1;
}
~cpp
int boxSize=(5-2)*(8-3);
int coverBoxSize=(5-4)*(8-7);
~cpp
int getCoverBoxSize (int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) {
return 1;
}
.
.
int boxSize=(x2-x1)*(y2-y1);
int coverBoxSize=getCoverBoxSize(x1,y1,x2,y2,x3,y3,x4,y4);
여기서 다시 문제를 나누었다. Cover Box. 즉 빼야 하는 값을 구하는 문제만으로 포커스를 좁혔다. 너무나도 명백하게 보이기에. 그리고 테스트 케이스를 증가시켜 나가면서 코드를 늘려가는 식으로 만들었다.
~cpp
int getCoverBoxSize (int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) {
return 1;
}
void testGetCoverBoxSize() {
assert(getCoverBoxSize(2,3,5,8,4,7,6,10) ==1);
}
뭐. OO 로 할 수도 있었지만 (아마 Box Object 를 만들고 두개의 intersect box 를 create 한뒤, 각각의 box 에게 area 를 물어보는 식이 되었을듯.) 빠른 값이 나오는게 일단 촛점을 맞춰보았다.
단, OO Style 의 코드에 대해서 PBI 를 너무 강조하다보면
StructuredProgramming 에 더 가까운 OO 가 되지 않을까 한다. PBI는
TopDown 이므로.
나는 절대로 아니라고 생각한다. PBI와 OO는 직교적이다. 만약, 도메인 모델 오브젝트로 "사고"하고 "의도"한다면 OO적인 코드가 나온다(see PosterAreaByJune ). DDD를 참고하길. --JuNe
제가 Structured 로 사고했기 때문에 Structured 스타일로 TopDown 되었다는 생각이 드네요. OO 로 TopDown 을 못하는게 아닌데. 너무 단순하게 생각했군요. --1002
두번째 문제에 대해서는
STL 에 익숙하지 않아서 시간이 1시간 18분이 걸렸다. -_-; 앞의 문제가 거의 20분 내에 끝난것에 비하면 꽤 오래걸린 셈인데. 처음 문제 이해는 굉장히 간단했고, 접근 방법도 문제 읽자 마다 2가지 정도가 보였다. 문제는 내가 permutation 을 구하는 알고리즘을 모른다는 것이였고, 직접 만들어야 했다. 뭐 그래도 별로 안어렵겠다 싶어서 TDD 식의 간단한 접근을 해 보았다. (헉, 소스를 학교에 두고 왔군. -_-;)
역시 접근은 TDD, PBI
대강 pseudo code 로 적으면
~cpp
result = permutation("ab")
assertEquals(result[0], "ab")
assertEquals(result[1], "ba")
그리고 이에 대해서 구현하고 (가장 간단한건 바로 vector 에 ab,ba 를 넣는것) 테스트를 늘렸다. 한단계만 늘리고 바로 알고리즘이 나올 것 같았다.
~cpp
result = permutation("abc")
assertEquals(result[0], "abc")
그리고 접근을 했는데, 너무 알고리즘적으로 접근하려고 했다. (재귀호출을 이용하는 식으로.. 거의 일반화식에 가깝게) 초반 10분정도를 그정도 써먹으니 너무 시간이 아까워서, 일단은 abc 자체만 통과하기 위해 노력을 했다.
그러면서 대강 다음의 코드 스타일이 나온 것 같다. (저 단계보다 더 작은 단계가 있었음. 선택이 a 하나만.)
~cpp
permutation (str, selectable, position) {
if (position == str.size() - 2) {
vector<string> result
result.push_back(selectable)
reverse(selectable.begin(), selection.end())
result.push_back(selectable)
return result
}
for select in selectable:
result.push_back(select)
nextSelectable=removeFrom(selectable, select)
subresults = permutation(str, nextSelectable, position+1)
for subresult in subresults:
.
.
.
}
recursive 를 쓰는것일때 더 작은 단계를 밟는것은 여전히 편한 것 같다. (추후추가)
11 일 (금): TDD
ClassifyByAnagram, 르네상스 클럽
아직은 나에겐 '~한 점에서 결국은 다 같다' 라는 말보다는 '~한 점에서 다르다' 란 말로 배울 수 있는게 더 많은 것 같다. 아는 선배는 '결국 SE 의 큰 틀 내에서의 범주로 놓고 보면 RUP나 XP나 같은게 아니냐' 식으로 이야기한다. 나는 XP의 다른점(지극하게 가벼운 곳부터 시작하여 필요할때 테스크나 스토리로서 추가하는)으로 장점을 얻고자 한다. 아는 선배는 TDD로 하건 뭘로 하건 결국 빠르게 좋은 프로그램을 만들면 된다고 한다. 나는 TDD를 끝까지 해봄(디버깅 툴로 돌리는 시간이 거의 0라는 점, 내가 제어할 수 있는 좋은 질문 & 좋은 답을 만들어내기)으로서 장점을 얻고자 한다. 아직까지는 守의 단계이라 생각하기때문에.
아직 守 를 해야 하는 단계 같은데, 섯부르게 離로 가기엔 아직 장점을 다 씹어먹어보지 못했다는 생각이 든다. 다만, 빨리 민감해져서 破와 離의 단계로 넘어갈 수 있기를 바라지만, 아직 나에겐 무식하게 공부해서 얻을 수 있는 장점이 더 많은 것 같다.
- 단, 離 의 단계에 있는 사람의 말은 'Target' 이다. 단, 같은 결론을 낼 필요는 없겠지.
- 하지만, 결국은 '내 이야기'를 해야 하겠지. 그리고, 터널 비전에 빠지지 말고 때가 될때엔 정확하게 문제를 인식할 수 있기를.
- 오늘 굉장히 빠른 속도로 XP를 흡수하려는 사람을 구경할 수 있는 기회가 되었다. 자기 생활 발전 계획에 대해 방법론을 적용한 것이다. 멋진 가로지르기라 생각.
----
여전히 守 의 단계를 못벗어나는것 같지만.
혹시
FakeIt & Refactoring 으로 진행이 가능할까 생각해보면서 처음에는
FakeIt & Refactoring 만으로 진행해보았다. 근데,
FakeIt 을 하고
Refactoring 을 하려 할때 너무 재정의를 많이 하는 것 같아서 대강 넘어갔는데, 그랬더니 다음 테스트로 진행하기 너무 힘들었다. 알고리즘이 어느정도 보이려고 할때, 앞에서의
FakeIt 으로 유도된 코드들을 수정하는게 아니라 아에 뜯어야 할 것 같아서 망설여졌다.
결국 코드를 만들어가면서 '학습된' 코드 - 각 단어의 요소들 sort index 를 만들고 해쉬테이블을 이용하는 식으로 - 로 바로 팍 하고 진행했는데, 여전히 TDD 보폭이 크다는 생각이 드니 그리 기분이 좋지 않다. (단어들 요소 sort & hash 저장은 처음 개발할때부터 떠올랐던 아이디어여서..)
- 다시 시도한다면? 들어오는 값들을 근거로 일반화시키는 과정을 할 수 있을까..
- 개인적으로 드는 생각은, 중복을 줄이는 것 보다 의도, 의미가 분명하도록 코드를 짜는것이 순위가 더 높아야 될것 같다. (근데, 조금 겁이나는건, intention 의 우선순위를 높이다 보면 refinement 를 너무 깊게 들어가게 된다. 하지만 개인적으론 이것이 더 유용하다고 생각한다. 금방 중복되는 부분이 보이기 때문에.)
PBI와 TDD를 잘 버무려서 적용해 보는 실험을 해보아라. 장점이 나름대로 있다. 단점은, 군더더기가 생기거나 완전히 포기하고 새로짜야 할 일이 종종 있다는 점. 내가 중요하다고 생각한 도메인 오브젝트가 사실은 필요없는 것인 경우가 많다. 시간이 나면 DDD도 공부해 보길. --JuNe
- HotShot을 돌려본 뒤, 가장 시간을 많이 잡아먹는 두 녀석에 대해서 군더더기가 되는 코드들을 삭제했다. 그러다보니, 퍽 하고 알고리즘을 더 향상 시킬 방법이 보였다. 뭐, 이것 고치고 난뒤 사람들 소스들을 보니 거의 비슷한 듯.
- Psyco 를 처음 설치하고 써보게 되었는데, 한 일에 비해 성능향상이 높아서 신기했다.
psyco는 가장 바깥쪽 함수, 클래스만 바인딩해주면 해당 코드가 호출하는 다른 코드들은 직접 알아서 다 바인딩 해준다. 즉, main이라는 함수가 있다면 그것만 바인딩하면 프로그램 내의 모든 코드가 바인딩 되는 셈. --JuNe
----
요 일주일째 기상 시간 그래프 그리는중. 오늘 갑작스레 스코어가 높다.
요새 스케줄 관리에 실패하는 이유
- 아침시간을 잘 못 이용한다. 주로 밥먹고 신문을 보고 메일, 각 위키들 구경 이런식인데,
- 큰 일에 대해서 더 작은 일들로 To Do List 에 나누질 않았다. 요새는 스케줄 관련 정보를 통합관리하기위해 주로 다이어를 이용하는데, 셋팅을 다시해줄 필요가 있을듯.
- To Do List 에 대해서 Layering 이 필요.
- 아침에 반드시! 아침회의(?)가 필요. -_-;
개인적인 시간관리 툴과 책 읽기 방법에 대해서 아주아주 간단한 것 부터 시작중. 예전같으면 시간관리 책 종류나
PowerReading 책을 완독을 한뒤 뭔가 시스템을 큼지막하게 만들려고 했을것이다. 지금은 책을 읽으면서 조금씩 조금씩 적용한다. 가장 간단한 것부터 해보고, 조금씩 조금씩 개인적 시스템을 키워나가기 노력중.
지금 일주일째 유지되는 아주아주 가벼운 시스템으로는
- To Do List - 이건 To Do List 에의 Layering 이 필요하다. 그리고 '시간에 구속되는 To Do' 에 대해서.
- 기상 시간 체크 - 그래프 꾸준히 그리는중. 이제는 분석 & 개선을 해볼 수 있을 것 같다.
- Reading - 따로 노트를 준비하진 않았고, WPM 수치가 지극히 낮긴 하지만. 20분정도 투자로 한번 진행 가능.
10 일 (목): SSH CVS Setting. MMM WPM 측정.
Tortorise 로 드디어 SSH 돌리기 성공!
MythicalManMonth 에 대해서
PowerReading 에서의 방법들을 적용해보았다. 일단은 이해 자체에 촛점을 맞추고, 손가락을 짚을때에도 이해를 가는 속도를 우선으로 해 보았다.
읽는시간 10분, 요약 5분, 요약보충 7분정도. WPM 속도 측정을 떠나서, 책을 읽는데 리듬이 생기는 느낌이 든다. (Chapter 하나에 대해선 네번에 걸치니 끝이 났다. 이해도도 꽤 만족하는중.)
- WPM 은 36.3 - 60%, 60 - 70%, 70 - 65%, 56 - 60%, 67 - 65% . 아직 100 을 안넘긴 하다 -_-; 하지만, 글에 대해 책을 안보고 정리를 할 수 있을정도의 리듬을 탄 것 같아서 나쁘진 않았다. 일단은 이해도가 더 중요하다고 생각하기에.
- 속도와 이해도가 꼭 반비례하는건 아닌것 같다. 영어의 리듬을 제대로 탈때 이해도 제대로 되었다.
- 모르는 단어의 경우 단어의 빈도를 봐서 사전을 찾을때와 나중에 사전을 찾을때를 구분하는것도 좋은 것 같다. 사전을 뒤적거리는데에 일종의 Context Switching 이 일어난다고 할까.
MMM 에서의 제목에 해당하는, 그리고 참으로 자주 인용되는 브룩스 법칙이 나왔다. Communication 비용, 분업화 되기 힘든 일에 대한 비용 문제.
ExtremeProgramming 의 관점으로 다시 바라보고 비판하고 싶지만, 아직은 고민하고 얻어내야 할것이 더 많기에.
MMM 에서의 비유들은 참 멋지단 생각이 든다. 저번 Tar Pit 도 그렇지만, 이번 오믈렛의 비유 또한 정말;
8,9 일 (화, 수): 공연보러 가기. 개인정리.
봄여름가을겨울, 불독맨션, 허벅지밴드 등을 보다.
개인적으로 신기한 사람들은 베이스연주자이다. 리듬악기일까 멜로디 악기일까. 하지만, 그 둔탁하고 낮은 소리는 드럼소리만큼 몸을 울리고 지나간다.
봄여름가을겨울 마지막 부분 연주할때, 베이스와 드럼연주가 점점 속도를 올리더니 날라다니고, 그와 함께 기타가 같이 연주를 타고 무아지경으로 들어가는 모습을 보면서, 감동.감동;
공연장에서의 음악즐기는법과 평소시의 음악즐기는법은 다를 필요가 있는것 같다. 달려요~!
에너지가 넘친다. 사운드가 넘치는 곳, 사람이 넘치는 곳을 보면.
----
Y 로 중앙의 UBS 방송장과 입구쪽의 한총련 모임을 보면서 드는 묘한 생각이란.
----
개인적으로 '만일 내가 책을 쓴다면?' 하는 식으로 할매동산 올라가서 바람쐐며 글 정리 해보기.
글을 정리하면서 '실제 내 행동은 이정도로 질서정연하지 않는데' 하는 생각이 드니, 글을 쓰고 싶지가 않아진다. 한편으로는 글을 써 나가면서 행동을 할때엔, 내 행동을 천천히 관찰하고 행동을 하는 것 같은데.
보통 학습은 '책을 읽을때' 그때보단 '묵혀두었던 기억을 끄집어낼때' 이루어지는것 같다. 또는 '행동으로 끄집어낼때'.
----
슬슬, 다시 '가공된 기억'모으기 시작. 모든 것을 다 표시하는 아날로그보다는, 제어할 수 있는 디지털을 원한다.