201020 Dev 로그
October 20, 2020
1. 한 일
- 파이썬 클린코드 읽기
- 코드숨 5주차 과제 수행
- python GIL 이해
2. 배운점
-
파이썬 GIL 이해
- 파이썬 인터프리터는 하나의 쓰레드만 처리하도록 설계됨
- 파이썬은 reference counting을 이용해서 memory을 관리한다. 이를 위해서는 해당 값에 여러 쓰레드가 접근하지 못하도록 한다.
- 이 때문에 파이썬에서는 multi-thread 처리가 잘 이루어지지 않는다. multi-thread은 I/O 관련 작업에서만 처리한다.
-
동시성 vs 병렬성
- 동시성 : 하나의 프로세스가 동시에 처리되는 것처럼 동작하는 것
- 병렬성 : 여러 프로세스가 실제 동시에 처리되는 것
-
TDD 작성 팁
- 초기 TDD는 UI에 대한 테스트 -> 코드 작성 -> 리팩토링 (컴포넌트 쪼개기)
- 이후 함수 호출에 대한 테스트 -> 코드 작성 -> 리팩토링
- 이후 reducer, action에 대한 테스트 -> reducer, action 코드 작성 -> 리팩토링
- redux + 컴포넌트에 대한 테스트(dispatch 호출) -> redux + 컴포넌트 코드 작성 -> 리팩토링
3. 느낀 점 & 자기 선언
- TDD 작성하는 데 아직도 순서가 제대로 학습되지 않는다. 또한 commit할 때에도 너무 급하게 작성한다. 그러다 보니 TDD가 의미가 없지는 듯한 느낌이 든다. 좀 제대로 작성할 수 있도록 명심해야 겠다.