한 주 돌아보기
이번주에 해낸 것 | 이번주에 하지 못한 것 |
😎 리액트 Lv.4 과제 제출하기 | 🤔 리액트 개념 정리해서 블로그에 업로드하기 |
✅ 리액트 Lv.4 과제 제출하기
이번 주는 유독 정신없이 한 주가 흘러가서 다시 되짚어 본다. 월요일엔 지난주에 계획했던 대로 Lv.3 과제를 서로 바꿔 다시 구현해 보면서 리팩토링을 진행했고, 화요일은 각자 복습(나는 hooks와 js 복습 진행), 수요일부터 목요일까지 심화주차 강의를 2/3 들은 뒤 금요일 ~ 토요일 오전은 페어분과 빠르게 프로젝트 기획을 하고 HTML, CSS구현, 토요일 낮 ~ 일요일은 기능 구현을 진행해 일요일 18시에 과제를 제출했다.
심화주차 강의는 리덕스 툴킷, axios, thunk, react query 등으로 이루어져 있었는데 휘몰아치는 심화 개념에 정신이 없었다. 리덕스를 이제 좀 이해하려 했더니 리덕스 툴킷이 나오고, thunk가 나오고, 또 쿼리가 나오고.. 과제 기능 구현을 할 때도 제대로 소화하지 못한 채 기능 구현만 먼저 한 느낌이라 Lv.5도 다음 주 중으로 빨리 제출하고 페어분과 매일 일정 시간을 정해 리팩토링을 진행하면서 이번 주차 개념들을 소화해 보는 걸로 계획을 잡았다.
[이번 주에 공부하고 기록한 내용들]
- [React] 양방향 바인딩과 단방향 바인딩 간단하게 알아보기
- [React] SPA와 MPA 간단하게 알아보기
- [React] Flux 패턴 알아보기
- [Spring] 코드로 알아보는 Spring MVC 패턴
- [JavaScript] 모던 자바스크립트의 특징
- [항해99 / TIL] 🚢 23-04-29 Styled Components로 화면 요소 만들기
❌ 리액트 개념 정리해서 블로그에 업로드하기
이번 주에 공부하며 찾아본 내용들을 모아두기만 하고 따로 정리를 해두지 않아서 아쉽다. 확실히 블로그에 업로드를 해야 최종적으로 지식이 정제되어 머리에 정리되는 느낌인데 시간이 없어서 따로 업로드를 하지 못했다. 블로그에 글 올리는걸 너무 거창하게 생각하지 말고 그냥 깔끔하게 정리한다는 생각으로 부담 없이 정리하도록 노력해야겠다.
이번 주 이것저것
시니어 코치님과의 질의
❓ 주특기 주차가 끝나면 백엔드와 협업하는 프로젝트를 진행하게 될텐데 협업을 원활하게 하기 위해서, 또한 넓은 범위를 커버할 수 있는 프론트엔드 개발자가 되기 위해서 좀 더 공부하면 좋을 내용은 어떤게 있을지 궁금하다.
💡 RESTful한 협업 방법에 대해 공부하는 것을 추천한다. 백엔드와 협업할 때는 REST에 대한 약속을 하고 데이터를 주고받고, 데이터를 주고 받을 때는 항상 json 형식으로 받게 된다. 따라서 미리 공부해보고 싶다면 mock server로 아주 간단한 컴포넌트를 만들어서 데이터를 map, filter 등으로 가공해보고 잘되면 페이징처리를 연습해보는 것도 좋을 것 같다. 이는 리액트 쿼리를 배우고 캐싱하는 방법까지 배우게 되면 커버 가능할 것이다.
기술 매니저님과의 대화
💡 현업에서는 리덕스는 거의 쓰지 않고 리덕스 툴킷을 많이 쓴다. 리덕스는 액션 타입, 함수를 하나하나 지정해 주는 등 보일러플레이트가 많은데 불필요한 부분들을 정리해 준 게 리덕스 툴킷이다.
💡 리덕스 툴킷은 리덕스보다 코드가 간결해지고 불변성을 기본적으로 가지고 있어서 스프레드 연산자 없이 사용할 수 있다.
💡 Recoil이나 Zustand가 리덕스 툴킷보다 더 간편하긴 하다.
💡 하지만 그것들을 사용하기 위해서는 리덕스 안에서 데이터 흐름이 어떻게 왔다 갔다 하는지를 알아야 응용할 수 있고 더 효율적으로 사용할 수 있다.
💡 리액트를 잘하기 위해서는 많이 만들어보는 것도 중요한데 어떻게 렌더링 되는지 이해하는 게 중요하다.
💡 세분화해서 쪼개는 게 어떻게든 렌더링이 안 일어나게끔 하는 것이고 전역 상태가 바뀌면 리렌더링이 되니까 상태를 빠르게 캐치해서 '어떻게 최적화를 시킬지'를 아는 게 정말 중요하다.
💡 최적화 성능을 파악할 때는 lighthouse도 좋은데 react profiler도 많이 쓴다.
💡 어떤 때는 props를 내리는 게 나을 수도 있고 어떤 때는 전역관리를 하는 게 나을 수도 있기 때문에 '왜?'에 대해 항상 고민해야 한다.
💡 모든 요청은 다 비동기다.
💡 외부 라이브러리를 쓴다거나 채널톡 같은 API를 사용할 때는 리턴 타입을 일일이 알 수 없으므로 옵셔널 체이닝을 쓰긴 하는데 컨트롤 할 수 있는 데이터에 대해서는 개발자가 직접 예외처리를 해주는게 낫다.
💡 매니저님께 이전에 잠깐 스프링을 배웠을 때는 사실 개발자보다 코더에 가까웠어서 부끄러운데 없는 경력으로 생각해야 할지, 그 기간도 인정하는 게 좋을지에 대해 여쭤보았고, 어쨌든 서버를 어느 정도 안다는 건 백엔드와의 협업에서 강점이라고 해주셨다. (보람 매니저님 감사합니다🥹)
'Diary > WhatILearned' 카테고리의 다른 글
[What I Learned] 2주간 배운 것들 간단하게 정리하기 (0) | 2023.11.07 |
---|---|
[What I Learned] 2주간 배운 것들 간단하게 정리하기 (1) | 2023.10.24 |
[항해99 / 3주차] 🚢 23-04-17 ~ 23-04-23 WIL (0) | 2023.04.23 |
[항해99 / 2주차] 🚢 23-04-10 ~ 23-04-16 WIL (0) | 2023.04.16 |
[항해99 / 1주차] 🚢 23-04-03 ~ 23-04-09 WIL (0) | 2023.04.09 |