추상화
-
기반 기술을 어디까지 알아야 할까?Life/Software Engineer 2016. 1. 5. 11:42
"기반 기술"을 알아야 좋은 개발자이다. 대략 맞는 말이지만 알아야 하는 기반 기술의 깊이를 논의할 필요가 있다. 개발자의 시간 자원이 유한하기 때문이다. 전산학이나 소프트웨어 엔지니어링의 진보는, 다른 분야와 마찮가지로, 이전 세대가 완성했던 토대 위에 새로운 것을 더하는 과정이다. 어떤 기술이 기반 기술이 될 정도로 널리 인정받으면 그것 위에 다음 계층이 놓인다. 이렇게 기술은 블럭처럼 하나씩 쌓여나간다. 각 계층은 추상화로 구분한다. 새로이 추가된 층위는 하위 단계를 추상화한다. 만약, 하부 영역의 세부 구현에 의존한다면-즉, 추상화를 하지 않았다면- 아래 부분을 확장한 것이지 새로운 계층을 추가한 것이 아니다. 하위 영역를 추상화하면 문제의 범위가 현저하게 낮아진다. HTTP 프로토콜을 논할 때 ..