본문 바로가기

Book/Pragmatic Programmer12

실용주의 프로그래머 Tip 100 " 결국 당신의 삶이다. " Tip 1 자신의 기예(craft)에 관심을 가져라 Tip 2 자기 일에 대해 생각하라. Tip 3 당신에게는 에이전시(agency)가 있다. Tip 4 어설픈 변명 말고 대안을 제시하라. Tip 5 깨진 창문을 내버려 두지 말라. Tip 6 변화의 촉매가 돼라. Tip 7 큰 그림을 기억하라. Tip 8 품질을 요구 사항으로 만들어라. Tip 9 지식 포트폴리오에 주기적으로 투자하라. Tip 10 읽고 듣는 것을 비판적으로 분석하라. Tip 11 한국어든 영어든 하나의 프로그래밍 언어일 뿐이다. Tip 12 무엇을 말하는가와 어떻게 말하는가 모두 중요하다. Tip 13 문서를 애초부터 포함하고, 나중에 집어넣으려고 하지 말라. Tip 14 좋은 설계는 나쁜 설계보다 바꾸기 .. 2022. 4. 6.
제 9장 실용주의 프로젝트 여러분의 직함이 명목상으로는 “소프트웨어 개발자”나 “소프트웨어 엔지니어” 비슷한 이름일지 몰라도 진정한 여러분의 직함은 “문제 해결사”다. 이것이 우리가 하는 일이고, 실용주의 프로그래머의 본질이다. " 우리는 문제를 해결한다. " TIL (Today I Learn) Assignment 15 2022-04-05 오늘 읽은 범위 9장 실용주의 프로젝트 Topic 49 실용주의 팀 Topic 50 코코넛만으로는 부족하다 Topic 51 실용주의 시작 도구 Topic 52 사용자를 기쁘게 하라 Topic 53 오만과 편견 3줄 요약 각 팀원이 자신의 방식대로 빛나게 하라. 유행하는 것이 아니라 실제로 잘 맞는 것을 사용하라. 사용자를 기쁘게 하라. " 프로그래머는 고양이 같은 면이 있다. 호기심 많고 제멋대.. 2022. 4. 5.
진정한 요구 사항 (연습문제 33) 다음 문장들이 진정한 요구 사항인가? 가능하다면 진정한 요구 사항이 아닌 것을 좀 더 유용하게 고쳐 써 보라. 응답시간은 500ms 이하여야 한다. 모달창(modal window)의 바탕색은 회색이다. 애플리케이션은 프론트엔드 프로세스 몇 개와 백엔드 서버로 구성된다. 사용자가 숫자가 아닌 글자를 숫자 필드에 입력하면 시스템은 입력 필드를 깜빡이고 입력을 거부한다. 이 임베디드 애플리케이션의 코드와 데이터 크기는 32Mb 이내여야 한다. [내 답변] 요구 사항인 것을 O 아닌 것을 X라고 한다면 X - 어느 환경에서 어떤 경로의 시간을 말하는 건지 모르겠다. - 실제 서비스 시 방화벽 등이 추가된다면 더 늘어날 수 있으니 조건을 더 명시적으로 적어야 할 것으로 보인다. - 이를 명확히 하기 위해선 왜 5.. 2022. 4. 4.
제 8장 프로젝트 전에 " 자신이 뭘 원하는지 정확히 아는 사람은 아무도 없다 " TIL (Today I Learn) Assignment 13 2022-04-03 오늘 읽은 범위 8장 프로젝트 전에 Topic 45 요구 사항의 구렁텅이 Topic 46 불가능한 퍼즐 풀기 Topic 47 함께 일하기 Topic 48 애자일의 핵심 3줄 요약 요구 사항은 피드백을 반복하며 알게 된다. 사용자는 여러분 팀의 일원이다. 애자일은 명사가 아니다. 애자일은 무언가를 하는 방식이다. " 프로그래머는 사람들이 자신이 원하는 바를 깨닫도록 돕는다. " 책에서 기억하고 싶은 내용을 써보세요 Topic 45 요구 사항의 구렁텅이 요구 사항이 땅 위에 놓여 있는 경우는 드물다. 보통은 가정과 오해, 정치의 지층 속 깊숙이 묻혀 있다. 심지어 아예 .. 2022. 4. 3.
제 7장 코딩하는 동안 " 모든 코드를 비판적인 시각으로 바라본다. 자기 자신의 코드도 예외가 아니다. " TIL (Today I Learn) Assignment 12 2022-04-01 ~ 2022-04-02 오늘 읽은 범위 7장 코딩하는 동안 Topic 37 파충류의 뇌에 귀 기울이기 Topic 38 우연에 맡기는 프로그래밍 Topic 39 알고리즘의 속도 Topic 40 리팩터링 Topic 41 테스트로 코딩하기 Topic 42 속성 기반 테스트 Topic 43 바깥에서는 안전에 주의하라 Topic 44 이름 짓기 3줄 요약 여러문의 내면의 파충류에게 귀 기울여라. 하던 일을 멈추고 그 느낌을 분석하라. 책에서 기억하고 싶은 내용을 써보세요 코딩할 때는 매 순간 결정을 내려야 하는데, 프로그램이 정확하게 생산적으로 작동하.. 2022. 4. 2.
제 6장 동시성 " 동시성은 필수다. 세상은 비동기적이기 때문이다. " TIL (Today I Learn) Assignment 10 2022-03-29 ~ 2022-03-30 오늘 읽은 범위 6장 동시성 Topic 33 시간적 결합 깨트리기 Topic 34 공유 상태는 틀린 상태 Topic 35 액터와 프로세스 Topic 36 칠판 3줄 요약 ‘동시성 concurrency’은 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것이고, ‘병렬성 parallelism’이란 실제로 동시에 실행되는 것이다. 동시성은 소프트웨어 동작 방식이고, 병렬성은 하드웨어가 하는 것이다. 공유 상태는 틀린 상태다. " 동시성은 ‘병행성’이라고도 한다. (Concurrency) " 책에서 기억하고 싶은 내용을 써보세요 To.. 2022. 3. 29.
간단한 현실 점검 (연습문제 16) 다음 ‘불가능한’ 것들 중 무엇이 실제로 일어날 수 있는가? 한 달이 28일보다 적은 것. 시스템 콜의 오류 메시지: 현재 디렉터리에 접근할 수 없음. C++에서, a = 2; b = 3; 하지만 (a + b)는 5가 아님. 내각의 합이 180도가 아닌 삼각형. 1분이 60초가 아님. (a + 1) 2022. 3. 27.
제 5장 구부러지거나 부러지거나 " 삶은 멈추지 않는다. 우리가 작성하는 코드도 마찬가지다. " TIL (Today I Learn) Assignment 08 2022-03-26 오늘 읽은 범위 5장 구부러지거나 부러지거나 Topic 28 결합도 줄이기 Topic 29 실세계를 갖고 저글링하기 Topic 30 변환 프로그래밍 Topic 31 상속세 Topic 32 설정 3줄 요약 묻지 말고 말하라 Tell, Don’t Ask, TDA. 상태를 쌓아 놓지 말고 전달하라. 환경에 적응하지 못하는 생물은 멸종한다. 책에서 기억하고 싶은 내용을 써보세요 Topic 28 결합도 줄이기 높은 결합도는 변경의 적이다. 묻지 말고 말하라 Tell, Don’t Ask, TDA. 다른 객체의 내부 상태에 따라 판단을 내리고 그 객체를 갱신해 서는 안 된다.. 2022. 3. 26.