반응형

ARCHIVE/DB 11

Authentication / Authorization ( 인증/인가 )

유저 비밀번호 암호화 🤷🏻‍♀️ 비밀번호는 어떻게 관리해야 할까? : DB에 저장 시 개인정보를 해싱하여 복원할 수 없도록 암호화해서 저장 해야 한다. ( DB가 해킹을 당해도 pw 그대로 노출되지 않으며, 내부 인력도 알 수 없도록 하기 위해서) 🤷🏻‍♀️ 암호화는 어떻게 할까? ✔️ 해쉬 함수? : input 넣으면 output이 빠르게 나오는 함수이다. (같은 input > 같은 output / 다른 input > 다른 output ) ( MD5, SHA-1 : 보안에 취약) , SHA-256 등이 있다. ✔️ 단방향 해쉬 ? : 원본 메시지를 변환하여 암호화된 메시지인 digest 다이제스트를 생성한다. ( 원본을 알면 암호화된 메시지를 구하기는 쉽지만, 암호화된 메시지로는 원본 구하기 어렵다. ..

ARCHIVE/DB 2021.11.19

[DB] Prisma 기초

prisma : typescript 와 Node.js 환경에서 데이터베이스에 대한 접근을 쉽게 하도록 도와주는 소프트웨어 > 패키지 설치 npm install prisma —save-dev npm install @prisma/client —save > 마이그레이션 수정,추가 commit msg남기듯이 메모 npx prisma migrate dev —name change_table_name_from_products_to_products > prisma 작성시에는 js표기대로 camelcase,단수로 > 작성후 mapping // mapping예시 brithDate DateTime @map(“birth_date”) @@map(“table name”) > db로 안넘기고 migrations만 npx prism..

ARCHIVE/DB 2021.10.10

[DB] Prisma

Prisma Modern Database Access for TypeScript & Node.js > Typescript 와 Node.js 환경에서 데이터베이스에 대한 접근을 쉽게 하도록 도와주는 소프트웨어(오픈소스) > 기존에 Node 환경에서 사용되던 다른 ORM(Object Relational Mapper)들을 대체 //Prisma 패키지 설치 npm install prisma --save-dev npm install @prisma/client --save //nodemon : 코드변경 서버에 바로 적용 //dotenv : 환경변수를 사용할 수 있게 해줌 npm install dotenv nodemon -D > Prisma 시작 //명령어 확인 npm prisma //prisma 초기세팅 npx p..

ARCHIVE/DB 2021.10.10

[DB] ORM

ORM ( Object Relational Mapping ) : 데이터 하나를 하나의 객체로 생각 : table, column, data를 클래스(객체)의 특성과 연관지어 사고하는 패러다임 : db에 쿼리 직접 날리지않고, ORM이 다른언어로 작성된 코드를 쿼리문(mysql)으로 번역하여 db에 명령 column 데이터들이 가지는 속성 jsx class Pet { constructor(name, owner, age){ this.name = name; this.owner = owner; this.age = age; } } //pet이라는 클래스에 name,owner,age라는 attributes가 속해있다고 이해 Migration 코드로 작성한 클래스를 실제 db에 테이블로 옮기는 과정 모델생성> ORM이..

ARCHIVE/DB 2021.09.16

[DB] C.R.U.D

C.R.U.D CRUD = Create + Read + Update + Delete 데이터의 생성, 조회, 수정, 삭제 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete를 묶어서 말하는 것이다. DB SQL문과 대응된다. Create-Insert / Read-Select / Update-Update / Delete-Delete Prisma Client prisma로 연결되어 있는 db의 table들을 쉽게 접근할 수 있게 해주는 client역할. prisma.schema 파일에서 정의한 table,col 이름을 직접 사용할 수 있게 함. 설치 npm install @prisma/client --save prisma generate : prisma...

ARCHIVE/DB 2021.09.16

[DB] MySQL

MYSQL시작 sql접속 mysql -u root -p database 생성 create database dataname; 현재 sql에 저장되어있는 데이터베이스 보기 show databases; db접근 use dataname; table보기 show tables; table 정보 desc tablename; table 생성 CREATE TABLE artists ( id INT NOT NULL AUTO_INCREMENT, # id 칼럼 정수 / NULL X / 값 자동증가 name VARCHAR(100) NOT NULL, # name 칼럼 100크기 문자열 PRIMARY KEY (id) # 이 테이블 Primary Key = id 로 설정 ); # 쿼리문은 ; 로 구분되기 때문에 엔터를 쳐서 쿼리문을 ..

ARCHIVE/DB 2021.09.15

[DB] Database 기초

Database 일정한 체계 속에 저장된 데이터의 집합 ↔ memory (app에서는 데이터가 메모리 상에서 존재, 보존되지않음 (휘발성), but 빠름) > table이라는 단위로 저장 ( 표 형태로 저장된 데이터의 집합 ) 파일로 저장가능하지만 데이터의 접근 및 관리 위해 db에 저장 관계형(RDBMS) / 비관계형(Non-realational / NoSQL) 더보기 > DBMS ( DataBase Management System ) : 데이터베이스 관리 시스템 (사용자가 입력한 SQL을 해석해서 db작업 수행) SQL (Structured Query Language) : DBMS에 명령을 내리기위해 사용하는 언어 더보기 정리하면 현재 SQL은 공인된 국제 표준이 있습니다. 하지만 우리가 실제로 사용..

ARCHIVE/DB 2021.09.14

[Node.js] express

Express Node.js 환경의 서버 프로그램을 만들 때 사용하는 프레임워크 더보기 web server : 화면을 이루는데 필요한 코드, 이미지 등을 res에 담아서줌 API server : 요청한 작업을 처리하고 처리한 결과를 response의 body에 json형식으로 담음 (API application programming interface : a piece of software that can be used by another piece of software) routing : 클라이언트의 요청에 대해 서버가 url보고 분기하여 처리 npm init : 현재 디렉토리를 패키지로 만듬 port number : 서버 안에서 실행되는 여러 프로그램들 중 특정 프로그램을 식별 할 수 있게 해주는 번호..

ARCHIVE/DB 2021.09.13

[Node.js] Protocol / Port / URL

[ 네트워크 기초 ] Protocol (프로토콜) : 클라이언트와 서버가 서로 통신하기 위해 사용하는 규약 ( 클-서 요청 응답 주고받을때 항상 필요) : (약속, 규약) http라는 코어모듈은 클아이너트와 서버간의 통신규약 / 프로토콜 https는 http보다 좀더 안전(secure) / http, https, ssh, pop3 등 Port번호 : 클라이언트가 서버에 요청을 보내려고 할 때, 서버에서 실행되고 있는 여러 프로그램 중 어느 프로그램과 통신할 것인지를 나타내기 위해 지정하는 번호 ( 기본 포트 번호 http 80 / https 443 ) 특수 IP 127.0.0.1 = localhost : 외부의 다른 컴퓨터 아니라 컴퓨터 자기 자신을 나타내는 주소 개발자들이 자신이 만든서버 프로그램 테스..

ARCHIVE/DB 2021.09.13

[Node.js] 비동기

비동기 실행 : 특정 작업이 완료되었을 때 실행할 콜백을 등록해두고 바로 다음 코드로 실행을 넘기는 것 ( 이전 작업의 마무리 여부에 상관없이 그 다음 일을 처리하는 작업 방식 ) > 비동기 실행의 장점 : '동기 실행'에 비해 '비동기 실행'이 훨씬 더 빠름 > 프로그램의 실행 흐름 Process 프로세스 : 하나의 실행 흐름 Thread 스레드 : 그 안에있는 더 작은 단위의 실행흐름 더보기 ex) chrome 실행 ( 더블클릭 > 실행) hard-disk나 SSD에 저장되있던 프로그램 > memory에 올려서 > CPU(central Processing Unit)실행 하나의 크롬 '프로세스'생성 > 그 안에 하나의 '스레드'가 실행 중 상태 영화다운 (스레드-1) / 음악재생 (스레드-2) / 구글..

ARCHIVE/DB 2021.09.13
반응형