본문 바로가기

codestates21

[Server] 보안 인증 기초 (HTTPS/Hashing/cookie/CSRF) HTTPS (Hyper Text Transfer Protocol Secure Socket layer)HTTP 프로토콜 내용을 암호화 하여 보안성이 추가한 형태로, HTTP 요청을 하면 클라이언트와 서버 사이에서 그대로 볼 수 있었지만, HTTPS는 암호화를 사용하여 보안성을 높임 인증서(Certificate)데이터 제공자 신원 보장, 도메인 종속도메인이 같아야만 서버에서 정보를 제공CA공인 인증서 발급 기관HTTPS암호화를 A로 했다면 복호화는 B로만 할 수 있다. 참고자료 Wikipedia - 중간자 공격 Hand Shake -> 비밀 키 생성 -> 상호 키 검증 Hashing어떠한 문자열에 '임의의 연산'을 적용하여 다른 문자열로 변환 하는것.유저가 사용하는 비밀번호를 DB에 저장을 할 때 다른 문.. 2021. 8. 2.
[DB] NoSQL MongoDB Basic NoSQL DatabaseNoSQL 데이터베이스에서는 데이터를 행과 열이 아닌, 체계적인 방식으로 저장합니다. NoSQL은 매우 넓은 범위에서 사용하는 용어로, 관계형 테이블의 레거시한 방법을 사용하지 않는 데이터 저장소를 말합니다. MongoDB는 NoSQL 도큐먼트 데이터베이스입니다. MongoDB는 데이터를 도큐먼트의 형태로 저장합니다.도큐먼트는 컬렉션에 저장되며, 이것이 MongoDB가 NoSQL 도큐먼트 데이터베이스로 분류되는 이유입니다. NoSQL 기반의 비관계형 데이터베이스 사용하는 경우 1. 비구조적인 대용량의 데이터를 저장하는 경우NoSQL 데이터베이스는 관계에 중점을 둔 SQL 데이터베이스보다 자유로운 형태로 데이터를 저장할 수 있으므로 필요에 따라서 새로운 데이터 유형을 추가할 수.. 2021. 7. 31.
[ORM] Sequelize 사용과제 (Node.js ORM) 공식문서는 참으로 답답하다 기승전결 없이 기결만 있는 느낌이랄까.. 그냥 몰라서 그런 느낌이 든 것이 확실한것 같고. 조그마한 개념도 없이 읽을려고하니 읽히는게 없는게 당연할지도 모르겠습니다. App -> route -> controller -> model -> DB -> model -> controller (기본적인 흐름) Sequelize 공식 문서에 나온 sequelize라는 프로그램의 정의 Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loadi.. 2021. 7. 29.
[DB] ORM, MVC에 대해서 처음 배웠을 때 느낌은 SQL에 겨우 적응해서인지 SQL이 편한데 그냥 쓰면안되나? 라는생각이 들었지만, 과제실습을 진행하면서 왜 이것을 써야하는가에 대해 생각하고 구글링해서 이유를 찾으니 배우는 개념에 대한 이해도 좀 더 잘되고 존재의 편리함을 이해 했다. 역시 아는만큼 보이는건가 싶다. 솔직히 코드스테이츠에서 나온 자료에서 이것을 왜 쓰는지에 대한 설명이 많이 부족하다고 느낀다. 그냥 일단 할 수도 있지만 내 성격은 그런게 안되나 보다.. 그래서 검색을 하고 이유를 알고 나니 한결 나아졌고 그 내용도 더 추가해서 글을 쓰게 되었다. MVC design pattern MVC MVC(Model-View-Controller)로 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한.. 2021. 7. 29.
[DB] SQL 정리 https://www.w3schools.com/sql/default.asp w3schoos 사이트로 기본적인 내용이 전부 있습니다. DATABASE 명령어 설명 CREATE DATABASE database_name 데이터베이스 database_name를 생성 DROP DATABASE database_name 데이터베이스 database_name를 삭제 USE database_name 데이터베이스 database_name를 선택 TABLE 명령어 설명 CREATE TABLE table_name 해당 테이블 table_name을 생성 SHOW TABLES 선택한 데이터 베이스중 모든 테이블을 목록화 하여 보여줌 DESCRIBE table_name DESC table_name 해당 테이블을 보여줌 DESC 줄.. 2021. 7. 27.
[HTTP/네트워크] 기초 클라이언트-서버 아키텍처 클라이언트(client, 손님)와 서버(server, 서빙하는 사람)라는 단어의 어원을 떠올리면, 보다 이해가 쉽습니다. 리소스에 접근하려는 앱은, 카페로 치면 손님과 같습니다. 손님은 아메리카노를 획득하기 위해, 리소스를 가지고 있는 점원에게 요청해야 합니다. 손님의 요청에 따라, 점원은 리소스를 담아 응답합니다. 이처럼 클라이언트와 서버는 요청과 응답을 주고 받는 관계입니다. 클라이언트-서버 아키텍처에서는 요청이 선행되고, 그 후에 응답이 옵니다. 요청하지도 않았는데, 응답이 오는 경우는 없습니다. 클라이언트처럼 사용자가 직접 눈으로 보고, UI를 클릭 또는 터치하는 등의 상호작용을 할 수 있는 앱을 주로 개발하면 프론트엔드 개발자라고 합니다. 반면, 사용자 눈에 보이지 않지.. 2021. 6. 24.