동시성이 필요한 이유? 동시성은 결합을 없애는 전략이다. 무엇(what)과 언제(when)을 분리하는 전략이다. 무엇(what)과 언제(when)을 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다. 하나의 구조 내에 더 작은 구조들로 문제를 분리하여 시스템의 이해를 도울 수 있다. 이런 구조적인 개선뿐만 아니라 동시성은 다양한 작업을 동시에 처리함으로써 작업시간 면에서도 상당한 성능 향상을 가져다줄 수 있다. 미신과 오해 동시성은 항상 성능 향상을 가져다 준다. 여러 프로세서가 독립적으로 처리할 계산이 많은 경우에 성능이 높아지지만 안 그런 경우도 많다. 동시성을 구현해도 설계는 변하지 않는다. 단일 스레드 시스템과 다중 스레드 시스템은 다른 아키텍처를 가지고 있다. 동시성 여부에 따라서 시스템의 ..
클래스 체계 클래스를 정의하면 변수에 대한 내용을 먼저 정의한다. static, public상수를 먼저 정의하고 그다음 private 변수를 정의한다. ( 클래스를 정의하는 부분에 대해서는 전혀 몰라 책의 내용을 그대로 가져왔습니다.) 변수와 유틸리티 함수에 대해서는 최대한 숨기는 것을 원칙으로 한다고 한다. 테스트 코드 작성을 위해서 protected로 선언하여 접근을 허용하기도 하지만 최대한 private으로 정의하는 것을 우선으로 하여 정의한다. (캡슐화) 클래스의 크기 클래스의 크기는 무조건 작으면 작을수록 좋다고 한다. 그렇다면 얼마나 작아야 하는가? 책에서는 클래스가 너무 많은 '책임'을 가지고 있는 것은 부적절하다고 한다. 단일 책임의 원칙 단일 책임의 원칙(Single Responsibil..
TDD 법칙 세 가지 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 테스트 코드는 실제 구현 코드와 함께 수많은 코드라인이 생성되게 되고, 테스트 코드 관리 부분에 대한 문제를 유발한다. 깨끗한 테스트 코드 유지하기 단순 현재 테스트 과정만을 넘어가기 위해서 아무렇게나 테스트 케이스를 작성하는 것은 문제가 되지 않는다. 하지만 이후 변경사항을 적용하고, 유지 보수 부분에서 이전에 마구 짰던 테스트 케이스는 그 테스트 코드를 유지 보수하는 비용 또한 증가하기 때문에 비효율적으로 작용하게 된다. 테스트 코드도 실제 코드만큼이나 중요하다. 테스트는 유..
- Total
- Today
- Yesterday
- AxiosInterceptor
- v-for
- bundler
- Repository Pattern
- Vue
- 백준
- webpack
- Preloading
- GraphQL
- 파이썬
- 상호평가
- React.memo
- error
- 문제풀이
- Vuex
- clean code
- redux
- 알고리즘
- TypeScript
- 프로그래머스
- SOAP API
- React
- Vue.js
- js
- Transpiler
- redux-thunk
- python
- SPA
- reactrouter
- programmers
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |