분류 전체보기 60

HTTP Status Code (추가예정)

HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 여부를 나타낸다. 전송되는 컨텐트의 상태를 설명하고 서버에서 클라이언트로 전달되는 정보의 출처를 나타낸다.  1. 정보 응답 (100-199)임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 게속 진행하라는 의미2. 성공적인 응답 (200-299)클라이언트의 요청이 서버에서 성공적으로 처리되었다.3. 리다이렉션 메세지 (300-399)완전한 처리를 위해서 추가 동작이 필요한 경우이다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미를 가진다.4. 클라이언트 오류 응답 (400-499)없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미한다.5. 서버 오류 응..

Web 2024.05.27

Bcrypt

단방향 암호화단방향 암호화는 평문을 암호화 할 수는 있지만 암호화 된 문자를 다시 평문으로 복호화가 불가능한 방식이다. 해시 함수를 사용하여 임의의 길이 메세지를 고정된 길이의 해시값으로 변환하게 되며 동일한 입력값에 대해서 항상 동일한 해시값을 출력하게 된다.단방향 암호화를 사용하는 주된 이유는 메시지 또는 파일의 무결성을 보장하기 위해서이며 원본의 값이 1bit라도 달라지게 된다면,해시 알고리즘을 통과한 후의 해시값은 매우 높은 확률로 달라지게 된다. 이를 통해 메세지나 파일의 원본 여부를 파악할 수 있다. 단방향 암호화의 한계해시 알고리즘은 동일한 평문에 대하여 항상 동일 해시값을 갖는다. 따라서 특정 해시 알고리즘에 대해 특정 평문이 어떤 해시값을 갖는지 알 수 있다. 이런 특징을 이용하여 해시 ..

Web 2024.05.24

JWT (Json Web Token)

JWT란 ?JWT(json web token)는 Json 포맷을 이용하여 서버와 클라이언트 사이에서 사용자 인증 정보를 안전하게 전달하기 위한 웹 토큰 표준이다. 특징 토큰 자체에 인증에 필요한 정보가 포함되어 있어 데이터베이스 조회가 필요하지 않다.토큰은 헤더, 페이로드, 시그니처로 구성된다.누구든지 JWT 내부에 들어있는지 정보를 확인할 수 있다.JWT가 인증 서버에서 발급되었는지 위변조 여부를 확인 가능하다. 구성요소 Header : 토큰의 타입, 해시 암호화 알고리즘이 포함되어 있다.타입은 토큰의 유형을 나타내며 해시 암호화 알고리즘에는 SHA256, RSA, HMAC과 같은 해시 암호화 알고리즘을 나타낸다.Payload : 토큰에 담을 클레임 (claim) 정보를 포함한다. 페이로드에 담는 정보..

Web 2024.05.23

트랜잭션

트랜잭션이란 ? 트랜잭션이란 데이터베이스의 상태를 바꾸는 작업의 논리적 단위이다. MySQL에서 입력하는 쿼리문은 입력과 동시에 처리되어 데이터베이스에 반영되는데 여기서 작업단위는 한 가지 쿼리를 뜻하는 게 아닌 한 동작에 필요한 여러 개의 쿼리문을 의미한다.  트랜잭션의 특징(ACID)트랜잭션의 특징은 크게 네 가지로 구분된다.원자성 (Atomicity)트랜잭션에 속한 각각의 쿼리(CRUD)를 하나의 단위로 취급하는 작업단위는 전부 반영되거나 어느 하나라도 오류가 발생한다면 트랜잭션 전체가 취소되어야 한다. 일관성 (Consistency)작업 처리 결과는 일관성을 가져야한다. 테이블에 변경 사항을 적용할 때 미리 정의된, 예측할 수 있는 방식만을 사용하고 트랜잭션 수행 전이나 후에 데이터 모델이 갖고 ..

Web 2024.05.22

쿠키

쿠키란 ? 쿠키는 웹 브라우저가 웹사이트를 방문할 때 서버로부터 전송받은 데이터 조각이며,사용자의 효율적이고 안전한 웹 사용을 위하여 사용된다. 브라우저는 이 데이터를 저장해 두었다가 동일한 웹사이트를 다시 방문할 때 저장된 데이터를 함께 전송한다.  쿠키의 주요 역할기능 쿠키 : 웹사이트에 방문한 접속자의 설정을 저장하고 설정에 맞춰 동작하게끔 한다. 설정은 접속자의 지역 및 언어 등을 포함한다. 성능 쿠키 : 쿠키는 정보의 익명 수집 및 보고를 통해 웹사이트와 방문자 사이의 상호작용을 이해하는데 도움을 준다. 또한 상호관계에 대한 통계자료를 제공함으로써 웹사이트 운영자가 더욱 최적화된 웹사이트를 개발하는데 기여한다. 마케팅 쿠키 : 쿠키는 방문자의 방문 내역을 추적하며, 방문자의 경향 및 웹사이트 이..

Web 2024.05.21

관계형 데이터베이스

관계형 데이터베이스란? 관계형 데이터베이스란 데이터를 테이블 형태로 구조화하여 저장하고, 테이블 간의 연간 관계를 통하여 데이터를 연결하는 데이터베이스 관리 시스템이다.  - 관계형 데이터베이스는 테이블이라는 구조를 가지며, 각 테이블은 고유한 데이터를 나타내는 행과 속성을 나타내는 열을 가진다. - 연간 관계란, 각 테이블 사이의 연결된 관계를 의미한다. - 연간 관계를 통해 복잡한 데이터를 관리할 수 있게 된다. - 테이블 간에는 공통 필드 (키)를 통해 관계가 정의되어 있다. - 테이블 조인을 통해 여러 테이블을 결합할 수 있다. - SQL(Structured Query Language)을 사용하여 데이터를 조작한다.  관계형 데이터베이스는 데이터 간의 관계를 명확히 정의하고 구조화된 방식으로 데이..

Web 2024.05.20

Joi 라이브러리

Joi는 Node.js에서 사용되는 유용한 데이터 유효성 검사 라이브러리이다. 사용자가 입력한 데이터가 정해진 규칙에 맞는지 검증하는 역할을 한다.  - 스키마 기반으로 데이터 유효성 검증 규칙을 정의할 수 있다.- 체이닝 방식으로 여러 검증 규칙을 연결할 수 있어 가독성이 좋다. - 비동기 유효성 검사를 지원한다. - 광범위한 검증 규칙 및 옵션- 강력한 오류 처리 및 사용자 정의 기능 단점으로는 규모가 커지고 소규모 프로젝트에선 약간의 오버헤드를 추가할 수 있다.

Web 2024.05.17

2진법

2진법은 0과 1, 두 개의 숫자만을 사용하여 수를 표현하는 가장 기본적인 기수법이다.  특징컴퓨터에서 데이터를 표현하는 기본 방식으로 사용된다. 각 자리수의 가치가 2의 거듭제곱으로 증가한다.  연산 덧셈과 뺄셈 연산은 받아내림과 받아올림 규칙을 지켜야한다. 곱셈은 십진법과 유사하게 부분적 곱셈의 합으로 계산한다. 진법 변환2진법 > 10진법 : 각 자리수에 2의 거듭제곱을 곱한 후 모두 더한다. 10진법 > 2진법 : 10진법으로 표현된 수를 2로 나누고 나머지를 기록한다. 더이상 나누어지지 않을 때 까지 반복한다.  응용 컴퓨터 시스템에서 데이터 저장, 처리, 전송의 기본 단위이다.2진 코드를 이용한 정보 표현 및 암호화 2진법은 컴퓨터 과학의 근간이 되는 개념으로, 디지털 세계를 구성하는 기본 언..

Web 2024.05.15

MongoDB

MongoDB는 문서 지향 데이터 모델을 사용하는 NoSQL 데이터베이스 관리 시스템이다. 정형 및 비정형 데이터를 보다 쉽고 빠르게 통합할 수 있다는 장점이 있다.  MongoDB를 사용하는 이유 ?저장. MongoDB는 대규모 정형 및 비정형 데이터 볼륨을 저장할 수 있으며 수직 및 수평으로 확장 가능하다.Index 지원. 다양한 조건으로 빠르게 데이터를 검색할 수 있다. 다양한 형태의 인덱스를 제공하며 필요한 필드에 필요한 만큼 생성할 수 있다.복잡한 데이터 구조 설명 . 문서 데이터베이스를 사용하면 중첩된 구조(구조 내의 구조)를 설명하는 문서를 삽입할 수 있으며 데이터의 변화를 허용할 수 있다.로드 밸런싱. MongoDB를 사용하여 여러 서버에서 실행할 수 있습니다.MongoDB의 특징신뢰성. ..

Web 2024.05.14

Express.js와 미들웨어

Express.js란?Node.js를 사용하여 쉽게 서버를 구성할 수 있게 만든 클래스와 라이브러리의 집합체가장 보편적으로 사용되는 웹 애플리케이션 프레임워크최소한의 코어 기능을 제공하는 경량 프레임워크미들웨어를 통한 HTTP 요청/응답 처리 과정에서 다양한 기능을 추가할 수 있다. 라우팅 기능을 제공하여 URL 패턴에 따라 적절한 핸들러를 지정할 수 있다.정적 파일 제공, 템플릿 엔진 지원 등 웹 애플리케이션 개발에 필요한 기능을 갖추고 있다. 미들웨어를 통해 인증, 로깅, 에러 처리 등의 기능을 쉽게 구현할 수 있다.활발한 커뮤니티와 다양한 써드파티 미들웨어 생태게미들웨어란 ? 미들웨어는 서버의 요청-응답 과정에서 중간에 위치하여 특정 기능을 수행하는 함수.res(요청)객체, res(응답)객체, 그..

Web 2024.05.13