본문 바로가기
프로그래밍 놀이터/Tips

[실용주의 프로그래머] 일반 텍스트의 힘

by 돼지왕 왕돼지 2018. 10. 17.
반응형

[실용주의 프로그래머] 일반 텍스트의 힘

Plain Text, [실용주의 프로그래머] 일반 텍스트의 힘, 구식이 되는 것에 대한 보험, 도구는 재능을 증폭한다, 일반 텍스트 단점, 일을 하는 데에 더 나은 방법이 없는가 늘 주변을 살펴라, 지식을 일반 텍스트로 저장하라, 호환성


-

도구는 재능을 증폭한다. 도구가 더 훌륭하고, 그걸 어떻게 사용하는지 더 잘 알수록, 여러분은 더 생산적일 수 있다.

일반적으로 적용되는 기본적인 도구 세트로 시작하라.

경험을 얻고 특별한 요구사항을 만나면서, 이 기본적인 세트에 다른 도구를 추가하게 될 것이다.



-

일을 하는 데에 더 나은 방법이 없는가 늘 주변을 살펴라.



-

많은 신참 프로그래머들은 특정 IDE 하나만 고집하는 실수를 저지르고, 그 편한 인터페이스에서 떠날 생각을 하지 않는다.

이건 정말 실수다.

IDE 가 강제하는 편리함의 울타리 바깥에서도 능숙하게 작업할 수 있어야 한다.

유일한 방법은 기본 도구 세트를 늘 쓸 수 있도록 예리하게 유지하는 것이다.



-

실용주의 프로그래머로서 우리의 기본 재료는 나무나 철이 아니고 지식이다.

우리는 요구사항을 지식으로 수집하고, 그 지식을 설계, 구현, 테스트 그리고 문서에 표현한다.

우리는 지식을 저장하는 최고의 포맷이 일반 텍스트(plain text)라고 믿는다.





일반 텍스트란?


-

일반 텍스트란 사람이 직접 읽고 이해할 수 있는 형태의 인쇄가능한 문자로 이루어진 텍스트를 말한다.

일반 텍스트라고 해서 텍스트가 비구조적이어야 하는 것만은 아니다.

XML, SGML, HTML 은 잘 정의된 구조를 가진 일반 텍스트의 훌륭한 예다.



-

지식을 일반 텍스트로 저장하라.





단점


-

일반 텍스트를 사용하는 데에 두 가지 큰 단점이 있다.

    압축된 이진 포맷을 사용하는 것보다 더 많은 공간을 차지할 수 있고

    일반 텍스트 파일을 해석하고 처리하는 데에 더 많은 계산이 필요할 수 있다.



-

이진 자료가 일반 텍스트에 비해 읽기 어려울 수 있지만, 그렇다고 해서 더 안전하지는 않다.

사용자가 암호를 보는 게 걱정된다면 암호를 암호화하라.

사용자가 설정 매개 변수들을 바꾸는 걸 원치 않는다면 모든 매개 변수 값의 보안용 해시(secure hash)를 해당 파일에 체크섬으로 포함시켜라.





구식이 되는 것에 대한 보험


-

사람이 읽을 수 있는 형태의 데이터와 자명한 데이터는 어떤 다른 형태의 데이터와 그걸 생성한 앱보다 더 오래 살아남을 것이다.

데이터가 살아있는 한 그걸 사용할 수 있는 기회가 찾아오기 마련이다.



-

텍스트는 포맷을 부분적으로밖에 알지 못하더라도 파싱할 수 있다.

대부분의 이진 파일을 제대로 파싱하기 위해선 전체 포맷의 상세한 사항을 알아야만 한다.





호환성


-

소스코드 관리 시스템, 컴파일러 환경, 에디터, 단독으로 사용되는 필터에 이르기까지 컴퓨텅 세계의 거의 모든 도구들은 일반 텍스트를 다룰 수 있다.





더 쉬운 테스트


-

만약 시스템 테스트를 구동하게 할 합성 데이터를 만들기 위해 일반 텍스트를 사용한다면, 특별한 도구를 만들어야 할 필요 없이 간단히 테스트 데이터를 추가, 업데이트, 수정할 수 있다.





최소 공통분모(Lowest Common Denominator)




반응형

댓글