본문 바로가기

history

(3)
우리는 인도에 개발 외주를 줄 수 있을까? "글로벌 소프트웨어를 말한다" 책을 읽고 있습니다. 괜찮은 문단이 있어 블로그에 올립니다. 실리콘밸리 회사에서 개발이 진행되는 기본원리. 1. 계약서에 사인을 하면 나중에 결과물을 인수받을 때까지 서로 간에 애기할 필요가 없다. 2. 그러려면 계약시에 납품 통과 기준을 인수테스트 목록으로 명확하게 알려줘야 한다. 3. 인수테스트 목록만 패스하면 그 외에 아무리 오류가 많아도 그대로 제품을 인수받아야 한다. 4. 개발자는 스스로 모든 인수테스트 목록이 통과할 때까지 개발을 계속한다. 5. 약속한 날짜에 제품과 인수테스트 결과보고서를 첨부해서 납품하면 끝이다. 6. 발주자가 검증한다는 것은 인수 여부를 위해서가 아니라 자기들이 미처 생각하지 못한 것이 있는지를 검증한다. 있다면 자기 잘못이다. 미리 계약 때..
CI 지속적인 통합의 개념은 아래와 같습니다. CI : Continuous Integration : 지속적인 통합 - 지속적으로 퀄리티 컨트롤(품질 관리)을 적용하는 프로세스를 실행하는 것. - 모든 개발을 완료한 뒤에 퀄리티 컨트롤을 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점 - 초기에 그리고 자주 통합해서 통합 시 발생하는 여러가지 문제점을 조기에 발견하고, 피드백사이클을 짧게 하여 소프트웨어 개발의 품질과 생산성을 향상시키는 것. CI시스템이 어떻게 적용이 되는지 좀 더 자세히 살펴보도록 하겠습니다. CI시스템을 구축하지 않은 경우에는 개발자들이 각자 개발한 소스코드를 형상관리 서버에 커밋하면 별도의 품질관리를 거치지 않고, ..
fork 에서 왜이럴까? 1 #include "apue.h" 2 3 int glob = 6; 4 char buf[] = "a write to stdout\n"; 5 6 7 8 int main() 9 { 10 int var; 11 pid_t pid; 12 13 14 var = 88; 15 if(write(STDOUT_FILENO, buf, sizeof(buf)-1) != sizeof(buf)-1) 16 err_sys("write error"); 17 18 printf("before fork\n"); 19 20 if((pid = fork()) < 0) { 21 err_sys("fork error"); 22 } 23 else if(pid == 0) { 24 glob++; 25 var++; 26 } 27 else { 28 sleep(2..