본문 바로가기

IT 교양2

북유럽 나라들이 오픈소스 소프트웨어 강국인 이유 스웨덴의 Hazelight Studios 사에서 만든 It takes two라는 게임을 한창 즐기고 있을 때였다. 한 번은 함께 회의에 참석한 스웨덴 개발자에게 물어보았다. "어떻게 스웨덴은 이렇게 훌륭한 게임 스튜디오가 많아?" 그 친구는 예상치도 못했던 70년대 초 스웨덴 정부의 정책을 이야기해 주었다.  스웨덴 정부는 1970~80년대에 "Datoriseringen"이라는 정책을 통해 국가적으로 각 가정에 컴퓨터를 보급했다고 한다. 이 정책은 교육, 기업, 그리고 공공 부문에서 컴퓨터와 정보 기술의 활용을 대폭 확대하려는 목표로 수행되었었다. 컴퓨터 환경에 자연스럽게 노출된 스웨덴의 어린이들은 자라나 자신의 창의력을 게임 제작으로 표현하는 세대가 된 것이다. 이 것이 마인크래프트, 배틀 필드 등의 .. 2024. 8. 26.
Command-query separation (명령 질의 분리) Command-query separation (CQS)는 프로그래밍에서 사용하는 중요한 설계 원칙 중 하나로, 함수를 두 가지 유형 중 하나로 분류하여 구현하는 것을 의미한다. 두 가지 유형은 커맨드(command)와 쿼리(query). 커멘드는 시스템 상태를 변경하는 함수이며 일반적으로 값을 반환하지 않는다. 쿼리는 시스템의 상태를 변경하지 않고 값을 반환하여 시스템의 정보를 알려준다. 이 원칙은 내가 구현하는 함수가 시스템의 상태를 변경하는지(커맨드), 아니면 정보만을 제공하는지(쿼리)를 명확히 구분하는 것을 중요시 한다.   왜 이 원칙이 중요한지에 대해 내가 상점을 운영하는 상황에서 손님의 질문/요청을 받는 상황을 예로 들어 설명해보겠다. 여기서 상점은 '시스템'이고 질문/요청이 '시스템의 공개 .. 2024. 8. 6.