TIL (Today I Learned) 날짜 2022.5.25 (수) 오늘 읽은 범위 6장. 동시성 책에서 기억하고 싶은 내용을 써보세요. 동시성 : 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것 - 소프트웨어 동작 방식 병렬성 : 실제로 동시에 실행되는 것 - 하드웨어 작업 시스템 규모가 어느 정도를 넘어가면 동시성을 고려하지 않고 작성하기란 거의 불가능하다. 사용자와 상호 작용을 하고, 데이터를 불러오고, 외부 서비스를 호출하는 일을 동시에 해야 하기 때문에 동시성은 필수다. 유연해지려면 A -> B 라는 시간적 결합에 의존하면 안 된다. 가장 큰 문제는 공유 상태(shared state)이다. 둘 이상의 코드 뭉치가 하나의 변경 가능한 데이터를 참조하고 있다면 공유 상태가 ..
TIL (Today I Learned) 날짜 2022.5.21 (토) 오늘 읽은 범위 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 코드 조각 간에 의존 정도가 높다 = 결합도 증가 결합도가 낮은 유연한 코드를 작성하자. 결합도가 높은 코드의 특징 이리저리 연결되어 있어서 여러 가지를 동시에 바꿔야 해서 바꾸기 더 어렵다. 바꿔야 하는 곳을 모두 찾아내느라 시간을 들인다. '딱 하나만' 바꾸고 결합된 다른 것들은 잊은 채 왜 프로그램이 죽는지 고민하느라 시간이 많이 걸린다. 소프트 웨어 구조는 유연해야 한다. 결합도 체크하기 코드를 쓰거나 이해하기 위해 알아야 하는 것이 너무 많지 않은가? 메서드나 속성들이 모두 연결되어 있지 않은가? 메서드 호출을 엮지 말라. 사실 애플리케이션에..
TIL (Today I Learned) 날짜 2022.5.18 (목) 오늘 읽은 범위 4장. 실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. 우리는 완벽한 소프트웨어를 만들 수 없다. 그렇기 때문에 실용주의 프로그래머는 실수애 대비할 수 있는 방어책을 마련해야 한다. DBC (Design By Contract) 설계 기법 프로그램의 정확성을 보장하기 위해 소프트웨어 모듈의 권리와 책임을 문서화하고 합의하는 데 초점을 맞추는 설계법 계약에 부응하지 못하는 것 = 버그 선행조건 + 후행 조건 시작하기 전에 수용할 것은 엄격히 확인하고, 내어 줄 것에 대해서는 최소한도를 약속하는 것이다. DBC는 모든 입력값에 대해 성공과 실패를 정의하는 반면 테스트는 하나가 한 가지 경우만 다룬다. 코드를 작성하기 ..
TIL (Today I Learned) 날짜 2022.5.18 (수) 오늘 읽은 범위 3장. 기본도구 책에서 기억하고 싶은 내용을 써보세요. 도구는 생각을 전달하는 통로와 같다. 언제나 일을 하는 더 나은 방법이 없는지 살피자. 이것만 써야지가 아니라 필요에 따라 도구를 취하자. 좋은 도구의 사용법을 배우는 데에 시간을 투자하자. 회귀 테스트(regression test) 동일한 테스트를 반복적으로 수행함으로써 새로운 기능이 애플리케이션에 추가되었을 때 기존 기능이 여전히 제대로 작동하는지 검사하는 테스트 텍스트를 다루는 프로그래머에게 작업대는 명령어 셸이다. 명령어 셸에 익숙해지면 생산성이 많이 오를 것이다. 셸 설정 변경해보자. 색깔 조합 설정 변경 프롬프트 설정 변경 디렉터리 경로 짧게 줄인 것, ..
https://nomadcoders.co/community/thread/5182 궁금한 개념을 정리한 부분이 좋았다. https://nomadcoders.co/community/thread/5169 책에서 나온 내용을 실천하기 위해 적용할 수 있는 구체적인 방법에 대해 고민한 부분이 매우 인상깊었다. https://nomadcoders.co/community/thread/5165 책의 요점을 깔끔하게 정리한 부분이 좋았다. 2장을 아직 못 읽었는데 다른 분들 정리한 글을 보니 중요한 내용이 많이 담겨있는 것 같다. 주말에 시간 내서 읽고 정리해야지!
TIL (Today I Learned) 날짜 2022.5.14 (토) 오늘 읽은 범위 서문 ~ 1장. 실용주의 철학 책에서 기억하고 싶은 내용을 써보세요. 추천사 좋은 습관을 기르고, 나의 도구를 이해하자 코딩과 함께하는 인생 여정은 새로운 세계에 들어가는 것처럼 느껴졌다. 새로운 이웃을 사귀고, 장 볼 슈퍼를 고르고, 마음에 드는 카페를 찾아야 했다. 지형지물을 파악하고, 최단 경로를 알아내고, ㅏ가 밀리는 도로를 피하고, 언제 가장 길이 막히는지 알게 되는 데에는 꽤 시간이 걸렸다. 날씨도 달라서 새 옷을 사야 했다. 서문 우리는 이 팁들을 매일 지키며 산다. 책을 읽다가 모르는 단어와 마주친다면 그냥 건너뛰지 말고 검색해보기. progmatic = 일에 숙달된 = ~을 하는 프로그래밍 = 손재주(c..