Cap@ 교육 2일차와 면접스터디
📚오늘의 공부📚
✅ CAP@ 프로그램 2일차
역할로 알아보는 진로
자연역할
- 분위기 조성자
- 실행자
- 전문가
잠재역할
- 추진자
- 냉철판단자
- 창조자
원하는 직업명
- 백엔드 엔지니어
내가 잘할 수 있는 이유
팀단위로 일하는데 있어서 가장 중요한것은 ‘소통’과 ‘규칙’이라고 생각합니다. 저는 그동안 4가지의 팀 프로젝트를 하는데 있어서 이를 최대한 적용하기 위해 적극적으로 ‘협업 툴’과 ‘규칙적인 회의’를 가졌습니다.
나의 준비
사실 ‘추진자’와 ‘창조자’는 저의 비선호역할 입니다. 하지만 저는 그런 유형의 사람들을 동경해왔습니다. 저는 이를 하는데 있어서 내가 리더를 해야할 상황이 됐을때 빼지말고 기회라 생각하고 적극적으로 임하려고합니다.
남들이 보는 나
사실 내가 생각하는 나와 남들이 생각하는 나랑 다를줄알았는데 거의 비슷해서 놀랐다.
남들도 그렇게 봐주니 좋기도 했지만 내가 너무 이런틀에만 갖혀있는 사람은 아닌지 조금 반성햇다.
경력 목표 설정
“나는 세상에 가치있는 것들을 만들고 싶은 사람이다.”
경력 목표 설계
단기목표(~3년 이내)
- 스타트업에서 함께 일하고 싶은 좋은 개발자로 거듭나기
- 해외에서도 무리없이 일할 수 있도록 영어실력 키워두기
중기목표(~10년 이내)
- 스타트업에, 대기업(요기요), 프리랜서 중 직업선택할 수있도록 실력키우기
- 개발 실력 뿐만아니라 믿고 일할 수 있는 사람이 되기
장기목표
- 자기 관리 및 개발을 도와줄 수 있는 회사 창업하기
- 세계 각국의 매니아층 확보하기
✅ 면접스터디
암호화
비밀번호는 항상 데이터베이스에 암호화해서 넣어놔야한다
단방향 hash 함수
암호화는 해시함수를 통해 진행하는데
해시함수의 특징으로는
- 동일한 input에는 동일한 output 이 나온다
- 조금만 다른 숫자의 input이여도 output은 완전히 다른 값가 나온다
- input을 넣으면 output이 나오지만 output으로 input을 구할 수 없다
- 다이제스트: 해시함수에 넣어 암호화된 Output
레인보우 어택
이런 단순 해시함수로 암호화된 값들은 레인보우 어택에 취약하다.
레인보우 어택이란 해시함수가 동일한 input에 동일한 output을 가진다는 특징을 이용해서, 레인보우 테이블이라는 데이터베이스에 모든 input값과 output값들 저장해놓은 다음
암호화된 output(다이제스트)를 가져와서 레인보우 테이블과 비교해 해킹하는 방법이다.
요새 기술로는 1초에 50억개씩 비교할 수 있다고 한다.
salt
이를 해결하기 위해 salting이라는 것을 해준다.
솔팅은 해싱을 하면서 중간에 랜덤한 문자열을 넣어주어 동일한 input에 동일한 output이 나오지 않도록 한다
key stretching
또한 key stretching이라는 것도 해주는데 이는 해시함수에서 나온 다이제스트를 다시 해시함수에 넣는걸 반복하는 것이다.
이렇게 하면 input값을 구하려면 몇번 해싱했는지 알아야할 뿐만아니라 안다고 하더라도 최종 다이제스트 값을 얻기 위한 시간을 많이 소모해준다.
refresh token을 사용하는 이유
jwt 토큰과 단점
JWT는 payload가 json형식으로 들어가 있는 암호화 된 토큰
JWT 단점은 클라이언트에 보관된다는 것이다.
이를 극복하기 위해 토큰의 만료시간을 짧게 가져가고, Refresh Token이나 Sliding Session 전략으로 만료시간을 늘리는 방식을 이용한다
AccessToken 과 함께 RefreshToken도 사용하면
사용자가 로그인을 할 때 AccessToken과 RefreshToken을 함께 발급한다. 이 때 ResfreshToken은 AccessToken보다 긴 유효시간을 부여한다. 클라이언트는 AccessToken으로 요청을 하다 만료되었다는 오류를 받으면 클라이언트 DB에서 저장해 두었던 RefreshToken으로 다시 한번 요청하고 AccessToken을 재발급 받는다.
장점
- 짧은 만료 기간을 사용 할 수 있기 때문에 AccessToken이 탈취되더라도 다소 안전
- 사용자가 로그인을 자주할 필요 없다.
- RefreshToken에 대한 만료를 강제로 설정 할 수 있다.
단점
- 클라이언트 AccessToeken의 만료에 대해 연장 요청을 구현해야한다.
- 인증 만료 기간의 자동 연장이 불가능
- 서버에 별도의 저장공간을 만들어야 한다
🎯하루 회고🎯
깃허브 파일에 직접 글을 쓰니 너무 힘들다.
마크다운 툴을 좋은걸 알아봐서 거기다가 써야겠다.
그리고 오늘 드디어 이력서 사진을 찍었다. 이제 사진도 찍었으니 더는 미룰 수가 없을거 같다.
이력서에 사진을 첨부해서 이력서를 완성시키고 슬슬 지원 시작해보자. 오늘도 고생했다.
댓글남기기