본문 바로가기

분류 전체보기339

[2부 코드의 비밀스러운 일생] Chapter8 시험 보는 시간 테스트는 코드 공예에 있어서 필수불가결한 요소 프로그램을 잘 작성하는 사람이라면 디버깅보다 테스트를 훨씬 더 많이 할 것이다. 에러(error) 당신이 일을 잘못하는 것을 에러라고 한다 사람이 행하는 동작 소프트웨어에 결함을 일으키는 원인 결함(fault) 결함은 에러의 결과 소프트웨어 안에 실체가 존대한다 고장(failure) 결함과 마주치면 그로 인해 고장이 일어날 수도 있다 버그(bug) 버그는 구어체 용어, 종종 결함과 동의어로 사용 소프트웨어 개발자로서 코드를 테스트하는 방법에 초점을 맞추자 누가, 무엇을, 언제, 왜? 왜 테스트를 하나 테스트는 결함이 없다는 사실은 절대 보여줄 수 없다 결함이 있다는 사실만 보여줄 뿐이다 누가 테스트를 하나 소스 코드의 테스트는 소스 코드를 작성한 프로그래머의.. 2017. 10. 29.
[2부 코드의 비밀스러운 일생] Chapter7 프로그래머의 도구 상자 훌륭한 기술자로 만드는 것은 이런 도구의 사용이다. 멋진 코드를 다듬어내기 위해서는 숙련된 기술자, 훌륭한 툴, 코드를 다듬는 방법의 마스터가 필요 프로그래밍은 정말로 툴이 없으면 안 되는 분야 그럼 eclipse는 무슨 IDE로 만들었을까? 소프트웨어 툴이란? 프로그램을 빌드하는 프로그램 복잡성 아주 특정한 작업을 수행하는 것부터 전체 프로젝트에 관련된 것까지 사용 빈도 계속 사용되고, 필요할 때 엄청난 가치가 있다 인터페이스 예쁜 GUI 혹은 명령행 인터페이스 통합 그래픽 통합 개발 환경 비용 무상에서 유상까지 품질 왜 툴 걱정을 해야 하지? 툴은 우리가 일을 할 수 있게 만들어줄 뿐이다. 적절한 일에 적절한 툴을 적용할 줄 아는 것도 능숙한 프로그래머가 되기 위한 조건 중 하나 생활을 편하게 만들 .. 2017. 10. 28.
[1부 코드와 마주보기] Chapter6 사람은 실수를 하기 마련 우리는 유일한 실수 예방 방법이 실수를 감지하는 것이고, 유일한 실수 감지 방법이 자유롭게 질문하는 것이라는 사실을 알고 있습니다. - J. 로버트 오펜하이머 코드 안에 있는 발생할 수 있는 모든 에러 상황을 반드시 처리해야만 한다. 어디에서 나왔나? 에러는 불완전한 프로그램에 포함되어 있는 버그와는 다르다. 사용자 에러 훌륭한 프로그램이라면 그럴 때 사용자의 잘못을 지적하고 교정하도록 도와줄 것이다. 프로그래머 에러 이것은 다른 곳에 있는 버그나 프로그래머의 실수로 인한 결과 예외상황 하드디스크 공간 없음, 네트워크 연결 실패 에러 리포트 메터니즘 리포트 안 하기 에러 상황을 무시하지 말자 리턴 값 간단한 에러 리포트 메커니즘은 함수가 성공/ 실패 값을 리턴 하도록 만드는 것 에러 상태 변수 함수의 리.. 2017. 10. 27.
[1부 코드와 마주보기] Chapter5 가벼운 코멘트 코멘트(comment: 주석)는 의견과 아주 비슷합니다. 코멘트를 다는 것은 자유지만, 그렇다고 해서 반드시 그 내용이 옳은 것은 아니다. 코멘트는 우리의 생명선이고, 촉진제이고, 코드 전체를 통한 길잡이이다. 코멘트를 잘 다는 것은 위험한 코드를 예방하는 전략 중 하나이다. 코멘트란 무엇인가? 생각하는 것보다 더 철학적인 것 문법적으로 코멘트는컴파일러가 무시하는 소스 블록 코멘트는 컴퓨터가 겨냥하는 것이 아니라 프로그램을 읽는 사람을 겨냥한다. 우리는 책임 있는 프로그래머로서 코멘트를 잘 달아야 할 의무가 있다. 얼마나 많은 코멘트가 필요할까? 우리는 코멘트의 양이 아니라 질에 초점을 맞출 필요가 있다. 지나치게 많은 코멘트는 코드를 뒤죽박죽으로 만든다. 수 톤의 코멘트로 떠받칠 필요가 없는 코드를 작.. 2017. 10. 26.
히가시노 게이고의 <나미야 잡화점의 기적> 나미야 잡화점의 기적국내도서저자 : 히가시노 게이고(Keigo Higashino) / 양윤옥역출판 : 현대문학 2012.12.19상세보기 한마디로 말해서 '아는 사람들 모두에게 추천하고 싶은 책'이다. 보는내내 시간이 가는지 몰랐다. 쉽게 읽히고, 어려운 내용도 없었다. 짧게 이야기의 줄거리를 설명하자면 나미야 잡화점이라는 작은 잡화점에서 고민 상담을 해주는 내용인데 30년의 시공간을 초월하는 상담이 이뤄지면서 여러 에피소드가 일어나는 이야기이다. 여기서 고민 상담이 완벽한 사람이어야만 할 수 있는 것이 아니라, 지극히 평범한 사람이라도 상담을 해줘야 할 때라면 고민에 대한 답을 해 줄 수 있다는 것이다. 꼭 지식이나 경험이 많은 사람이 상담을 해야 되는 것이 아니라고 말하고 있다. 또한 고민에 대한 답.. 2017. 10. 24.
제6장 시스템 자료 파일과 시스템 정보 2017/10/18 - [프로그래밍/UNIX 고급 프로그래밍] - 제5장 표준 입출력 라이브러리 6.1 소개 유닉스 시스템의 통상적인 운영에는 여럭 가지 파일이 요구된다. 이런 자료 파일들에 대한 이식성 잇는 인터페이스가 이번 장의 주제이다. 또한 이번 장에서는 시스템 식별 함수들과 시간 및 날짜 함수들도 살펴본다. 6.2 패스워드 파일 POSIX.1에서는 사용자 데이터베이스라고 부르는 UNIX 시스템의 패스워드 파일에는 도해 6.1과 같은 필드들이 들어 있다. 이 필드들은 에 정의된 passwd 구조체의 필드들에 대응된다. 도해 6.1 /etc/passwd 파일의 필드들설명 해당 passwd구조체 멤버 POSIX.1 FreeBSD8.0 Linux 3.2.0 Mac OS X10.6.8 Solaris10 .. 2017. 10. 24.