회고

    2021-09-01 TIL

    Facts (사실, 객관) 코드숨 4주차 과제 진행 가벼운 중량 운동 Feelings (느낌, 주관) 코드숨 4주차 과제를 시작했다. 리덕스를 학습했다. 상태관리는 더 이상 리액트의 관심사가 아니게 되었다. 프레젠테이션 컴포넌트와 컨테이너 컴포넌트에 대해서도 알게 되었다. 지난 주부터 관심사를 분리하는 작업을 계속 해왔지만, 아직도 분리할 것이 남아있다는 사실이 놀라울 뿐이었다. 관심사를 분리하기 전에 나의 뇌가 먼저 분리될 것만 같다. 이번 주의 과제 1은 테스트 코드를 완성한 todo app에 리덕스를 붙이고, 거기에 또 테스트 코드를 작성하는 과제였다. 강의를 참고할 수 있었고 익숙해지기 위해 한번 더 작성해 보았다. 리덕스를 활용하게 되면서 테스트에 관해 혼란스러웠던 점이 있었다. reducer나..

    코드숨_React _3주차_주간회고

    Facts (사실, 객관) 코드숨 3주차 강의 듣기 과제: To-do 테스트 작성하기 Feelings (느낌, 주관) 처음으로 테스트 코드를 작성해봤다. 리액트 테스팅 라이브러리와 jest를 활용해서, 지난 과제였던 To-do 앱에 대한 테스트를 작성하는 과제가 주어졌고, 단순히 강의를 듣는 것만으로는 어려운 점이 많아 인터넷 자료를 참고할 수 밖에 없었다. 처음에는 각각의 컴포넌트 안에서 어떤 내용을 테스트해야 하는지 결정하는 것이 어렵게 느껴졌고, 나중에는 이 테스트에는 어떤 matcher를 활용해야 하는지, jest로 생성한 가짜 함수를 어느 정도까지 활용할 수 있는지에 대한 의문이 생겨나기도 했다. TDD는 프로젝트의 시작 단계에서부터 적용하는 일종의 방법론인 만큼, 자유자재로 내가 원하는 기능을..

    2021-08-27 TIL

    Facts (사실, 객관) 코드숨 3주차 과제 리팩토링 백준 알고리즘 문제 풀기 자바스크립트 코딩의 기술 리딩 Feelings (느낌, 주관) jest.fn()으로 만들어준 가짜 함수를 통해 change 이벤트의 실제 작동여부를 테스트하고 싶었는데, 그게 가능할지 의문이다. 실제로 가짜 함수의 리턴 값은 undefined이다. 만약 mockReturnValue를 통해 리턴 값을 지정해주더라도 테스트 내에서 렌더링된 컴포넌트의 이벤트리스너로서 기능할 수 있을 것 같지는 않아보인다. 가짜 함수를 어느 정도까지 구현할 수 있는지 알아보아야겠다. 백준 사이트에서 알고리즘 문제를 풀어봤다. 순서는 youtuber '라메개발자'님이 영상에서 추천해주신 경로를 따라가려고 한다. 단계별로 풀어보기에서 '정렬'까지 풀어..

    2021-08-26 TIL

    Facts (사실, 객관) 코드숨 3주차 과제 진행 중 Feelings (느낌, 주관) 코드숨 3주차 과제로 주어진 테스트 코드를 작성하고 있다. 리액트 테스팅 라이브러리나 jest가 처음이고, 테스트 코드의 작성 또한 처음이기 때문에 많은 시행착오를 겪고 있다. 단순히 텍스트의 존재를 확인하는 것 정도는 어렵지 않지만, 함수를 모킹하는 부분이 쉽지 않다. 특히 리액트 hook을 다루는 함수를 어떻게 모킹할 수 있는지 감이 오질 않는다. 단순한 이벤트 함수를 fireEvent를 활용해서 함수의 호출 여부정도는 쉽게 테스트가 가능하지만, input의 value가 내가 넣어준 인자대로 변경되었는지는 내 예상대로 검증되질 않았다. 과제의 난이도가 어렵고 진행이 더딜수록 서칭을 하는 시간이 늘어나고 집중력이 떨..

    2021-08-23 TIL

    Facts (사실, 객관) 코드숨 3주차 강의보기 카페 아르바이트 면접 Feelings (느낌, 주관) 드디어 3주차부터 테스트를 작성한다. 3주차 과제 템플릿을 clone했더니 이미 세팅이 다 되어있어서, 우선 과제는 제쳐두고 강의를 보며 테스트 도구들을 설치하고 세팅하는 것부터 시작했다. 지난 주 과제 폴더에서부터 시작했다. 아샬님이 강의에서 다루시는 파일과 내 파일의 구성이 다르기 때문에 그 차이점들에서 발생하는 에러들이 있었고, 그 덕분에 에러를 해결해 나가는 과정에서 메서드나 함수의 인자들을 좀 더 명확하게 인지할 수 있었다. 주말 아르바이트를 관두기로 했다. 근무시간이 너무 길기도 하고 근무강도 대비 시급이 형편없다는 판단 하에 내린 결정이다. 그동안 카페 일을 하러 갔다가 사실상 주방 일을 ..

    코드숨_React _2주차_주간회고

    Facts (사실, 객관) 코드숨 2주차 강의 듣기 과제 1: 간단한 카운터앱 만들고 파일 분리하기 과제 2: 투두리스트 만들기 회고 작성을 위한 블로그 개설 Feelings (느낌, 주관) 이제 본격적으로 리액트에 대해 배우기 시작했습니다. 그 기반이 되는 JSX 문법에 대해 미리 배우고 나니 리액트에 조금이라도 더 쉽게 다가갈 수 있었습니다. JSX 문법으로만 구현하는 것과의 차이에서 비롯되는 리액트의 훌륭함(?)도 느낄 수 있었습니다. 투두리스트를 자바스크립트로 구현한 적이 있었는데, 리액트의 상태 관리와 컴포넌트 분리로 얼마나 깔끔하고 명확한 코드를 작성할 수 있는지 직접 체감할 수 있었습니다. 과제는 지난 주보다 할만했지만 여전히 고칠 부분은 너무나도 많았습니다. 코드리뷰에서는 제가 전혀 생각하..

    2021-08-20 TIL

    Facts (사실, 객관) 코드숨 리액트 과제 리팩토링 자바스크립트 코딩의 기술 읽기 Feelings (느낌, 주관) 코드숨 과제를 진행하면서 코드리뷰의 소중함을 느끼고 있습니다. 코드리뷰와 리팩토링의 반복은 내 코드가 얼마나 끔찍했었는지 알게 해줍니다. 트레이너님이 코드 리뷰를 통해 주시는 팁들이 새로운 학습의 기회를 열어주기도 합니다. '이런 방식으로 코드를 작성할 수 있구나' 혹은 '이런 개념을 고려해서 코드를 작성해야 하는 구나'라는 식의 깨달음을 얻고 적용해보면서 학습이 일어나고 있다는 느낌을 받습니다. 코드숨 과정 시작 전에 읽으면 좋을만한 책으로 추천해주신 '자바스크립트 코딩의 기술'을 지금에서야 읽고 있습니다. 최신 문법을 예제와 함께 그 필요성을 느낄 수 있도록 잘 소개하는 책인 것 같습..

    2021-08-19 TIL

    Facts (사실, 객관) 코드숨 2주차 과제 리팩토링하는 중 노마드코더 파이썬 마지막 과제 완료 운동 다시 시작 2회차 다녀옴 Feelings (느낌, 주관) 코드숨 2주차 과제를 리팩토링하고 있다. 확장성을 고려하여 상태를 관리하는 방법, 불필요한 리액트 hook 사용, 과도한 컴포넌트 분리 등에 대해서 피드백을 받았다. 피드백을 받았던 내용을 보완하면서 조금씩 코드가 다듬어지는 것 같아 기분이 좋았다. 마치 방을 깔끔하게 정리하는 느낌과 유사했다. 관심사에 따라 컴포넌트와 파일을 분리하여 정리하고 나니 전체적인 구성이 좀 더 분명하게 보였다. 계속해서 스크래핑하는 과제를 하고 있다. bs4를 사용하기도 하고 타겟 웹사이트에서 제공하는 api를 이용하기도 한다. 파이썬에 대해서는 아직 모르는게 너무나..

    코드숨_React _1주차_주간회고

    Facts (사실, 객관) 코드숨 1주차 강의 듣기 과제 1: let 제거하기 과제 2: 간단한 계산기 만들기 Feelings (느낌, 주관) 새롭게 알게된 것들이 너무 많았던 한주였다. 그냥 지나쳤던 것들에 대해 공부해볼 수 있는 시간을 갖게 되었는데, 그러다 보니 그간 대충 해온 것에 대한 반성을 피해갈 수는 없었다. 트레이너님들이 리뷰를 통해 힌트를 주기도 하시지만 그조차도 받아들일 실력이 되지 않아 간단해 보이는거 하나에도 쩔쩔맸다. 특히 아샬님의 몇몇 질문에 대해서는 아예 이해하지 못해 되물어야만 했다. 질문에 대한 답을 찾는 과정에서 새로운 지식과 함께 새로운 질문이 생겨났다. 결국 과제는 제대로 완수하지 못했다. 특히 과제명 '간단한 계산기 만들기'는 내겐 전혀 간단하지 않았다. 예전에 했던..