코딩 호러 블로그의 운영자이자 스택 오버플로우 공동 창업자가 알려주는 소프트웨어 개발의 비밀!
소프트웨어 개발 분야에서 가장 영향력 있는 블로그를 손에 꼽으라면 분명 코딩 호러(http://www.codinghorror.com)가 포함될 것이다. 코딩 호러는 하루 약 100,000명이 방문하는 블로그로서, 소프트웨어 개발과 관한 참신하고 독특한 식견과 재치 있는 입담으로 정평이 나 있다. 더불어 코딩 호러 운영자가 만든 스택 오버플로우(http://stackoverflow.com/)는 소프트웨어 개발 과정에서 문제가 생기거나 궁금한 점이 있으면 언제든지 달려가서 조언을 구할 수 있는 곳으로서, 자신의 소프트웨어 개발 능력을 한 단계 향상시킬 기회가 무궁무진한 곳이다.
이 책에서는 이 두 사이트를 탄생시킨 저자의 소프트웨어 개발과 관련된 지혜와 조언이 가감 없이 담겨 있다. 저자가 전해주는 소프트웨어 개발에 관한 깊이 있는 연구 내용과 조언들은 비단 프로그래머뿐 아니라 소프트웨어 개발을 둘러싼 이해관계자에게 모두 도움될 것이다. 그동안 코딩 호러에 실린 글 중에서 엄선한 글만 실린 이 책은 소프트웨어 개발에 관한 저자의 통찰력과 실질적인 조언을 통해 여러분의 소프트웨어 개발 프로젝트가 성공하기 위한 밑거름이 되어 줄 것이다.
소프트웨어 개발자로서의 당신은, 자기 자신의 가장 큰 적이다. 이 사실을 일찍 깨달을수록 더 훌륭한 프로그래머가 될 수 있다.
물론 당신이 좋은 의도를 가지고 있다는 사실은 이해한다. 누구나 다 그렇다. 우리는 모두 소프트웨어 개발자다. 우리는 코드를 작성하는 사람들이다. 그것이 우리가 하는 일이다. 실력이 뛰어난 프로그래머인 우리는 약간의 이사용 테이프, 옷걸이, 그리고 바로 코드를 이용해서 해결할 수 없는 문제를 만난 적이 없다. 하지만 윌 쉬플리(Will Shipley)는 너무 많은 코드를 작성하고자 하는 우리의 자연스러운 내적 경향을 억제해야 한다고 주장한다.
코딩의 근본적인 속성에 따르면 프로그래머인 우리가 내리는 모든 결정에는 그 자체로 장점과 단점이 동시에 포함돼 있다. 프로그래밍의 진정한 장인이 되는 길은 바로 그러한 장단점의 본질을 잘 이해하고, 우리가 작성하는 모든 코드의 구석구석에서 언제나 그러한 사실을 잊지 않는 데 있다.
코드를 평가할 때 우리가 취할 수 있는 측정 방법으로는 여러 가지가 있다.
- 코드의 간결함
- 기능의 풍부함
- 실행 속도
- 코드 작성에 걸린 시간
- 안정성
- 유연성
기억할 것은 이러한 측면들이 모두 각자 반대되는 방향으로 뻗어나간다는 사실이다. 예를 들어 당신은 정말로 아름답고 빠르게 동작하는 코드를 장장 삼일에 걸쳐 작성할 수 있다. 이 경우 두 개의 차원은 상승하는 방향으로 움직이지만, 코드를 너무 오랫동안 작성했으므로 하나의 차원은 완전히 하락하는 방향으로 움직인다.
그렇다면 어떤 상황에서 어떤 것에 가치를 둬야 할지 어떻게 알 수 있는가? 그러한 결정을 어떻게 내리는가? 이러한 질문에 대한 대답은 너무나 당연하고 간단하기 때문에 아무도 들으려고 하지 않는다. 대답은 바로 간결함에서 시작하라는 것이다. 테스트를 수행하는 과정에서 다른 차원으로 나아갈 필요가 있다고 생각되면 필요한 내용을 그때 추가해도 늦지 않다.
나는 이러한 주장에 전적으로 동의한다. 개발자들에게 더 적은 코드(Code Smaller)를 작성하길 권장할 때 이와 비슷한 주장을 펼친 바 있다. 이것은 단지 코드의 물리적인 분량을 최소로 만들기 위해 우리가 아는 온갖 기법들을 총동원해야 한다는 식의, 귀류법에 대한 이야기를 하고 있는 것이 아니다. 어떤 프로그래머 개인이 읽고 이해해야 하는 프로그램 코드의 분량을 최소한으로 줄이기 위한 실질적이고 타당한 감소 전략에 대해 말하고 있는 것이다. 내가 말하고자 하는 바를 설명하기 위한 예를 살펴보자.
if (s == String.Empty) if(s == "")
이 두 if 구문 중에서 나는 두 번째 if가 더 낫다고 본다. 더 짧기 때문이다. 그렇지만 나는 String.Empty라는 장황한 표현이 컴파일러에게는 더 효율적이라는 주장에 목숨을 걸 정도로 확신하는 개발자를 만나게 되리라는 사실을 잘 알고 있다. 마치 그런 주장에 내가 관심이 있기라도 한 것처럼. 혹은 그런 주장에 관심을 갖는 사람이 마치 있기라도 한 것처럼 말이다!
그와 같은 극단적인 주장을 인정하는 것은 대부분의 프로그래머에게 괴로운 일일 것이다. 그들은 코딩이라는 행위를 너무나 사랑하기 때문이다. 하지만 최선의 코드는 아예 코드가 없는 것이다. 당신이 세상 안으로 끌어들이려고 애쓰는 코드는 모든 줄마다 반드시 디버깅해야 하고, 누군가 읽고 이해해야 하며, 유지보수해야 한다. 당신이 새로운 코드를 한 줄 작성할 때마다 이러한 일들을 반드시 수행해야 한다. 다른 선택의 여지가 없기 때문이다. 코드가 우리의 적인 이유는 결국 우리 프로그래머들이 터무니없을 정도로 많은 코드를 작성하기 때문이다. 그렇지만 아예 코드를 작성하지 않는 것은 말이 되지 않는다. 그렇다면 차선책은 바로 간결함에서 시작하는 것이다.
코드를 작성하는 것을 사랑한다면, 그러니까 진짜로 코딩을 사랑한다면 가급적 적은 분량의 코드를 작성하는 것조차 충분히 사랑할 수 있을 것이다.
제프 앳우드(Jeff Atwood)
제프 앳우드는 캘리포니아 버클리에서 아내, 두 마리 고양이, 세 명의 아이들, 그리고 여러 대의 컴퓨터와 함께 살고 있다. 그는 80년대 자신의 첫 번째 마이크로컴퓨터였던 텍사스 인스트루먼트의 TI-99/4a를 이용해 다양한 마이크로소프트 베이직 프로그램을 구현하면서 소프트웨어 개발자의 길을 걷기 시작했다. 90년대 초반까지 계속 PC상에서 비주얼 베이직 3.0과 윈도우 3.1을 사용했고, 델파이의 최초 버전을 이용해 파스칼 코드도 많이 작성했다. 현재는 대소문자에 민감한 사악한 속성에도 불구하고 VB.NET 혹은 C# 프로그래밍에 익숙하다. 지금은 루비를 배우고 있다.
앳우드는 개발자가 읽어야 할 도서 목록에서 밝힌 것처럼 스스로를 소프트웨어 개발 과정에 존재하는 인간적인 측면에 특별히 관심이 있는, 상당히 경험이 풍부한 윈도웹(Windowsweb) 소프트웨어 개발자라고 생각한다. 그가 주장하는 바에 따르면 컴퓨터는 놀라운 기계이지만 사실상 그것을 사용하는 사람을 단순히 반영하는 기계에 불과하며, 소프트웨어 개발의 기술적인 측면은 코드를 학습하는 것만으로는 충족되지 않고 소프트웨어의 배후에 존재하는 사람도 함께 연구해야 한다.
임백준([email protected])
서울대학교에서 수학을 전공하고, 인디애나 주립대학에서 컴퓨터 사이언스를 공부했다. 삼성SDS, 뉴저지 소재 루슨트테크놀로지스에서 근무했고, 지금은 월스트리트에서 금융 소프트웨어를 개발하고 있다. 뉴저지에서 아내와 두 딸과 함께 살고 있다. 《누워서 읽는 퍼즐북》(2010), <프로그래밍은 상상이다》(2008), 《뉴욕의 프로그래머》(2007), 《소프트웨어 산책》(2005), 《나는 프로그래머다》(2004), 《누워서 읽는 알고리즘》(2003), 《행복한 프로그래밍》(2003, 이상 한빛미디어), 《프로그래머 그 다음 이야기》(2011, 로드북)을 집필했고, 다수의 책을 번역했다.
- [1부] 들어가며
- [2부] 엉터리 같은 일을 마무리하는 기술
- [3부] 좋은 프로그래밍의 원리
- [4부] 프로그래머를 제대로 채용하는 법
- [5부] 팀이 함께 일하도록 만들기
- [6부] 당신의 박쥐동굴: 프로그래머를 위한 효율적인 작업 공간
- [7부] 사용자를 염두에 두고 설계하기
- [8부] 보안의 기초: 사용자의 데이터를 보호하라
- [9부] 코드를 테스트해서 그것이 필요 이상으로 엉망이 되지 않게 만들기
- [10부] 커뮤니티를 만들고, 관리하고, 커뮤니티로부터 이익 얻기
- [11부] 마케팅 사기꾼들, 그리고 어떻게 그런 사람이 되지 않을 수 있는가
- [12부] 우선순위 제대로 관리하기
107쪽, 밑에서 11번째 줄
능숙하지
(그리고 어떤 일에 서툰지)==>
능숙한지
(그리고 어떤 일에 서툰지)163쪽, 3번째 줄
초보
프로그래
혹은==>
초보
프로그래머
혹은207쪽, 첫 번째 줄(닫는 괄호 추가)
“배달은 쉽지 않아1(하지만 누군가 그걸 해야만
해
2”라는==>
“배달은 쉽지 않아1(하지만 누군가 그걸 해야만
해)
2”라는243쪽, 2번째 줄
시간을
보는
대신,==>
시간을
보내는
대신,274쪽, 밑에서 7번째 줄
개밥 먹기dogfood3, 개밥 먹기란 자사 제품이나 자신이 직접 만든 제품(옮긴이 _ 특히 소프트웨어를 사용하는 행위를 말한다.)는 어려운 일이다.
==>
개밥 먹기dogfood4(옮긴이 _ 개밥 먹기란 자사 제품이나 자신이 직접 만든 제품, 특히 소프트웨어를 사용하는 행위를 말한다)는 어려운 일이다.
- 결국 프로그래머가 되고 싶은 거로군 (22쪽)
- http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html
- http://www.randsinrepose.com/archives/2012/05/16/please_learn_to_write.html
- http://smarterware.org/10050/please-do-learn-how-to-propose-better-solutions
- http://www.codinghorror.com/blog/2009/07/code-its-trivial.html
- http://www.codinghorror.com/blog/2009/01/a-scripter-at-heart.html
- http://toiletcademy.com/
- http://www.codinghorror.com/blog/2006/04/keeping-up-and-just-in-time-learning.html
- http://www.codinghorror.com/blog/2007/01/if-loving-computers-is-wrong-i-dont-wantto-be-right.html
- http://www.minecraft.net/
- http://www.thinkwithportals.com/blog.php
- http://www.ajjacobs.com/books/kia.asp
- http://www.codinghorror.com/blog/2009/04/the-eight-levels-of-programmers.html
- http://www.codinghorror.com/blog/2006/08/game-player-game-programmer.html
- http://www.codinghorror.com/blog/2007/01/if-loving-computers-is-wrong-i-dont-wantto-be-right.html
- http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
- http://www.youtube.com/watch?v=PF_iorX_MAw
- http://www.codinghorror.com/blog/2007/12/on-the-meaning-of-coding-horror.html
- http://www.codinghorror.com/blog/2005/05/welcome-to-the-tribe.html
- http://www.imdb.com/title/tt0083658/quotes?qt=qt0378279
- 프로그래머의 여덟 단계 (28쪽)
- http://www.youtube.com/watch?v=SRwrg0db_zY#t=1m13
- http://www.codinghorror.com/blog/archives/000552.html
- http://www.codinghorror.com/blog/archives/001202.html
- http://www.codinghorror.com/blog/archives/000979.html
- http://www.kenrockwell.com/tech/7art.htm
- http://en.wikipedia.org/wiki/Edsger_W._Dijkstra
- http://en.wikipedia.org/wiki/Donald_Knuth
- http://en.wikipedia.org/wiki/Alan_Kay
- http://e-texteditor.com/blog/2009/opencompany
- http://en.wikipedia.org/wiki/Bill_Gates
- http://en.wikipedia.org/wiki/John_D._Carmack
- http://en.wikipedia.org/wiki/David_Heinemeier_Hansson
- http://www.codinghorror.com/blog/archives/000824.html
- http://en.wikipedia.org/wiki/List_of_programmers
- 쓰지 않으면서 쓰기 (33쪽)
- http://stackoverflow.com/
- http://www.joelonsoftware.com/articles/CollegeAdvice.html
- http://www.codinghorror.com/blog/2006/02/fear-of-writing.html
- http://blog.stackoverflow.com/2009/04/what-stack-overflow-can-teach-you/
- http://stackexchange.com/sites
- http://www.codinghorror.com/blog/2009/03/sharpening-the-saw.html
- http://writers.stackexchange.com/
- http://blog.stackoverflow.com/2009/10/podcast-71/#comment-40649
- 거대하고 끝없는 바다 (40쪽)
- http://blog.stackoverflow.com/2010/05/announcing-our-series-a/
- http://www.codinghorror.com/blog/2008/09/stack-overflow-none-of-us-is-as-dumb-asall-of-us.html
- http://meta.stackoverflow.com/questions/28642/why-do-i-get-more-satisfaction-out-ofparticipating-in-so-than-out-of-my-job
- http://bit.ly/Md5Ntb
- http://en.wikipedia.org/wiki/The_Candle_Problem
- http://www.amazon.com/dp/1594488843/?tag=codihorr-20
- http://bit.ly/MVUDI5
- http://www.codinghorror.com/blog/2007/04/is-amazons-mechanical-turk-a-failure.html
- http://www.codinghorror.com/blog/2010/05/on-working-remotely.html
- http://en.wikiquote.org/wiki/Antoine_de_Saint-Exupery#Unsourced
- 톱날 갈기 (45쪽)
- http://www.amazon.com/dp/0743269519/?tag=codihorr-20
- http://www.codinghorror.com/blog/archives/001138.html
- http://www.hanselman.com/blog/SharpenTheSawForDevelopers.aspx
- http://weblog.raganwald.com/2007/10/how-to-use-blunt-instrument-to-sharpen.html
- http://news.ycombinator.com/news
- http://ycombinator.com/
- http://www.paulgraham.com/
- http://www.youtube.com/watch?v=yfY1wa8oVN0
- http://www.reddit.com/r/programming/
- http://www.codinghorror.com/blog/archives/000922.html
- http://blogs.harvardbusiness.org/cs/2009/01/the_interview_question_you_sho.html
- http://news.ycombinator.com/
- 저 길로 가라. 총알처럼. (50쪽)
- http://stackoverflow.com/about/management
- http://www.imdb.com/title/tt0088794/
- http://blog.stackoverflow.com/2010/05/announcing-our-series-a/
- http://www.codinghorror.com/blog/2010/05/on-working-remotely.html
- http://area51.stackexchange.com/faq
- http://stackexchange.com/sites
- http://blog.stackoverflow.com/2010/07/new-per-site-metas/
- http://blog.stackoverflow.com/2010/08/chat-now-in-public-beta/
- http://careers.stackoverflow.com/
- http://careers.stackoverflow.com/Jobs
- http://odata.stackexchange.com/
- http://stackapps.com/
- http://www.codinghorror.com/blog/2007/02/boyds-law-of-iteration.html
- http://en.wikipedia.org/wiki/Google_Chrome
- http://en.wikipedia.org/wiki/Android_(operating_system)
- http://en.wikipedia.org/wiki/Android_(operating_system)#Update_history
- 멀티태스킹이라는 미신 (54쪽)
- http://www.amazon.com/exec/obidos/ASIN/0932633226/codihorr-20
- http://news.bbc.co.uk/1/hi/uk/4471607.stm
- http://headrush.typepad.com/creating_passionate_users/2005/03/your_brain_on_m.html
- http://headrush.typepad.com/creating_passionate_users/2006/03/multitasking_ma.html
- http://www.joelonsoftware.com/articles/fog0000000022.html
- http://www.codinghorror.com/blog/archives/000284.html
- http://www.codinghorror.com/blog/archives/000109.html
- http://www.codinghorror.com/blog/archives/000626.html
- 프로그래밍의 첫 번째 원리: 그것은 언제나 당신의 잘못이다 (59쪽)
- http://pragmaticprogrammer.com/the-pragmatic-programmer/extracts/coincidence
- http://www.codinghorror.com/blog/archives/000051.html
- http://www.amazon.com/exec/obidos/ASIN/020161622X/codihorr-20
- http://www.codinghorror.com/blog/archives/000219.html
- http://www.amazon.com/exec/obidos/ASIN/0735619670/codihorr-20
- 최선의 코드는 아무 코드도 없는 것이다 (63쪽)
- http://www.skrenta.com/2007/05/code_is_our_enemy.html
- http://wilshipley.com/blog/2007/05/pimp-my-code-part-14-be-inflexible.html
- http://www.codinghorror.com/blog/archives/000791.html
- http://en.wikipedia.org/wiki/Reductio_ad_absurdum
- http://www.codinghorror.com/blog/archives/000247.html
- http://www.codinghorror.com/blog/archives/000130.html
- http://www.codinghorror.com/blog/archives/000749.html
- http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html
- http://www.codeodor.com/index.cfm/2008/6/18/Common-Excuses-Used-To-Comment-Code-and-What-To-Do-About-Them/2293
- 루크, 소스를 읽는 법을 배우게 (73쪽)
- http://www.codinghorror.com/blog/2006/06/is-writing-more-important-than-programming.html
- http://www.codinghorror.com/blog/2007/01/if-it-isnt-documented-it-doesnt-exist.html
- http://www.codinghorror.com/blog/2006/08/the-power-of-view-source.html
- http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html
- http://blog.brandonbloom.name/
- http://news.ycombinator.com/item?id=3769446
- http://www.codinghorror.com/blog/2009/07/nobody-hates-software-more-than-software-developers.html
- http://www.codinghorror.com/blog/2006/09/when-understanding-means-rewriting.html
- 고무오리 문제 해결법 (79쪽)
- http://stackexchange.com/
- http://superuser.com/questions/how-to-ask
- http://en.wikipedia.org/wiki/Rubber_duck_debugging
- http://meta.stackoverflow.com/questions/74891/how-can-i-thank-the-community-when-i-solve-my-own-problems-rubber-duck
- http://meta.stackoverflow.com/questions/20016/why-is-it-that-properly-formulating-your-question-for-stackoverflow-often-yiel
- http://meta.stackoverflow.com/questions/68719/beginning-to-ask-a-question-on-stackoverflow-acually-helps-me-debug-my-problem-m
- http://hwrnmnbsol.livejournal.com/148664.html
- http://www.codinghorror.com/blog/2009/02/whos-your-coding-buddy.html
- http://www.codinghorror.com/blog/2011/07/nobodys-going-to-help-you-and-thats-awesome.html
- 아이디어가 아니라 팀을 가꿔라 (84쪽)
- 당신의 팀은 엘리베이터 테스트를 통과할 수 있는가? (90쪽)
- http://www.codinghorror.com/blog/archives/000878.html
- [http://www.youtube.com/results?search_query=tootsie pop owl](http://www.youtube.com/results?search_query=tootsie pop owl)
- http://www.codinghorror.com/blog/archives/000351.html
- http://www.joelonsoftware.com/articles/JimHighsmithonProductVisi.html
- http://www.amazon.com/exec/obidos/ASIN/0066620023/codihorr-20
- http://en.wikipedia.org/wiki/Mad_Libs
- http://en.wikipedia.org/wiki/Microsoft_Bob
- [http://www.youtube.com/results?search_query=microsoft ipod](http://www.youtube.com/results?search_query=microsoft ipod)
- http://www.codinghorror.com/blog/archives/000351.html
- 성능은 기능이다 (100쪽)
- http://stackexchange.com/
- http://www.codinghorror.com/blog/2006/11/speed-still-matters.html
- http://www.codinghorror.com/blog/2007/06/designing-for-informavores-or-why-users-behave-like-animals-online.html
- http://www.youtube.com/watch?v=OlkInNZ7xis
- http://www.codinghorror.com/blog/2007/08/yslow-yahoos-problems-are-not-your-problems.html
- http://stackexchange.com/sites
- http://developer.yahoo.com/performance/rules.html
- http://developer.yahoo.com/yslow/
- http://code.google.com/speed/page-speed/
- http://tools.pingdom.com/
- http://developer.yahoo.com/performance/rules.html#cdn
- http://blog.stackoverflow.com/2011/05/the-speed-of-light-sucks/
- http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
- http://aws.amazon.com/cloudfront/
- http://www.netdna.com/
- http://www.cachefly.com/
- http://blog.stackoverflow.com/category/cc-wiki-dump/
- http://www.codinghorror.com/blog/2007/06/avoiding-walled-gardens-on-the-internet.html
- http://www.codinghorror.com/blog/2011/01/trouble-in-the-house-of-google.html
- http://blog.stackoverflow.com/2011/02/suggested-edits-and-edit-review/
- http://code.google.com/p/mvc-mini-profiler/
- http://code.google.com/p/mvc-mini-profiler/
- http://msdn.microsoft.com/en-us/library/496e4ekx.aspx
- http://www.google.com/support/webmasters/bin/answer.py?answer=158541
- http://blog.serverfault.com/post/1432571770/
- http://www.codinghorror.com/blog/2008/12/hardware-is-cheap-programmers-are-expensive.html
- 프로그래머가 어째서 프로그래밍을 못하는 걸까? (105쪽)
- http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html
- http://www.joelonsoftware.com/items/2005/01/27.html
- http://tickletux.wordpress.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/
- http://www.kegel.com/academy/getting-hired.html
- http://www.codinghorror.com/blog/archives/000635.html
- http://www.codeslate.com/2007/01/you-dont-bury-survivors.html
- http://www.codinghorror.com/blog/archives/000771.html
- http://www.amazon.com/exec/obidos/ASIN/0321193679/codihorr-20
- 프로그래머를 채용하는 방법 (112쪽)
- http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html
- http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html
- http://www.interviewzen.com/
- http://codility.com/
- http://www.codinghorror.com/blog/2004/10/a-programmers-portfolio.html
- http://37signals.com/svn/posts/2486-bootstrapped-profitable-proud-github
- http://www.mojang.com/2012/02/minecraft-team-strengthened/
- http://arstechnica.com/business/news/2012/03/hacker-commandeers-github-to-prove-vuln-in-ruby.ars?clicked=related_right
- http://www.codinghorror.com/blog/2008/01/getting-the-interview-phone-screen-right.html
- http://www.codinghorror.com/blog/2006/05/snappy-answers-to-stupid-programming-questions.html
- http://www.codinghorror.com/blog/2009/03/the-hardest-interview-puzzle-question-ever.html
- http://www.codinghorror.com/blog/2008/10/the-one-thing-every-software-engineer-should-know.html
- http://www.codinghorror.com/blog/2007/10/remember-this-stuff-is-supposed-to-be-fun.html
- http://www.codinghorror.com/blog/2008/12/programming-love-it-or-leave-it.html
- http://samuelmullen.com/2012/02/advice-on-attracting-good-developers/
- 전화 인터뷰로 걸러내는 과정을 올바로 수행하기 (118쪽)
- 몇 년이나 경험했는가, 라는 질문에 담긴 미신 (121쪽)
- http://flatraterecruitment.com.au/
- http://www.codinghorror.com/blog/archives/000072.html
- http://www.codinghorror.com/blog/archives/000354.html
- http://www.codinghorror.com/blog/archives/000543.html
- http://www.codinghorror.com/blog/archives/000824.html
- http://www.37signals.com/svn/posts/833-years-of-irrelevance
- http://www.codinghorror.com/blog/archives/000524.html
- 프로그래머를 대상으로 인터뷰하기 (124쪽)
- 인터뷰 역사상 가장 어려운 질문 (129쪽)
- http://www.amazon.com/dp/0316919160/?tag=codihorr-20
- http://www.techinterview.org/
- http://www.cartalk.com/content/read-on/2008/08.23.2.html
- http://www.codinghorror.com/blog/archives/000226.html
- http://www.codinghorror.com/blog/archives/000226.html
- http://www.codinghorror.com/blog/archives/000781.html
- http://www.codinghorror.com/blog/archives/001242.html
- 그들이 어떤 말을 하든 그것은 결국 사람과 관련된 문제다 (132쪽)
- http://www.artima.com/weblogs/viewpost.jsp?thread=221622
- http://www.codinghorror.com/blog/archives/000686.html
- http://www.softwarequotes.com/ShowQuotes.asp?ID=605&Name=Weinberg,_Gerald_M.&Type=Q
- [http://www.amazon.com/gp/search/ref=sr_adv_b/?search-alias=stripbooks&unfiltered=1&field-author=gerald weinberg&sort=relevancerank](http://www.amazon.com/gp/search/ref=sr_adv_b/?search-alias=stripbooks&unfiltered=1&field-author=gerald weinberg&sort=relevancerank)
- http://www.codinghorror.com/blog/archives/000917.html
- http://www.codinghorror.com/blog/archives/000637.html
- http://www.joelonsoftware.com/articles/FiveWorlds.html
- 예를 통해 리드하기 (138쪽)
- http://www.codinghorror.com/blog/archives/000643.html
- http://www.codinghorror.com/blog/archives/000931.html
- [http://www.youtube.com/results?search_query=gunnery sergeant hartman&search=Search](http://www.youtube.com/results?search_query=gunnery sergeant hartman&search=Search)
- http://www.yafla.com/dennisforbes/Effectively-Integrating-Into-Software-Development-Teams/Effectively-Integrating-Into-Software-Development-Teams.html
- http://www.joelonsoftware.com/
- http://www.amazon.com/exec/obidos/ASIN/0735619670/codihorr-20
- http://www.amazon.com/exec/obidos/ASIN/0932633439/codihorr-20
- http://www.amazon.com/exec/obidos/ASIN/0201835959/codihorr-20
- http://www.codinghorror.com/blog/archives/000020.html
- http://www.yafla.com/dennisforbes/Effectively-Integrating-Into-Software-Development-Teams/Effectively-Integrating-Into-Software-Development-Teams.html
- http://www.codinghorror.com/blog/archives/000689.html
- http://www.amazon.com/exec/obidos/ASIN/0932633021/codihorr-20
- http://www.amazon.com/exec/obidos/ASIN/0932633021/codihorr-20
- http://www.amazon.com/exec/obidos/ASIN/0671723650/codihorr-20
- http://www.codinghorror.com/blog/archives/000761.html
- 뱀파이어 프로그래머 대 베어울프 시스템 관리자 (143쪽)
- http://blog.serverfault.com/post/893001713/should-developers-have-access-to-production
- http://serverfault.com/questions/62885/sysadmin-developer-responsibilities
- http://serverfault.com/questions/7907/access-to-the-production-systems-for-non-sys-admins
- http://serverfault.com/
- http://www.codinghorror.com/blog/2007/07/yes-but-what-have-you-done.html
- http://stackexchange.com/
- http://www.codinghorror.com/blog/2007/10/geek-diet-and-exercise-programs.html
- http://www.codinghorror.com/blog/2009/05/server-fault-calling-all-lusers.html
- http://en.wikipedia.org/wiki/True_Blood
- http://www.imdb.com/title/tt1325004/
- 짝 프로그래밍 대 코드 리뷰 (144쪽)
- http://en.wikipedia.org/wiki/Pair_programming
- http://geekswithblogs.net/dlussier/archive/2007/08/10/114551.aspx
- http://www.codinghorror.com/blog/archives/000495.html
- http://www.processimpact.com/pubs.shtml#pr
- http://jcooney.net/archive/2004/01/31/355.aspx
- http://en.wikipedia.org/wiki/Wine_(software)
- http://www.macadamian.com/index.php?option=com_techarticle&task=view&id=1
- 회의: 일이 죽으러 가는 장소 (153쪽)
- 썩은 사과를 다루는 방법 (156쪽)
- 썩은 사과: 그룹 전체의 독 (160쪽)
- http://www.thisamericanlife.org/Radio_Episode.aspx?sched=1275
- http://www.codinghorror.com/blog/archives/001154.html
- http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf
- http://audio.thisamericanlife.org/player/CPRadio_player.php?podcast=http://www.thisamericanlife.org/xmlfeeds/370.xml&proxyloc=http://audio.thisamericanlife.org/player/customproxy.php
- http://www.codinghorror.com/blog/archives/001226.html
- 원격근무에 대해 (169쪽)
- http://www.codinghorror.com/blog/2008/03/choosing-your-own-adventure.html
- http://www.codinghorror.com/blog/2007/06/in-programming-one-is-the-loneliest-number.html
- http://www.joelonsoftware.com/
- http://www.codinghorror.com/blog/2009/02/whos-your-coding-buddy.html
- http://www.codinghorror.com/blog/2010/01/cultivate-teams-not-ideas.html
- http://itc.conversationsnetwork.org/series/stackoverflow.html
- http://www.codinghorror.com/blog/2004/10/just-say-no.html
- [http://www.youtube.com/results?search_query=we're on a mission from god](http://www.youtube.com/results?search_query=we're on a mission from god)
- http://blog.stackoverflow.com/2010/05/announcing-our-series-a/
- http://stackoverflow.com/about/management#advisors
- http://www.mono-project.com/
- http://campfirenow.com/
- http://groups.google.com/
- http://www.skype.com/
- http://en.wikipedia.org/wiki/Emoticon
- [http://www.youtube.com/results?search_query=somebody's got a case of the mondays](http://www.youtube.com/results?search_query=somebody's got a case of the mondays)
- http://www.codinghorror.com/blog/2009/03/the-ugly-american-programmer.html
- 프로그래머권리 장전 (174쪽)
- http://www.codinghorror.com/blog/archives/000012.html
- http://developers.slashdot.org/article.pl?sid=03/10/09/137232&mode=thread&tid=137&tid=196
- http://www.codinghorror.com/blog/archives/000029.html
- http://www.codinghorror.com/blog/archives/000286.html
- http://www.codinghorror.com/blog/archives/000209.html
- http://www.codinghorror.com/blog/archives/000240.html
- http://www.codinghorror.com/blog/archives/000152.html
- http://www.codinghorror.com/blog/archives/000020.html
- http://www.codinghorror.com/blog/archives/000154.html
- http://en.wikipedia.org/wiki/Flow_(psychology)
- 컴퓨터 워크스테이션 인체공학 (179쪽)
- http://www.hanselman.com/blog/CommentView.aspx?guid=f54ee04c-7732-454c-be36-c9f764cbe2ab
- http://haacked.com/archive/2004/06/10/The-Real-Pain-Of-Software-Development-1.aspx
- http://www.codinghorror.com/blog/2007/10/geek-diet-and-exercise-programs.html
- http://www.codinghorror.com/blog/2006/06/programming-your-hands.html
- http://www.codinghorror.com/blog/2006/03/the-ideal-computer-desk.html
- http://www.codinghorror.com/blog/2008/07/investing-in-a-quality-programming-chair.html
- http://www.osha.gov/SLTC/etools/computerworkstations/
- http://www.e-radiography.net/computing/mouse.htm
- http://www.microsoft.com/hardware/hcg/hcg_view.mspx
- http://www.microsoft.com/hardware/hcg/default.html
- http://www.codinghorror.com/blog/2006/03/the-ideal-computer-desk.html
- http://www.codinghorror.com/blog/2008/07/investing-in-a-quality-programming-chair.html
- 하나 이상의 모니터를 사용하면 생산성이 향상되는가? (184쪽)
- http://en.wikipedia.org/wiki/Windows_Me
- http://www.codinghorror.com/blog/archives/000012.html
- http://www.codinghorror.com/blog/archives/000217.html
- http://www.codinghorror.com/blog/archives/000740.html
- http://www.codinghorror.com/blog/archives/000928.html
- http://www.codinghorror.com/blog/archives/000959.html
- http://www.codinghorror.com/blog/archives/000666.html
- http://www.techreport.com/discussions.x/14343
- http://www.necdisplay.com/gowide/NEC_Productivity_Study_0208.pdf
- http://www.necus.com/necus/media/press_releases/template.cfm?DID=1947
- http://www.codinghorror.com/blog/archives/000928.html
- http://dubroy.com/blog/2008/01/25/multiple-monitor-productivity-fact-or-fiction/
- http://www.nytimes.com/2006/04/20/technology/20basics.html?ex=1303185600&en=6fc17b9bf54c62ef&ei=5088&partner=rssnyt&emc=rss
- http://www.necdisplay.com/gowide/NEC_Productivity_Study_0208.pdf
- http://research.microsoft.com/apps/pubs/default.aspx?id=64317
- http://images.apple.com/pro/pdf/Cin_Disp30_report.pdf
- 품질 좋은프로그래밍용 의자에 투자하기 (191쪽)
- http://www.codinghorror.com/blog/archives/000240.html
- http://www.amazon.com/dp/B0006NUB5U/?tag=codihorr-20
- http://www.slate.com/id/2085064/
- http://www.amazon.com/dp/B0002K11BK/?tag=codihorr-20
- http://www.codinghorror.com/blog/archives/000240.html
- http://www.amazon.com/dp/B000REGDRS/?tag=codihorr-20
- http://www.amazon.com/dp/B000RE7MGE/?tag=codihorr-20
- http://www.amazon.com/dp/B0014DPL9C/?tag=codihorr-20
- http://www.amazon.com/dp/B001BPX1E0/?tag=codihorr-20
- http://www.amazon.com/dp/B000NTF7OW/?tag=codihorr-20
- http://www.haworth.com/zody
- http://www.nightingalechairs.com/cxo_home.html
- http://www.ergo4me.com/
- http://www.hag.no/
- http://www.igoergo.com/_site/products.php?cat=02
- [http://www.dwr.com/category/designers/a-c/don-chadwick.do?query=Don Chadwick](http://www.dwr.com/category/designers/a-c/don-chadwick.do?query=Don Chadwick)
- http://www.relaxtheback.com/guidancesearch/result/?q=swopper
- http://www.slate.com/articles/life/shopping/2005/12/sit_happens.html
- http://www.amazon.com/dp/B000NTF7OW/?tag=codihorr-20
- http://www.crunchgear.com/2006/12/28/workspace-roundup-ergonomic-chairs/
- http://www.google.com/notebook/public/02097020037672550236/BDTBmQgoQg8epiZgi
- http://ehs.unc.edu/workplace_safety/ergonomics/chairs/
- http://www.consumersearch.com/www/office/office-chairs/
- http://www.consumersearch.com/www/office/office-chairs/reviews.html
- http://www.youtube.com/watch?v=0T7e7UjWv3o
- http://www.office-seats.co.uk/tv.htm
- http://furnitureporn.com/
- http://www.amazon.com/dp/B0002K11BK/?tag=codihorr-20
- 배경 조명 (195쪽)
- http://www.imdb.com/title/tt0087363/
- http://www.dansdata.com/eclipse.htm
- http://www.codinghorror.com/blog/2007/09/computer-display-calibration-101.html
- http://arstechnica.com/gadgets/news/2011/08/bias-lighting.ars?comments=1#commentsbar
- http://www.instructables.com/id/Bias-lighting-on-the-cheap/
- http://www.instructables.com/id/Bias-lighting-using-the-IKEA-Ledberg-light/
- http://www.ikea.com/us/en/catalog/products/20119418/
- http://www.ikea.com/us/en/catalog/products/50192073/
- http://www.amazon.com/dp/B0053B347M?tag=codihorr-20
- 당신은 결코 충분한 치즈를 갖지 못할 것이다 (199쪽)
- 애플리케이션은 결국, 작은 디테일의 모음이다 (206쪽)
- http://www.codinghorror.com/blog/2007/04/all-about-my-cats.html
- http://blogs.vertigo.com/personal/jatwood/Blog/Lists/Posts/Post.aspx?ID=25
- http://www.youtube.com/watch?v=w0ffwDYo00Q
- https://twitter.com/#!/betsyphd/status/198571918692069376
- http://www.amazon.com/dp/B0016BVY2U/?tag=codihorr-20
- http://www.youtube.com/watch?v=9DEfXtd0yPg
- http://www.amazon.com/gp/customer-media/product-gallery/B0016BVY2U/ref=cm_ciu_pdp_images_dav
- http://www.youtube.com/watch?v=_nIyVtgrCJE
- http://www.amazon.com/dp/B0016BVY2U/?tag=codihorr-20
- http://daringfireball.net/2007/08/c4_1_in_a_nut
- [http://meta.stackoverflow.com/questions/tagged/feature-request status-completed](http://meta.stackoverflow.com/questions/tagged/feature-request status-completed)
- 사용자 인터페이스가 애플리케이션이다 (209쪽)
- http://www.shawnburke.net/default.aspx?document=264&userinterface=9
- http://www.azlyrics.com/lyrics/icet/somebodygottadoitpimpinainteasy.html
- http://www.ringrose.name/
- http://www.artima.com/intv/craft.html
- http://www.joelonsoftware.com/articles/fog0000000356.html
- http://www.codinghorror.com/blog/archives/000325.html
- UI를 우선시하는 소프트웨어 개발 (215쪽)
- http://blogs.msdn.com/rick_schaut/archive/2004/04/02/106929.aspx
- http://www.codinghorror.com/blog/archives/000325.html
- http://www.codinghorror.com/blog/archives/000371.html
- http://www.codinghorror.com/blog/archives/000499.html
- http://www.codinghorror.com/blog/archives/000256.html
- http://www.alistapart.com/articles/paperprototyping
- http://www.amazon.com/exec/obidos/ASIN/1558608702/codihorr-20
- http://www.amazon.com/exec/obidos/ASIN/1558608702/codihorr-20
- http://books.google.com/books?hl=en&id=5OhE7dyGtmgC&printsec=frontcover&source=web
- http://www.paperprototyping.com/what.html
- http://www.useit.com/alertbox/20030414.html
- http://www.codinghorror.com/blog/archives/000779.html
- http://www.uie.com/articles/paper_prototyping/
- http://www.uie.com/articles/prototyping_tips/
- http://www.uie.com/articles/looking_back_on_paper_prototyping/
- http://www.snyderconsulting.net/article_paperprototyping.htm#commonConcerns
- http://blogs.msdn.com/jensenh/archive/2006/01/06/510069.aspx
- http://blogs.msdn.com/jensenh/archive/2006/01/06/510069.aspx
- http://www.microsoft.com/expression/events-training/globalevent/player/Default.html?South-Korea_Manuel-Clement_Keynote_Wireframe-Prototyping-Using-PowerPoint-2007=Manuel_Clement=Wireframe-Prototyping_Using_PowerPoint_2007
- http://www.jansfreeware.com/articles/misc-prototyping.html
- http://www.istartedsomething.com/20071018/powerpoint-prototype-toolkit-01/
- http://www.adaptivepath.com/blog/2006/08/28/keynote-as-a-prototyping-tool/
- 쪽수매기기의 종말 (220쪽)
- http://ui-patterns.com/patterns/Pagination
- http://www.smashingmagazine.com/2007/11/16/pagination-gallery-examples-and-goodpractices/
- http://en.wikipedia.org/wiki/Disemvoweling
- http://www.codinghorror.com/blog/2012/03/twitter.com/codinghorror
- [https://www.google.com/search?q=alice in wonderland illustrations public domain&hl=en&prmd=imvns&source=lnms&tbm=isch&ei=mDpyT8KnOeHg2AWVwOjJDg&sa=X&oi=mode_link&ct=mode&cd=2&ved=0CBcQ_AUoAQ&biw=811&bih=1037](https://www.google.com/search?q=alice in wonderland illustrations public domain&hl=en&prmd=imvns&source=lnms&tbm=isch&ei=mDpyT8KnOeHg2AWVwOjJDg&sa=X&oi=mode_link&ct=mode&cd=2&ved=0CBcQ_AUoAQ&biw=811&bih=1037)
- http://www.codinghorror.com/blog/2009/04/training-your-users.html
- http://googlewebmastercentral.blogspot.com/2011/09/view-all-in-search-results.html
- http://diveintohtml5.info/history.html
- http://webmasters.stackexchange.com/questions/4803/the-sitemap-paradox
- http://ux.stackexchange.com/questions/tagged/pagination
- 사용자의 좁은 시야 다루기 (227쪽)
- 폴드 다시 살펴보기 (232쪽)
- http://www.codinghorror.com/blog/archives/001306.html
- http://www.codinghorror.com/blog/archives/000376.html
- http://www.codinghorror.com/blog/archives/000376.html
- http://www.cxpartners.co.uk/thoughts/the_myth_of_the_page_fold_evidence_from_user_testing.htm
- http://www.cxpartners.co.uk/thoughts/the_myth_of_the_page_fold_evidence_from_user_testing.htm
- 피츠의 법칙과 무한한 넓이 (237쪽)
- http://en.wikipedia.org/wiki/Fitts'_law
- http://en.wikipedia.org/wiki/Fitts'_law#Success_and_implications_of_Fitts.27_law
- http://www.asktog.com/basics/firstPrinciples.html#fittsLaw
- http://www.codinghorror.com/blog/archives/000217.html
- http://www.codinghorror.com/blog/archives/000397.html
- http://www.asktog.com/basics/firstPrinciples.html#fittsLaw
- 궁극적인 단위 테스트 실패 (240쪽)
- http://www.codinghorror.com/blog/archives/000490.html
- http://www.codinghorror.com/blog/archives/000640.html
- http://www.codinghorror.com/blog/archives/000882.html
- http://interaction08.ixda.org/
- http://ajaxian.com/archives/interaction08-ixds-in-savannah-alan-cooper
- http://www.brightcove.tv/title.jsp?title=1416866797&channel=1274129191
- http://www.cooper.com/
- http://www.codinghorror.com/blog/archives/000897.html
- http://www.codinghorror.com/blog/archives/000020.html
- http://www.codinghorror.com/blog/archives/000377.html
- 버전 1은 엉망이야, 하지만 어쨌든 출시하라고 (244쪽)
- http://www.codinghorror.com/blog/archives/000889.html
- http://www.codinghorror.com/blog/archives/000773.html
- http://www.slate.com/id/2081042/
- http://successfulsoftware.net/2007/08/07/if-you-arent-embarrassed-by-v10-you-didntrelease-it-early-enough/
- http://www.codinghorror.com/blog/archives/000788.html
- 웹 트래픽 전체를 암호화해야 하는가? (251쪽)
- http://www.codinghorror.com/blog/2010/11/breaking-the-webs-cookie-jar.html
- http://www.codinghorror.com/blog/2008/06/please-give-us-your-email-password.html
- http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html
- http://twitter.com/codinghorror
- http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
- http://security.stackexchange.com/questions/6290/how-is-it-possible-that-people-observing-an-https-connection-being-established-w
- http://www.codinghorror.com/blog/2007/04/when-in-doubt-make-it-public.html
- http://gent.ilcore.com/2011/02/chromes-10-caches.html?showComment=1297102528799#c5411401837359385517
- http://dev.chromium.org/spdy/spdy-whitepaper
- http://blog.chromium.org/2011/05/ssl-falsestart-performance-results.html
- http://www.semicomplete.com/blog/geekery/ssl-latency.html
- 사전 공격 기초 (256쪽)
- http://blog.wired.com/27bstroke6/2009/01/professed-twitt.html
- http://www.codinghorror.com/blog/archives/000852.html
- http://www.schneier.com/blog/archives/2006/12/realworld_passw.html
- http://www.codinghorror.com/blog/archives/000631.html
- http://en.wikipedia.org/wiki/Dictionary_attack
- http://www.askoxford.com/asktheexperts/faq/aboutenglish/numberwords
- http://www.worldwidewords.org/articles/howmany.htm
- http://en.wikipedia.org/wiki/Captcha
- http://www.codinghorror.com/blog/archives/000546.html
- http://www.codinghorror.com/blog/archives/001121.html
- http://www.codinghorror.com/blog/archives/000599.html
- 빠른 해싱 (265쪽)
- http://www.codinghorror.com/blog/2007/12/hashtables-pigeonholes-and-birthdays.html
- http://www.skrenta.com/2007/08/md5_tutorial.html
- http://www.codinghorror.com/blog/2005/04/checksums-and-hashes.html
- http://www.imdb.com/title/tt0119094/
- http://www.mscs.dal.ca/~selinger/md5collision/
- http://web.archive.org/web/20071226014140/http://www.cits.rub.de/MD5Collisions/
- http://www.codeproject.com/dotnet/HackingMd5.asp
- http://www.win.tue.nl/hashclash/SoftIntCodeSign/
- http://blog.didierstevens.com/2009/01/17/playing-with-authenticode-and-md5-collisions/
- http://tinsology.net/2010/12/is-sha1-still-viable/
- http://en.wikipedia.org/wiki/DisplayPort
- http://hashcat.net/hashcat/
- http://hashcat.net/oclhashcat-lite/
- http://www.codinghorror.com/blog/2006/12/moores-law-in-practical-terms.html
- http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html
- http://plaintextoffenders.com/
- http://www.codinghorror.com/blog/2010/12/the-dirty-truth-about-web-passwords.html
- http://www.codinghorror.com/blog/2009/01/dictionary-attacks-101.html
- http://www.codinghorror.com/blog/2011/09/cutting-the-gordian-knot-of-web-identity.html
- http://hashcat.net/oclhashcat-lite/
- http://thepasswordproject.com/oclhashcat_benchmarking
- http://www.codinghorror.com/blog/2007/09/rainbow-hash-cracking.html
- http://codahale.com/how-to-safely-store-a-password/
- http://www.adayinthelifeof.nl/2011/02/02/password-hashing-and-salting/
- http://www.codinghorror.com/blog/2005/07/passwords-vs-pass-phrases.html
- http://en.wikipedia.org/wiki/Bcrypt
- http://en.wikipedia.org/wiki/Pbkdf2
- http://security.stackexchange.com/a/6415
- 웹 비밀번호를 둘러싼 불편한 진실 (271쪽)
- http://www.codinghorror.com/blog/2008/05/revisiting-the-black-sunday-hack.html
- http://www.codinghorror.com/blog/2005/02/ipod-hacking-via-modem.html
- http://www.codinghorror.com/blog/gawker-hack-release-notes.html
- http://www.fastcompany.com/1621516/iphone-leak-iphone-4-apple-gizmodo
- http://www.newyorker.com/reporting/2010/10/18/101018fa_fact_mcgrath
- [http://www.google.com/search?q=gawker lawsuit](http://www.google.com/search?q=gawker lawsuit)
- http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html
- http://www.codinghorror.com/blog/2007/09/rainbow-hash-cracking.html
- http://www.codinghorror.com/blog/2008/06/smart-enough-not-to-build-this-website.html
- http://www.codinghorror.com/blog/2005/08/passphrase-evangelism.html
- http://www.codinghorror.com/blog/2009/05/why-isnt-my-encryption-encrypting.html
- http://lifehacker.com/5712785/#2
- http://www.codinghorror.com/blog/2010/11/your-internet-drivers-license.html
- http://www.codinghorror.com/blog/2008/05/openid-does-the-world-really-need-yet-another-username-and-password.html
- http://www.codinghorror.com/blog/2009/01/dictionary-attacks-101.html
- http://blogs.wsj.com/digits/2010/12/13/the-top-50-gawker-media-passwords/
- http://mashable.com/2010/12/13/acai-berry-twitter-worm-warning/
- http://www.codinghorror.com/blog/2010/11/your-internet-drivers-license.html
- 고객의 고통을 공유하기 (275쪽)
- 무질서한 원숭이와 함께 일하기 (279쪽)
- http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
- http://stackexchange.com/
- http://blog.stackoverflow.com/2010/01/stack-overflow-network-configuration/
- http://serverfault.com/questions/104791/windows-server-2008-r2-network-adapterstops-working-requires-hard-reboot
- http://www.balabit.com/support/community/products/tproxy
- http://en.wikipedia.org/wiki/Host_model
- http://www.codinghorror.com/blog/2010/05/on-working-remotely.html
- 코드 리뷰: 그냥 하라 (282쪽)
- 무식한 방식의 테스트 (287쪽)
- http://www.codinghorror.com/blog/archives/001116.html
- http://www.codinghorror.com/blog/archives/001016.html
- http://www.regexbuddy.com/cgi-bin/affref.pl?aff=jatwood
- http://code.google.com/events/io/sessions/MythGeniusProgrammer.html
- http://en.wikipedia.org/wiki/Fuzz_testing
- http://www.regular-expressions.info/lookaround.html
- 나는 단위 테스트를 작성하지 않는 바보들에게 동정을 보낸다 (291쪽)
- http://www.jtse.com/blog/2006/07/11/twelve-benefits-of-writing-unit-tests-first
- http://www.jtse.com/blog/2006/07/11/twelve-benefits-of-writing-unit-tests-first
- http://www.codinghorror.com/blog/archives/000265.html
- http://codebetter.com/blogs/jeffrey.palermo/archive/2006/03/28/141920.aspx
- http://emw.inf.tu-dresden.de/de/pdai/Forschung/refactoring/refactoring_html/node7.html
- 단위 테스트 대 베타 테스트 (294쪽)
- 싸구려 사용성 테스트 (299쪽)
- http://www.amazon.com/exec/obidos/ASIN/0321344758/codihorr-20
- http://www.useit.com/papers/guerrilla_hci.html
- http://www.useit.com/alertbox/20000319.html
- http://www.codinghorror.com/images/dont_make_me_think_pg_131_smaller.png
- http://www.techsmith.com/products/studio/default.asp
- http://www.codinghorror.com/blog/archives/000721.html
- http://www.sensible.com/Downloads/script.doc
- http://www.amazon.com/exec/obidos/ASIN/0321344758/codihorr-20
- http://sensible.com/Downloads/DMMTchapter09_for_personal_use_only.pdf
- 크래쉬보다 더 나쁜 것은 무엇인가? (302쪽)
- http://blogs.msdn.com/jmstall/archive/2007/07/26/there-are-things-worse-than-crashing.aspx
- http://www.martinfowler.com/ieeeSoftware/failFast.pdf
- http://www.codinghorror.com/blog/archives/000676.html
- http://www.codinghorror.com/blog/archives/000114.html
- http://www.codinghorror.com/blog/archives/000550.html
- 커뮤니티의 의견을 들어라, 하지만 그들이 당신이 어떻게 할지 말하게 하지 마라 (310쪽)
- http://www.codinghorror.com/blog/2005/05/success-through-failure.html
- http://www.codinghorror.com/blog/2009/07/meta-is-murder.html
- http://meta.stackoverflow.com/
- http://stackexchange.com/sites
- http://meta.stackoverflow.com/users/1/jeff-atwood
- http://www.codinghorror.com/blog/2005/02/ivory-tower-development.html
- http://en.wikipedia.org/wiki/Sturgeon's_Law
- http://balpha.de/2011/06/a-shout-out-to-the-people-of-meta/
- http://en.wikipedia.org/wiki/Subaru_BRAT
- http://tom.preston-werner.com/2011/03/29/ten-lessons-from-githubs-first-year.html
- 반복한다: 사용자의 말을 듣지 마라 (316쪽)
- http://paulbuchheit.blogspot.com/2008/02/most-import-thing-to-understand-about.html
- http://friendfeed.com/
- http://www.codinghorror.com/blog/archives/001048.html
- http://www.useit.com/alertbox/20010805.html
- http://www.useit.com/alertbox/application-mistakes.html
- http://www.steampowered.com/status/survey.html
- http://en.wikipedia.org/wiki/Team_Fortress_2
- http://steampowered.com/status/tf2/tf2_stats.php
- http://www.ubercharged.net/2008/01/29/new-medic-achievements-already-hidden-onyour-pc/
- http://www.wired.com/gaming/virtualworlds/magazine/15-09/ff_halo?currentPage=all
- 게임화 (325쪽)
- http://stackexchange.com/
- http://www.businessofdesignonline.com/picasso-good-artists-copy/
- http://www.codinghorror.com/blog/2009/03/whos-your-arch-enemy.html
- http://stackexchange.com/sites
- http://www.codinghorror.com/blog/2005/05/a-group-is-its-own-worst-enemy.html
- http://en.wikipedia.org/wiki/Gamification
- http://www.codinghorror.com/blog/2011/02/how-to-write-without-writing.html
- http://www.codinghorror.com/blog/2008/02/the-years-of-experience-myth.html
- http://www.codinghorror.com/blog/2007/10/remember-this-stuff-is-supposed-to-be-fun.html
- http://www.codinghorror.com/blog/2006/08/game-player-game-programmer.html
- http://www.amazon.com/Computer-gamesmanship-complete-structuring-intelligent/dp/0671495321
- http://www.penny-arcade.com/comic/2004/3/19/
- http://stackexchange.com/sites
- http://codingconduct.cc/
- http://www.slideshare.net/dings/meaningful-play-getting-gamification-right
- 정지, 금지 혹은 완전금지? (330쪽)
- http://stackexchange.com/sites
- http://area51.stackexchange.com/
- http://blog.stackoverflow.com/2010/10/membership-has-its-privileges/
- http://blog.stackoverflow.com/2010/12/stack-exchange-moderator-elections-begin/
- http://mechanics.stackexchange.com/
- http://homebrew.stackexchange.com/
- http://music.stackexchange.com/
- http://area51.stackexchange.com/
- http://www.codinghorror.com/blog/2009/07/meta-is-murder.html
- http://www.amazon.com/dp/0803725906/?tag=codihorr-20
- http://ask.metafilter.com/117775/What-was-the-first-website-to-hide-trolls-activity-to-everyone-but-the-troll-himself
- http://anticlimactic.retrovertigo.com/
- http://www.wired.com/techbiz/people/magazine/17-04/st_thompson
- http://drupal.org/project/cave
- http://en.wikipedia.org/wiki/Inferno_(Dante)
- http://www.codinghorror.com/blog/2006/11/speed-still-matters.html
- http://drupal.org/project/misery
- http://en.wikipedia.org/wiki/It's_a_Good_Life_(The_Twilight_Zone)
- 마케팅 사기꾼들이 당신을 속이려고 하는 9가지 방법 (340쪽)
- 인터넷 광고에서 하지 말아야 할 일 (346쪽)
- http://www.codinghorror.com/blog/archives/000872.html
- http://kevinsung.org/?p=2111
- http://en.wikipedia.org/wiki/Civilization_(video_game)
- http://en.wikipedia.org/wiki/Freemium
- http://www.youtube.com/watch?v=bc_4_IVURHE
- http://blog.costumecraze.com/2009/05/dubious-civony-game-uses-costume-photo
- http://www.tesnexus.com/
- http://www.codinghorror.com/blog/archives/000893.html
- http://www.imdb.com/title/tt0387808/
- http://www.amazon.com/dp/B000K7VHOG/?tag=codihorr-20
- 그라운드호그 데이, 혹은 A/B 테스트의 문제 (352쪽)
- http://www.imdb.com/title/tt0107048/
- http://www.wolfgnards.com/index.php/2009/08/18/harold-ramis-responds-to-the-wolfgnards
- http://rogerebert.suntimes.com/apps/pbcs.dll/article?AID=/20050130/REVIEWS08/501300301/1023
- http://en.wikipedia.org/wiki/Ouroboros
- http://en.wikipedia.org/wiki/A/B_testing
- http://www.codinghorror.com/blog/2009/09/9-ways-marketing-weasels-will-try-tomanipulate-you.html
- http://learningischange.com/2010/01/22/question-22-of-365-farmville-practices-ghettotesting-why-arent-we/
- http://twitter.com/NathanBowers/status/16801715177
- 기업처럼 보인다면, 그것을 변화시켜라 (356쪽)
- http://www.codinghorror.com/blog/archives/000163.html
- http://en.wikipedia.org/wiki/Technological_singularity
- http://www.headsethotties.com/
- http://blog.asmartbear.com/blog/youre-a-little-company-now-act-like-one.html
- http://headrush.typepad.com/creating_passionate_users/2005/09/dignity_is_dead.html
- http://www.codinghorror.com/blog/archives/000516.html
- 소프트웨어 가격 책정: 우리는 그것을 잘못 하고 있는가? (360쪽)
- http://www.codinghorror.com/blog/archives/001280.html
- http://www.codinghorror.com/blog/archives/000735.html
- http://mashable.com/2009/07/21/iphone-app-race-bottom/
- http://www.shacknews.com/onearticle.x/57308
- http://store.steampowered.com/
- http://www.codinghorror.com/blog/archives/000995.html
- http://www.amazon.com/dp/B001AMHWP8/?tag=codihorr-20
- http://www.amazon.com/dp/B002DHLUWK/?tag=codihorr-20
- http://www.codinghorror.com/blog/archives/000796.html
- http://www.codinghorror.com/blog/archives/001283.html
- http://www.codinghorror.com/blog/archives/000735.html
- 행복을 구매하기 (367쪽)
- http://www.pnas.org/content/107/38/16489
- http://aspe.hhs.gov/poverty/12poverty.shtml
- http://en.wikipedia.org/wiki/Maslow's_hierarchy_of_needs
- [http://www.wjh.harvard.edu/~dtg/DUNN GILBERT & WILSON (2011).pdf](http://www.wjh.harvard.edu/~dtg/DUNN GILBERT & WILSON (2011).pdf)
- http://www.amazon.com/dp/1400077427/?tag=codihorr-20
- [http://www.wjh.harvard.edu/~dtg/DUNN GILBERT & WILSON (2011).pdf](http://www.wjh.harvard.edu/~dtg/DUNN GILBERT & WILSON (2011).pdf)
- 빠르게 살고, 일찍 죽고, 지친 육신을 남기고 (371쪽)