-
발표자: 윤상진
-
도메인 로직의 구분 → 영화와 상영의 구분
-
tradeoff 의 기준이 되는 가장 최소한의 단위 → domain
- 실제로 사용자가 프로그램을 사용하는 분야, 범위
-
swift 에서는 dynamic dispatch 랑 static dispatch 에서 v table 을 가지고 탐색하는 과정이 있다
-
java 는 compile 이 되어 bytecode 가 되기 때문에 이 과정이 없을 확률이 높다
-
javascript 는 prototype 과 prototype chaining 을 거쳐서 어떤 parent class
-
객체지향, 더 나아가 개발자들이 이런 소프트웨어 공학을 통해 하고싶은 건?
- 애기응애: 추상화, 그리고 그 추상화를 통한 편리한 사용과 편리한 개발이 목표
- 펩시제로: 사람이 말하는 것과 비슷하게 프로그래밍을 하기 위해서, 그리고 변화를 유연하게 하기 위해서
- 바다: 변화에 유연하게 프로그램을 만들기 위해서
- 프붕2: 적은 코드로 더 많은 기능을 개발하기 위해서
- 마틴 파울러: 리팩터링이란 기능의 변화는 없이, 코드를 개선하는 것
-
TDD
- 성공해야하는 테스트가 실패하는 건 그럴 수 있지만, 실패해야 하는 테스트가 성공하면 그건 진짜 문제가 있는거다 라고 빠르게 판단할 수 있기 때문에 실패하는 테스트를 먼저 작성해야 된다.
- 의식적으로 지금 내가 당장 해야 할 업무에만 집중할 수 있게 해준다
-
프붕2 의 추천도서
- 테스트 주도 개발
- 리팩터링
- 클린 소프트웨어
- 클린 코더
- 만들면서 배우는 클린 아키텍처
-
알아보면 좋은 것들
- private accessor 깨는 테스트 기법
- mock 만드는 기법
-
객체지향 생활체조
-
infra, persistance → port and adaptor pattern
-
hexagonal architecture → 찾아보고 구현해보자