24.02.07 오늘은 뉴스피드 프로젝트가 시작됐다. 나는 게시물작성, 조회, 수정, 삭제 API를 구현하기로 했다. 하지만 오늘은 어제부터 몸이 안 좋더니 결국 몸살이 도져서 뭔가 제대로 할 수가 없었다... 너무 불안하다 이번에도 강의 영상이나 해설 영상을 참고하면 분명히 할 수 있을 텐데... 이번에도 못하면 어떡하지... TIL 2024.02.07
24.02.06 인증(Authentication) => 사용자가 누구인지 확인하는 과정 (인간의 귀차니즘에서 생겨난..) 시스템이 사용자의 신원을 확인할 수 있어야 하기 때문에 필요함. - 신원이 증명이 되면 그에 맞는 알맞은 서비스를 제공한다. 쿠키(Cookie) => 세션 ID나 JWT와 같은 인증 토큰을 전달하는 매개체 세션(stateful): 서버에서 **직접 사용자 정보를 관리하는 메커니즘 (JWT보다 오래된 기술) sateful: 서버에서 클라이언트의 상태를 유지해야한다.(상태를 유지하지 못하는 서버에서는 원하는 결과를 얻을 수 없음) JWT(stateless) 서버가 세션 map과 같이 클라이언트의 상태를 보존하지 않아도 괜찮음 엑세스 토큰과 리프세시 토큰은 생성 시 유효시간을 입력하여 발급하는 구조임 엑세.. TIL 2024.02.06
24.02.02 스터디 공부: 라우터와 미들웨어 차이 app.use(express.json()) 사용의 목적 : app.use() => Express.js 어플리케이션에 미들웨어를 추가하는 메서드 * app. use() express.json()은 json데이터를 파싱하기 위한 내장 미들웨어인데, json형식의 요청 데이터를 파싱하여 JS 객체로 변환시켜줌. => 클라이언트의 JSON 형식의 요청을 서버에서 사용할 수 있게 해준다. 라우터 - 클라이언트 요청 경로(URI)에 따라서 적절한 함수를 호출하는 기능을 담당한다. 1.라우터는 클라이언트 요청 경로와 HTTP 메서드(CRUD)에 따라 적절한 핸들러 함수를 요청하여 처리한다. 2. 라우터는 웹어플리케이션의 라우팅을 관리하는 역할 수행. 라우팅: 클라이언트의 요청이 .. TIL 2024.02.05
24.02.01 ORM 과 Prisma Prisma란? ORM(Object Relational Mapping)으로써 JS 객체(object)와 데이터베이스의 관계(Relation)을 연결(mapping)해주는 도구 Prisma vs mongoose mongoose의 경우 ODM(Object Document Mapping)으로 JS의 객체를 Document와 연결하지만, Prisma는 ORM(Object Realtional Mapping)으로 JS와의 객체와 데이터베이스의 관계(Relation)를 연결해주는 차이점이있음 mongoose의 경우 Schema의 형태로 컬렉션(Collection)에 대한 속성을 설정하였다면, Prisma의 경우 Model의 형태로 테이블(Table)의 속성을 설정할 수 있다. => mongoo.. TIL 2024.02.02
24.01.31 해결 방법 1. git hub에 파일을 push함 2. git clone으로 파일을 불러옴 3. 정확한 위치에서 npm i로 모듈들을 다운 받음 4. env파일을 만들고, DB정보를 입력한다(AWS RDS 엔드포인트) 5. npx prisma db push로 DB에 연결한다. 6. 서버 오픈(node app) 7. 썬더 클라이언트에서 재확인해보기 Access Token: 사용자의 인증(로그인)이 완료된 후 해당 사용자를 인증하는 용도로 발급하는 토큰(회원권) - Stateless(무상태)의 특징을 가지고 있음 => 서버가 재시작되더라도 동일하게 작동한다. (해당하는 인증정보다 만료되어도 서버 상태와 관계 없이 권한을 확인할 수 있다.) 문제점: 사용자 인증이 필요한 모든 것을 가지고 있음 => 해커에 의.. TIL 2024.01.31
24.01.30 게시판 프로젝트 프로젝트를 시작하기 전 터미널을 통해서 초기화를 시켜준다. yarn init -y yarn add express prisma @prisma/client cookie-parser jsonwebtoken yarn -D nodemon npx prisma init package.json 파일에 "type": "module", 을 적어서 ES 모듈을 사용한다고 알린다. 생성된 prisma/schema.prisma 파일에서 provider 부분에 내가 사용할 데이터베이스(?)를 적어준다 나는 mysql을 사용하므로 mysql로 바꿔준다. prisma/schema.prisma 파일에서 모델을 만들어준다. // This is your Prisma schema file, // learn more abou.. TIL 2024.01.30
맥주 나는 맥주를 좋아한다 맥주는 종류도 다양하고 그만큼 맛도 다양하다 맛을 느끼는 것은 같기도 하고 다르기도 하다 나는 사람을 좋아한다 사람은 성격도 다양하고 그만큼 사람도 다양하다 성격을 느끼는 것은 같기도 하고 다르기도 하다 시원한 맛, 달콤한 맛, 쌉싸름한 맛, 애매한 맛 시원한 성격, 달콤한 성격, 쌉싸름한 성격, 애매한 성격 나는 어떤 맥주일까? 당신은 어떤 맥주일까? 모두가 좋아하는 맥주가 되고 싶다 모두가 좋아하는 사람이 되고 싶다 쓰레기통 2024.01.27
24.01.26 NULL 제약 조건 NULL 값을 허용하는 것은, 필수적으로 입력되어야 하는 데이터가 누락될 수 있는 위험이 발생할 수 있다. NULL 값을 허용하지 않는 방법 NOT NULL을 붙여준다. EX) name varchar(255) not null => 255는 컬럼에 올 수 있는 갯수 고유(Unique) 제약 조건 - 중복된 값이 허용되지 않도록 설정하는 조건임. name varchar(255) not null unique => name 이라는 컬럼은 문자 타입이고, 값이 있어야하며, 무조건 특정하게 고유해야한다. 고유 제약 조건 확인하기 INSERT INTO Users (name) VALUES ('김춘자); INSERT INTO Users (name) VALUES ('김춘자); Error: ER_DUP_.. TIL 2024.01.26
담배 사러 가는 길 하늘은 푸르고 구름 한 점 없는 하늘 자유롭구나 자유를 품고 저 높이 날으는 새들처럼 나도 근심 걱정 털어내고 자유로이 날아가고 싶구나 쓰레기통 2024.01.25