일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 미리보기
- Redux
- 개발
- 7기
- 항해99
- setstate
- routing
- imagePreview
- 브라우저 렌더링
- updater
- Preview
- 비동기
- Github Actions
- 동기
- rendering
- qwe
- FileReader
- 채팅방
- react
- 스파르타코딩클럽
- previousState
- useEffect
- socket.io
- 라우팅
- S3
- 접근 제한 라우팅
- 배포
- CI/CD
- route
- 후기
- Today
- Total
목록TIL (33)
삐옹
TeamNote self QA [로그인] - 비로그인 상태의 유저가 라우터에 설정된 경로로 입력 했을 때 처리 [메인] - 첫 워크스페이스 생성 시 dropdown이 내려와있음 [보드] - 할 일을 생성하고 다른 방에 들어가면 전에 생성했던 할 일이 그대로 남아있다 => recoil-persist에 의해 계속 저장되고 있기때문이다 [메시지] - 초대 한 사람 쪽에서 초대된 사람들 목록이 안뜸 / 왔다갔다하니까 또 떴음 / 초대된 사람들은 멤버들 목록이 잘 뜸 - 팀 채팅 기능 x
새로 기획한 팀노트 프로젝트의 뷰가 다시 어느정도 잡혔다 원래 있던 기획에서 디자인적으로나 기능적으로나 간소화해서 다시 만들고있다. 원래 기획대로하면 취업하는 동안엔 못 끝낼 것 같아서.. 가장 큰 문제는 메인페이지에 들어가는 컨텐츠가 너무 많아서 완성도가 많이 떨어져보였다. 내일부터는 메인페이지, 보드페이지, 채팅페이지, 달력페이지 차근차근 기능을 개발해가면 된다. 이번에는 구현에만 집중말고 내가 지금 치고있는 코드가 왜 필요한가에 대한 고민을 하면서 만들어보자!
오늘 고맙게도 개발자 지인에게 코드리뷰를 받을 기회가 있었다. 코드리뷰 내용을 페이지 별로 정리해보았다. 공통 1. 에러처리 => 토스트 2. 라우터에 스피너 처리 => 라우터에 스피너 없어도 될듯 차라리 로고 넣는게 낫다. 부분적으로 스피너 넣기 (컨텐츠 들어가는부분) 3. props로 넘겨주는 함수들은 해당 컴포넌트에서만 봐도 알 수 있도록 명시적으로 작성해준다. => state, setState 넘겨주기 x, onclickGoToLogin() 처럼 이벤트로 넘겨주기 o => True/false 값은 is- 로 시작한다. 4. 문자열 입력시 js에선 싱글쿼트(''),jsx에선 더블쿼트("") 로 구분하는 것도 좋은 방법 5. 객체분해 상단에서 쓰는거 조심 => 없을 때 에러 날 수 있음. 옵셔널 체이..
react에서 새로고침 시 지역 혹은 전역 state값들이 초기화되는 문제를 해결하기 위해 redux-persist를 써야하는지 고민이 생겼다. okky와 개발자 아는 형들에게 물어본 결과 redux-persist를 쓰는 걸 추천하지 않았다. 지금 상황에서 가장 간편한 방법은 localstorage에 토큰을 저장시켜놓고 그 토큰으로 매 새로고침 때마다 요청을 해서 상태값으로 저장을 시키는 것이다 난 지금까지 localstorage에 토큰, 사용자의 이메일, 이름을 저장해서 필요할 때마다 쓰고 있었는데 사용자의 정보를 localstorage에 저장하는 것은 좋지 않다고 한다. 공용피씨에서 로그아웃하지 않은 상태가 된다면 다른 사람이 localstorage에 접근해 정보를 볼 수 있기 때문인걸까. 결론 l..
로그인을 어떻게 유지하고 있냐는 멘토님의 기본적인 질문에 답하지 못 했다. 정말 창피하다.. 한참 전에 로컬스토리지에 로그인 유저 정보를 담아 그 정보의 유무로 App.js에서 라우팅을 해줬었는데, 그 후 로그인, 회원가입 부분에서 큰 코드 수정이 있었다. 리덕스에 상태관리를 했던 것 같기도 했는데.. 내가 써놓고 내가 기억도 못 한다니 참 답답했다. 멘토님도 그 부분을 캐치하시고 처음부터 로직이 명확하게 짜여지지 않은게 문제라고 하셨다. 로그인을 하고나서 새로고침을 했을 때 그 상태를 저장하는 로직이 보이지 않는데, 지금 어떻게 로그인 유지를 하고있나요? 머리를 세게 맞은 느낌이었다. 아파.. 그래서 로그인을 하는 플로우와 방법을 명확하게 다시 정리해본다.
그런 생각이 들었다. 피그마도 디자인이 나오고 있고, 뷰도 잘 만들고 있고, 이것저것 열심히 하고 있는데, 왜 난 아직도 우리 프로젝트가 머릿속에 잘 떠오르는 걸까. 2주가 넘었는데 말이다. 생각나는 이유도 변명도 다양하다. 나만 이렇게 느끼는건지 싶기도 하고. 하지만 스스로 내려본 가장 명확한 결론은 '소통의 부재'이다. api 설계, 프레임워크, 플로우 차트 뭐하나 확실하게 머릿속에 그려지는게 없다. 2주차가 되어갈때까지 '그냥 하면되겠지 뭐'라며 코드를 짜던 내 모습이 그려졌다. 설계의 중요성을 느끼며 프로젝트에 들어왔지만 결국 지금의 나를 보면 실천은 하지않았다 할 수 있겠다. 주먹구구식의 개발방식을 하다보니 시야가 많이 좁아져 있는 상태였다. 좁아진 시야를 다시 확장 시켜야한다. 팀원들가 함께 ..
백3프1 괜찮아! 백엔드3명과 협업해가는 방법을 조금씩 알아가고 있다. 포스트맨이나 썬클같은 api 요청을 미리 확인할 수 있는 플랫폼은 기본이고 나와 무언가 작업하기 전에 반드시 나와 무엇을 해야하는지를 분명히 적어달라고 부탁했다.부탁보단 협박에 가까웠던 것 같아 미안하다. 그런 부분에서 예민해진 것도 사실이다. 하지만 혼자 프론트를 맡게된 상황에서 조금이라도 지체되는 시간은 곧 전체적인 개발 속도의 저하로 이어졌기에 나 모르게 나를 이해하고 배려해줬을 우리 팀원들이 고마웠다. 거 노션 참 잘 썼군. 좀 낫다. 하연이 영준이 연욱이 나도 화이스팅!(호이스팅 + 화이팅 이란 뜻). https://www.notion.so/ae87955ec3954a3aaf624d0a6ff1fcad 기능 소통의 창구 달력추가..
같은 팀 프론트 한명이 나가서 혼자가 되었다. 열심히 한다고는 많이 하긴했는데, 이러다가도 막히는 부분이 나오면 백엔드에선 나를 기다리는거 말곤 대안이 없으니 그게 가장 걱정이다. 다행히 매니저님께서 수료생 중 한 명을 구해서 충원해준다하셨다. 새로 들어왔을 때 모든걸 다 설명해주어야 한다는 귀찮음이 차라리 혼자하는게 낫겠지 싶었지만, 내가 아닌 팀을 위한다면 프론트를 충원하는게 맞다. 내일은 뷰에 좀 집중해서 하자. 뷰가 어느정도는 좀 나와야 기능들 정리가 될 듯. 정말 열심히 해야한다. 아니 잘 해야 한다 자는 시간 빼곤 모두 집중하자.
어제부터 6주 간의 실전 프로젝트가 비로소 시작되었다. 디자이너님과의 프로젝트 주제 선정에서 작은 의견차이가 있었는데, 당연한 일이다. 각자가 가진 열망이나 니즈는 다르니까. 처음 만난 디자이너님이었기에 어떻게 대해야할지, 어떤 식으로 진행을 해나가고, 디자이너님의 영역을 건들지 않는 선에서 우리의 뜻을 전해야하는지 많이 어려웠다. (미팅 시간도 충분치 않았음 ) 하지만 다행히도 의견이 맞춰졌고 오늘 기획과 와이어프레이밍 부분에서 꽤나 값진 진전이 있었다. 실시간 채팅 토이프로젝트를 위한 socket.io 와 자바스크립트 기본을 다져가고있다. 이번 프로젝트에 실제로 들어갈 기능이라 실시간 채팅을 공부하는게 재미있다. 배운 것 드림코딩 1. Bubbling, Capturing: 이벤트가 자식-> 부모로 전..
지난 주에 겪었던 많은 시행착오와 고민들 덕분인지 진행이 보다 수월하다. 어 이거 어제도 쓴 내용인가? 오늘은 내게 담당된 뷰를 구현하고, 나보다 좀더 많은 부분을 담당했던 팀원이 담당했던 로그인과 회원가입 부분을 도맡아서 진행 중 이다. 모달창으로 로그인, 회원가입 기능을 만들기로 했다. 구현 중에 조금 애를 먹었지만 부딫히는 문제들에 하나 씩 접근하며 풀어나가 결국 해결했다. 어쩔지 모르겠을땐 화이트보드 앞으로가서 그려보면 도움이 많이 된다. 내일은 널널하게 쉬다가 저녁부터 해야지. 내일 저녁에 WIL쓰고 기술, 오류정리도 해야된다.. 하기싫어...도 해야지 ^^