
쿠키(Cookie)란? 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 사용하는 방법입니다. 클라이언트(브라우저)에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 웹 서버가 웹 브라우저에게 보내는 데이터중 하나입니다. 300개까지 쿠키 저장이 가능하고 하나의 도메인 당 20개의 값만 가질 수 있으며 하나의 쿠키 값은 4KB까지 저장가능합니다. 클라이언트 PC의 쿠키 파일에 데이터를 저장하여 웹 페이지들끼리 공유합니다. 사용자가 따로 설정하지 않아도 브라우저가 request header에 쿠키를 자동으로 넣어 서버에 전송합니다. 클라이언트의 PC에 데이터를 저장하므로 보안에 취약하여, 보안과 무관한경우에 사용합니다. 쿠키는 userId=user-1321;userName=sparta 와..

프리즈마 공식문서 Custom model and field names Learn how you can decouple the naming of Prisma models from database tables to improve the ergonomics of the generated Prisma Client API. www.prisma.io prisma 사용 하는 이유 • prisma는 Javascript 객체(Object)와 데이터베이스의 관계(Relation)을 연결(Mapping) 해주는 도구입니다. • Prisma는 ORM(Object Relational Mapping)으로 Javascript의 객체와 데이터베이스의 관계(Relation)를 연결합니다. • Prisma의 경우 Model의 형태로 테..

SQL Injection( SQL 주입 ) 웹 애플리케이션이 백엔드에서 구동 중인 데이터베이스에 질의를 하는 과정에 사용되는 SQL 쿼리를 조작하여 데이터베이스를 대상으로 공격자가 의도한 악의적인 행위를 할 수 있는 Injection 기반의 웹 취약점 입니다. 공격자가 SQL Injection 공격에 성공하게 되면 조직 내부의 민감한 데이터나 개인 정보를 획득 할 수 있으며, 심각한 경우에는 조직의 데이터 전체를 장악하거나 완전히 손상시킬 수 있습니다. SQL Injection의 동작 원리 admin' or '1'='1 // 공격자가 아이디입력칸에 입력 비밀번호는 아무거나 입력 공격자가 적은 ID, PW 전송 // http요청을 통해 서버로 전달된 뒤 최종적으로 만들어지는 쿼리 SELECT * FROM ..

관계형 데이터베이스의 데이터 모델의 구성요소중에는 개체, 속성, 관계 이렇게 나뉩니다. 그중 관계는 두개 이상의 개체 간의 연관성을 결정짓는 의미 있는 연결로 개체간의 관계, 또는 속성간의 관계를 나타냅니다. 관계 ■ 일 대 일 ( 1 : 1 ) ■ 일 대 다 ( 1 : N ) ■ 다 대 다 ( N : M ) 일 대 일 관계 ( 1 : 1 ) • 개체 집합 A의 각 원소가 개체 집합 B의 원소 1개와 대응하는 관계입니다. • 즉, 어느 엔티티 쪽에서 상태 엔티티를 보더라도 반드시 단 하나씩 관계를 가지는것을 말합니다. 개체는 정적인 성질과 관련이 있고, 개체들간의 관계는 오퍼레이션을 해결하기 위해 만들어 집니다. 예를 들어 한명의 학생에게는 하나의 학번밖에 존재하지 않습니다. 일 대 다 관계 ( 1 : ..

데이터 무결성 제약 조건 무결성 - 데이터가 결함없이 정확하고 완전한 상태를 의미합니다. ■ 데이터 무결성 제약 조건은 데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터 베이스 내에 저장되는 것을 방지하기 위한 제약조건을 말합니다. ■ 테이블에 부적절한 데이터가 입력되는 것을 방지하기 위해 테이블을 설계할 때, 각 컬럼에 대해서 정의한 규칙을 말합니다. 무결성의 종류 개체 , 도메인, 참조, 사용자 정의, NULL, 고유, 키, 관계 무결성 등이 있습니다. 개체 무결성 (NULL 입력 x + 중복허용 x => PK = UNIQUE + NOT NULL) 개체 무결성은 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL값이나 중복값을 가질 수 없습니다. * [학생] 릴레이션에..

연동하기 전에는 Kakao Developers에서 가입후 진행해야합니다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 카카오 API인증 받기 기억하기 - REST API키 기억하기 - Redirect URI(처음만들때는 비어져 있을텐데 이 부분은 서버에서 허가 받은다음 이동할 URL입니다.) EX) http://localhost:3000/user/kakao/finish ※주의 : 이 부분이 같지 않다면 페이지에서 에러가 뜹니다. 같은 경로를 사용해야합니다. 기억해야 할것 정리 - REST API키, Redirect URI, Client Sec..

SQL(Structures Query Language) 이란? • 데이터를 공통적으로 관리할수 있는 표준언어입니다. • 관계대수와 관계해석을 기초로한 혼합 데이터 언어입니다. • 질의어지만, 질의 기능만 있는것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 갖추고 있습니다. • 사용 용도에 따라 DDL( Data Define Language ) - 데이터 정의어, DML( Data Munipulation Language ) - 데이터 조작어, DCL( Data Control Language ) - 데이터 제어어, TCL( Transaction Control Language ) - 트랜잭션 제어어 로 구분됩니다. * 관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도..

Js 유효성 검증을 위한 라이브러리 Joi는 여러 타입과 규칙을 이용해 유효성을 검증할 수 있으며, 유효성 검증에 실패하면 오류를 발생시킵니다. Joi는 클라이언트가 요청한 정보들이 서버로 전달될 떄, 알맞은 형식인지 아닌지 검증하는 작업이 필요하게 되는데 그 때 유효성 검증 작업을 효과적으로 더쉽고 간결하게 작성하 처리할 수 있게 됩니다. Nest.js프레임 워크에서는 Pipe라는 이름으로 불리기도 합니다. Joi패키지 설치 # yarn을 이용해 Joi를 설치합니다. yarn add joi Joi를 이용한 문자열 길이 검증하기 // app.js const Joi = require('joi'); // Joi 스키마를 정의합니다. const schema = Joi.object({ // name Key는 문..