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주 차 과제 풀이 영상을 보고, 회고를 작성했다. 회고를 작성해보니 지난주에 아쉬운 점이 정말 많았던 것을 다시 한 번 깨달았다. 이번 주는 후회 없도록 초반부터 열심히 해야겠다. 코딩 테스트 그래프, 트리, 힙, 트라이 자료구조에 대해 공부했다. 지난 주에 코딩 테스트 공부를 거의 못했는데 다시 시작하려니 개념도 좀 헷갈리고 어려움이 있었다. 이제부터는 매일 조금씩이라도 꾸준히 하는 습관을 가져야겠다.
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, 코딩 테스트 세 가지 공부를 병행하다 보니 각 공부에 시간을 분배하는 게 쉽지 않다. 보다 효율적인 공부가 되도록 우선순위를 명확히 설정하는 시간을 가질 필요가 있어 보인다.
TIL - 20220716
2022. 7. 17. 01:15
TIL
코드숨 진행 중인 과제의 프로젝트가 커지면서 보다 구조적인 폴더 구조를 가지도록 다양한 시도를 하고 있다. 일례로 페이지별로 컴포넌트를 나눴는데 그로 인해 뎁스가 깊은 파일에서 다른 파일을 import 할 때 ../../../../util 같은 형태를 가지면서 불편하다는 피드백을 받았는데 절대 경로를 적용해서 해결했다. 내가 봤을 때는 불편하지 않던 게 다른 사람의 입장에서는 불편할 수 있다. 때문에 다양한 시도를 해보고, 트레이너님과 의견을 주고받는 과정에서 많은 것을 배우는 것 같다.
TIL - 20220714
2022. 7. 14. 23:43
TIL
React Folder Structure 진행 중인 코드숨 과제 프로젝트가 여러 페이지를 가질 정도로 커지면서, 그동안 src 폴더 한곳에 몰아넣어놨던 파일들을 구조화할 필요를 느꼈다. React 공식 문서에서는 파일 구조에 대해 너무 깊게 생각하지 마세요(Don't overthink it)라고 조언하지만, 프로젝트가 커질수록 가장 많이 고민하게 되는 주제가 아닌가 싶다. Evolution of a React folder structure and why to group by features right away Popular React Folder Structures and Screaming Architecture How do different folder structures compare? This is..