https://en.wikipedia.org/wiki/Rubber_duck_debugging

 

Rubber duck debugging - Wikipedia

Code debugging method In software engineering, rubber duck debugging is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book The Pragmatic Programmer in which a programme

en.wikipedia.org

 

이 블로그 제목이 덕코딩인데, 러버덕코딩을 말하는 것 입니다.

 

제 책상위에 조그만 오리가 떡 하니 올려져 있지요.

 

이게 프로그램이랑 무슨 관계인가 하시겠지만 나름 증명된 코딩 기법이긴 합니다.

한마디로 코딩관련하여 혼잣말을 고무 오리에게 하는 겁니다.

 

아 이게 해결안되는데 오리야...이 변수가 말이지 내가 volatile 로 선언을 했거든.

그런데 inline 함수안에 들어가보니깐 말이지.

아차차. 이게 그랬구나..

 

이런 과정으로 해결되는 겁니다.

 

옆에 있는 사람 괴롭하지 말고 오리를 괴롭힙시다!

 

안녕하세요.

많이들 사용하는 NXP RFID (13.56Mhz) 들 칩들만 보기 쉽도록 정리해보았습니다.

단종된 제품(구할 수는 있습니다) 도 있지만 주로 통용되는 칩들이죠.

PN 시리즈와 Micom 포함된 RFID 칩은 제외했습니다.

또한, 타사 제품으로 3s logic 사 것도 있고 st 사 것도 있지만, 그거는 제가 관심만 가지고 실제 사용해보지 않아서

알려드릴 것이 없군요. NXP 사도 Micom 포함된 chip 이 더 싸야 될거 같은데, rfid 칩 따로 cpu 따로 하는 것이 더 저렴합니다.

재밌있는 사실은 특별한 레지지터 지원 유무에 따라 더 세분화된 버전도 있습니다.

정리해보니 plus 모델 빼고 종류별로 20년간 다 사용해보았군요.

NXP 에서 왜 이리 많은 칩들이 있냐면 내부적으로 버전이 올라감에 따라 기능이 개선된게 많습니다.

칩 버그도 개선이 되어서 , 간단한 tag 읽는 정도면 아주 예전 모델도 관계가 없습니다만

교통카드 프로젝트에 사용한다면 최신 칩을 사용하는 것이 안전하지요.

실제로는 66301 / 66302 / 66303 이렇게 세부 버전따라 가격과 기능이 다르긴 한테 큰 변화는 없지요.

참고로 아두이노에서 많이 사용하시는 rc522 보드를 보시면 mfrc522 을 사용하는데 기본적으로 감도가 다른 것이 비해서 낮습니다. 또한 , 말그대로 개발보드이지 rf 튜닝자체가 안되어있는 보드라 "tag 가 읽히네" 여기까지만 의미가 있고

혹시나 싸다고 그런 보드로 양산할 생각을 하시면 큰일납니다. 리더는 하나지만 tag 제조사 및 종류는 수만가지지요.

도움이 되었으면 합니다.

 

안녕하세요.

그동안 만났었던 여러가지 엔지니어들이 생각이 나서 한번 적어봅니다.

저한테 긍정적으로 부정적으로나 매우 지대한 영향을 주신 분들입니다.

심각하게 생각하지는 말아주세요~~~

1. 코드 구루

- 나보다 3살 정도 많다.

- 코드 설계 컨셉을 보면 무조건 레퍼런스로 잡고 싶게끔 예술적으로 코딩한다.

- 아트웍부터 DB까지 못하는 게 없다.

- 새로운 것에 두려움이 없다.

- 한번에 기술적인 파악이 가능하다. 된다 안된다.

- 논리적인 이야기가 가능하며 논리적인 판단과 이해가 빠르다.

- 실수를 매우 빨리 인정한다.

2. 올드맨 1

- 10살 많으신 외부 업체

- 통신 프로토콜 테스트 하러 갔는데 본인은 시뮬레이터로 다 테스트 했다면서 다른일을 하고 있고,

이상한점 있으면 알려달라고 한다. 물론 100% 그 사람은 완벽하고 나는 진땀을 빼며 코딩하고 있었다.

- 근데 소스를 asm 로 작업하셨다. 어느날 갑자기 그 프로그램 바꿔야 된다며 어느새 C 로 코드 전체 변경 완료.

3. Giver

- 항상 웃는 모습에 마르신 분

- 초보때 몇달간 끙끙 고민하고 있으니 다른 옆에 프리랜서 직원(아마 10살 정도 많은 듯)이 안되는 거 있냐고

물어봄. (완전 다른 회사에 다른 소속임)

- xml 라이브러리를 직접 구현해서 마이컴에 포팅하고 있었느데, 자기가 도와주겠다며 (본인은 윈도우 서버 개발자)

C 로 라이브러리 정리해서 전달 받음.

- SI 환경에서 모두들 밤새는데 그 분은 룰루랄라 모든 일을 마치고 다른 사람 도와줄거 없나 뒷짐지고 둘러보는 초인.

4. 올드맨 2

- 마이컴을 평생 AVR 한 종류만 사용

- 32bit ST 사 개발환경을 소개하니 손을 절래절래. 나는 8 bit 야.

- 소스를 넘겨 받으니 이름이 비슷한 전역변수의 대잔치

- 디버깅은 온리 jtag 으로만.

5. 자부심맨

- 윈도우 프로그램과 232 통신 프로토콜문제가 생겨서 , 232 로직 아날라이저로 캡춰해서 증거 작성.

- 윈도우 프로그래머 왈 이런 기계는 처음 보며 나는 믿을 수 없고, 내가 오로지 믿는 것은 윈도우 스텝 디버깅과

메모리창이라고 함.

- 논블럭킹 윈도우의 드라이버 구조에 대해서 설명했지만 계속 본인이 맞다고 주장.

- 나중에는 본인이 S사 출신이라고 강력히 어필함.

어디 감히 중소기업 개발자가 전 S 사 개발자한테 가르치냐는 모양새.

- 나는 로직 아날라이저 자료로 증거를 내밀고 , 상사에게 보고함. 우리쪽 상사는 그 회사 사장한테 이야기해줌.

- 몇 달있다 퇴사.

6. 외국 할아버지 개발자

- 60대 돋보기 안경너머로 슬금슬금 코딩

- 나는 kernel 과 예제 프로그램 정도만 공급하고 외국 개발자가 실제 코드 작성.

- C 언어가 만국 공통어이므로 일하는데 아무 지장 없음. 코드 보여 주고 끄덕하고를 몇 일간 반복.

- 생산 일자가 다가오는데 최종 프로그램을 주지 않고 단순한 아이디 접속 화면 프로그램 보내줌. 이거면 된다고.

- 그 프로그램으로 양산하고 해외 출장해서 보니 최초 프로그램은 단순히 접속 로딩 프로그램으로 설치 후

비번 입력하니 단말기별로 새로운 프로그램 다운로드 시작. 10분 후 원래 정상적인 프로그램이 뜨며 동작.

아~~ 양산일정에 쫓기지 않고 이렇게 프로그램 할 수도 있구나...

- 어느날 그 사람의 로그를 분석해보았는데 xml 구조로 로그가 깔끔하게 정리되어 있었음.

 

7. 어느 QT 개발자

- 개발 외주를 주고 소스를 받음.

- 변수 이름이 one , two ,three, four. 정말로 모든 함수내 그리고 전역 변수이름이 하나 둘 셋 넷

- 굉장히 일관적이라 왜 그렇게 했냐고 하니 자기는 그게 이해하기기 쉽다고 함.

- 아 세상은 넓구나.. T.T

+ Recent posts