journal:201306
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
journal:201306 [2013/06/28 03:45] – 39.7.20.193 | journal:201306 [2018/07/18 14:10] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 16: | Line 16: | ||
Nokia6100Test 프로젝트 정리 | Nokia6100Test 프로젝트 정리 | ||
- | | + | - ResouceFilter에서 main_*.c 파일 exclude 한거 뺌 |
- | 2. 현재 모든 파일이 eZ430_WSM_ROOT12이 | + | |
+ | |||
+ | 다음에 리눅스에서 할때는 다시 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:// | ||
+ | |||
+ | ====== 6월 30일 ====== | ||
+ | |||
+ | 머리속에 드는 생각 | ||
+ | - 지금 아니면 못할 일들은 무엇인가? | ||
+ | - 나는 언제 보람을 느끼나: 여러개 하는것 보다, 작은것의 다양한 뷰포인트를 볼 때 보람을 느낌. | ||
+ | |||
+ | 이 두가지 생각에 따라서 내 일상이 흘러가면 좋겠다. 그리고 실행력있게. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Growing Object-Oriented Software, Guided by Tests ===== | ||
+ | |||
+ | 어제 사당 반디앤로니스에서 구입한 책. 코딩도조 책에서 언급이 있었는데, | ||
+ | |||
+ | 이 책에게 바라는 점: | ||
+ | |||
+ | * 코드가 자라나는 방식의 다른 뷰(켄트벡이 자신의 방법과 다르다고 함)을 보고 싶다. | ||
+ | * 현재 프로젝트에 적용하는게 목표. | ||
+ | |||
+ | < | ||
+ | |||
+ | 이책을 영어로 읽었으면 얼마나 스트레스 받았을까? | ||
+ | 방법 없나? TDD가 스트레스 줄이면서 코딩하는것을 가르쳐 줬듯. | ||
+ | |||
+ | |||
+ | 5p 점진적 개발 | ||
+ | |||
+ | |||
+ | 점진적인 개발에서는 모든 꼐층과 구성 요소를 구축한 다음 그것들을 마지막에 | ||
+ | 통합하는 대신 시스템을 기능별로 구축한다. 각 기능은 시스템의 모든 관련 | ||
+ | 부분에 걸쳐 전 구간에 이르는 ' | ||
+ | |||
+ | |||
+ | 7p 테스트 주도 개발의 황금률 | ||
+ | |||
+ | 실패하는 테스트 없이는 새 기능을 작성하지 말라. | ||
+ | |||
+ | |||
+ | 나에게는 잘안 지켜지는 률. | ||
+ | |||
+ | 16p 값과 객체 | ||
+ | |||
+ | |||
+ | 시스템을 설계할 때는 값과 객체를 구분하는 것이 중요하다. 여기서 값은 변하지 | ||
+ | 않는 양이나 크기를 나타내며, | ||
+ | 모르지만 식별자가 있는 계산절차를 나타낸다. | ||
+ | |||
+ | 최대한 객체를 적게 만드는게 사이드 이펙트와 의존도를 줄이는 이라고 한다. | ||
+ | |||
+ | 객체를 변경하는것 보다 변경할 때마다 값으로 새롭게 생성해서 쓰는 방법 연구필요. | ||
+ | |||
+ | |||
+ | 17p 메시지를 따르라 | ||
+ | |||
+ | 객체 간의 의사소통에 초점을 맞추는 행위가 어떻게 설계를 바꿀까? 앨런케이의 말이 | ||
+ | 이해는 같지만 그게 구체적으로 설계를 어떻게 바꿀지는 생각 못해봤는데, | ||
+ | ㅡ.ㅡ; 잘 이해가 안갔다. 앨런케이말은 한번에 이해 안가니깐, | ||
+ | . | ||
+ | |||
+ | 19p 묻지 말고 말하라? | ||
+ | |||
+ | 문지 말고 말하라는 무슨 말이지? | ||
+ | -> 호출할때 여러 메소드의 체인을 통해 묻는것보다. 묻는 것 자체에 말하는 | ||
+ | 메소드(내부적으로는 질문을 통해서 말하고 하는 답을 구하겠지만)를 쓴다. | ||
+ | |||
+ | < | ||
+ | ((EditSaveCustomizer) | ||
+ | master.getModeliable().getDockablePanel().getCustomizer()).getSaveItem().setEnabled(Boolean.FALSE.booleanValue()); | ||
+ | |||
+ | // 대신에 | ||
+ | master.allowSavingOfCustomizations(); | ||
+ | // 를 쓰는게 낫다는 이야기 | ||
+ | </ | ||
+ | |||
+ | 이거 컬렉션 쓸 때 체인으로 많이 부르는데, | ||
+ | 원하는 답을 정확하게 이야기 하도록 하는게 중요. | ||
+ | |||
+ | 또 많이 쓰는 패턴으로 컬렉션에서 filter 하는 예제도 알려주는군 | ||
+ | |||
+ | < | ||
+ | if (carriage.getSeates().getPercentReserved() < percentReservedBarrier) | ||
+ | </ | ||
+ | 보다는 | ||
+ | |||
+ | < | ||
+ | if (carriage.hasSeatsAvailableWithin(percentReservedBarrier) | ||
+ | #+END_SRC | ||
+ | </ | ||
+ | |||
+ | 그런데 내경우는 이런 경우 아래처럼 한번에 호출되도록 만들기는 하는데, 정확하게 | ||
+ | 이름을 뭐로 할지 고민이 되는 경우가 많다. 영어의 문장 구성하는게 어려워서 그런다. | ||
+ | 컬렉션 사용하는 이런 패턴도 몇가지로 나눌 수 있는데 조사할 필요가 있다. | ||
+ | 워드의 코드 보면, 이런 법칙을 참 짧고 우하하게 쓴다. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | 그런데 이런 코드를 보면, 구지 추상화 하지 않았다. 음 그냥 스몰토크 마이크로 | ||
+ | 패턴. | ||
+ | |||
+ | 그런데 재밌는것은 | ||
+ | https:// | ||
+ | |||
+ | Page 클래스를 만드는 것은, 위키의 구조로 부터 객체를 발견하는 과정에서 만들어진 | ||
+ | 파생물 같은 느낌이다. 시나트라에서 코딩한다면 구지 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/ | ||
+ | 4. O’s direct component objects | ||
+ | |||
+ | |||
+ | 코드의 추상화 레벨을 여기 저기 뛰어 넘지 않고, 최대한 주변의 관련있는 친구들과 | ||
+ | 관계를 맺는 법칙이군. | ||
+ | |||
+ | 요즘 산만한 나에게 필요한 법칙. 정리가 필요해. | ||
- | 다음에 리눅스에서 할때는 다시 ez430_WSM_ROOT1 로 바꾸면 되겠군! | ||
journal/201306.1372391130.txt.gz · Last modified: 2018/07/18 14:09 (external edit)