배운것은 세 가지
1. 내 JS code 들이 잘 돌아가는가
2. 그 code 에 해당하는 test-case 를 dev tool console 을 통해 확인할 수 있는가
3. 그 test case checking 과정을 chai 나 mocha 가 제공하는 testing 기능으로 진행할 수 있는가
였다
물론 볼드 처리 한 3번이 가장 새로운 지식이었고, 오늘의 포인트라고도 생각한다
mocha, chai 로 구현해 본 test case validity checking system
문제의 주제를 대략 적자면
우리가 일상 속에서 흔히 접하는 그 문제
카드 체킹 이다
쿠팡이든, 위메프든, 뱅크 샐러드든, 토스든 간에
우리가 카드 번호를 입력하면
서비스 제공자 측에선 '이 카드가 맞으신가요?' 라고 자동으로 체크해 주는 그 기능
개인적으로 우리에게 와닿을 수 있는 예제이면서도
여태껏 배운 내용 + 추가로 배운 내용을 시험해 볼 수 있는 예제
학습을 돕는 적절한 예제라고 생각했다
여담인데, 강사님들이 보고 쓰는 웹 기반 화이트보드 프로그램 ZiteBoard(링크, 클릭)
이거도 상당히 쓸만한 물건인 거 같다
먼저 카드사의 규칙을 인지하고, 그 규칙에 따라 함수를 만들었다
그리고 그 함수를 재료로 삼아, chai 와 mocha 를 활용, validity checking system 을 만들었다
코드스테이츠 측 의 인강과, chai 의 공식 문서(링크, 클릭), mocha 의 공식 문서(링크, 클릭)
개발하는데 직접적으로 기여한 당사자들이 적은 문서라 신뢰성이 좋다
official documents 를 읽어보는 훈련이 반드시 필요하다고 해서
코드스테이츠 측의 설명을 들어도 이해는 안 가는 부분들을 해결하기 위해
나는 웬만해선 이 내용을 통해서만 해결하려고 노력했다
+
방금 구글링을 해 봤는데, 한국어로 정리한 블로그는 감성 프로그래밍의 Mocha 사용법(링크, 클릭) 이 좋은거같다
이전부터 참 zerocho 블로그와 쌍두마차 격으로 괜찮다는 생각을 해온 블로그였는데
이번 김에 링크를 걸어보려고 한다
저 공식 문서에서 부드럽게 이해가 안가는 부분은
저 감성 프로그래밍 블로그의 포스팅을 정독하고 해결하면 좋지 않을까 한다
이런 식으로 작성한다
오늘은 너무 피곤해서 이 정도로 끝내려고 한다...
기본 문제는 애진작에 다 풀었는데
추가로 주어진 심화 문제를 페어와 도전하고 80% 정도 완료 하였다가
그냥 퓨즈가 끊긴것처럼 쓰러져 자 버렸다
추가로, 리팩토링 전이나, 리팩토링 후나, 코드가 너무 스파게티 수준이었다
'이거 Functional programming, 혹은 Array 를 이용하면 더 깔끔하게 풀릴 수 있을 거 같은데!' 라는 생각이 들었으나
왜 그 어줍잖게 복싱이나 그런 것들 배운 사람 실제 길거리 개싸움 가면 머리끄뎅이 잡고 그러는거처럼
나도 막상 같이 코드를 짜보니 개싸움 하는 거마냥 조건문만 죽죽 붙였다
이런 걸 깔끔하게 써 먹으라고 functional programming 이 있고
array 가 있는 건데
써먹어 보지 않아 아쉽다
주말에 리팩토링 하면서 해당 개념들을 써먹어 보도록 해야겠다
당연히 잘 하고 싶으면, 써 봐야 늘지 않겠는가!
14, 15일차 개발일지, 끝!
'code-states' 카테고리의 다른 글
[code-states][we-win] 17일차 - HTML / CSS (0) | 2020.05.21 |
---|---|
[code-states][we-win] 16일차 - testbuild, chai, mocha(2) + 반성의 시간 (0) | 2020.05.19 |
[code-states][we-win] 13일차 - 주말 독학, js koans, git (0) | 2020.05.17 |
[code-states][we-win] 12일차 - git commit & push, scope and closure (0) | 2020.05.15 |
[code-states][we-win] 11일차 - terminal, command line, and git (0) | 2020.05.15 |