
백엔드는 웹 서버, 웹 어플리케이션 서버, 데이터베이스로 나뉜다.그 중 웹서버는 동적 페이지에 대한 처리는 직접 하지 않고, 웹 애플리케이션 서버에게 전달하며, 정적 페이지에 대해 대응한다. 정적 페이지:화면의 내용 및 데이터 등의 변동이 없는 페이지 동적 페이지:

data를 효율적으로 관리하기 위한 데이터 집합체를 Database(이하 DB)라고 한다.data를 구조화하여 중복을 막고, 효율적인 데이터 연산을 가능하게 한다. DBMS(Database Management System)를 통해 DB를 운영하고 관리할 수 있다.DB

API:Application Programming Interface의 약자로, 서버가 제공하는 기능을 외부에서 사용할 수 있도록 정의한 인터페이스이다. HTTP는 클라이언트와 서버가 어떻게 요청/응답을 주고받을지 정한 약속이다. 웹 환경에서는 주로 HTTP를 통해

객체는 세상에 존재하는 무언가를 의미한다.사람, 동물, 차량, 책 등과 같이 주어 자리에 왔을 때 문장이 만들어지면 그것은 다 객체라고 볼 수 있다. 차량을 예로 들어 보면 차량의 속성 값은 모델, 색상, 가격, 연식 등이 있다.차량 한대당 각 속성값은 아래와 같이

비구조화객체나 배열에서 필요한 값만 꺼내서 변수로 만드는 문법을 의미한다.Express에서 req.query 또는 req.params를 비구조화하는 이유는요청한 객체 전체가 아니라 실제로 사용하는 값만 꺼내서 변수로 만들어 사용하기 위함이다.객체는 key 기반으로 접근

Map Object Map은 key-value 구조의 데이터를 저장할 때 사용하는 객체이다. 일반 객체의 경우 key가 문자열로만 저장되지만, Map은 key를 문자열로 변환하지 않고 참조한다. 그렇기 때문에 key 또는 value에 다양한 타입(객체나 함수)을 사

기본적인 CRUD 생성 : POST조회: GET수정 : UPDATE삭제 : DELETE데이터를 생성하는 POST는 db에 데이터를 등록하는 역할을 한다.등록할 데이터에는 개인정보와 같은 중요한 정보가 포함되어있을 수 있다. 제일 대표적인 예로, 회원가입을 할 때 아

forEach는 배열의 각 요소를 한 번씩 꺼내서 개발자가 지정한 함수를 실행해주는 메서드이다. 이렇게 forEach문의 parameter로 함수를 전달하는 것이 콜백 함수임을 복기하자. 그럼 콜백 함수는 언제, 무슨 역할로 실행될까?위 코드에서 callback은

handler란?안드로이드에서 필수적인 개념으로 알려져있는 용어다.넓은 의미로 쓰이는 단어라, 쓰는 환경에 따라 뜻하는 의미가 조금씩 다르다. Node.js에서의 handler는 HTTP request가 날아오면 자동으로 호출되는 메소드를 의미한다.app.HTTP M

아래와 같이 forEach 내부에서 바로 else로 응답을 보내면, 아직 뒤에 데이터가 남아 있어도 조건문 실행을 중단한다.ex.db에 user01, user02, user03이 존재할 때 user03 입력 시 첫 번째 값인 user01부터 입력값과 비교하고 false

백엔드를 위한 기초 개념을 공부하면서 Express를 사용해 여러 API를 직접 만들어봤지만,초기에는 각각의 파일을 따로 실행하며 API 응답만 확인하는 방식으로 실습을 진행했었다.이와 같은 방식은 파일별 만들어져있는 개별 기능 테스트에는 문제가 없었지만,서버를 하나로

DBMS 종류는 왜 나뉘어졌을까?데이터의 형태가 다양해지면서 모든 유형의 데이터를 '테이블' 형식으로만 관리하다보니, 확장성 / 유연성 / 성능 부분에서 한계가 왔다.그래서 저장 방식별로 DBMS가 나뉘었으며, 각 유형별 특징은 아래와 같다. RDBMS는 빠른 데이터

DB 제약조건(constraint)은 잘못된 데이터가 저장되는 것을 사전에 막기 위한 규칙이다.서버에서 유효성 검사에서 걸러내지 못한 예외가 있더라도, DB 제약조건이 마지막 방어선 역할을 한다. 사용할 수 있는 제약조건은 무엇이 있는지 알아보자. 컬럼에 값이 들어

TCP/IP는 인터넷에서 데이터가 이동하기 위한 기본 교통 규칙이다.컴퓨터 끼리 '어떻게 보내고, 어떻게 받는지'를 정해둔 약속이라고 보면된다. 우리가 Express 서버에서 API 요청을 보내고 응답을 받는 것도,사실은 모두 이 TCP/IP 위에서 이루어진다. HT

유효성 검사는 사용자가 입력한 값이 서버 로직을 수행하기에 적절한지 미리 확인하는 과정이다. 예를 들면: 필수 값이 비어 있는지숫자여야 하는 값이 문자열로 들어오지 않았는지이메일 형식이 맞는지같은 것들을 DB에 넣기 전에 서버에서 먼저 걸러낸다. 잘못된 요청을 초

오늘은 로그인 흐름을 기준으로 인증(Authentication) 과 인가(Authorization) 의 차이와Cookie / Session / JWT 방식이 왜 등장했는지를 정리했다. 인증은 클라이언트에 접근한 사람이 누구인지 증명하는 과정이다. 로그인회원 확인

express-generator는 Express 프로젝트의 기본 골격을 자동으로 만들어주는 도구다.디렉토리만 만들어주는 게 아니라,아래와 같은 웹 서버에 필요한 최소 구조를 표준화된 형태로 제공한다.서버 진입점라우팅 구조정적 파일 처리에러 핸들링환경 설정 흐름Expre

crypto는 Node.js에서 제공하는 내장(표준) 암호화 모듈이다.암호화 방식에따라 양방향, 단방향 암호화가 가능하다. 대표적인 양방향 방식으로는 아래와 같은 항목이 있다. 대칭키 암호화 (같은 키로 암호화, 복호화를 진행) 공개키 암호화 (공개키로 암호화, 개

DB 조회, 파일 읽기, 네트워크 요청, API 호출과 같은 작업이 있다.이 작업들은 CPU 계산이 아니라 외부 시스템과 통신하는 I/O 작업이다.그래서 작업 시간이 소요된다. 햄버거 가게나 카페 타이쿤 게임을 보면,한 가지 메뉴의 모든 재료가 완료될 때까지 기다리는

try-catch문은 JavaScript에서 예외(Exception) 상황을 처리하기 위한 문법이다.코드를 실행하는 도중 에러가 발생하면 프로그램이 중단될 수 있는데,try-catch를 사용하면 에러를 잡아서 프로그램 흐름을 제어할 수 있다. try 블록 내부에서 에