Differences between revisions 14 and 69 (spanning 55 versions)
Revision 14 as of 2022-09-16 01:06:44
Size: 754
Editor: 정수
Comment:
Revision 69 as of 2022-09-26 03:55:40
Size: 2206
Editor: 정수
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
== TDD, Baby step == <<TableOfContents(2)>>
Line 5: Line 5:
Baby Step, Red bar / Green bar, TDD
use data to make logic simple

 * make DSL
 * do not mix logic and data construction

== Proverbs ==

 * [[http://www.agile-process.org/proverbs.html|Agile Process Proverbs]]


== Philosophy, Viewpoint, Programmer ==



 * [[책/실용주의 프로그래머|Pragmatic Programmer]]
 * LittleBets
 * [[책/천 개의 성공을 만든 작은 행동의 힘]]

last 5% automation

craft, not science

SoftwareArchitecture


== 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


== Programming fundamental ==



 * 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
Line 11: Line 61:
[[https://www.industriallogic.com/blog/whats-this-about-micro-commits/|micro commit]], one at a time
Line 12: Line 63:
== Testing ==
Line 14: Line 65:
Occam's razor: eliminate intermediate layers  * Kent Beck, Test Driven Development
 * Specification by Examples


== Testing & Debugging ==

eliminate/reduce intermediate layers

regression test

[[가추법|abduction]]
Line 19: Line 80:
take a look at extreme programming, not scrum, if you are a software developer. it includes a lot of effective technical principles.
Line 21: Line 84:
To learn well from experts
Line 23: Line 85:
use data to make logic simple [[http://agile.egloos.com/5904102|협업의 미신]]
Line 25: Line 87:
 * make DSL
 *
[[https://twitter.com/kentbeck/status/1375936309458464769|pull request anti pattern]]
Line 28: Line 89:
== Books ==
Line 30: Line 91:
 * Refactoring 2/E
 * [[책/실용주의 프로그래머|Pragmatic Programmer]]
 * Kent Beck, Extreme Programming Explained
 * [[책/피플웨어|Peopleware]]


== Learning, Expertise ==

To learn well from experts (CTA, CDE)

GaryKlein, AndersEricsson
Line 33: Line 102:
 * Kent Beck, Test Driven Development
 * Kent Beck, Extreme Programming Explained
 * Kent Beck, Implementation Patterns
 * Robert Martin, Agile Software Development
 * [[책/피플웨어|Peopleware]]
 * [[책/TheTimelessWayOfBuilding]]
 * 실용주의 사고와 학습
 * [[책/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

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

  • 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

short feedback cycle (loop)

bowling kata by robert martin

micro commit, one at a time

  • Kent Beck, Test Driven Development
  • Specification by Examples

Testing & Debugging

eliminate/reduce intermediate layers

regression test

abduction

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 Beck, Extreme Programming Explained
  • Peopleware

Learning, Expertise

To learn well from experts (CTA, CDE)

GaryKlein, AndersEricsson

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

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