본문 바로가기

제럴드와인버그

제럴드 와인버그 <Quality Software Book : How Software Is Built > - 9장 요약 Chapter 9: Why It's Always Hard to Steer9.2.2 The history of software engineeringThe Size/Complexity Dynamic 은 문제의 크기가 커질수록 복잡도가 제곱으로 높아지는 문제 유형을 말한다.소프트웨어 역사를 보면, 성공하는 경험을 할 수록, 조직은 점점 더 어려운 문제를 찾고, 도전해왔다. 그러면서 소프트웨어가 발전해왔다. 위의 그림은 소프트웨어 개발에 대한 effect diagram이다.소프트웨어 조직이 성공을 경험하면 -> 도전적인 과제를 찾아서 -> 문제의 크기가 커져서 -> 솔루션의 복잡도가 높아진다.문제의 난이도가 높아지면, 처음에는 개발자수를 늘리고, 고급인력을 채용하면서 리니어하게 문제를 해결할 수 있다. 그런데 ..
제럴드 와인버그 <Quality Software Book : How Software Is Built > - 4장 요약 How Software Is Built 본문 중에서..4.1 Shooting at Moving TargetsWhen teaching someone to shoot at a moving target, you cannot give instructions about which direction to shoot, because the direction is constantly changing. Instead, you must give general instructions about aiming guns, instructions that can then be applied to a wide variety of moving targets. That's why the study of patterns of softwa..
제럴드 와인버그 <Quality Software Book : How Software Is Built > - 3장 요약 How Software Is BuiltChapter 3. What Is Needed To Change Patterns? 3.1.1 Thought and communication in various patternsOblivious. Individualism is the key. Variable. Emotion and mysticism drive everything. People don't use words in consistent way. This works under the most current sources… I've fixed several bugs and made a lot of changes in the application code since this release, so I believe t..
제럴드 와인버그 <Quality Software Book : How Software Is Built > - 2장 요약 How Software Is BuiltChapter 2. Software SubculturesQuality is value to some person(s). Requirements are not an end in themselves, but a means to an end—the end of providing value to some person(s). ... In software work, however, we cannot assume this ideal situation, so much of the development process is concerned with more closely approaching the "true" requirements. Therefore, much of what we..
제럴드 와인버그 <Quality Software Book : How Software Is Built > - 1장 요약 How Software Is Built Preface1. the ability to observe what’s happening and to understand the significance of your observations2. the ability to act congruently in difficult interpersonal situations, even though you may be confused, or angry, or so afraid you want to run away and hide 3. the ability to understand complex situations so you can plan a project and then observe and act so as to keep..
제럴드 와인버그 <프로그래밍 심리학> 8장-10장 요약 8장 개인의 성격 p. 277 비자아적 프로그래밍에서는 항상 자신의 성격에 최고로 잘 맞는 업무에만 투입될 가능성이 없다. 안정성을 위해 잠재적인 능률을 희생하는 셈이다. 그러나 잠재된 능률을 모두 잃는 것은 아니다. 처음부터 아무렇게나 배치하지는 않기 때문이다. 그리고 다른 사람의 신발을 신어 보는 것은 참을성을 기르는 좋은 방법이다. 프로그래밍 업무는 매우 다양하기 때문에, 잦은 변화에 잘 적응하지 못하는 성격은 직업 프로그래머에 적합하지 않다. ​프로그래머는 하던 일이 중단되거나 외부 요인으로 인해 기존의 작업이 쓰레기가 되는 정신적 충격이 없는 평화로운 나날을 채 한 달도 보내기 어렵다. ​ 프로그래밍에 꼭 필요항 성격에는 겸손함도 있다. 프로그래머가 몇 가지 간단한 기술을 익히고 스스로 전문가라..
제럴드 와인버그 <프로그래밍 심리학> 1-2장 요약 1장. 프로그램 읽기p. 43명세는 프로그램, 프로그래머와 함께 진화한다. 프로그램을 작성한다는 것은 일종의 학습 ( 프로그래머와 프로그램 사용자 모두에 대한)이다. 게다가 이 학습 과정은 특정 기계와 특정 프로그래밍 언어, 특정 작업 환경에서 일하는 특정 프로그래머 또는 팀 그리고 코드의 모양새 뿐만 아니라 코드가 하는 일까지도 좌지우지하는 일련의 역사적인 사건들로 이뤄진 문맥내에서 일어난다. ..우리가 프로그램 작성 과정을 연구하는 가장 중요한 목적은 좀 더 효율적이고 치밀하고 저렴하고 이해하기 쉬운 프로글매을 만들기 위함이 아니다. 그보다는 프로그램이 하는 일이 우리가 프로글매에게 원했던 바로 그것이길 바란다. 이러고 저러다 보니 그렇게 된 프로그램 말고 말이다. ..어떤 프로그램이 현재의 모습을 ..