2019년 5월
📅 2019년 5월 15일
토큰은 사용자를 인증하는 방법중의 하나 인데, 요청이 왔을 때, 서버에서 발행된 토큰이 맞는지만 확인하여 쓰기 때문에 stateless하게 인증을 할 수 있다는 장점이 있다. 인증 헤더 내에서 사용되는 토큰 포맷인 JWT(Json Web Token)을 많이 쓴다. 토큰은 강제로 폐기할 수 없기 때문에 토큰 생성 시, 유효기간을 설정하여 주기적으로 재발급 받아 보안을 강화할 수 있다.
보통 사용자가 로그아웃을 하면 client 단에서는 local storage에 저장해 놓았던 토큰 정보를 삭제하게 되는데, server 단에서는 유효기간이 만료되지 않았다면 토큰을 강제로 폐기시킬 수 없기 때문에 다른 방법을 써야한다.
이 때 쓸 수 있는 방법이 DB에 tokenblackist를 저장하여, 요청이 들어올 때마다 blacklist에 등록된 토큰인지 확인하는 것이다.
📅 2019년 5월 16일
리액트에서 modal(모달)은 어떻게?
-
리액트 컴포넌트들은 깊게 nesting 되어있기 때문에 modal을 띄우는 것이 어려움
- React Portals라는 것을 쓰는데, 이것은
root <div>
의 sibling 격인모달 <div>
를 만드는 것 createPortal()
은 모든 컴포넌트들이<div id=”root”>
의 자손이어야 한다는 룰을 깨는 것
# index.html
<body>
<div id="root"></div>
<!--modal root 추가 --->
<div id="modal_root"></div>
</body>
해당 컴포넌트에 아래 내용을 추가한다.
ReactDOM.createPortal(child, document.querySelector("#modal_root"))
git 협업
- source tree install
- 기능별로 branch를 따는이유? production할 만큼 확신이 되는 코드로 구분하기 위함
- branch를 따지 않고 master에서 commit을 하게되면 문제가 생기는 commit이 중간중간 생길 수 있다.
- master = live = production (실제로 사용자가 사용하는 버전)
- dev = 실험장
-
- 개인정보
- node_modules
- git rm —cached [file명] : 깃에서만 지움
-
sensitive 정보를 git에 올렸을 때 히스토리까지 지우는 방법
- 우선 git rm —cached로 해당 파일을 지운채로 마지막 커밋을 함
- 아래 명령어 실행
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch path_to_file" HEAD
git push origin master --force
[Javascript ES6] Spread Operator
리액트와 리덕스에서 중요한 개념 중 하나인 불변성(Immutable)을 지키면서 state를 변경할 때 유용하게 사용할 수 있는 것이, 바로 Spread Operator 이다.
기존의 numbers 배열은 변경되지 않고, 새로운 array가 생성된다.
참고자료
👩🏻💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻♀️
in the process of becoming the best version of myself