User Tools

Site Tools


journal:201306

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
journal:201306 [2013/06/24 06:25] dongheejournal:201306 [2018/07/18 14:10] (current) – external edit 127.0.0.1
Line 6: Line 6:
  
 오늘 구입한 것 오늘 구입한 것
- 로지텍 G100 두개 +  * 로지텍 G100 두개 
- 젠하이져 HD 280 pro  +  젠하이져 HD 280 pro  
 + 
 요즘 뭘할까 계속 고민중.  요즘 뭘할까 계속 고민중. 
 +
 +
 +====== 6월 28일 ======
 +
 +Nokia6100Test 프로젝트 정리
 +
 +  - ResouceFilter에서 main_*.c 파일 exclude 한거 뺌
 +  - 현재 모든 파일이 eZ430_WSM_ROOT12이 ez430_WSM_ROOT_LINUX으로 연결이 되어 있었는데(아마도 리눅스 환경으로 바뀌면서) 이걸 다시 eZ430_WSM_ROOT 으로 바꾸었다. 
 +
 +다음에 리눅스에서 할때는 다시 Linked Resouceces 에서 환경변수를 eZ430_WSM_ROOT을 ez430_WSM_ROOT_LINUX 로 바꾸면 되겠군!
 +
 +
 +... 음
 +
 +
 +통신하는 파트로 넘어가자. Serial포트로 신호를 보내면 LED 깜박이는 거를 만들어 보자.
 +
 +main_ED.c 와 main_AP.c 분석중
 +
 +
 +질문:
 +  - VLO가 뭐지? -> A feature of most 2xx devices is the very low oscillator (VLO). This oscillator is designed to give a   . VLO는 기본 세팅에서 12KHz로 작동한다고 한다. MSP430F2274도 그럴려나?
 +
 +네트워크 링크 연결없이 그냥 Send 해봤는데 스펙트럼 애널라이저에 신호가 뜨지 않는다. 
 +CC2500의 신호범위 (2400MHz ~ 2483.5MHz), 그런데 주파수는 어떻게 바꾸지? SimpliciTI 라이브러리에서 채널을 바꾸면 주파수도 변하나?
 +
 +
 +참고:
 +  - cc2500 라이브러리 https://github.com/alvarop/msp430-cc2500
 +
 +====== 6월 30일 ======
 +
 +머리속에 드는 생각
 + - 지금 아니면 못할 일들은 무엇인가?
 + - 나는 언제 보람을 느끼나: 여러개 하는것 보다, 작은것의 다양한 뷰포인트를 볼 때 보람을 느낌.
 +
 +이 두가지 생각에 따라서 내 일상이 흘러가면 좋겠다. 그리고 실행력있게.
 +
 +
 +
 +===== Growing Object-Oriented Software, Guided by Tests =====
 +
 +어제 사당 반디앤로니스에서 구입한 책. 코딩도조 책에서 언급이 있었는데, 주영님이 인사이트 블로그에서 추천하시는 듯 해서 제대로 읽어 볼려고 구입.
 +
 +이 책에게 바라는 점: 
 +
 +  * 코드가 자라나는 방식의 다른 뷰(켄트벡이 자신의 방법과 다르다고 함)을 보고 싶다. 
 +  * 현재 프로젝트에 적용하는게 목표.
 +
 +<2013-06-30 일 11:31>
 +
 +이책을 영어로 읽었으면 얼마나 스트레스 받았을까? 반대로 스트레스 받지 않고 영어로 읽을
 +방법 없나? TDD가 스트레스 줄이면서 코딩하는것을 가르쳐 줬듯.
 +
 +
 +5p 점진적 개발
 +
 +
 +    점진적인 개발에서는 모든 꼐층과 구성 요소를 구축한 다음 그것들을 마지막에
 +    통합하는 대신 시스템을 기능별로 구축한다. 각 기능은 시스템의 모든 관련
 +    부분에 걸쳐 전 구간에 이르는 '조각'으로 구현한다. 
 +
 +
 +7p 테스트 주도 개발의 황금률
 +
 +    실패하는 테스트 없이는 새 기능을 작성하지 말라.
 +
 +
 +나에게는 잘안 지켜지는 률. 
 +
 +16p 값과 객체
 +
 +
 +    시스템을 설계할 때는 값과 객체를 구분하는 것이 중요하다. 여기서 값은 변하지
 +    않는 양이나 크기를 나타내며, 객체는 시간이 지남에 따라 상태가 변할지도    
 +    모르지만 식별자가 있는 계산절차를 나타낸다.
 +
 +최대한 객체를 적게 만드는게 사이드 이펙트와 의존도를 줄이는 이라고 한다. 
 +
 +객체를 변경하는것 보다 변경할 때마다 값으로 새롭게 생성해서 쓰는 방법 연구필요.
 +
 +
 +17p 메시지를 따르라
 +
 +객체 간의 의사소통에 초점을 맞추는 행위가 어떻게 설계를 바꿀까? 앨런케이의 말이
 +이해는 같지만 그게 구체적으로 설계를 어떻게 바꿀지는 생각 못해봤는데, 아니
 +ㅡ.ㅡ; 잘 이해가 안갔다. 앨런케이말은 한번에 이해 안가니깐, VPRI 스태프들도 그랬구
 +.
 +
 +19p 묻지 말고 말하라?
 +
 +문지 말고 말하라는 무슨 말이지?
 +  -> 호출할때 여러 메소드의 체인을 통해 묻는것보다. 묻는 것 자체에 말하는
 +  메소드(내부적으로는 질문을 통해서 말하고 하는 답을 구하겠지만)를 쓴다. 
 +
 +<code>
 +((EditSaveCustomizer)
 +master.getModeliable().getDockablePanel().getCustomizer()).getSaveItem().setEnabled(Boolean.FALSE.booleanValue());
 +
 +// 대신에 
 +master.allowSavingOfCustomizations();
 +// 를 쓰는게 낫다는 이야기
 +</code>
 +
 +이거 컬렉션 쓸 때 체인으로 많이 부르는데, master가 대신 묻지 말고, master가
 +원하는 답을 정확하게 이야기 하도록 하는게 중요. 
 +
 +또 많이 쓰는 패턴으로 컬렉션에서 filter 하는 예제도 알려주는군
 +
 +<code>
 +if (carriage.getSeates().getPercentReserved() < percentReservedBarrier)
 +</code>
 +보다는 
 +
 +<code>
 +if (carriage.hasSeatsAvailableWithin(percentReservedBarrier)
 +#+END_SRC
 +</code>
 +
 +그런데 내경우는 이런 경우 아래처럼 한번에 호출되도록 만들기는 하는데, 정확하게
 +이름을 뭐로 할지 고민이 되는 경우가 많다. 영어의 문장 구성하는게 어려워서 그런다.
 +컬렉션 사용하는 이런 패턴도 몇가지로 나눌 수 있는데 조사할 필요가 있다.  
 +워드의 코드 보면, 이런 법칙을 참 짧고 우하하게 쓴다. 
 +
 +https://github.com/WardCunningham/Smallest-Federated-Wiki/blob/master/server/sinatra/stores/file.rb
 +
 +그런데 이런 코드를 보면, 구지 추상화 하지 않았다. 음 그냥 스몰토크 마이크로
 +패턴.
 +
 +그런데 재밌는것은
 +https://github.com/WardCunningham/Smallest-Federated-Wiki/blob/master/server/sinatra/page.rb
 +
 +Page 클래스를 만드는 것은, 위키의 구조로 부터 객체를 발견하는 과정에서 만들어진
 +파생물 같은 느낌이다. 시나트라에서 코딩한다면 구지 Page 클래스를 만들거 없이
 +파일이나, DB를 통해서 페이지를 생성하고 지우고 그럴텐데, Page라는 클래스를
 +통해서만 위키 페이지를 다룬다. 
 +
 +무엇을 객체로 만들고 객체에는 어떤 메소드가 있어야 하는지에 대한 답을 구하는 방법을 알면 좋겠다.
 +
 +Law of Demeter가 뭐지?
 +
 +    More formally, the Law of Demeter for functions requires that a method M of an object O may only invoke the methods of the following kinds of objects:
 +    1. itself
 +    2. M’s parameters
 +    3. any objects created/instantiated within M
 +    4. O’s direct component objects
 +    
 +
 +코드의 추상화 레벨을 여기 저기 뛰어 넘지 않고, 최대한 주변의 관련있는 친구들과
 +관계를 맺는 법칙이군. 
 +
 +요즘 산만한 나에게 필요한 법칙. 정리가 필요해.
  
  
journal/201306.1372055145.txt.gz · Last modified: 2018/07/18 14:09 (external edit)