Differences between revisions 26 and 95 (spanning 69 versions)
Revision 26 as of 2022-09-16 01:15:58
Size: 1064
Editor: 정수
Comment:
Revision 95 as of 2023-06-02 11:47:06
Size: 3083
Editor: 정수
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

<<TableOfContents(2)>>
Line 6: Line 9:
 *  * do not mix logic and data construction

== Proverbs ==

 * [[http://www.agile-process.org/proverbs.html|Agile Process Proverbs]]
Line 9: Line 16:
== Philosophy, viewpoint, Programmer == == Philosophy, Viewpoint, Programmer ==
Line 14: Line 21:
 * [[책/ApprenticeshipPatterns]]
 * 실용주의 사고와 학습
 * Little Bets
 * LittleBets
Line 18: Line 23:
 * [[책/AreYourLightsOn]]

last 5% automation

craft, not science

SoftwareArchitecture. [[AOSA]] prefaces.

The Eisenhower Matrix

Make it work, then make it better.

problem space, solution space

...

== Philosophy, Viewpoint, Programmer: Advanced ==

programming is to make a language system. make vocabulary. take a look at Peter Norvig's [[https://github.com/norvig/pytudes/blob/main/ipynb/Advent-2020.ipynb|code]] (pattern language, lisp hackers)

 * [[책/TheTimelessWayOfBuilding]]
 * SICP
 * 패턴, 위키, 그리고 XP
Line 22: Line 50:
공통점과 차이점 찾기. 공통점을 공유하고, 차이점을 처리할 수 있는 기법을 습득한다. (OOP 다형성, 고차함수 등)
Line 24: Line 54:
 * SICP  * Refactoring 2/E
Line 26: Line 56:
 * Robert Martin, Agile Software Development
Line 28: Line 59:
== TDD, Baby step == == TDD, Baby step, Evolutionary Design ==
Line 30: Line 61:
Baby Step, Red bar / Green bar, TDD Baby Step

quickly step back to closest green-bar when you see red bar

TDD is a design activity ([[https://www.youtube.com/watch?v=d5Y1B1cmaGQ|DbC]]: Design by Coding)
Line 36: Line 71:
[[https://www.industriallogic.com/blog/whats-this-about-micro-commits/|micro commit]], one at a time

isolation
Line 39: Line 78:
 * Specification by Examples
Line 43: Line 83:
eliminate intermediate layers eliminate/reduce intermediate layers

넘겨짚지 말고, 마술의 동작과 동작 사이를 잘 들여다보기.
Line 46: Line 88:

[[가추법|abduction]]

Here and now. recognize what's going on, inspect it, find root cause, and fix it. Don't wandering around searching web pages mindlessly.

BDD, ATDD, SBE
Line 50: Line 98:
take a look at extreme programming, not scrum, if you are a software developer. it includes a lot of effective technical principles.
Line 52: Line 102:
To learn well from experts
[[http://agile.egloos.com/5904102|협업의 미신]] ([[https://www.youtube.com/watch?v=I4xkw_0XqAs|영상]])

pull request anti pattern: [[https://twitter.com/kentbeck/status/1375936309458464769|Kent's twit]]. [[https://jessitron.com/2021/03/27/those-pesky-pull-request-reviews/|Those pesky pull request reviews]]. [[기술문서모음/PR과 코드리뷰|PR과 코드리뷰]].



 * Kent Beck, [[책/ExtremeProgrammingExplained]]
 * [[책/피플웨어|Peopleware]]
Line 55: Line 113:
== Books == == Learning, Expertise ==
Line 57: Line 115:
 * Refactoring 2/E
 * Kent Beck, Extreme Programming Explained
 * Robert Martin, Agile Software Development
 * [[책/피플웨어|Peopleware]]
 * [[책/TheTimelessWayOfBuilding]]
 * 패턴, 위키, 그리고 XP
 * Specification by Examples
To learn well from experts (CTA, CDE)

GaryKlein, AndersEricsson

 * [[책/ApprenticeshipPatterns]]
 * 실용주의 사고와 학습
 * [[책/1만 시간의 재발견]]


----
See Also: [[프로그래밍 추천 도서]]

use data to make logic simple

  • make DSL
  • do not mix logic and data construction

Proverbs

Philosophy, Viewpoint, Programmer

last 5% automation

craft, not science

SoftwareArchitecture. AOSA prefaces.

The Eisenhower Matrix

Make it work, then make it better.

problem space, solution space

...

Philosophy, Viewpoint, Programmer: Advanced

programming is to make a language system. make vocabulary. take a look at Peter Norvig's code (pattern language, lisp hackers)

Programming fundamental

공통점과 차이점 찾기. 공통점을 공유하고, 차이점을 처리할 수 있는 기법을 습득한다. (OOP 다형성, 고차함수 등)

  • Refactoring 2/E
  • Kent Beck, Implementation Patterns
  • Robert Martin, Agile Software Development

TDD, Baby step, Evolutionary Design

Baby Step

quickly step back to closest green-bar when you see red bar

TDD is a design activity (DbC: Design by Coding)

short feedback cycle (loop)

bowling kata by robert martin

micro commit, one at a time

isolation

  • Kent Beck, Test Driven Development
  • Specification by Examples

Testing & Debugging

eliminate/reduce intermediate layers

넘겨짚지 말고, 마술의 동작과 동작 사이를 잘 들여다보기.

regression test

abduction

Here and now. recognize what's going on, inspect it, find root cause, and fix it. Don't wandering around searching web pages mindlessly.

BDD, ATDD, SBE

Collaboration

take a look at extreme programming, not scrum, if you are a software developer. it includes a lot of effective technical principles.

pair programming: perform outstanding with other juniors

협업의 미신 (영상)

pull request anti pattern: Kent's twit. Those pesky pull request reviews. PR과 코드리뷰.

Learning, Expertise

To learn well from experts (CTA, CDE)

GaryKlein, AndersEricsson


See Also: 프로그래밍 추천 도서

기술문서모음/ToJuniors (last edited 2025-09-18 05:17:18 by 정수)