달력

52025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
1장
현재의 우리는 반복적으로 하는 행동의 결과이다.
그러므로 탁월함이란 행동이 아니라 습관이다. - 아리스토 텔레스

신중하게 습관을 선택하자!!                                              
아이디어를 크게 3영역으로 분리
인프라스트럭처- 편리하게 해주는 소프트웨어(버전관리,빌드,지속적빌드,이슈추적,기능추적,테스트작성)
기술 - 자신의 일이나 팀의 일을 업무 목록으로 정리하여 일일 회의 진행해라 즉, 팀의 동료가 무슨일을 하는지 파악
프로세스 -예광탄 개발

아이디어를 제시하게 전에 팀에 어떤 이득이 되는지 부터 확실하게 해둬야 한다.
팀 전체가 필요한 도구,기술,프로세스에 접근할 수 있도록 해야한다. 무엇이 왜 효과적인지 알아야 팀을 효과적으로 이끌어 나갈수 있다.

기민함?
기민함이란 소프트웨어 개발팀이 변화하는 환경에 재빨리 적응하는 능력을 일컫는다. 이것은 변화하는 요구사항에 맞춰 재설계하는 걸 뜨하기도 하고, 새로운 버그에 신속히 대처하거나 새기술을 빨리 도입하는 걸 뜻할 때도 있다.
- 프로세스나 도구보다는 사람과 상호 작용에
- 포괄적인 문서보다는 실제로 도움이 되는 소프트웨어에
- 계약 협상 보다는 고객과의 협력에
- 계획을 따르는 것보다 변화에 맞추어나가는 것에

2장
코딩하는 시간이 기능을 추가하는 데 소요되는 유일한 비용은 아니다. 훗날 기능 확장이 어려워지는 것도 비용 중 일부이다. 상충되지 않는 기능들을 고르는 게 중요하다. - 존 칼맥

집짓는 두남자 이야기(연장을 구매하고 사용법 익히는 것을 투자한 후 짓는 것과 갖고 있던 연장으로 집을 짓기 시작한 둘의 차이점) 즉 개발자 관점에서 연장은 도구이다!
도구가 일상 업무에 긍정적이 영향을 미칠수 있을지 생각해 봐야 한다. 무턱대고 이미 익숙한 도구를 사용하기 보다는 프로젝트에 필요한 도구를 선택하여 사용하는 것이 훗날 더 좋다!

회사 소스관리는  SCM(소스코드관리시스탬) 을 사용하자! 추천 CVS,SVN 또한 버그추적 관리 (Mantis등) 의 습관을 들여 버그 수정건에 대해서도 쉽게 찾을수 있도록 관리하는 습관을 가지자! 즉 SCM을 도입하므로 불필요한 시간을 제거 할수 있다. 명확히 프로젝트를 진행하는 거랑 활동하는 것이랑은 틀리다는점 !!

모래상자 안에서 개발하기!!!
적당한 시기가 올 때까지 자신이 하는 일때문에 다른 사람이 방해받지 않게 해야한다. 이것을 모래상자 개발이라 한다. 모든 개발자가 자신만의 놀이터에서 놀고, 다른 사람을 귀찮게 하지 않는 것!!
즉, 소스 코드와 기타 파일을 디스크 드라이브를 통해 공유한다면? 누군가 파일 하나를 조금만 수정한다면? 코드를 컴파일 한다면 곧바로 다른 개발자가 그 영향을 받는 다는 뜻이다.
SCM 소스관리 시스템을 사용. 즉 모든 소스코드는 repository(저장소)를 통해 공유 하자! repository를 통해 공유한 자료는 정확한 버전의 파일을 꺼내도록 해준다.
즉, 현 우리가 사용하는  SVN을 사용하여 Commit 하여 복사본 가지고 개발 , 수정후 빌드하고 releases 시키는 것을 모래상자 안에서 개발 한다 라고 정의 할수 있다.

자산을 관리하자!!
필요한 부분이라면 체크인 하자!!
제품을 빌드,배포,실행시키는 데 필요한 모든 것이 소스코드 관리 시스템이 있어야 한다!
활동 없는 저장소, 상용되지 않는 저장소는 쓸모 없는 저장소이다. 개발자 각자가 정기적으로 체크인하고 체크아웃해서, 매 시간마다 활동하는 걸 볼 수 있어야 한다.

빌드를 스크립트화 하자!!
IDE 툴 내에서의 빌드가 아닌 스크립트를 사용하여 제품을 빌드하고 인스톨러를 만들어 테스트를 하자!
즉, 프로젝트 초반에 시간을 투자하여 제품 빌드 스크립트를 만들자! 또한 어떠한 컴퓨터에서라도 빌드가 되도록 만들어야 한다. 추천 JAVA 빌드 스크립트 Ant 가 있다. 

자동으로 빌드하자!
무인빌드= 자동빌드를 말한다
이상적으로 크도가 변경될 때마다 다시 빌드 해야한다. 그렇게 하면 어떤 변경상항이 빌드를 깨트리는 즉시 그 사실을 알 수 있다. 이런 종류의 시스템을 지속적이 통합(Continuous Integration) CI라고 한다.CI 도구는 컴파일되지 않는 코드를 상항 표해시 놓는다. 즉 인간이 곧잘 놓치는 상세 내역을 잡아주는데 도움이 된다.
모든 CI 시스템이 HTML로 결과를 출판 할 수 있고 Email로 보낼수도 있다.
지속적으로 테스트 하자(Junit 사용- Maven(Ant+Junit) 사용하자)

이슈 트래커 사용하자........아 졸립다 내일 정리하자 ㅠㅠ




Posted by 인천총각
|