이펙티브 디버깅 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
디오미디스 스피넬리스 지음, 남기혁 옮김 / 한빛미디어 / 2017년 5월
평점 :
품절


CHAPTER 1. 고차원 전략

CHAPTER 2. 범용적인 디버깅 기법

CHAPTER 3. 범용 도구를 활용한 기법

CHAPTER 4. 디버거 활용법

CHAPTER 5. 프로그래밍 기법

CHAPTER 6. 컴파일 시간 기법

CHAPTER 7. 실행 시간 기법

CHAPTER 8. 멀티스레드 코드 디버깅하기


책을 읽으면서 가장 좋았던 점은 아이템별로 나누어 놓아서 목차를 보고서,

필요한 부분을 찾아서 바로   있다는 점이다.

차례대로 읽어도 좋지만시간이 없고 내가 원하는 부분만을   있다.


또한 개발자로서 이론적으로 알고 있었던 내용을 한번  짚어주고

구현하기 전에는 어떤식으로 설계하고 개발을 하면 좋을지를,

문제가 생겼을 경우에는 어떤 도구를 어떤식으로 사용하면 좋을지를,

알기 쉽게 작성해 놓았다.

중간중간 읽으면서 필요한 부분에 대해서 추가적으로 어떤 아이템(chapter 아이템이라 표현) 보면 도움이 되는지도 나와있어서 따라서 보기 좋았다.


특히나 여러분야(임베디드하드웨어소프트웨어 ) 두루 맞추어서 나와 있었다.

그리고 평소 사용하지 않았던 도구들에 대한 설명이 있어서 한번 보고 따라서 구축해 봐야겠다는 생각을 하게 되었다.


개발도 중요하지만

개발 전에 설계  환경 구성이 중요하다는 것도 다시 한번 생각하게 되었고

개발  유지보수를 위해서는 테스팅하는 방법과 코드리뷰의 중요성에 대해서 다시 한번 생각하게 되었다.


책에서는 세가지 주제로 설명을 했다.

전략과 기법장애에 대처하고 해결하기 위한 사항을 설명

기술과 도구디버깅을 위해 투자해야  대상과 기술과 도구를 익히는 방법에 대해서 설명

디버깅 요령문제  대응  적용할 만한 요령에 대해 설명.


소프트웨어의 설계 단계

역할에 맞는 고차원 메커니즘 적용

디버깅 방식 마련

시스템의 작동 과정을 모니터링하고 로그 남기는 메커니즘 구성

유닉스 명령줄 도구를 스트립트로 작성하여 활용

내부에서 발생하는 오류는 명확히 들어나게 준비

오류가 발생한  메모리 덤프를 가져오는 방법 확보

소프트웨어가 비결정적으로 실행되는 원인과 현상 최소화


소프트웨어의 구현 단계

동료로부터 피드백 받기

루틴을 작성할 때마다 단위 테스트 만들기

어서션으로 가설과 코드의 정확성을 검증

코드를 최대한 가독성안정성 있는 형태로 구현

빌드과정에 비결정성이 발생할 근원을 차단


소프트웨어 개발과 운영 작업을 관리할 

이슈를 기록하고 추적

작업할 이슈를 분류하고 우선순위 작성

버전 관리 시스템을 이용하여 소프트웨어의 변경 사항을 기록

이전 버전과  버전을 비교할  있도록 배치

도구와 라이브러리를 정기적으로 업데이트

하드웨어 인터페이스와 임베디드 시스템을 디버깅하기 위한 전용 키드 마련

원격에서 디버깅하는 환경 구축

- cpu 저장공간 준비

코드리뷰와 멘토링을 통한 개발자끼리의 협업 유도

테스트 중심의 개발 방법론 도입







댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo