MicroSoftware June 2002. http://www03.zdnet.co.kr/news/column/hotissue/0,39024748,10049399,00.htm [[http://bioinfo.sarang.net/moin/wiki/upload/HowToStudyForProgrammer.pdf|원본]] 어떻게 공부할까: [[Seminar:프로그래머를위한공부론]] --JuneKim ||만약 오늘 어떤 것에라도 감동한 것이 없었다면, 오늘은 뭔가 잘못 산 것이다. 감동해야 체득할 수 있다. || <> == DataStructure & Algorithm == * 알고리즘이건 자료구조건 그 결과물뿐아니라, 그 결과물이 나오게된 과정을 이해하는 것도 중요하다. * [[ICPC]]의 문제들을 직접 풀어본다. * StepwiseRefinement * 알고리즘디자인과 함께가는 알고리즘 검증 (See also DisciplineOfProgramming) * [[Paradigm]]을 알아야 알고리즘을 상황에 맞게 마음대로 변통할 수 있다. * 복잡한 문제를 푼다음... 다시 처음부터 풀어본다. * 추천책 * IntroductionToAlgorithms * ProgrammingPearls == Refactoring == * RefactoringImprovingTheDesignOfExistingCode책이 DesignPatterns책처럼 되지 않아야한다. * CodeSmell과 짧은 테스트-코드 싸이클 * TestDrivenDevelopment와 함께 수련 * OnceAndOnlyOnce를 지키는 방향으로 * 모래시계 프로그래밍 * LawOfDemeter따르기 * PairProgramming * Separate '''What''' from '''How''' See also ZeroPage:HowToStudyRefactoring == TestDrivenDevelopment == * The draft book: http://groups.yahoo.com/group/testdrivendevelopment/files/ * This is not a subset of refactoring ''In here, it's explained that [Refactoring] study have to be done with process of the TestDrivenDevelopment.'' You can Refactor without TDD, but you can't TDD without Refactoring. == DesignPatterns == * 패턴은 프로그램의 초기버젼이 아니고 프로그램생애의 훨씬 나중에 가서야 비로소 등장해야한다. * 많은 예제들을 접한다. * 소프트웨어개발에 푹 담궈야 한다. 독일어를 배우기 위해 독어사전을 외우는게 아니라 독일생활을 체험해야하듯이. * LearningGuideToDesignPatterns를 참고한다. * 마이크로패턴 - SpotOverEngineering * 오로지 하나만 공부하는것을 경계... See [[Diversify]] * 스터디그룹을 만들어서 하면 더 좋다... See StudyGroupPattern See also ZeroPage:HowToStudyDesignPatterns == ExtremeProgramming == * 직접 체험해야한다. * 유즈넷, 메일링리스트, OriginalWiki를 늘 가까이 See also ZeroPage:HowToStudyXp ---- CategoryReport CategoryManual