모바일 오유 바로가기
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
    조회수 : 706
    IP : 58.120.***.14
    댓글 : 1개
    등록시간 : 2016/06/09 02:53:43
    http://todayhumor.com/?programmer_17543 모바일
    Mastering Programming(KENT BECK)
    Technical Coach인 Kent Beck이 쓴 프로그래밍의 대가들이 업무를 할 때 어떤 패턴으로 일을 하는지에 대해 쓴 글입니다.
    레딧으로 보게되어서 발번역이지만 도움이 될까 공유합니다. 아직 프로그래밍 걸음마도 떼지 못한 제가 보기에는 조금 나중에 읽어야 할 글이지만요.
    번역이 부족하니 반드시 본문을 참조하시기 바랍니다! (번역 보충해주시면 감사하겠습니다.)

    ======================================================================
     프로그래밍의 대가들을 봐온 수년간, 나는 그들의 작업 흐름에서 어떤 공통된 패턴들을 봐왔다. 
    솜씨가 있는 일반 프로그래머들을 코칭해온 수년간 나는 그러한 패턴들이 없는 것을 봐왔다. 
    나는 그 패턴을 도입하는 것이 무슨 차이를 만드는지 알 수 있었다.

     효과적인 프로그래머가 지구에서 그들의 소중한 시간에서 최상의 것을 얻어내는 방법이 여기 있다.

     여기있는 주제는 당신의 사고를 확장시킬 것이다. 
    일반 프로그래머는 한 번에 좀 더 많은 문제를 해결함으로써 좀 더 큰 문제를 해결하는 방법을 알고있다. 
    프로그래머의 대가는 한 번에 더 적은 문제를 해결함으로써 일반 프로그래머가 해결하는 문제보다 더 큰 문제를 해결하는 방법을 알고 있다. 
    세분화가 현명한 방법이다. 분할된 솔루션들을 통합시키는 것은 문제들을 함께 해결하기 보다 더 작은 문제가 되도록 하기 때문이다.


    *시간
    - 얇게썰기.
     큰 프로젝트를 맡아라, 
    그 프로젝트를 얇은 조각들로 썰어라, 
    그리고 그 조각들을 너의 상황에 맞게 재배열하라. 
    나는 항상 프로젝트들을 더 잘게 세분화할 수 있었다. 
    그리고 나는 다른 곳에서도 필요한 조각들의 새로운 치환법을 항상 발견할 수 있었다. (다른 곳에도 통하는 조각들)

    - 한 번에 한 가지 것만.
     우리는 너무 효율성에 집중해서 오버헤드를 줄이려는 시도로 피드백 하는 주기를 줄이게 된다. 
    이것은 예상비용이 우리가 피하려는 오버헤드 주기보다 더 크게 되어 디버깅하기 어려운 상황을 만든다.

    - 쉬운 변화들(?). (change가 정확히 뭘 뜻하는지 모르겠네요..)
     어려운 변화에 직면했을 때, 처음에 그것을 쉽게 만들어라 (경고, 이것은 어려울지도 모릅니다.), 
    그리고 나서 쉬운 변화를 만들어라. (예를들어 잘게썰기, 한 번에 한가지 것, 집중, 고립). 잘게써는 것의 예시(?).

    - 집중
     만약 당신이 몇가지 요소들을 변화시키려 한다면, 그 변화가 오직 한 가지 요소에만 발생하도록 처음에 코드를 재배열해라.

    - 고립
     만약 당신이 오직 한 요소의 한 부분만을 바꾸려 한다면, 전체 하위 요소가 변화하도록 그 부분을만을 추출해라.

    - 기준 측정
     그 프로젝트의 현재 상태를 측정함으로써 프로젝트를 시작하라. 
    이것은 여러 것들을 수정하는 것을 시작하는 우리의 공학도의 본능과 반대되지만, 
    당신이 기준치를 측정했을 때, 당신은 실제로 여러 것들을 수정하고 있다는 것을 알게 될 것이다.


    *학습
    - Call your shot(너가 짠 것을 회상해라?)
     당신이 코드를 만지기전에 무엇이 일어날지 정확하게 예측해라.

    - 구체적인 가설.
     프로그램이 잘못 행동하고 있을 때, 수정하기 전에 너가 생각한 것이 틀린 것이라고 정확하게 말해라. 
    만약 두가지 이상의 가설을 가지고 있다면 차이가 날 수 있는 진단 방법을 찾아라.

    - 관계없는 세부사항을 제거하라.
     버그에 대해 보고할 때, 가장짧은 복제 단계를 찾아라. 
    버그를 격리시키려할 때, 가장 짧은 테스트 케이스를 찾아라. 
    새로운 API를 사용하려 할 때, 가장 기초 예시부터 시작하라. 
    "모든 것이 중요할 수는 없다."라는 말은 잘못된 상황에서는 비싼 추측이다.
       -> 예시, 모바일에 있는 버그를 보아라, 그것을 curl로 복제하라.

    - 다양한 scales (scale의 의미를 잘 모르겠네요)
     자유롭게 scales 사이를 움직여라. 
    아마도 이것은 테스트 문제가 아니라 디자인 문제이다. 
    아마도 그것은 기술 문제가 아니라 사람 문제이다.(가짜같지만, 이것은 항상 사실이다.)


    *Transcend Logic(초월논리?)
    - Symmetry(대칭)
    거의 같은 것들은 똑같은 부분과 명확하게 다른 부분으로 나뉘어질 수 있다.

    - Aesthetics(미학)
     아름다움은 등산하기에 아주 좋은 경사이다. 그것은 또한 무시하기에는 자유롭게 하는 경사이다. 
      (예시. 여러가지 기능들을 한 개의 거대한 집합으로 구성하는 것)

    - Rhythm(리듬)
     올바른 순간이 올 때까지 기다리는 것은 에너지를 보존하고 어지러운 것을 피하는 것이다. 움직일 시간일 때 집중력있게 움직여라.

    - Tradeoffs(교환)
     모든 결정들은 교환에 지배를 받는다. 오늘 어떤 답을 골라야 할 지 아는 것 보다는(또는 어제 당신이 골랐던 답) 
    그 결정이 의존하는 것을 아는 것이 더 중요하다. 


    *위험
    - Fun list
     관계없는 아이디어가 떠올랐을 때, 그것들을 기록하고 빠르게 업무로 돌아가라. 
    너가 쉬어야 하는 지점에 왔을 때, 이 목록들을 다시 훑어보라.

    - Feed Ideas(아이디어에게 밥주기)
     아이디어들은 겁먹은 작은 새들과 같다. 
    너가 그 작은 새들을 겁주어 쫓아버리려 한다면, 그들은 당신 주위로 오지 않을 것이다. 
    너가 아이디어가 있을 때, 그것에게 조금씩 먹이를 주어라. 
    가능한한 빠르게 그것이 틀렸다는 것을 입증해라, but from data not from a lack of self-esteem.(자존심 부족이 아닌 자료로 틀린 것을 알아내어라?)

    -80/15/5
     당신의 시간의 80%를 저위험/합리적인 보수의 일에 써라. 
    당신의 시간의 15%는 관련된 고위험/높은 보수의 일에 써라. 
    당신의 시간의 5%는 보수와 상관없이 당신을 재미있게 하는 것에 써라. 
    다음 사람에게 너가 하는 80% 일을 하는 법을 가르쳐라. 
    누군가가 너의 일을 이어받을 준비가 되었을 즈음에, 
    당신의 15% 실험중의 하나 (또는 덜 빈번하게 한것들, 당신의 5% 실험중의 하나들)가 성과가 있을 것이고 당신의 새로운 80%가 될 것이다. 반복해라.


    *결론
     이 글은 시간을 관리하고 학습을 늘림으로써 위험을 제거하는 것부터 
    너의 모든 머리를 쓰고 아이디어를 빠르게 분류함으로써 세심하게 위험을 무릅쓰는 것까지에 관해서 쓰였다.
    출처 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 초과시 해당없음)

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

    번호 제 목 이름 날짜 조회 추천
    18024
    JavaScript 질문입니다 [7] 본인삭제금지 lv.27포마피 16/07/27 15:54 462 0
    18023
    스프링을 사용해 웹을 만들려면... [5] 웹지망생 16/07/27 14:21 600 0
    18022
    #define 관련 질문입니다. [3] 본인삭제금지 자르반고등어 16/07/27 12:14 421 0
    18021
    c++ mfc에서 excel 읽는법좀 알려주세요 [2] 본인삭제금지 원래커플 16/07/27 11:35 1992 0
    18019
    웹개발자 개인공부 갈피를 좀 잡아주세요..ㅠㅠㅠㅠㅠㅠㅠ [5] 종구다 16/07/27 08:54 539 0
    18018
    Jenkins로 원격지 API 서버에 war 배포하기 창작글 노랑머플러 16/07/27 00:31 859 2
    18016
    현업에서 안드로이드 개발툴은 아직 이클립스가 대세인가요? [6] 종구다 16/07/26 23:48 951 0
    18014
    데이터베이스 와 웹프로그래밍 중에 어떤 과정을 들어야할지 조언부탁합니다 [4] 사색을하자 16/07/26 18:48 477 0
    18013
    [안드] HttpUrlConnection에 해더를 추가 하고 싶습니다. [4] 아롱아밥먹자 16/07/26 16:59 763 0
    18012
    ltdis13n.dll 파일 중요한건가요 본인삭제금지 꿀꼼 16/07/26 16:21 218 0
    18010
    예전에 html공부하던때가있었는데.. [4] 꾸르렁꾸르렁대 16/07/26 08:15 427 0
    18009
    다들 뭐하십니까 기회가 왔습니다. [1] 창작글본인삭제금지 irowin 16/07/26 03:02 649 7
    18008
    병원 전산직에 대해 궁금합니다! [4] 창작글베스트금지베오베금지 일찍오래 16/07/25 23:24 5630 1
    18007
    java 초보적 질문도 받아주시나요?~? [2] 본인삭제금지 그린파이 16/07/25 20:24 482 0
    18005
    php개발자분들 질문이 있습니다. [3] 베스트금지베오베금지본인삭제금지외부펌금지 검은새벽달 16/07/25 17:25 522 0
    18004
    JTable refresh 질문입니다. [1] 본인삭제금지 あかねちゃん 16/07/25 13:40 2420 0
    18003
    ㅄㄱ>>엑셀 랜덤 생성 질문 드립니다.!! [3] 본인삭제금지 LOCCITANE 16/07/25 10:29 415 0
    18002
    jsp 오라클 연동이 안됩니다. [2] 창작글베스트금지베오베금지본인삭제금지외부펌금지 웹지망생 16/07/25 01:57 628 1
    18001
    리눅스초보입니다 컴파일 질문이요 [1] 흥안알랴줌 16/07/24 15:55 521 0
    18000
    로드밸런싱 L2 에 대해서 정확히 설명해주실 수 있나요? [3] 본인삭제금지 dodooli 16/07/24 15:24 680 0
    17998
    미러링은 우리 영역 아니었던가? [24] 본인삭제금지외부펌금지 irowin 16/07/24 02:02 700 11
    17997
    웹개발8년차 진로가 고민되네요 [4] 외부펌금지 푸른열정 16/07/23 23:16 1276 3
    17996
    안드로이드 스튜디오에서의 에러인데 본인삭제금지 엿먹이기 16/07/23 22:49 697 0
    17995
    안드로이드 notification에 버튼 andgate 16/07/23 15:40 336 0
    17994
    1인게임 개발이 돈벌이가 되나요 ?? [12] 가온이다아 16/07/23 11:50 8068 0
    17993
    html로 레이아웃 지정할때... [3] 웹지망생 16/07/23 00:59 670 0
    17992
    [엑셀] 질문 드립니다 [3] 베오베금지본인삭제금지외부펌금지 지혜의눈물 16/07/22 17:28 472 0
    17989
    안녕하세요. 컴공 3학년생입니다. [7] 본인삭제금지 카토리 16/07/22 14:25 1372 3
    17988
    웹프로그래밍쪽으로 취업훈련을 받았었는데요 네트워크쪽은 어떤가요? [4] 사색을하자 16/07/22 14:10 648 0
    17986
    ㅄㄱ>> 이곳에 질문 하는게 맞을까요?;; [2] 본인삭제금지 LOCCITANE 16/07/22 10:21 362 0
    [◀이전10개] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈