해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.
모든 강의를 수강하고 후기를 작성합니다. 수강하면 수료증을 주네요.
전체 강의 시간이 3.5 시간으로 udemy 의 타 강의들에 비해 매우 짧은 편입니다. 긍정적으로 보면 가볍게 들을 수 있는 정도의 길이라 부담스럽지 않아서 좋았습니다. 다만 유데미의 유명 강의들(주로 외국 강의)가 A-Z 를 다루는 방식을 주로 사용하고 있어 기대했던 만큼 모든 내용을 다 다루지는 않습니다.
총 3부로 나뉘어져 있습니다.
섹션 1: 프로그래밍을 효과적으로 학습하는 방법
섹션 2: 미션 1: 계산기 애플리케이션을 TDD로 구현해보기
섹션 3: 섹션3. (수강생 참여) 현실 세계에서 유용한 프로그램 만들기
섹션 1에서는 '학습 방법' 을 주제로 이루어져 있습니다.
강사님이 우테코 교육자 출신이셔서 그런지 확실히 학습자들이 어떻게 하면 큰 숲을 보고 공부할 수 있을지, 무엇을 우선순위로 놓고 학습을 해야 하는지를 알려주셔서 좋았습니다.
섹션 2에서는 간단한 계산기를 만들면서 TDD 를 어떻게 적용하면 좋을지 예제와 함께 cypress 를 사용합니다. cypress 를 처음 접하시는 분들이나 TDD 에 대해 막연함을 가지고 계셨던 분들이 듣기에 좋은 내용입니다.
섹션 3은 초보 개발자 한 분과 함께하는 프로그램 만들기입니다. 사실 이 부분은 TDD 랑은 좀 거리가 있고, 대신 요구사항을 코드화하는 방법에 대한 내용을 다룹니다. 개발자의 뇌(?)를 갖기 위한 여정을 따라가볼 수 있습니다. 만들고 싶은 프로그램 -> 기능 명세 나열 -> 하나씩 개발해보기 순서로 진행됩니다.
'9. 스텝5: TDD 베스트 프래틱스에 대한 오해와 사실' 파트를 제일 재미있게 들었습니다.
내용을 정리하자면,
TDD 혹은 프론트 테스트를 공부할 때 제일 어려웠던 점이 테스트를 '잘' 짜는 것이었습니다. 강의나 책에서는 테스트를 잘 만들 수 있는 예제들만 나오는데 제가 실제로 짜는 코드는 그렇지 않은 경우가 많았기 때문입니다.
요구사항이 정확하고 UI 가 단순해서 테스트하기 좋은 상황이 생각보다 자주 없습니다. 그리고 그런 상황은 솔직히 테스트 코드를 짜는 것보다 내가 디버깅 하는게 쉽기 때문에 테스트를 안 하게 됩니다.
요구사항이 복잡하고 디버깅이 어려운 상황은 테스트 코드를 짜기도 어렵고, 그래서 테스트 코드를 안 짜게 됩니다.
이 두 가지 상황이 모두 테스트 코드를 못짜게 만드는 이유가 되어버려서 굉장히 답답했는데, 제가 이해하기론 강의자님의 결론(?)은 리팩토링과 좋은 코드짜기인 거 같았습니다. best practice 로 가기 위한 과정을 공부하라는 가르침이 인상적이었고, 강의의 주제와는 좀 동떨어지는 것 같지만 결국 좋은 코드/좋은 리팩토링이 좋은 테스트코드를 만들어내는게 아닐까 싶었습니다.
강의 초반에 계산기 이후 자동차 경주 프로그램을 만든다고 설명을 하셨는데 강의 내용에 빠져있어서 아직 제작이 진행중인 강의로 보였습니다. 지금까지 나와있는 강의들에만 기반해서는 사실 높은 점수를 주기는 어려웠습니다.
제가 이미 cypress 를 현업에서 경험한 개발자라서 그런지 저에겐 조금 쉬운 내용들 위주로 진행이 되었던 거 같습니다.
TDD 를 배운다고 생각하면 아쉬운 강의지만, 좋은 개발자가 되기 위해 가져야 할 태도를 배울 수 있다는 점에서는 좋다고 생각합니다. 강의 자체에서 다루는 내용의 난이도는 많이 낮지만 우아한테크코스 강사님의 노하우가 강의 듣는 중에 간간히 느껴져서 우테코 교육생들이 좋은 교육을 받겠구나 하는 부러운 마음이 살짝 들었습니다.
강의가 더 추가가 된다면 듣고 후기글을 업데이트 해보도록 하겠습니다.