Topic 37 파충류의 뇌에 귀 기울이기
- 서동우: 본능에 귀를 기울이고 문제가 여러분 앞에 튀어나오기 전에 미리 대처하라.
- 남혜민: 프로그래머로서 경험이 늘어 갈수록 여러분의 뇌에는 암묵적인 지식이 켜켜이 쌓인다. 직감에 귀를 기울이고 문제에 미리 대처하라.
- 장준환: 여러분의 뇌가 정리를 좀 할 수 있도록 약간의 시간과 공간을 확보하라.
- 변현정: 일단, 하고 있는 일을 멈춰라. 여러분의 뇌가 정리를 좀 할 수 있도록 약간의 시간과 공간을 확보하라.
- 엄나윤: 머릿속에 맴도는 소리를 더 잘 활용하는 방법 본능이 반응하고 있다는 것을 인지하는 것이다.
- 이정근:
- 무언가 불안한 생각이 들면 테스트 코드를 작성해 본다.
- 건드리면 안되는 코드가 있다
Topic 38 우연에 맡기는 프로그래밍
- 서동우:
- 가정하지 말라. 증명하라
- 어떤 것이 잘 돌아가는 듯이 보이기는 하는데 여러분이 그 이유를 모를 경우, 그것은 우연은 아닌지 반드시 확인하라.
- 남혜민
- 우연에 의존하기보다 의도적인 프로그래밍을 해야 한다.
- 가정하지 말라. 증명하라
- 잘 되는 듯한 답을 찾는 것과 올바른 답을 찾는 것은 다르다.
- 장준환:
- 가정하지 말라. 증명하라
- 우연에 맡기는 프로그래밍을 하지 말라.
- 확고한 사실에 근거하지 않은 가정은 어떤 프로젝트에서든 재앙의 근원이 된다.
- 변현정: 왜 코드가 망가졌는지 프레드가 모르는 까닭은 애초에 코드가 왜 잘 돌아가는지도 몰랐기 때문이다.
- 엄나윤: 코딩하는 동안 더 적극적으로 행동하는 방법
우연에 맡기는 프로그래밍 곧 행운과 성공에 의존하는 프로그래밍은 하지 말아야 한다.
- 이정근:
- 시간이 촉박하면 우연에 맡기는 프로그래밍을 하게 된다.
- 우연에 맡기면
- 코드가 처음부터 왜 잘 돌아가는지 모르게 된다.
- 한번 돌아가면 그동안 만든 불필요한 로직이나 호출을 제거하지 않게 된다.
- 잘못된 가정을 하게 된다.
- 의도적으로 프로그래밍 해야한다.
- 자신이 무엇을 하고 있는지 분명히 알아야한다.
- 계획을 세우고 진행해야한다
- 신뢰할 수 있는 것에만 기대라
- 가정을 문서로 남겨라
- 가정도 테스트 해라
- 선택과 집중을 해라
- 과거의 노예가 되지 말라
Topic 39 알고리즘의 속도
- 서동우: 적당한 알고리즘을 선택할 때도 실용적이어야 할 필요가 있다.
- 남혜민
- 가장 빠른 알고리즘이 언제나 가장 좋은 알고리즘은 아니다
- 이론적 요인과 실무적 요인을 고려하여 코드의 수행시간을 추정하는 것이 좋다.
- 장준환:
- 추정을 이미 했다고 하더라도 실제 서비스에서 실제 데이터로 돌아가는 코드의 수행 시간만이 정말로 의미 있는 수치다.
- 최고라고 언제나 최고는 아니다.
- 여러분이 선택한 알고리즘이 요구하는 형식으로 입력 데이터를 준비하는 데 비용이 많이 드는 것은 아닌지 주의 깊게 보아야 한다.
- 성급한 최적화를 조심하라.
- 변현정: ‘성급한 최적화’ 를 조심하라. 언제나 어떤 알고리즘을 개선하느라 여러분의 귀중한 시간을 투자하기 전에 그 알고리즘이 정말로 병목인지 먼저 확인하는 것이 좋다.
- 엄나윤: 코드 속도를 추정하는 방법
일정의 추정말고 알고리즘이 사용하는 자원, 곧 시간, 프로세서, 메모리 등을 추정하는 것