일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- react
- 후기
- 7기
- 스파르타코딩클럽
- 채팅방
- routing
- CI/CD
- socket.io
- FileReader
- 라우팅
- 미리보기
- previousState
- 브라우저 렌더링
- 동기
- Preview
- S3
- Redux
- updater
- Github Actions
- rendering
- 접근 제한 라우팅
- 배포
- 항해99
- setstate
- qwe
- route
- 개발
- 비동기
- useEffect
- imagePreview
- Today
- Total
목록2022/08 (8)
삐옹
Oauth 2.0의 작동방식 인증을 위한 개방형 표준 프로토콜입니다. 기존에 쿠키, 로컬스토리지, 세션을 이용해 직접적으로 로그인을 구현하는 것 대신 sns로부터 인증을 대신 받아 서버에 엑세스 토큰을 받아 접근권한을 가진 엑세스 토큰을 발급한 뒤 서버가 이를 활용하여 인증하는 방식입니다. 애플리케이션에서 sns에 인증요청을 하면 인가코드를 부여받아 서버가 이를 이용해 sns로부터 사용자의 정보가 담긴 access token을 발급받습니다. 서버에서는 이를 JWT토큰으로 바꿔 앱에 줍니다. ✅추가 예상 질문 JWT토큰? 인증에 필요한 모든 정보들이 암호화되어 있는 토큰이다. Header, Payload, signature로 나누어져있습니다. 사용자는 요청 할 때마다 JWT토큰을 헤더에 실어보냅니다. 🙇🏻..
TeamNote self QA [로그인] - 비로그인 상태의 유저가 라우터에 설정된 경로로 입력 했을 때 처리 [메인] - 첫 워크스페이스 생성 시 dropdown이 내려와있음 [보드] - 할 일을 생성하고 다른 방에 들어가면 전에 생성했던 할 일이 그대로 남아있다 => recoil-persist에 의해 계속 저장되고 있기때문이다 [메시지] - 초대 한 사람 쪽에서 초대된 사람들 목록이 안뜸 / 왔다갔다하니까 또 떴음 / 초대된 사람들은 멤버들 목록이 잘 뜸 - 팀 채팅 기능 x
새로 기획한 팀노트 프로젝트의 뷰가 다시 어느정도 잡혔다 원래 있던 기획에서 디자인적으로나 기능적으로나 간소화해서 다시 만들고있다. 원래 기획대로하면 취업하는 동안엔 못 끝낼 것 같아서.. 가장 큰 문제는 메인페이지에 들어가는 컨텐츠가 너무 많아서 완성도가 많이 떨어져보였다. 내일부터는 메인페이지, 보드페이지, 채팅페이지, 달력페이지 차근차근 기능을 개발해가면 된다. 이번에는 구현에만 집중말고 내가 지금 치고있는 코드가 왜 필요한가에 대한 고민을 하면서 만들어보자!
8월 12일을 끝으로 3개월 간의 항해 7기 과정 수료! 👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻 개인적인 후기 주의 지금 느끼는건 고생 끝!이 아니라 또 다른 고생길이 또 열려있는 느낌이다. 그간의 노력들이 빛을 낼 수 있도록 해온 모든 것들을 잘 다듬고 보충해야지만 기어코 취업의 기회를 잡을 수 있을 것이다. 힘들게 달려온만큼 7기 동기들 모두 마무리도 잘 해서 건승하길 바라는 마음이다. 도움이 될지 모르지만 언젠가 예비 항해 수강생이 될지도 모르는 분들을 위해, 짤막후기를 남겨보고자 한다. 좋았던 점 매니저님의 꾸준한 관리 매니저님이 긴 시간을 게더(지겹게 쓰게 될 메타버스 기반 서비스)에 상주해 계신다. 문제가 생기면 바로바로 이야기를 나눌 수 있고 언제든 수강생들의 이야기와 고충들을 진심으로 들어주셔서 힘들때..
원하는 방에 입장한 후 board, calendar, talk 페이지로의 이동을 구현해야했다. 사전에 방에 입장 할 떄마다 그 방의 고유 id 값을 이용해 동적 라우팅 처리를 해두었다. 그과정에서 일어난 이슈를 정리해보았다. Trouble Shooting 라우터가 동작하지 않는 현상 발생😵💫 고치기 전 코드 return ( ... // map을 이용해 3개의 Link를 뿌려주고 있다 {{pages.map((page, idx) => { const pageNameToLower = page.toLowerCase(); return ( handleSelectedPage(e, idx)} className={`list-item ${ selectedPage[idx] ? "list-item_clicked" : "" }..
오늘 고맙게도 개발자 지인에게 코드리뷰를 받을 기회가 있었다. 코드리뷰 내용을 페이지 별로 정리해보았다. 공통 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..
출시 꼴등? 출시가 많이 늦어지고 있다. 출시일을 맞추기 위해 밤을 샌 날도 많았지만 결국은 이렇게 됐다. 출시일을 맞추지 못 했다는 아쉬움과 부족한 실력에 눈 앞에 것들을 해결해나가는데만 급급해 중요한 것 들을 놓친 것만 같은 찜찜함이 섞여 무기력해지는 순간이 종종 찾아왔었다. 늦었지만. 하루 더 밤을 새서 월요일 오전에는 출시를 할 생각이다. 비록 가장 늦게내는 조였다 하더라도 너무 좌절하지 않기로 했다. 결과물도 마감기한도 중요하지만 내가 열심히 했다는게 가장 중요하니까. 수료가 코 앞 이제 정말 얼마 남지 않았다! 오늘 서버배포를 하고나면 트러블 슈팅을 꼼꼼히 정리해야겠다. 난 참 옛날부터 뭔갈 기록하고 메모, 분류 해놓는걸 잘 못하는데.. 그런걸 잘 하는 사람들을 보면 정말 부럽다.. 나도 잘 ..