Embedded C에서 TDD를 실천하기 위해 시도했던 경험과 방법을 기록해 보았습니다.
HW로부터 생기는 버그인지 SW로부터 생기는 버그인지 짐작조차 되지 않는 상황이 자주 발생한다면, TDD를 시작해보세요.
이 자료에서는 호스트 시스템(PC)에서 TDD를 실천하는 방법과 타깃 시스템(nRF51-DK)에서 TDD를 실천하는 방법을 기록하였습니다.
또한, nRF51-DK가 아닌 다른 보드를 가지고 있더라도 실천 가능합니다.
ktim610@gmail.com
Embedded C에서 TDD를 실천하기 위해 시도했던 경험과 방법을 기록해 보았습니다.
HW로부터 생기는 버그인지 SW로부터 생기는 버그인지 짐작조차 되지 않는 상황이 자주 발생한다면, TDD를 시작해보세요.
이 자료에서는 호스트 시스템(PC)에서 TDD를 실천하는 방법과 타깃 시스템(nRF51-DK)에서 TDD를 실천하는 방법을 기록하였습니다.
또한, nRF51-DK가 아닌 다른 보드를 가지고 있더라도 실천 가능합니다.
ktim610@gmail.com
[DEVIEW 2017] 14일만에 GitHub 스타 1K 받은 차트 오픈소스 개발기Jae Sung Park
차트란 무엇일까요? 차트는 우리가 일상에서 아주 쉽게 자주 접하지만, 막상 개발자로써의 경험을 하는 동안 차트 개발(적용)은 쉽게 경험해 보기 어려운 영역이기도 합니다.
본 발표는 '차트'라는 영역에 대한 개발 경험기와 함께 오픈소스로 공개 후, 단 기간 내에 많은 주목을 받기 까지의 과정을 통해 어떻게 의미있는 성과를 글로벌 하게 얻을 수 있었는가에 대한 오픈소스 성장에 대한 경험도 같이 공유합니다.
이를 통해 다양한 오픈소스 개발 시도와 참여가 활발히 이루어 지는데 도움을 줄수 있게 되기를 기대 합니다.
16. Q. 외부 자바스크립트 라이브러리를 쓰려면?
Typescript를 쓰면서 일어났던 문제점과 해결
jQuery 사용하기
declare var jQuery: any;
this.schedule = jQuery(this.el.nativeElement.children[0]);
this.schedule.fullCalendar('refetchResources');
var jQuery: any; // 이것도 같은 결과이다.
17. Q. 외부 자바스크립트 라이브러리를 커스텀
하려면?
Typescript를 쓰면서 일어났던 문제점과 해결
달력 헤더 부분 개발을 위해 fullcalendar.js 를 썼다.
(https://fullcalendar.io/)
18. Q. 외부 자바스크립트 라이브러리를 커스텀
하려면?
Typescript를 쓰면서 일어났던 문제점과 해결
해결책
=> 복붙 ( 복사 + 붙여넣기 )
19. Q. 외부 자바스크립트 라이브러리를 커스텀
하려면?
Typescript를 쓰면서 일어났던 문제점과 해결
Angular Calendar 프로젝트 추천
(https://github.com/mattlewis92/angular-calendar)
20. 1. jQuery를 끌어다 쓰려합니다.
2. 매핑되는 jQuery.d.ts를 찾아보아야합니다.
3. 두가지 방법이 있습니다.
a. typing 프로그램 검색합니다.
b. https://github.com/DefinitelyTyped/DefinitelyTyped
4. jQuery.d.ts 를 확인해보니 최신 jQuery3는 지원하지않습니다.
a. 이슈: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/13258
5. 최신 기능이 .d.ts에 없을 수도 있다는 것을 알 수 있습니다.
해결책 ⇒ 직접 기여
Q. 외부 라이브러리를 쓸 때 타이핑버젼도
고려해야한다.
Typescript를 쓰면서 일어났던 문제점과 해결
21. Q. 외부 라이브러리를 쓸 때 타이핑버젼도
고려해야한다.
Typescript를 쓰면서 일어났던 문제점과 해결
특정 jQuery버전을 사용하고 싶을 때 제공된 것 중 어떤 .d.ts버전을
사용해야하는가?
https://www.npmjs.com/package/@types/jquery 의 버전 리스트(왼쪽 사진)
중에 골라야 합니다.
Q1. 저 버전이 그래서 jQuery 버전이랑 어떤 관련이 있나?
Q2. DefinitelyTyped/DefinitelyTyped 의 커밋중에 어떤 버전인가?
해결책 ⇒ 직접 받아서 commit이랑 비교해서
해결하였습니다.
(git bisect + md5sum 돌다리두드리기)
22. Q. Typescript 버전 업
Typescript를 쓰면서 일어났던 문제점과 해결
Typescript 1.8 Typescript 2.0
Angular와 같이 같은 시기에 넘어갈 수 있어서 문제
없었음
23. Q. Typescript 버전 업
Typescript를 쓰면서 일어났던 문제점과 해결
Typescript 2.0 Typescript 2.1
Angular 쪽이 준비되어 있지 않아서 이슈가 있었음
- Typescript 2.1에서는 Angular가 NgModule을 제대로 확인하지 못함.
- 최신 2.1.4 버젼을 못 쓰고, 2.0.10으로 고정해서 썼음.
Angular4 에서는 해당 이슈 해결
24. Q. 반대로 라이브러리가 precompiled 되면?
Typescript를 쓰면서 일어났던 문제점과 해결
반대로 어떤 Angular 라이브러리가 Typescript 2.1+로 precompiled 되어 있을 경우, 이를 Typescript 2.0
환경의 Angular에서 불러오려고 하면 같은 문제가 생김.
해결책
1. 라이브러리를 포크해서, 새 임시 브랜치를 팝니다.
2. package.json을 수정해서 typescript 2.0 환경으로 맞춰줍니다.
3. 다시 빌드합니다.
4. 테스트를 돌려줍니다.
5. 커밋을 합니다.
6. 그리고 그 커밋을 우리 프로젝트에서 사용하는 것으로 해결 (아래 이미지)
25. Q. Inoic2 으로 넘어갈 때 문제점과 해결
Typescript를 쓰면서 일어났던 문제점과 해결
웹 프로젝트의 컴포넌트를 그대로 넘겨받아 사용할 수 있었다.
단, Ionic이 Angular 버젼을 최신으로 따라오는걸 기대하지는 못한다.