[코드숨] 리액트 8주 차 회고
2022. 8. 2. 12:15
교육/코드숨
코드숨 소프트웨어 개발의 지혜 9기 과정 중 8주간의 정규 과정이 드디어 마무리됐다. 길다면 길고, 짧다면 짧지만 TDD를 배우고, 여러 프론트엔드 기술에 대해 공부할 수 있는 값진 시간이었다. 코드숨 이번 주 과제는 크게 세 가지였다. Redux Toolkit 도입 CSS-in-JS 라이브러리인 Emotion을 이용한 스타일링 React.memo, useCallback 등을 이용한 컴포넌트 성능 최적화 Redux Toolkit 개인적으로 제일 비중을 뒀던 주제다. 아샬 님이 강의에서 설명한 createSlice와 ducks pattern 이외에도 공식 문서에서 소개하는 기능들을 최대한 많이 사용해 보려고 했다. 가장 시간을 많이 썼던 건 createAsyncThunk다. 이전 과제를 진행하면서 비동기 ..
TIL - 20220728
2022. 7. 29. 01:07
TIL
코드숨 Redux Toolkit을 이용해서 기존의 Redux 코드들을 리팩토링했다. 특히 주요했던 것은 하나의 리듀서에서 관리하던 상태나 액션들을 여러 리듀서로 분리하는 작업이었다. 각 로직들을 어떤 기준으로 어느 정도나 분류해야 하는지 판단하는 게 쉽지 않았다. 이 부분은 계속 경험하면서 나름의 기준을 잡아가야 할 것 같다. 또 다른 아쉬운 점이 있다면, 점진적인 리팩토링을 하지 못 했다. 기존에 있던 하나의 리듀서와 분리한 리듀서를 하나의 스토어에서 제공하는 방법을 찾지 못한 건데 이에 대해서는 추가적인 학습이 필요한 것 같다. emotion을 이용해서 스타일링을 진행했다. CSS-in-JS를 지원하는 라이브러리인데 예전에 사용한 적 있는 styled와 상당히 유사하다. 아직은 기본적인 사용 방법만 ..
TIL - 20220726
2022. 7. 26. 23:13
TIL
코드숨 이번 주 코드숨 과제는 Redux Toolkit을 이용한 중복 코드 제거, Emotion을 이용한 꾸미기, userCallback, React.memo 등을 이용한 성능 최적화다. 오늘은 그중에서 Redux Toolkit를 이용해서 기존 코드를 ducks 패턴으로 리팩토링 해봤다. 아직 익숙하지 않지만 확실히 뭔가 깔끔하다는 느낌을 받았다. 그 외에도 Redux Toolkit은 다양한 기능들을 제공하는데 reducer의 분리나 RTK 등 남은 기간 동안 최대한 다양하게 활용해볼 생각이다.
TIL - 20220725
2022. 7. 26. 00:47
TIL
코드숨 코드숨 7주 차 과제 풀이 영상을 보고, 회고를 작성했다. 회고를 작성해보니 지난주에 아쉬운 점이 정말 많았던 것을 다시 한 번 깨달았다. 이번 주는 후회 없도록 초반부터 열심히 해야겠다. 코딩 테스트 그래프, 트리, 힙, 트라이 자료구조에 대해 공부했다. 지난 주에 코딩 테스트 공부를 거의 못했는데 다시 시작하려니 개념도 좀 헷갈리고 어려움이 있었다. 이제부터는 매일 조금씩이라도 꾸준히 하는 습관을 가져야겠다.
[코드숨] 리액트 7주 차 회고
2022. 7. 25. 23:06
교육/코드숨
코드숨의 소프트웨어 개발의 지혜 9기 과정도 벌써 7주가 지나고, 마지막 한 주(포트폴리오 과정 제외)만 남겨놓고 있다. 이번 과제는 로그인과 그 로그인한 계정으로 레스토랑의 리뷰를 작성하는 기능을 구현하는 것이었다. 과정이 막바지에 가까워지면서 집중력이 떨어진 건지 과제의 요구사항을 맞추는 데만 급급해 여러모로 많은 아쉬움이 남는 한 주였다. 아쉬웠던 점 폴더 구조 지난 회고에서 말한 폴더 구조를 이번 과제에서도 그대로 적용했는데 그에 대해 위와 같은 피드백을 받았다. 뎁스가 깊어지는 점은 지난 과제를 진행할 때도 느끼고 있었고, 이번 주차에서 개선을 하려고 했지만, 여러 페이지에서 쓰이는 컴포넌트인 TextField를 최상위에 components라는 폴더를 만들어 모아놓는 것을 제외하고는 폴더 구조에..
TIL - 20220724
2022. 7. 25. 00:33
TIL
코드숨 어제에 이어서 코드숨 과제를 진행했다. 로그인 요청을 통해 받아온 토큰을 localStorage에 저장하는 기능까지 해서 과제의 기본적인 요구사항을 진행하고, 에러 핸들링까지 시도했다. 에러 핸들링은 확실히 마무리 짓지 못 했는데 Fetch API에 대한 이해가 부족했던 것 같다. 다음 과제에서는 에러 핸들링까지 확실히 완성하는 것을 목표로 할 생각이다. 이번 주에는 과제에 시간을 별로 못 쓴 거 같아서 꽤 아쉬움이 남는데 다음 주부터 다시 열심히 해야겠다.
TIL - 20220721
2022. 7. 22. 01:45
TIL
코드숨 코드숨 과제로 로그인 기능 개발을 진행했다. TDD를 통해 크게 어려움 없이 기능을 개발했지만 웹 브라우저를 통해 직접 테스트를 해보려니 문제가 발생했다. `CORS` 에러였다. 예전에 다른 프로젝트를 진행할 때 꽤 골치 아팠던 문젠데 오랜만에 봐도 역시 골치 아픈 문제였다. 결과적으로 웹팩의 설정 파일에서 프록시를 설정해줌으로써 해결할 수 있었다. 어떤 문제가 생겼을 때, 근본적인 원인을 확실히 파악하지 않고 당장 해결하는 데만 급급하다 보니 같은 문제를 만났을 때 같은 어려움에 봉착하는 것 같다. 앞으로는 어떤 문제를 만나면, 그 문제를 다시 만났을 때 같은 어려움을 겪지 않도록 근본적인 원인에 대해 확실히 학습해야겠다.
TIL - 20220720
2022. 7. 21. 02:13
TIL
오늘은 코드숨 과제와 타입스크립트를 주제로 스터디를 진행했다. 코드숨 오늘은 간단히 로그인 화면을 보여주는 것까지만 진행했다. 이번 주는 코드숨 과제의 진행이 좀 더딘데, 업무 및 다른 공부와 시간 분배를 적절히 못한 게 주 원인 같다. 남은 기간 동안 시간 분배를 잘해서 이번 주 과제도 잘 마칠 수 있도록 노력해야겠다. 타입스크립트 타입스크립트 학습 및 스터디를 진행했다. 자바스크립트의 Object.keys()와 Object.values()에 타입을 추가하는 과제를 다음과 같이 진행했다. type Keys = (keyof T)[]; const keys = Object.keys as (o: T) => Keys; type Values = T[keyof T][]; const values = Object.va..
TIL - 20220719
2022. 7. 20. 00:14
TIL
코드숨 코드숨 7주 차 강의를 듣고, 폴더 구조를 수정했다. 지금까지 강의 영상의 길이가 1시간을 넘는 경우가 거의 없었던 것 같은데 이번엔 무려 2시간 30분이나 돼서 집중력을 유지하기가 꽤 힘들었다. 이번 주에 구현해야 할 기능은 로그인과 그 로그인한 계정으로 레스토랑의 리뷰를 작성하는 것이다. 아직 개발을 제대로 시작하지는 않았지만 강의 영상만 봐도 구현할 게 많고, 난이도가 이전 과제에 비해 어려울 것으로 예상된다. 열심히 해보자! 💪 타입스크립트 타입스크립트를 기반으로 객체지향의 특징(캡슐화, 추상화, 다양성, 상속)과 제네릭에 대해 공부했다. 오랜만에 객체지향에 대해 복습하는 느낌이라 뭔가 반가웠고, 재밌게 공부할 수 있었다. 특히 약간 어설프게 알고 있었던 제네릭에 대해 확실하게 개념을 잡을..
TIL - 20220718
2022. 7. 19. 00:10
TIL
TypeScript 타입스크립트 공부를 시작했다. 타입스크립트는 예전에 잠깐 사용해본 경험이 있는데, 그때는 단순하게 정적 타이핑만을 위해서 사용했다. 하지만 이번에 제대로 공부해보니, 타입스크립트의 진정한 강점은 그러한 정적 타이핑을 기반으로 한 강력한 객체 지향 프로그래밍의 지원이라는 것을 알게 되었다. 조만간 포트폴리오로 사용할 프로젝트를 진행할 예정인데 타입스크립트로 개발하면 재밌을 것 같다. 시간 분배 현재 코드숨, TypeScript, 코딩 테스트 세 가지 공부를 병행하다 보니 각 공부에 시간을 분배하는 게 쉽지 않다. 보다 효율적인 공부가 되도록 우선순위를 명확히 설정하는 시간을 가질 필요가 있어 보인다.