클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 13. 동시성 동시성이 필요한 이유? 동시성은 결합(Coupling)을 없애는 전략이다. 즉, 무엇(What)과 언제(When)를 분리하는 전략이다. 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다. 구조적 개선만을 위해 동시성을 채택하는 건 아니다. 어떤 시스템은 응답 시간과 작업…
클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 8. 경계 시스템에 들어가는 외부 코드(패키지, 오픈소스)를 우리 코드에 깔끔하게 통합해야 한다. 소프트웨어 경계를 깔끔하게 처리하는 기법과 기교를 살펴보자. 외부 코드 사용하기 예시 Map 사용자라면 누구나 Map을 지우거나 추가할 수 있다. Map을 깔끔하게 사용한 코드 Sensor 클래스 안에서…
클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 5. 형식 맞추기 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다. 코드 형식을 맞추기 위한 간단한 규칙을 정하고 그 규칙을 확실히 따라야 한다. 형식을 맞추는 목적 코드 형식은 중요하다 ! 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구…
클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 4. 주석 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면 주석은 거의 필요하지 않다. 주석은 오래될수록 코드에서 멀어지고 주석을 유지 보수하는것은 현실적으로 불가능하다. 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 주석은 나쁜 코드를 보완하지 못한다. 코드에 주석을 추가하는 일…
클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 3. 함수 어떤 프로그램이든 가장 기본적인 단위가 함수다. 작게 만들어라! 함수를 만드는 첫째 규칙은 ‘작게!’다. 함수를 만드는 둘째 규칙은 ‘더 작게!’다. 블록과 들여쓰기 if 문/else 문/while 문 등에 들어가는 블록은 한 줄이어야 한다. 바깥을 감싸는 함수가 작아질 뿐 아니라, 블록 안…
클린 코드 책을 읽으며 내용을 요약 정리한 글입니다. 1. 깨끗한 코드 나쁜 코드 우리 모두는 자신이 잔 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 르블랑의 법칙(leblanc’s law) : 나중은 결코 오지 않는다. 나쁜 코드로 치르는 대가 나쁜 코드는 개발 속도를 크게 떨어뜨린다. 나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. 태도…
1. 버그 발견 ..! 때는 2019년 말.. 진행중이던 프로젝트에서 Akka.NET을 사용중이었다. Akka.Cluster로 서비스가 구성되어 있었는데 서비스가 죽어버리는… 현상이 있어서 원인을 파악하기 위한 업무를 진행했었다. 여러가지 상황으로 테스트해보며 여러 버그를 발견했다. 아래는 그 중 하나이다. Akka.Cluster로 SeedNode, No…
1. 오픈소스에 기여하는 방법 오픈소스에 기여하는 방법에도 여러 방법이 있다. 대표적인 방법 세 가지만 적어보자면 ..! 문서화(Documentation)에 기여하기 영어 문서를 우리말로 번역하여 기여하는 것도 좋은 방법이다. 이슈 등록하기 버그를 발견하여 이슈에 등록할 수 있다. 문서에 없는 내용을 질문하는 내용의 이슈를 올릴 수도 있다. 코드에 기여하…
Q-Q Plot 그리기 Q-Q Plot을 그리는 방법은 엑셀에서 Q-Q 플롯 그리기를 참고하였습니다. 위 내용을 요약하면 아래 순서와 같습니다. CSV 테스트 데이터(QQTest.csv) 읽어온다. 오름차순 정렬 순위(Rank) 계산 백분위 계산 Z-Score 계산 엑셀에서의 NORM.S.INV 함수 MATH.NET NuGet의 InverseCumulat…