일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 단위테스트
- clean code
- 2016년회고
- kafka
- 켄트백
- hackercup2017
- datalake
- 해커컵
- 회고
- 실전사례
- functional thinking
- 개발자로살아남기
- wait region split
- 클린코드
- coursera
- spray
- 테스트주도개발
- 데이터플랫폼
- 알고스팟
- 데이터레이크
- 2017회고
- 데이터야놀자
- 박종천
- 함수형 사고
- 개발7년차매니저1일차
- 데이터유통
- Raw-Request-URI
- 개발자
- 동시성
- 코딩인터뷰
- Today
- Total
목록전체 글 (97)
Software Engineering Note
클래스는 작아야 한다. 클래스의 크기는 책임의 갯수로 센다. 그리고 클래스당 책임은 "1" 이다. 클래스 이름은 해당 클래스 책임을 기술해야 한다. Processor, Manager .. 이런 이름을 나도 많이 사용하는데 아무래도 영어 실력이 부족해서 더 그런듯책임을 명확하게 하고 클래스 이름을 어떻게 지어야할까 고민이 필요하겠다. 클래스 설명은 if, and, or, but을 사용하지 않고 25 단어 내외로 가능해야 한단다. 단일 책임 원칙 (Single Responsibility Principle) 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다. 많은 책임을 떠안은 클래스들을 우리가 자주 보는 이유? "돌아가는 소프트웨어 -> 깨끗하고 체계적인 소프트 웨어" 이 과정으로 들어가야 하는데 ..
TDD가 보편화 되고있지만, 그 본질에 대하여 하지만 우리 분야에 테스트를 추가하려고 급하게 서두르는 와중에 많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는좀 더 미묘한 (그리고 더욱 중요한) 사실을 놓쳐버렸다. 그런면도 없지않아 있는듯.. TDD법칙 세가지 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.둘째 법칙: 컴파일은 실패하지않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 필요한 코드만 작성하는 것이 핵심! 깨끗한 테스트 코드 유지하기 테스트 코드를 깨끗하게 유지해야 한다.깨끗하지 않으면 테스트 코드는 점점 부담이 될 것이므로, 실제 코드를 만드는 시간보다 테스트 코드..
문제: PI / 동적계획법 원주율을 외운다는 스토리는 뒤로하고 문제의 핵심은 끊어읽는 모든 경우를 어떻게 처리해야할까? 이다. 어떻게 돌아가는지 좀 써보자. 앞에서부터 3을 끊고, 나머지 처리앞에서부터 4를 끊고, 나머지 처리앞에서부터 5를 끊고, 나머지 처리 뒷 부분, 나머지 처리들도 마찬가지로 반복된다. 그런데, 저걸 그때그때 모두 계산하면 너무 오래 걸리잖아? 어차피 중복이 있을 것같단 말이지.. 예를들어 8까지 읽었다고 치자. 그러면 처리:남은길이 = 8:N 이 될텐데, 이 조합으로 access할 경우가 있다는 거다. 그러니까 저런 경우는 한 번 계산한걸 저장해두고 써먹자.. 이렇게 해서 쥐어짠 코드는 다음과 같다. 대충 이런 그림.. int fn(string str) { int minCost =..