모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : programmer_17543
    작성자 : 잉어
    추천 : 1
    조회수 : 718
    IP : 58.120.***.14
    댓글 : 1개
    등록시간 : 2016/06/09 02:53:43
    http://todayhumor.com/?programmer_17543 모바일
    Mastering Programming(KENT BECK)
    <div>Technical Coach인 Kent Beck이 쓴 프로그래밍의 대가들이 업무를 할 때 어떤 패턴으로 <span style="font-size:9pt;line-height:1.5;">일을 하는지에 대해 쓴 글입니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;">레딧으로 보게되어서 발번역이지만 도움이 될까 공유합니다. 아직 프로그래밍 걸음마도 떼지 못한 제가 보기에는 조금 나중에 읽어야 할 글이지만요.</span></div> <div>번역이 부족하니 반드시 본문을 참조하시기 바랍니다! (번역 보충해주시면 감사하겠습니다.)</div> <div><br></div> <div>======================================================================</div> 프로그래밍의 대가들을 봐온 수년간, 나는 그들의 작업 흐름에서 어떤 공통된 패턴들을 봐왔다.  <div>솜씨가 있는 일반 프로그래머들을 코칭해온 수년간 나는 그러한 패턴들이 없는 것을 봐왔다. </div> <div>나는 그 패턴을 도입하는 것이 무슨 차이를 만드는지 알 수 있었다. <div><br></div> <div> 효과적인 프로그래머가 지구에서 그들의 소중한 시간에서 최상의 것을 얻어내는 방법이 여기 있다.</div> <div><br></div> <div> 여기있는 주제는 당신의 사고를 확장시킬 것이다. </div> <div>일반 프로그래머는 한 번에 좀 더 많은 문제를 해결함으로써 좀 더 큰 문제를 해결하는 방법을 알고있다. </div> <div>프로그래머의 대가는 한 번에 더 적은 문제를 해결함으로써 일반 프로그래머가 해결하는 문제보다 더 큰 문제를 해결하는 방법을 알고 있다. </div> <div>세분화가 현명한 방법이다. <span style="line-height:1.5;">분할된 솔루션들을 통합시키는 것은 문제들을 함께 해결하기 보다 더 작은 문제가 되도록 하기 때문이다.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">*시간</span></div> <div><span style="font-size:12px;line-height:1.5;">- 얇게썰기.</span></div> <div><span style="font-size:12px;line-height:1.5;"> 큰 프로젝트를 맡아라, </span></div> <div><span style="font-size:12px;line-height:1.5;">그 프로젝트를 얇은 조각들로 썰어라, </span></div> <div><span style="font-size:12px;line-height:1.5;">그리고 그 조각들을 너의 상황에 맞게 재배열하라. </span></div> <div><span style="font-size:12px;line-height:1.5;">나는 항상 프로젝트들을 더 잘게 세분화할 수 있었다. </span></div> <div><span style="font-size:12px;line-height:1.5;">그리고 나는 다른 곳에서도 필요한 조각들의 새로운 치환법을 항상 발견할 수 있었다. (다른 곳에도 통하는 조각들)</span></div> <div><br></div> <div><span style="font-size:12px;line-height:1.5;">- 한 번에 한 가지 것만.</span></div> <div><span style="font-size:12px;line-height:1.5;"> 우리는 너무 효율성에 집중해서 오버헤드를 줄이려는 시도로 피드백 하는 주기를 줄이게 된다. </span></div> <div><span style="font-size:12px;line-height:1.5;">이것은 예상비용이 우리가 피하려는 오버헤드 주기보다 더 크게 되어 디버깅하기 어려운 상황을 만든다.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 쉬운 변화들(?). (change가 정확히 뭘 뜻하는지 모르겠네요..)</span></div> <div><span style="font-size:12px;line-height:1.5;"> 어려운 변화에 직면했을 때, 처음에 그것을 쉽게 만들어라 (경고, 이것은 어려울지도 모릅니다.), </span></div> <div><span style="font-size:12px;line-height:1.5;">그리고 나서 쉬운 변화를 만들어라. (예를들어 잘게썰기, 한 번에 한가지 것, 집중, 고립). 잘게써는 것의 예시(?).</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 집중</span></div> <div><span style="font-size:12px;line-height:1.5;"> 만약 당신이 몇가지 요소들을 변화시키려 한다면, 그 변화가 오직 한 가지 요소에만 발생하도록 처음에 코드를 재배열해라.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 고립</span></div> <div><span style="font-size:12px;line-height:1.5;"> 만약 당신이 오직 한 요소의 한 부분만을 바꾸려 한다면, 전체 하위 요소가 변화하도록 그 부분을만을 추출해라.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 기준 측정</span></div> <div><span style="font-size:12px;line-height:1.5;"> 그 프로젝트의 현재 상태를 측정함으로써 프로젝트를 시작하라. </span></div> <div><span style="font-size:12px;line-height:1.5;">이것은 여러 것들을 수정하는 것을 시작하는 우리의 공학도의 본능과 반대되지만, </span></div> <div><span style="font-size:12px;line-height:1.5;">당신이 기준치를 측정했을 때, 당신은 실제로 여러 것들을 수정하고 있다는 것을 알게 될 것이다.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">*학습</span></div> <div><span style="font-size:12px;line-height:1.5;">- Call your shot(너가 짠 것을 회상해라?)</span></div> <div><span style="font-size:12px;line-height:1.5;"> 당신이 코드를 만지기전에 무엇이 일어날지 정확하게 예측해라.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 구체적인 가설.</span></div> <div><span style="font-size:12px;line-height:1.5;"> 프로그램이 잘못 행동하고 있을 때, 수정하기 전에 너가 생각한 것이 틀린 것이라고 정확하게 말해라. </span></div> <div><span style="font-size:12px;line-height:1.5;">만약 두가지 이상의 가설을 가지고 있다면 차이가 날 수 있는 진단 방법을 찾아라.</span></div> <div><span style="font-size:12px;line-height:1.5;"><br></span></div> <div><span style="font-size:12px;line-height:1.5;">- 관계없는 세부사항을 제거하라.</span></div> <div> 버그에 대해 보고할 때, 가장짧은 복제 단계를 찾아라. </div> <div>버그를 격리시키려할 때, 가장 짧은 테스트 케이스를 찾아라. </div> <div>새로운 API를 사용하려 할 때, 가장 기초 예시부터 시작하라. </div> <div>"모든 것이 중요할 수는 없다."라는 말은 잘못된 상황에서는 비싼 추측이다.</div> <div>   -> 예시, 모바일에 있는 버그를 보아라, 그것을 curl로 복제하라.</div> <div><br></div> <div>- 다양한 scales (scale의 의미를 잘 모르겠네요)</div> <div> 자유롭게 scales 사이를 움직여라. </div> <div>아마도 이것은 테스트 문제가 아니라 디자인 문제이다. </div> <div>아마도 그것은 기술 문제가 아니라 사람 문제이다.<span style="font-size:9pt;line-height:1.5;">(가짜같지만, 이것은 항상 사실이다.)</span></div> <div><br></div> <div><br></div> <div>*Transcend Logic(초월논리?)</div> <div>- Symmetry(대칭)</div> <div>거의 같은 것들은 똑같은 부분과 명확하게 다른 부분으로 나뉘어질 수 있다.</div> <div><br></div> <div>- Aesthetics(미학)</div> <div> 아름다움은 등산하기에 아주 좋은 경사이다. 그것은 또한 무시하기에는 자유롭게 하는 경사이다. </div> <div>  (예시. 여러가지 기능들을 한 개의 거대한 집합으로 구성하는 것)</div> <div><br></div> <div>- Rhythm(리듬)</div> <div> 올바른 순간이 올 때까지 기다리는 것은 에너지를 보존하고 어지러운 것을 피하는 것이다. 움직일 시간일 때 집중력있게 움직여라.</div> <div><br></div> <div>- Tradeoffs(교환)</div> <div> 모든 결정들은 교환에 지배를 받는다. 오늘 어떤 답을 골라야 할 지 아는 것 보다는(또는 어제 당신이 골랐던 답) </div> <div>그 결정이 의존하는 것을 아는 것이 더 중요하다. </div> <div><br></div> <div><br></div> <div>*위험</div> <div>- Fun list</div> <div> 관계없는 아이디어가 떠올랐을 때, 그것들을 기록하고 빠르게 업무로 돌아가라. </div> <div><span style="font-size:9pt;line-height:1.5;">너가 쉬어야 하는 지점에 왔을 때, 이 목록들을 다시 훑어보라.</span></div> <div><br></div> <div>- Feed Ideas(아이디어에게 밥주기)</div> <div> 아이디어들은 겁먹은 작은 새들과 같다. </div> <div>너가 그 작은 새들을 겁주어 쫓아버리려 한다면, 그들은 당신 주위로 오지 않을 것이다. </div> <div>너가 아이디어가 있을 때, 그것에게 조금씩 먹이를 주어라. </div> <div>가능한한 빠르게 그것이 틀렸다는 것을 입증해라, but from data not from a lack of self-esteem.<span style="font-size:9pt;line-height:1.5;">(자존심 부족이 아닌 자료로 틀린 것을 알아내어라?)</span></div> <div><br></div> <div>-80/15/5</div> <div> 당신의 시간의 80%를 저위험/합리적인 보수의 일에 써라. </div> <div>당신의 시간의 15%는 관련된 고위험/높은 보수의 일에 써라. </div> <div>당신의 시간의 5%는 보수와 상관없이 당신을 재미있게 하는 것에 써라. </div> <div>다음 사람에게 너가 하는 80% 일을 하는 법을 가르쳐라. </div> <div>누군가가 너의 일을 이어받을 준비가 되었을 즈음에, </div> <div>당신의 15% 실험중의 하나 (또는 덜 빈번하게 한것들, 당신의 5% 실험중의 하나들)가 성과가 있을 것이고 당신의 새로운 80%가 될 것이다. 반복해라.</div> <div><br></div> <div><br></div> <div>*결론</div> <div> 이 글은 시간을 관리하고 학습을 늘림으로써 위험을 제거하는 것부터 </div> <div>너의 모든 머리를 쓰고 아이디어를 빠르게 분류함으로써 세심하게 위험을 무릅쓰는 것까지에 관해서 쓰였다.</div></div>
    출처 https://www.prod.facebook.com/notes/kent-beck/mastering-programming/1184427814923414

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2016/06/09 20:02:47  210.114.***.21  프로그래머  53975
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    17561
    정규분포 엑셀 질문좀요! 베스트금지본인삭제금지 노찌루찌루 16/06/10 00:39 411 0
    17560
    매트랩에서 comm.TurboDecoder 이 기능 써보신 분 계신가요? 인생뭐 16/06/09 23:30 410 0
    17559
    엄청 기초적인 c언어 질문합니다! [7] 바닐라황혼 16/06/09 21:32 557 0
    17558
    c# 로또 번호 생성기 소스인데..궁금증이있습니다 [2] 본인삭제금지 토왕 16/06/09 21:21 1758 0
    17557
    울트라 에디트 정규식 질문.... [3] 본인삭제금지 구라쌔리냐 16/06/09 20:09 626 0
    17556
    main.cpp에 함수들이 많아져간다면..? [7] 본인삭제금지 창천을꿈꾸며 16/06/09 19:42 370 1
    17555
    css 선택자 관련질문입니다 [4] 본인삭제금지 calculus6E 16/06/09 19:27 341 0
    17550
    32비트 버전 안맞는 드라이버를 64비트를 강제로 쓸수 있는 방법은없나요 [5] 입업벤치 16/06/09 16:52 755 0
    17549
    Db질문좀해도될까요? [12] 본인삭제금지 3o 16/06/09 15:33 411 0
    17548
    서버에 있는 데이터를 사용해보고 싶습니다. [1] 니콜캣우먼 16/06/09 15:30 332 0
    17547
    메모리 엑세스 오류.. 도움이 필요합니다. [15] 베스트금지베오베금지본인삭제금지외부펌금지 푸아 16/06/09 13:29 7477 0
    17546
    해외 서버 질문드려요 ㅜㅜ 많이 찾아봐도 없더라고요 해외 서버를 두고 [1] 철판냄비 16/06/09 11:48 282 0
    17545
    오토마타 이론서 추천 부탁 드립니다. [3] 빠른물 16/06/09 09:12 1467 0
    Mastering Programming(KENT BECK) [1] 잉어 16/06/09 02:53 719 1
    17542
    c언어 질문드립니다 [4] 본인삭제금지 시이나마시롱 16/06/09 02:29 426 0
    17541
    C 언어 질문.. [4] 본인삭제금지 적녹색약 16/06/09 01:40 400 0
    17540
    취업하고싶다. 블루♪레이븐 16/06/08 23:21 506 2
    17539
    c언어 비주얼 스튜디오 사용중 질문입니다 [2] 본인삭제금지 적녹색약 16/06/08 22:17 475 0
    17538
    C++ 지뢰찾기 문의드립니다. [5] 본인삭제금지 대★맛이야 16/06/08 19:16 1251 0
    17537
    유니티 쉐이더 질문있습니다. [7] 본인삭제금지 초보오유러 16/06/08 18:33 472 0
    17535
    c++갤러그 소스분석중인데.. [4] 본인삭제금지 토왕 16/06/08 16:45 3651 0
    17534
    vcruntime140.dll 때문에 죽고싶습니다 ㅜㅜ [9] 다꿈이되길바람 16/06/08 16:29 1381 0
    17533
    sql에서 테이블에 있는 값 리턴은 어떻게 하나요? [3] 베스트금지베오베금지본인삭제금지외부펌금지 lihirt 16/06/08 14:01 427 0
    17532
    python 코드 메모리가 초과해서 전부 못돌리는거 같은데 도움요청이요ㅠ [10] 베스트금지본인삭제금지외부펌금지 뭉뭉이아빠 16/06/08 11:12 9272 0
    17531
    [본삭금] c#에서도 static 사용을 자제해야하나요? [14] 본인삭제금지 사이몬S 16/06/08 09:23 775 0
    17530
    C++ 질문드립니다. [2] SherryBirkin 16/06/08 02:44 398 0
    17529
    DB 관련 업종은 무슨 언어를 다루나오? [3] 본인삭제금지 훗날닭집사장 16/06/08 02:10 540 0
    17528
    행님들... [2] 플라라 16/06/07 23:52 261 0
    17527
    질문) 안드로이드 루트 권한 최초 등록시에만 su실행 됩니다 ㅠㅠ [2] 본인삭제금지 빙티 16/06/07 22:28 689 0
    17526
    안드로이드 어레이어댑터 체크박스 전체선택 [6] 본인삭제금지 민중의분노 16/06/07 21:20 2099 0
    [◀이전10개] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈