2019년 5월

Written on May 15, 2019

📅 2019년 5월 15일

토큰은 사용자를 인증하는 방법중의 하나 인데, 요청이 왔을 때, 서버에서 발행된 토큰이 맞는지만 확인하여 쓰기 때문에 stateless하게 인증을 할 수 있다는 장점이 있다. 인증 헤더 내에서 사용되는 토큰 포맷인 JWT(Json Web Token)을 많이 쓴다. 토큰은 강제로 폐기할 수 없기 때문에 토큰 생성 시, 유효기간을 설정하여 주기적으로 재발급 받아 보안을 강화할 수 있다.

보통 사용자가 로그아웃을 하면 client 단에서는 local storage에 저장해 놓았던 토큰 정보를 삭제하게 되는데, server 단에서는 유효기간이 만료되지 않았다면 토큰을 강제로 폐기시킬 수 없기 때문에 다른 방법을 써야한다.

이 때 쓸 수 있는 방법이 DB에 tokenblackist를 저장하여, 요청이 들어올 때마다 blacklist에 등록된 토큰인지 확인하는 것이다.

logoutwithjwt

📅 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 = 실험장
  • .gitignore

    • 개인정보
    • 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 이다.

Spread Operator

기존의 numbers 배열은 변경되지 않고, 새로운 array가 생성된다.



참고자료

👩🏻‍💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻‍♀️

in the process of becoming the best version of myself