분류 전체보기
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 9일차 TIL
오늘 TIL 3줄 요약 1. 문서에만 의존하지 말고, 의뢰인/사용자와 직접 피드백 하며 개발을 진행하라 2. 나만의 생각에서 벗어나라 3. 다른사람들과 대화를 통해 문제를 해결하자 TIL 날짜 - 2022-04-03 오늘읽은 범위 - 8장. 프로젝트 전에 책에서 기억하고 싶은 내용 1. 요구사항의 구렁텅이 - 자신이 뭘 원하는지 정확히 아는 사람은 아무도 없다. - 최초의 요청 사항은 궁극적인 요구 사항이 아니다. 의뢰인의 요청 사항은 사실 함께 탐험을 떠나자는 초대장이다. => 프로그래머는 사람들이 자신이 원하는 바를 깨닫도록 돕는다. - 요구 사항은 과정이다 요구사항은 피드백을 반복하며 알게 된다. 프로그래머의 임무 : 의뢰인에게 그들이 제시한 요구 사항의 여파를 깨우쳐 주는 것 실용주의 프로그래머는..
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 7일차 TIL
오늘 TIL 3줄 요약 - 동시성 / 병렬성 - 시간적 결합깨트리기 / 공유상태는 틀린 상태 - 액터, 프로세스, 그리고 칠판 TIL 날짜 - 2022-03-30 오늘읽은 범위 - 6장. 동시성 책에서 기억하고 싶은 내용 - 동시성(병행성) : 둘 이상의 코드 조각이 실행될때 동시에 실행 중인 것처럼 행동하는 것 (소프트웨어 동작 방식) - 병렬성 : 실제로 동시에 실행되는 것 (하드웨어 동작 방식) 실제 세상은 비동기적이다 1. 시간적 결합 깨트리기 - 시간적 결합(temporal coupling) : 시간이나 순서에 의존하는 시간적 결합을 끊는 방법을 생각해 내야 한다. 동시성(동시에 일어나는 일들) / 순서(시간의 흐름 속에서 일들의 상대적인 위치) 활동 다이어그램 => 작업 흐름 분석으로 동시성을..
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 미션 (2)
💡 연습문제 16. 간단한 현실 점검. 다음 '불가능한' 것들 중 무엇이 실제로 일어날 수 있는가? 1. 한 달이 28일보다 적은 것. 2. 시스템 콜의 오류 메시지: 현재 디렉터리에 접근할 수 없음 3. C++에서, a = 2; b = 3; 하지만 (a + b)는 5가 아님. 4. 내각의 합이 180도가 아닌 삼각형. 5. 1분이 60초가 아님. 6. (a + 1)
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 6일차 TIL
오늘 TIL 3줄 요약 TIL 날짜 - 2022-03-26 오늘읽은 범위 - 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용 결합도 줄이기 높은 결합도는 변경의 적이다 따라서 소프트웨어의 구조는 유연해야 한다. 결합도가 높아지는 대표적 사례 1. 열차 사고 : 메서드와 속성들이 모두 연결되어 있다 => 묻지 말고 답하라. TDA(Tell, Don't Ask) 다른 객체의 내부 상태에 따라 판단을 내리고 그 객체를 갱신해서는 안된다는 것 데메테르 법칙(Law of Demeter) : 메서드 호출을 엮지 말라 = 무언가에 접근할때 "." 을 딱 하나만 쓰려고 노력하라. 2. 글로벌화 : 전역데이터를 피하라 / 전역 데이터 하나는 애플리케이션의 모든 메서드에 갑자기 매개 변수가 추가된 것과 같은 효과..
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 5일차 TIL
오늘 TIL 3줄 요약 - 우리는 완벽한 소프트웨어를 만들 수 없다 / 실용주의 프로그래머는 자기 자신 역시 믿지 않는다. - 계약으로 설계하라 (Design By Contract) - 자신이 시작한것은 자신이 끝내라 / 지역적으로 행동하라 TIL 날짜 - 2022-03-24 오늘읽은 범위 - 4장. 실용주의 편집증 책에서 기억하고 싶은 내용 우리는 완벽한 소프트웨어를 만들 수 없다. 실용주의 프로그래머는 자기 자신 역시 믿지 않는다. 계약에 의한 설계(DBC) -함수의 전제와 선언 1. 선행 조건 루틴의 요구사항(파라미터) 2. 후행 조건 자기가 할 것이라고 보장하는것 / 무한반복 X 3. 클래스 불변식 (추후에 추가 예정) 호출자가 루틴의 모든 선행 조건을 추족한다면 해당 루틴은 종료 시 모든 후행 ..