본문 바로가기

Homo Faber53

빌드 시간을 더 빠르게 하라 빌드의 통합은 형상관리도구, 워크스페이스의 소스코드 관리 도구, 배포 바이너리 버전 관리 도구 등을 통해서 상당 부분 자동화를 시킬 수 있다. 빌드는 단순히 형상관리에 있는 소스 코드들을 모두 가지고 와서 실행 파일로 컴파일을 만들어주는 의미만 포함되는 것은 아니다. 물론, 이러한 자동화 역시 전체 소스 코드의 깨짐 현상을 방지할 수 있고, 이를 지속적으로 반복적으로 수행한다면 소스 코드 깨짐 현상에 대한 위험은 줄일 수 있을 것이다. 문제는 전체 소스 코드의 크기가 적고, 어느 정도 인내할 수 있는 시간 동안 빌드를 한다면 괜찮겠지만, 소스 크기가 상당하고 많은 사람들이 만들어내는 소스 코드 (심지어 서로 다른 지역에 있는 사람들이 만들어내는 소스 코드와 같이 빌드하는 경우) 라면 상황이 달라진다. 실.. 2012. 5. 12.
TDD, CI, CD 올해 Jolt Awards의 The Best Books에서는 6권의 최고의 책을 선정했고, 그 중에서 Jez Humble과 David Farley가 쓴 Continuous Delivery를 가장 최고의 책(Excellent Book)으로 선정했다. [관련 기사] 기사에서도 말했듯이 이책은 기존 Continuous Integration에서 코드로부터 할 수 있는 모든 것을 자동화시키는 개념을 더 확장하여(응용하여) 가상화(virtualization) 개념을 도입해 배포로 인한 무중단 서비스를 가능하게 하는 방식을 이야기하고 있다. CD에서의 테스트는 오로지 단위테스트(unit test)를 말하고 있으며, 그 테스트 수행 속도 역시 빨라야 한다. 즉, 단위테스트를 하는 범위(coverage)를 최대한 독립적.. 2011. 8. 27.
신중하게 행동하라 - Seb Rose "무엇을 하든지 간에, 신중하게 행동하고 결과를 생각하라" Anon 어떠한 반복주기(iteration)든지 초반에는 일정이 편안하게 느끼게 됩니다. 하지만, 그렇다 할지라도 특정 시간에는 압박 상황을 피할 수는 없습니다. "올바르게 수행할 것"과 "빨리 수행할 것" 사이에서 선택하라고 하면 나중에 수행한 내용을 수정할 것이라는 생각에 "빨리 수행할 것"을 종종 선호하게 됩니다. 여러분 자신과 팀, 고객에게 지금 빨리 수행하고 이후에 수정할 것이라고 약속할 때에는 여러분은 분명 그러한 의도를 가지고 있습니다. 그러나 그 다음 반복주기에서는 새로운 문제가 나타나고 여러분은 이에 몰두하게 되는 일이 비일비재합니다. 이와 같이 지연된 작업과 같은 유형을 기술적인 빚(technical debt.. 2010. 6. 16.
유스케이스의 상속 UML에서 상속은 classifier간에 사용할 수 있다. classifier에는 클래스, 액터, 유스케이스 등이 포함된다. 따라서, 유스케이스 간 상속(generalization) 역시 가능한 관계이다. 유스케이스 상속은 동일한 유형의 흐름이 존재하지만, 서로 다른 기능을 수행하는 경우에 상속을 통해 표현이 가능하다. 예를 들어, 은행의 계좌이체 기능은 ATM 앞에서 수행하는 기능과 텔레뱅킹, 인터넷 뱅킹 등에서 수행하는 계좌이체 기능으로 다양한 서비스로 수행되며, 이는 모두 계좌이체라는 동일한 작업을 수행한다. 이와 같이 계좌이체와 같은 기능을 상위 유스케이스로 식별하고, ATM 계좌이체, 텔레뱅킹 계좌이체, 인터넷 뱅킹 계좌이체 등으로 하위 유스케이스를 분류하여 모델링을 할 수 있다. 이때, 상위 .. 2010. 2. 10.
반응형