til

    2021-09-29 TIL

    Facts (사실, 객관) 코드숨 7주차 과정 시작 Feelings (느낌, 주관) 어느덧 코드숨 리액트 과정 7주차에 접어들었다. 그동안 충분히 해내었는지 스스로에게 되물어 보면 그렇다라고는 할 수 없을 것 같다. 항상 그렇듯이 적당히 했고, 사실은 적당한 수준에 미치지 못할 지도 모른다. 돌이켜 보면 깊은 학습보다는 주어지는 과제 해결에 치중했던 것 같다. 아직 남은 주간이 많다. 최종 과제를 진행하면서 그동안 배웠던 것을 충분히 써봐야 겠다. 오늘 유난히 심리상태가 무너졌다. 오전에만 해도 기분이 나쁘지 않은 편이었는데 일상에서 느끼는 몇몇 지점들이 나를 우울하게 했다. 사실 크게 바뀐 것은 없는데 여전히 특정 주제에 예민하게 느끼고 있다. 이건 극복해야 할 문제다. 같은 대상에 대해 좀 다르게 생..

    2021-09-26 TIL

    Facts (사실, 객관) 코드숨 6주차 과정 리뷰 Findings (배운 점) Link를 포함하는 컴포넌트의 테스트를 작성할 때 Link를 Router 바깥에서 사용하고 있다는 에러를 확인할 수 있다. 테스트 코드 내에서 이를 해결하기 위한 세 가지 방법이 있다. 컴포넌트를 Memory Router로 감싸준다. 그러나 하위 컴포넌트에서 Link를 직접 불러오는 것은 관심사 분리에 도움이 되지는 않는다. 상위 컴포넌트에서, 예를 들어 라우트와 매칭된 페이지 컴포넌트에서 하위 컴포넌트로 Link를 전달해준다. 테스트 코드 내에서도 Link를 함수로 정의한 다음에 컴포넌트를 렌더시켜준다. 상위 컴포넌트에서 링크가 클릭되면 라우트를 주소와 매칭시켜주는 함수를 전달해준다. 하위 컴포넌트에서는 Link가 아닌 a..

    2021-09-24 TIL

    Facts (사실, 객관) 알고리즘 공부를 시작했다. 여전히 운동은 안 하고 있다. Feelings (느낌, 주관) 엘리스 코딩 교육과정에 지원하게 되면서 알고리즘 공부를 시작했다. 교육과정에 참여하기 위해서는 서류, 코딩 테스트, 면접 등의 관문을 통과해야 한다. 엘리스 코딩에서는 시험을 대비하여 여러 문제를 미리 풀어볼 수 있도록 도구를 제공해준다. 덕분에 그동안 미뤄왔던 알고리즘 문제들을 직접 풀어보며 접하게 되었는데..., 요약하자면 아주 절망스러운 경험을 했다. 기초라고 제공되는 문제조차 내게는 너무 어려웠고 많은 시간을 할애해도 결국 풀지 못하는 문제도 많았다. 아무래도 시험을 통과하지는 못할 것 같고 이번 기회를 통해 알고리즘에 관심을 갖고 강의를 들어보며 꾸준히 준비해 나가야 겠다. 공부해..

    2021-09-16 TIL

    Facts (사실, 객관) 수면 패턴을 바꾸는 데 성공했다. 코드숨 6주차 과정: 라우팅 Feelings (느낌, 주관) 보통 아침 해가 뜨고서야 잠에 들었는데 그 시간이 점점 미뤄져서 최근에는 오후가 되어서야 잠이 오는 최악의 수면 패턴을 경험했다. 아르바이트에도 지장이 있었고 컨디션이 영 좋지 않았다. 이건 아니다 싶어서 바꾸려던 차에, 결국 잠을 못 잔 채로 카페에 출근한 이후로 밤에 자는 패턴이 될 수 있었다. 얼마나 갈지는 모르겠지만 이대로 유지하기 위한 노력 중이다. 오늘은 새벽 다섯 시에 일어났는데, 다섯 시간도 못 자서 너무 이른 감이 있었다. 하지만 더 이상 잠이 오진 않았고 패턴을 유지하기 위해 낮잠은 최대한 자제하고 있다. 아마 오늘을 일찍 잠에 들어야 할 것 같다. 코드 숨 6주차 ..

    2021-09-01 TIL

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

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

    2021-08-20 TIL

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