본문 바로가기

분류 전체보기127

[TIL] JWT(Json Web Token) 🧐 JWT JWT(Json Web Token)은 웹 표준으로써, 서버와 클라이언트 사이에서 정보를 안전하게 전송하가 위해 도움을 주는 웹 토큰이다. JWT는 크게 세부분으로 Header, Payload, Signature로 구성되어 있다. 각 부분은 점(.)으로 분리된다. Header : 헤더는 토큰의 타입과 어떤 암호화를 사용하여 생성된 데이터인지 정의되어 있다. Payload : 페이로드는 실제 전달하려는 데이터를 담고 있다. 개발자가 원하는 데이터를 저장한다. Signature : 서명은 헤더와 페이로드, 그리고 비밀 키(Secret Key)를 이용해서 생성된다. 토큰이 변조되지 않은 정상적인 토큰인지 확인 할 수 있게 도와준다. 🧐 JWT는 쿠키, 세션과 어떻게 다를까? 데이터를 교환하고 관리하는.. 2024. 2. 2.
[TIL] 개인과제 초기 설계 개인과제 시작이다.. 기본적인 peisma 설계와 ERD를 작성하여 데이터가 어떻게 흘러가고있는지 머리속에 넣었다. Prisma 설계 노션 회원 정보를 담는 Users테이블을 기준으로 회원정보의 UserInfo테이블, 이력서인 Resume테이블 총 3개의 테이블을 만들고 Users와 UserInfo는 1 : 1 관계, Users와 Resumes는 1 : N관계를 갖는다. 아직 초안 설계이므로 나중에 추가되고 수정될 수 있다. 2024. 1. 31.
[TIL] 쿠키와(Cookie) 세션(Session) 🍪 쿠키(Cookie) 브라우저가 웹 사이트를 방문할 때마다 이전에 방문했던 정보를 기억하는 데이터 파일이다. 쿠키가 있기 때문에 여러 페이지를 이동할 때마다 로그인을 하지 않고 사용자 정보를 유지 할 수 있다. 데이터를 여러 사이트에 공유할 수 있기 때문에 보안에 취약하다 지워도 되고, 보안이 취약해도 큰 일이 없는 수준의 정보들을 브라우저에 저장한다 🍪 쿠키 만들어보기 // 'Set-Cookie'를 이용하여 쿠키를 할당하는 API app.get("/set-cookie", (req, res) => { let expire = new Date(); expire.setMinutes(expire.getMinutes() + 60); // 만료 시간을 60분으로 설정합니다. res.writeHead(200, { .. 2024. 1. 30.
[TIL] 트랜잭션(Transaction) 🧐 트랜잭션이란? 트랜잭션(Transaction)은 작업의 완전성을 보장해주기 위해 사용되는 개념이다. 여러개의 작업(쿼리)을 묶어 하나의 작업 단위로 그룹화하여 처리하는 방식이다. 트랜잭션은 결제 시스템과 같이 A의 계좌에서 돈이 B계좌로 이체할 때 A의 돈은 빠지고, B의 돈은 오르는 식의 일을 처리할때와 같이 어느 한쪽의 데이터만 업데이트되는 것을 방지하기 위해 트랜잭션이라는 개념을 도입했다. 🧐 트랜잭션의 특징 트랜잭션의 특징(ACID)은 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위해 특징을 나열해 놓은 개념이다. 원자성(Atomicity) 원자성은 트랜잭션 내에서 실행되는 명령들을 하나의 묶음으로 처리하여, 내부에서 실행된 명령들이 전부 성공하거나, 모두 실패해야한다는 특징이다... 2024. 1. 29.