TIL
TIL - 20220522
오늘은 코드숨 리액트 3주차 과제 풀이 영상을 통해 아샬님의 태도를 배우는 시간을 가졌다. 먼저, 테스트 코드를 작성할 때도 바깥에서부터 만들어나가는 것을 선호한다고 하셨는데, 이 부분은 나도 바깥에서부터 만들어나가는 것을 선호하며, 과제를 처음부터 만들어보는 시간을 가질 때도 통합 테스트를 진행하는 App 컴포넌트 테스트 코드 작성을 먼저 진행했다. 확실히, 바깥에서부터 만들어나가면 안에 있는 기능들의 테스트 코드 작성이 수월해져서 안에서 바깥으로 나아가는 것보다 바깥에서 안으로 나아가는 것의 소요 시간이 훨씬 덜 든다고 느꼈기 때문이다. 다음으로, 항상 사용법을 우선으로 하는 테스트 코드를 작성하자라는 말을 해주셨는데, 처음 테스트 코드를 작성할 때 채점과 같은 느낌의 테스트 코드를 작성해서 ~한다가..
TIL - 20220521
코드숨 과제에 대한 리뷰를 진행하며 다음과 같은 리뷰를 받았다. 리뷰를 읽으면서 노드라는 표현과 함께 쓴 리뷰가 이해가 안 돼서 구글링을 통해 좀 더 찾아봤다. getByRole이라는 쿼리 함수로 예를 들자면, getBy*라는 variant와 Role이라는 query로 나눌 수 있다. getBy*로 시작하는 쿼리는 조건에 일치하는 DOM 엘리먼트 하나를 선택하여 없으면 에러를 출력하고, Role은 특정 role을 가지고 있는 엘리먼트를 선택한다. toHaveTextContent는 해당 엘리먼트에 주어진 string이 존재하는지 체크하는 함수다. 따라서, 내가 작성한 코드는 매 줄마다 조건에 일치하는 DOM 엘리먼트를 찾고, toBeInTheDocument를 통해 해당 엘리멘트가 문서에 존재하는지 존재하지..
TIL - 20220520
아주 나쁜 습관 하나를 갖고 있다. 혼자서 공부할 때, 에러를 만나면 에러를 해결할 때까지 끝까지 물고 늘어지려 하지 않고, 내가 처음부터 잘 못 한 것이 있나 싶어 초기 환경설정부터 다시 시작하는 습관(초기 환경설정부터 다시 시작하는 건 어렵지 않고 편해서 계속 이런 행동을 반복하는 것 같다)이 있다. 당장 오늘 있었던 사례를 통해 이야기해보자면, 이번 주에 배운 내용을 바탕으로 TDD Cycle을 적용하여 처음부터 환경설정을 하고 테스트 코드를 만들고 있었다. 테스트 코드를 만들던 중, 다음과 같은 에러를 만났다. 그래도, 저번 TIL때 느끼고 배운 점이 있어서 링크는 들어가 본다. 링크가 완벽한 해결책을 갖고 있을 수도 있지만, 대개 공식문서의 내용이 나오기 때문에 내 상황과 완벽하게 매칭 되지 않..
TIL - 20220519
오늘자로 프로그래머의 길, 멘토에게 묻다를 완독 했다. 초등학교부터 대학교까지 읽은 책을 기억해보면 열 손가락 안에 꼽을 만큼 책을 많이 읽지 않았는데, 코드숨 리액트 과정을 수강하며 더욱 성장하고 싶은 마음에 공부할 내용이나 책을 아샬 님께 물어봤고 아샬 님께서 프로그래머의 길, 멘토에게 묻다와 실용주의 프로그래머를 추천해주셨다. 책을 많이 읽어보지 않아서, 책을 읽다가도 그냥 이렇게 읽어도 괜찮나? 내가 너무 의식 없이 읽는 건 아닌가?라는 생각도 해서, 3번 정도 중간에 읽다가도 처음으로 돌아가 다시 읽었다. 자세한 내용은 서평으로 따로 정리할 예정이지만 간단하게 배운 점을 정리하면 개발자는 끊임없이 공부해야 하며, 고여서는 안 되는 직업이다. 계속해서 자기 자신을 돌아보고 늘 함께 하는 프로그래밍..
TIL - 20220518
코드숨 과제에 대해 다음과 같은 리뷰를 받았다. 사실, 처음에는 리뷰가 무슨 의미인지 이해가 잘 안 됐다. 테스트를 진행하는 거니까 테스트 이름은 ~되어야 한다, ~해야 한다가 맞지 않나?라고 생각했다. 그래서 계속 생각해보다가 BDD를 다시 떠올리니 무슨 말인지 이해가 됐다. BDD는 코드의 행동을 설명하는 테스트 코드를 작성한다. 또한, BDD는 테스트 대상을 주인공으로 설정하여 행동을 설명하는데 적합한 방식이니까 상황으로 설명하면 테스트 대상은 수동적이게 되므로 BDD는 테스트 대상을 주인공으로 능동적이게 작성해야 하는 것이다. 앞으로, BDD를 작성할 때, 어떤 상황이 벌어지는지, 어떤 변화가 일어나는지에 더 주목하여 능동적으로 작성해야겠다. 이러한 리뷰도 받았다. describe는 설명할 테스트..
TIL - 20220517
오늘은 코드숨 리액트 3주차 과정 피드백과 React Testing Library에 대해 공부했다. 3주차 과제를 진행하며, React는 UI 요소들을 나누어 컴포넌트로 다루고 컴포넌트 각각의 요소에 테스트를 진행하면 컴포넌트를 한 곳에 모아 둔 App 컴포넌트는 테스트를 할 필요가 없지 않을까?라고 생각해서 이 질문을 윤석 님께 드렸다. 10초 움짤이 내 질문에 대한 명쾌한 답변을 해줄 수 있었다. 그렇다. 위 움짤과 같이 두 잠금 기능은 정상 작동을 하지만 통합 테스트를 하면 엉망이 될 수 있는 결과가 생길 수 있다. 그러니, 각 기능에 대한 테스트도 진행해야 하지만 통합 테스트도 해야 함을 반드시 명심해야겠다. 다음으로, 과제를 진행하며 testing library에서 getByRole, getBy..
TIL - 20220516 (부제: TDD와 BDD(프로게이머 아님 ㅎ))
오늘은 코드숨 리액트 과정의 3주차로 풍문으로만 들었던 TDD에 처음 접해보게 되었다! TDD를 적기에 앞서 Jest와 react-testing-library에 대해 얘기해보자면 Jest는 자바스크립트 테스팅 프레임워크로, 간단한 설정만으로도 테스트할 수 있고 Coverage와 같은 기능도 제공하며 mocking과 같은 기능을 이용하여 테스트를 쉽게 할 수 있는 프레임워크다. React-testing-library는 DOM을 이용하여 사용자가 실제 이용하는 것처럼 테스트할 수 있는 라이브러리다. TDD는 다음과 같은 단계로 이루어져있다. RED - 테스트를 적는 단계이다. 코드를 구현하지 않고 테스트를 적는 것이기 때문에 실패하는 것이 당연하다. GREEN - 테스트를 통과하는 코드를 적는 단계다. 테스..
TIL - 20220515
글또 7기 프론트엔드 d조분들과 오프라인 만남을 가졌다. E 100%의 외향적인 성격을 가졌지만, 대외활동을 한 적이 없었고 이번에 처음으로 친척이 아닌 윗사람을 오프라인으로 만나는 상당히 기념비적인 날이어서 많이 떨렸다. 결과적으로, 편하게 많은 얘기들을 나눌 수 있어서 너무나 좋았다. 특히, 얘기를 나누며 평상시에 갖고 있었던 졸업장이 과연 중요할까, 4학년이라는 1년 쓰는 것보다 개발자로 경력 1년 더 쌓는 것이 더 낫지 않겠느냐는 고민도 대학생만이 누릴 수 있는 혜택이 찾아보면 무조건 있으니까 그런 혜택을을 누리며 1년 사용하는 것도 나쁘지 않다는 말씀을 해주셨고 업계 선배님들이 해주신 말씀이기에 졸업하는 방향으로 결정을 지을 수 있었기에 후련해서 기분이 좋았다. 군 복무를 마치고 4학년을 하기 ..