Size: 1064
Comment:
|
Size: 4055
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 == naming itself is a design practice. it makes abstraction. programming is to build a language system of a business domain. 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) [[책/Antifragile|Antifragile]]: asymmetry, real option * [[책/TheTimelessWayOfBuilding]] * SICP * 패턴, 위키, 그리고 XP |
|
Line 21: | Line 53: |
공통점과 차이점 찾기. 공통점을 공유하고, 차이점을 처리할 수 있는 기법을 습득한다. (OOP 다형성, 고차함수 등) |
|
Line 26: | Line 60: |
* SICP | * Robert Martin, Agile Software Development |
Line 29: | Line 63: |
== TDD, Baby step == | == TDD, Baby step, Evolutionary Design == |
Line 31: | Line 65: |
Baby Step, Red bar / Green bar, TDD | [[TinyExperiment]] - 작은 가설을 빠르게 검증할 수 있는 실험 환경 만들기 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 37: | Line 77: |
[[https://www.industriallogic.com/blog/whats-this-about-micro-commits/|micro commit]], one at a time isolation use abduction. piecemeal growth, center first (EssenceOfAgile) |
|
Line 40: | Line 88: |
* Specification by Examples | |
Line 44: | Line 93: |
eliminate intermediate layers | eliminate/reduce intermediate layers 넘겨짚지 말고, 마술의 동작과 동작 사이를 잘 들여다보기. do not guess far. when you guess, validate it. |
Line 47: | Line 100: |
[[가추법|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 51: | Line 110: |
If you are a software developer, you should consider extreme programming instead of scrum. It has many technical principles that can improve your work. |
|
Line 53: | Line 114: |
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과 코드리뷰]]. Yes, but / Yes, and 책 * Kent Beck, [[책/ExtremeProgrammingExplained]] * [[책/피플웨어|Peopleware]] |
Line 56: | Line 127: |
== Books == | == Learning, Expertise == |
Line 58: | Line 129: |
* Kent Beck, Extreme Programming Explained * Robert Martin, Agile Software Development * [[책/피플웨어|Peopleware]] * [[책/TheTimelessWayOfBuilding]] * 패턴, 위키, 그리고 XP * Specification by Examples |
To learn well from experts (CTA, [[CollaborativeDevelopmentOfExpertise|CDE]]) GaryKlein, AndersEricsson * [[책/ApprenticeshipPatterns]] * 실용주의 사고와 학습 * [[책/1만 시간의 재발견]] [[개발실력 키우기]] == Cognition == ReflectivePractice, ReflectionInAction RecognitionPrimedDecisionModel [[정수/일기/2024-07-29]] == Fundamental Cognitive Competency == * Mindfulness - Sharp mind, Stay focused, deliberately search better way * Reading - fast scan, pattern recognition * SatirInteractionModel * Sense clearly, fast, rich * Interpret wide possibility * Search various and variety options, deliberately * Respond congruently ---- See Also: [[프로그래밍 추천 도서]] |
Contents
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
naming itself is a design practice. it makes abstraction. programming is to build a language system of a business domain.
programming is to make a language system. make vocabulary. take a look at Peter Norvig's code (pattern language, lisp hackers)
Antifragile: asymmetry, real option
- SICP
- 패턴, 위키, 그리고 XP
Programming fundamental
공통점과 차이점 찾기. 공통점을 공유하고, 차이점을 처리할 수 있는 기법을 습득한다. (OOP 다형성, 고차함수 등)
책
- Refactoring 2/E
- Kent Beck, Implementation Patterns
- Robert Martin, Agile Software Development
TDD, Baby step, Evolutionary Design
TinyExperiment - 작은 가설을 빠르게 검증할 수 있는 실험 환경 만들기
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
use abduction.
piecemeal growth, center first (EssenceOfAgile)
책
- Kent Beck, Test Driven Development
- Specification by Examples
Testing & Debugging
eliminate/reduce intermediate layers
넘겨짚지 말고, 마술의 동작과 동작 사이를 잘 들여다보기.
do not guess far. when you guess, validate it.
regression test
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
If you are a software developer, you should consider extreme programming instead of scrum. It has many technical principles that can improve your work.
pair programming: perform outstanding with other juniors
pull request anti pattern: Kent's twit. Those pesky pull request reviews. PR과 코드리뷰.
Yes, but / Yes, and
책
Kent Beck, 책/ExtremeProgrammingExplained
Learning, Expertise
To learn well from experts (CTA, CDE)
- 실용주의 사고와 학습
Cognition
ReflectivePractice, ReflectionInAction
RecognitionPrimedDecisionModel
Fundamental Cognitive Competency
- Mindfulness - Sharp mind, Stay focused, deliberately search better way
- Reading - fast scan, pattern recognition
- Sense clearly, fast, rich
- Interpret wide possibility
- Search various and variety options, deliberately
- Respond congruently
See Also: 프로그래밍 추천 도서