일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 단위테스트
- kafka
- 데이터플랫폼
- datalake
- 데이터레이크
- spray
- 2017회고
- 해커컵
- 켄트백
- 함수형 사고
- functional thinking
- 개발7년차매니저1일차
- 2016년회고
- 테스트주도개발
- 개발자
- wait region split
- coursera
- hackercup2017
- 개발자로살아남기
- 회고
- 데이터유통
- 알고스팟
- 동시성
- 실전사례
- clean code
- 클린코드
- 데이터야놀자
- Raw-Request-URI
- 코딩인터뷰
- 박종천
- Today
- Total
목록전체 글 (97)
Software Engineering Note
객체지향의 사실과 오해- 역할, 책임, 협력 관점에서 본 객체지향조영호 지음 | 위키북스 | 2015.06.17책소개객체지향에 대한 선입견을 버려라! 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의... 같은 회사에 다니는분이 추천하셔서 읽어본 책. 제목 그대로 책체지향에 대해 개발자들이 오해하고 있는 부분들을 집어내고, 어떤것이 좋은 설계인가를 다루는 책이다. 코드가 거의 없는 책이기때문에 개념 위주로 비교적 어렵지않게 읽을 수 있는 책이었다. 특히 이상한 나라의 앨리스를 예로 들면서 이야기에 나오는 부분들을 객체지향 설계 부분과 잘 엮어서 설명하고 있는데 이 부분만 봐도 객체지향에 대해서 얼마나 많은..
동시성이 필요한 이유 동시성은 결합을 없애는 전략이다. => "무엇"과 "언제"를 분리한다. 구조적 관점: 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다. 처리량 개선: 응답을 기다리는 웹 정보 수집기, 많은 사용자를 처리해야 하는 시스템 등에서 동시성이 요구됨 동시성에 대한 미신과 오해 동시성은 항상 성능을 높여준다 => 동시성은 "때로" 성능을 높여준다.동시성을 구현해도 설계는 변하지 않는다 => 일반적으로 무엇과 언제를 분리하면 시스템 구조가 크게 달라진다.웹 또는 EJB 컨테이너를 사용하면 동시성을 이해할 필요가 없다. => 컨테이너가 어떻게 동작하는지, 어떻게 동시 수정, 데드락 등과 같은 문제를 피할 수 있는지 알아야 한다. 동시성에 대한 타당한 생각동시성은 다소 부하를 ..
착실하게 따르기만 해도 우수한 설계가 나오는 간단한 규칙! 켄트 벡은 다음 규칙을 따르면 설계는 "단순하다"고 말한다. (중요도 순) 1. 모든 테스트를 실행한다.2. 중복을 없앤다.3. 프로그래머의 의도를 표현한다.4. 클래스와 메소드 수를 최소로 줄인다. 모든 테스트를 실행하라 테스트가 불가능한 시스템은 검증도 불가능 => 검증이 불가능한 시스템은 절대 출시하면 안된다. 테스트가 가능한 시스템을 만들려고 애쓰면 설꼐 품질이 더불어 높아진다. 크기가 작고 목적 하나만 수행하는 클래스가 나온다. SRP를 준수하는 클래스는 테스트가 훨씬 쉽다. 테스트 케이스가 많을수록 개발자는 테스트가 쉽게 코드를 작성한다. 따라서 철저한 테스트가 가능한 시스템을 만들면 더 나은 설계가 얻어진다. (선순환) 리팩터링 코드..