은닉화 (encapsulation)
예전에 디자인 회사에 있을 때, 그 디자인 회사의 사장 형이 말해 줬었지.
데셍과 정밀묘사는 껌인데 색채론에 약하다는 내 말에,
"정말 최고의 색채론은 Black & White 다."
"모든 색과 가장 잘 어울리는 색은 무채색이다."
그 이후 나는 인터페이스에 3톤 이상을 사용하는것을 무척 절제하게 되었다.
신호처리 알고리즘에 있어서도 마찬가지지. 2진화라는건 중요한 부분을 드러내는데 그 가치가 있다.
판화 작품으로 부터 타들어가는 듯한 강렬한 인상을 느껴본적 있는가?
나는 뱀파이어물 만화 hellsing 이란 작품의 코믹스판 그림체에서 '판화 같다' 는 느낌을 받은적 있다.
강렬한 흑백사진같은 정중동의 느낌을 잘 살린 만화는 아쯔시 카미조의 to-y 였지.
투명성 (clarity, transparency)
Java 코드는 C++ 코드에 비해 많은 것을 숨기고 있다.
그 말은 로우레벨 자유도가 떨어진다는 의미와 함께, 하이레벨 자유도가 높아진다는 의미를 갖는다.
로우레벨 접근성이 좋다는 것은, 당연히 경제성을 극대화 할 수 있다는 이야기가 된다.
CISC 와 RISC의 장단점을 떠올려 보라.
손으로 한땀 한땀 최적화한 RISC 프로세서는 renewal 비용이 비싸지만,
새로운 요구사항들이 쏟아지지 않는 한 양산화에서 최적의 경제성을 보장한다.
초기 개발시점에서 python 으로 작업하고, 어느정도 완성도를 가졌을 때
보다 native 한 언어로 porting 하는 것은 두 마리 토끼를 잡을 수 있는 방법일 것이다.
하드웨어 칩셋 개발에서도, 프로토타이핑과 소규모 시장 테스트는 FPGA로,
massive한 수준의 양산화가 필요하면 로직 디자인을 ASIC 하는 것이 유효한 방법인 것 처럼 말야.
시장은 틈새에서 발생하는것이니만큼, 어느쪽이 유용하다 단정할 순 없다.
둘 다 아는 것이 필요하다.
Exposing issues of deveolper's Interface
private, protected, public, published 와 같은 노출과 접근 권한 관계의 이야기에 있어서,
투명성은 안정성을 해치고, 은닉화는 개발의 시간적 최소비용을 증가시킨다.
하지만, 프로젝트의 볼륨이 커지면, 안정성이 더 큰 가치로 대두되는 것이지.
영어 사전이 있으면 단어장은 왜 가지고 다니는가? 둘 다 필요하기 때문이다.
osX 에는 exposer 가 있다.
단어 하나만 쳐 넣으면 필요한 정보들을 노출해 준다.
단어장의 장점을 사전에 도입한 경우랄까?
abstraction, summarize 없는 transparency는 두 말할 여지없이 독(toxic)이다.
abstraction 과 encapsulation 은 조금 닮았지만 전혀 다르다.
진정한 명료성은(clarity)
transparency, abstraction, summary, encapsulation 의 적절한 배합으로 얻어질 수 있다.
와 형 감사합니다
네 말의 의도를 모르고 하는 이야기가 아니야.
모든 코드가 테스트되어야 한다는 말을 부정하는게 아니라, 그 말이 내가 앞에 한 말의 부정처럼 들려서 부연하는거지.
심심하면 애들 공부 좀 되게 썰 좀 풀어봐.
유저라이프에 등록되었습니다. 감사합니다.
뭐라는거야
하ha.. 이 document는 정말로 instructive하군.
이 글은 음..마이야르반응이 너무 크러스티해서..
아니 미친 왜 영어랑 한글이 반반이야 이해가 안 되잖아
한국말을 못함?
뭐영아가 얼마나있다고
윈도우같은 스타일보다 맥같은 스타일을 추구하는 느낌의 것을 말하는 건 알겠는데 renewal이나 clarity-transparency의 의미차이를 명확히 하기 위한 영어표기는 이해한다만 나머지는 그냥 국어 못해서 바로바로 안떠오르니까 영어로 써댄 걸로밖에 안 보임. 열폭질이라 할까봐 말하는데 토익 만점. 뭐 이딴건 이미 흔해빠졌지만
프갤에서 ㄷㄷ
@118.33.*.* 니가 잘못 이해한거야. 이건 OOP 와 관련된 이야기. 대부분이 공식용어들.
TDD 기법과 OOP 가 주제라고 생각하면 돼.
프로그래밍 공부 시작한지 얼마 안 돼서 그런데 OOP가 객체 지향 프로그래밍 맞냐?
프로그래밍이 한글도아닌대 토다는수준들
응 객체지향 프로그래밍, 혹은 파라다임(paradigm)
http://autogram.tk/이
중고차 어플리케이션 어떤가요?