목록소프트웨어 (3)
규도자 개발 블로그
제목은 소프트웨어 아키텍트를 위한 책인 것 같지만 실제로는 소프트웨어 산업에 종사하는 모든 사람이 읽었으면 하는 책이다. 실제로도 소프트웨어 산업 종사자들에게 많은 도움이 될만한 얘기들이 써있다. 예를 들어서 아키텍트의 고객은 솔루션을 요하는 클라이언트가 아닌 실제로 그 솔루션을 사용하는 고객, 그러니까 고객의 고객이 진짜 고객이라는, 그런 조언들 말이다. 사실 나도 소프트웨어를 만들면서 우리의 고객은 누구인가에 대한 생각이 많았었다. 만나서 사양에 대해 담을 나누는 사람인가 혹은 그 사람이 서비스를 제공하면서 실제로 그 시스템을 이용하게 될 사용자들이 우리의 고객인가에 대해서 말이다. 책에서 말하는 바를 보고서 고객의 고객이 진짜 고객이라는 확신을 얻었다. 예를 한 가지만 들었지만 부단 이것 말고도 수..
소프트웨어 개발 분야의 슈퍼스타, 스티브 맥코넬이 쓴 다른 책이다. 프로그래머의 교과서라고 불리우는 코드 컴플릿2 (CODE COMPLETE 2)는 소프트웨어 개발 중 수많은 과정에 있어서 구현에 중점을 뒀다면 이 책은 말 그대로 소프트웨어 개발 전반에 대하여 본인의 주장을 말한 책이다. 코드 컴플릿은 개발 포지션이 아니라면 별 의미 없겠지만 이 책은 소프트웨어 분야에 종사하고 있는 사람이라면 누구라도 봤으면 하는 책이다. 나는 이 책에서 말하는 부분 중 특히나 감명깊게 읽었던 부분이 바로 '업계의 프로정신'이라는 부분이었다. 최대한 간단하게 설명해볼테니 당신이 개발자라면 내가 간단하게 쓰는 이 글이나마 꼭 읽어줬으면 하는 바람이다. 직업에는 '자격증'이 강제적으로 요구되는 것들이 있다. 판사나 변호사 ..
쿼리로 구할 수 있는 데이터는 따로 데이터베이스에 넣지 않는 것이 좋다. 그 데이터를 복잡한 연산에 자주 사용하는 것이 아니라면 말이다. 예를 들어 여러 플랫폼에서 흔하게 볼 수 있는 추천인 시스템을 구현한다고 했을 때, 해당 회원에 종속돼야할 정보는 해당 회원에게 발급된 추천인 코드와 해당 회원이 가입할 때 입력하였던 추천인코드, 이 두 개면 시스템을 구성하는 데는 충분하다. 하지만 만약, 해당 회원에게 종속된 데이터에 부가적인 정보, 예를 들어 해당 회원을 추천한 회원들의 목록, 추천한 회원들의 숫자 등의 정보가 부가적으로 존재할 뿐더러 이 정보를 실제 서비스플로우에서 사용하게 되는 경우라면... 갑자기 머리가 아파진다. 특정 회원을 추천한 회원들의 목록은 쿼리로 구할 수 있다. 그 회원들의 숫자 또..