[코드숨] 리액트 6주 차 회고
2022. 7. 18. 22:20
교육/코드숨
코드숨의 소프트웨어 개발의 지혜 9기 과정을 시작한 지 6주가 지났다. 이번 주부터는 여러 페이지가 필요해지면서 파일도 많아지고, 라우팅 기능도 추가됐는데, 그로 인해 다양한 고민을 하게 되는 한 주였다. 코드숨 폴더 구조 라우팅이 도입되면서 여러 페이지를 가질 정도로 프로젝트가 커지다 보니 파일들을 효율적으로 관리하기 위해 폴더를 구조화할 필요성을 느꼈다. 리액트 공식 문서에서는 이에 대해 너무 깊게 생각하지 마세요(Don't overthink it) 라고 조언하지만, 프로젝트가 커질수록 가장 많이 고민하게 되는 부분이 아닐까 싶다. 이와 관련된 여러 자료가 있지만 특히 Evolution of a React folder structure and why to group by features right a..
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..
TIL - 20220713
2022. 7. 14. 00:19
TIL
코딩 테스트 코딩 테스트를 위해 JavaScript 기반으로 다음과 같은 자료구조를 공부했다. Array List Stack Queue 자료구조는 예전에 C언어로 잠깐 공부해 보고, 최근에는 Python으로만 공부했었는데 JavaScript로 공부해 보니 좀 새로웠다. 주력 언어라 할 수 있는 JavaScript로 기본적인 자료구조를 구현하는 게 어색하다는 점에서 그동안 소홀했다는 것을 느꼈다. JavaScript로 코딩 테스트를 통과하려면 꾸준한 학습이 필요해 보인다. React Router - Relative links react-router-dom을 이용해서 라우팅 하는 코드에 대해서 다음과 같은 피드백을 받았다. 공식 사이트에 나와 있는 방법을 그냥 따라 썼던 건데 트레이너님의 피드백을 보고 /의..
TIL - 20220712
2022. 7. 12. 23:47
TIL
코드숨 이번 주 과제는 레스토랑 상세 페이지 구현하기이며, 주제는 라우팅이다. react-router-dom 라이브러리를 이용하는 건데 강의와 공식 문서를 참고하니 아직까지는 구현에 큰 어려움이 있진 않았다. 브라우저에서 라우팅이 전통적인 링크 방식 -> ajax 방식 -> hash 방식 -> pjax 방식으로 발전해왔다는 것을 학습했다. react-router-dom 같은 현대의 라우팅 라이브러리는 결국 pjax의 구현체이기 때문에 이러한 흐름을 아는 것이 중요하다고 생각한다. 또한 여러 페이지가 필요할 정도로 프로젝트가 커지면서 파일도 디렉토리별로 나눌 필요가 생겼다. 디렉토리 구조는 항상 많은 생각이 필요한 부분인데 이에 대해서도 학습해 봐야겠다. 코딩 테스트 코딩 테스트를 공부하다가 문제가 어려우..
TIL - 20220711
2022. 7. 12. 00:03
TIL
코딩 테스트 이것이 취업을 위한 코딩 테스트다 with 파이썬을 읽으면서 코딩 테스트를 공부했다. 두 번째 파트인 구현에 대해 공부하고, 그 문제들을 풀어봤는데 문제를 푸는 데 생각보다 시간이 오래 걸리는 것 같다. 최근에 사용하지 않았던 파이썬이 익숙하지 않아서 그런 것 같기도 하고, 문제를 이해하는 데 시간이 오래 걸려서일 수도 있다. 꾸준히 최대한 많은 문제를 풀어봐야겠다. 내가 푼 문제의 소스를 위한 저장소도 만들었다. 같은 문제를 여러 번 풀면서 이전의 소스와 비교하면 좋은 공부가 될 것 같다. https://github.com/2scent/python-for-coding-test GitHub - 2scent/python-for-coding-test Contribute to 2scent/pyth..
[코드숨] 리액트 5주 차 회고
2022. 7. 11. 14:33
교육/코드숨
코드숨의 소프트웨어 개발의 지혜 9기 과정도 (포트폴리오 과정을 제외하고) 벌써 반이 지났다. 지난주까지는 로컬에서 동기적인 작업만 다뤘지만, 이번 주부터는 외부 API를 통해 데이터를 받아오는 비동기 작업에 대한 테스트까지 작성해야 해서 꽤 힘들었던 한 주였다. 테스트 이번 주 과제는 지역과 카테고리를 선택하면 그에 따른 레스토랑 목록을 보여주는 기능을 구현하는 것이다. 이때 지역 목록, 카테고리 목록, 레스토랑 목록은 외부 API에 요청해서 받아와야 한다. 이는 비동기 작업이 필요하기 때문에 redux-thunk라는 라이브러리를 사용했다. 지난 주까지는 reducer -> 작은 컴포넌트(e.g., Region, Category) -> 큰 컴포넌트(e.g., App)와 같이 상향식으로 개발했었는데, 이..
TIL - 20220708
2022. 7. 9. 00:35
TIL
코드숨 레스토랑 조회 구현하기 과제를 진행했다. 카테고리 목록을 가져와서 보여주는 기능을 개발했는데, App 컴포넌트부터 시작해서 Red - Green - Refactor에 맞게 진행해봤다. 하다 보니 조금씩 익숙해지는 것 같은데 꾸준히 다양한 방법을 시도해봐야겠다. 그리고 현재 선택한 지역과 카테고리가 바뀌면 레스토랑 목록을 새로 가져와서 보여주는 기능을 테스트해야 하는데, 지역과 카테고리가 바뀐다는 것을 테스트로 어떻게 작성해야 할지 잘 모르겠다. 내일 많은 고민이 필요해 보인다. 코딩 테스트 코딩 테스트 공부를 다시 시작했다. 오늘은 간단하게 파이썬 문법을 복습하고, 기본적인 그리디 알고리즘에 대해 공부했다. 거의 2개월 만에 다시 하려니 역시 쉽지 않은데, 이제부터라도 꾸준히 해야겠다.
TIL - 20220706
2022. 7. 7. 01:12
TIL
script, link 오늘은 HTML에서 스크립트나 리소스를 불러올 때 사용하는 태그의 속성들에 대해 공부했다. 를 비동기적으로 로딩하기 위한 속성으로 async, defer가 있다. 에서 리소스를 빨리 가져오기 위한 속성으로 preload, prefetch, preconnect가 있다. 이 속성들의 기능은 제각각이지만 공통적인 목표는 성능의 향상, 즉 사용자가 원하는 데이터를 얼마나 빨리 보여주느냐가 관건이다. 그동안은 "그냥 에서는 defer 쓰면 되지"와 같이 단편적으로만 생각했는데, 각 속성은 저마다의 활용 방법이 있고, 별생각 없이 남용하면 오히려 성능 저하를 일으킬 수 있다는 것을 깨달았다. 앞으로도 시간이 날 때마다 무심코 썼던 기능들을 한 번씩 돌아보면 좋을 것 같다. 코드숨 TDD 지난..
TIL - 20220705
2022. 7. 6. 00:36
TIL
코드숨 redux-thunk를 이용해서 네트워크 요청을 통해 비동기로 지역, 분류 및 그에 따른 레스토랑을 가져오는 과제를 진행했다. 원래 App 컴포넌트부터 작성하는 하향식으로 개발을 진행해보려 했으나, 커밋을 나누는 게 어려워서 reducer 코드부터 작성했는데 이 부분에 대해 App 컴포넌트부터 시작해보라는 피드백을 받았다. 지금은 공부하는 입장이고, 다양한 시도를 해볼 좋은 기회인데 너무 방어적으로 생각했던 것 같다. 다음부터는 좀 더 도전적인 시도를 해봐야겠다.