-
Notifications
You must be signed in to change notification settings - Fork 3
2020 12 03
hansanguk0222 edited this page Dec 3, 2020
·
1 revision
- 쓰레드 CURD API (수정과 삭제는 아직 로직이 더 필요)
- 채팅으로 쓰레드 생성 완료
- 라우팅 에러 핸들링 (쓰레드 없을 때)
- 생성할 때 이모지를 그냥 박으니까 안된다. (디비의 칼럼을 수정해서 해결)
- 메뉴 모달 Z-index
- 모달 변경(헤더와 바디만 받게 구현)
- 유저 프로필 수정하는거 완료
- 이미지 추가, 삭제, 교체를 서버와 연동, 에러처리, API, 사가로직까지 모두 구현
- API에서 USERS 밑에 예외 처리하는 공통 라우터 구현
- 없다.
- 채널 라우팅해서 화면에 띄워주기(접근 불가능한 곳은 뒤로가기)
- 채널 리듀서 리팩토링
-
소켓+api 활용 방법?
- 소켓은 소켓대로 바로 프론트에 뿌려주고, 서버에서는 소켓 이벤트를 받아서 db에 데이터 저장
- db에 저장하는건, 프론트에 먼저 정보 보내고 db에 저장해도 됨.
- 소켓에도 인증 과정을 담아서. 토큰이랑 같이 넘겨줘서 씀, 토큰이 만료되었으면 소켓도 끊어주고.
- 리프레시 토큰도 똑같이. (프론트에서)
- 큰 규모에서는 기능별로 서버를 나누게 된다. (인증, api 따로 분리)
- 특정 api에 요청이 몰리는 경우도 발생된다.
- 몰리는 서버만 늘리면 되니까. 관리가 용이할듯
-
이모지를 싹다 테이블에 노가다로 넣어야하는지
- 어떻게 관리하는지 모르겠습니다..
- 몇개만 넣죠 ㅎ
- 엑셀 csv 파일 만들어서 일괄로 넣는 방식(bulk insert)
- 슬랙은 유니코드 이모지가 아니고, url.
- 아이콘 공유하는 사이트에서 일단은 긁어서 구현. (어차피 참고용이니까 갖다 쓰면 좋을것 같습니다)
- 유니코드 -> url 변환되어 보여지는 형태로 구현.
app 라우터 개선.
router params number만 받도록 !== undef 이면 null, '' 등 다른 상황의 처리는?
랜더링 하는 로직 안에 권한 체크나 이런게 다 있어서, 권한 체크만 하는 컴포넌트를 따로 만들어서, 거기서 권한 체크를 하고 화면 렌더링 하도록
access 토큰으로 분기하는 로직을 App.tsx에서 하도록 개선
최대한 관심사를 줄일 수 있도록 고려를 할 필요가 있다.
history.goback --> 바꾸기.. 타 사이트에서 진입할 때 invalid하면 그 전 사이트로 간다
다국어처리 - https://github.com/formatjs/formatjs - 실무에서도 많이 쓰임
클라이언트의 key를 .env에 두면 안된다.
- 암호화도 서버에 api 요청을 날려서 key를 받아야한다.
- 서버에서 AES를 RSA로 암호화 해서 클라이언트로 보낸다.
- 시간 없으면 그냥 빼버리기
모달 추상화 코드 참고하고 반영해보기
채널 리스트 페이징
채널 리스트를 사가에서 미리 처리 후 저장해놓으면 편함 + 필터링 작업 감소(현재는 채널 바꿀때마다 필터링)
channelList 파일에서 useparams로 가져오고, return을 또 분리해줄수 있을것 같아요. - 상욱
channelSaga image를 상수로 주지 않는게 낫겠다. - 상욱
쓰레드 lazy 로딩
이미지 로딩시 로딩 아이콘 -> 이거 뭐 어디 넣을데 있을까요?
binding time zone
timezone 이슈 (현재는 UTC 기준으로 보임) 어떤걸로 리턴되는지 파악하고 있어야한다. < 요거 위키에 남겨놓죠.
- user추가
- 모달 리펙토링
- 멘토님과 순원님의 코드리뷰 반영(channel과 dm을 따로 받자, 채널 아이디를 url에서 받자)
- 소켓 saga 구현
- 소켓 토큰 전달 및 재발급 로직에 대한 고민
- thread replies count 반영
- thread edit, delete 구현 (모델) / api 는 만들어져 있어요. 프론트만 잡을게요.
- thread 생성 새로고침없이 되는것.
- threadItem도 return 두개로 나누기