[실용주의 프로그래머] 일반 텍스트의 힘 |
-
도구는 재능을 증폭한다. 도구가 더 훌륭하고, 그걸 어떻게 사용하는지 더 잘 알수록, 여러분은 더 생산적일 수 있다.
일반적으로 적용되는 기본적인 도구 세트로 시작하라.
경험을 얻고 특별한 요구사항을 만나면서, 이 기본적인 세트에 다른 도구를 추가하게 될 것이다.
-
일을 하는 데에 더 나은 방법이 없는가 늘 주변을 살펴라.
-
많은 신참 프로그래머들은 특정 IDE 하나만 고집하는 실수를 저지르고, 그 편한 인터페이스에서 떠날 생각을 하지 않는다.
이건 정말 실수다.
IDE 가 강제하는 편리함의 울타리 바깥에서도 능숙하게 작업할 수 있어야 한다.
유일한 방법은 기본 도구 세트를 늘 쓸 수 있도록 예리하게 유지하는 것이다.
-
실용주의 프로그래머로서 우리의 기본 재료는 나무나 철이 아니고 지식이다.
우리는 요구사항을 지식으로 수집하고, 그 지식을 설계, 구현, 테스트 그리고 문서에 표현한다.
우리는 지식을 저장하는 최고의 포맷이 일반 텍스트(plain text)라고 믿는다.
일반 텍스트란?
-
일반 텍스트란 사람이 직접 읽고 이해할 수 있는 형태의 인쇄가능한 문자로 이루어진 텍스트를 말한다.
일반 텍스트라고 해서 텍스트가 비구조적이어야 하는 것만은 아니다.
XML, SGML, HTML 은 잘 정의된 구조를 가진 일반 텍스트의 훌륭한 예다.
-
지식을 일반 텍스트로 저장하라.
단점
-
일반 텍스트를 사용하는 데에 두 가지 큰 단점이 있다.
압축된 이진 포맷을 사용하는 것보다 더 많은 공간을 차지할 수 있고
일반 텍스트 파일을 해석하고 처리하는 데에 더 많은 계산이 필요할 수 있다.
-
이진 자료가 일반 텍스트에 비해 읽기 어려울 수 있지만, 그렇다고 해서 더 안전하지는 않다.
사용자가 암호를 보는 게 걱정된다면 암호를 암호화하라.
사용자가 설정 매개 변수들을 바꾸는 걸 원치 않는다면 모든 매개 변수 값의 보안용 해시(secure hash)를 해당 파일에 체크섬으로 포함시켜라.
구식이 되는 것에 대한 보험
-
사람이 읽을 수 있는 형태의 데이터와 자명한 데이터는 어떤 다른 형태의 데이터와 그걸 생성한 앱보다 더 오래 살아남을 것이다.
데이터가 살아있는 한 그걸 사용할 수 있는 기회가 찾아오기 마련이다.
-
텍스트는 포맷을 부분적으로밖에 알지 못하더라도 파싱할 수 있다.
대부분의 이진 파일을 제대로 파싱하기 위해선 전체 포맷의 상세한 사항을 알아야만 한다.
호환성
-
소스코드 관리 시스템, 컴파일러 환경, 에디터, 단독으로 사용되는 필터에 이르기까지 컴퓨텅 세계의 거의 모든 도구들은 일반 텍스트를 다룰 수 있다.
더 쉬운 테스트
-
만약 시스템 테스트를 구동하게 할 합성 데이터를 만들기 위해 일반 텍스트를 사용한다면, 특별한 도구를 만들어야 할 필요 없이 간단히 테스트 데이터를 추가, 업데이트, 수정할 수 있다.
최소 공통분모(Lowest Common Denominator)
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
[실용주의 프로그래머] 파워 에디팅 (0) | 2018.10.19 |
---|---|
[실용주의 프로그래머] 조개 놀이 (Shell Games) (0) | 2018.10.18 |
[실용주의 프로그래머] 추정 (0) | 2018.10.16 |
[실용주의 프로그래머] 도메인 언어 (0) | 2018.10.15 |
[실용주의 프로그래머] 프로토타입과 포스트잇 (0) | 2018.10.14 |
댓글