변수 | 변할 수 있는 값을 저장할 수 있는 공간 | 값을 저장하고 재사용하기 위해 |
조건문 | 조건에 따라 달리 로직을 진행하는 문장 | 조건에 따라 다르게 로직을 실행하기 위해 |
주석 | 코드 진행에 영향이 없으며 코드를 설명하는 글 | 코드의 의도, 목적을 나타내 가독성을 향상시키기 위해 |
입력 | 문자, 숫자 등 데이터를 컴퓨터에 기록시키는 행위 | 컴퓨터에서 데이터 처리를 위해 저장시키기 위해, 컴퓨터가 이해할 수 있는 형태로 바꿔 저장하기 위해 |
반복문 | 같은 코드를 반복하는 문장 | 같은 코드를 반복하지 않아도 돼 가독성향상, 실수 줄이기에 좋기 때문 |
출력 | 처리한 데이터를 외부에 내놓는 행위 | 인간이 이해하기 쉬운 형태로 바꿔 외부에 보내기 위해 |
리스트 | 크기를 바꿀 수 있으며 순차적으로 데이터를 관리하는 자료구조 | 순차적으로 데이터를 접근하는 상황에서 효율적으로 데이터를 관리하기 위해서 |
함수 | 기능을 공통적으로 사용할 수 있게 모듈화한 것, 재활용하기 위해 묶어놓은 코드의 집합 | 반복적으로 같은 코드를 반복하지 않고 테스트하기에 좋다 |
JSON | JS Object 문법으로 만든 데이터 포멧 | 간단 간략하여 파싱, 통신 등 네트워크 통신 과정에서 이점이 있다. 계층구조도 나타낼 수 있다. |
순서도 | 기호와 도형을 이용해 프로세스 과정을 도식화한 것 | 복잡한 과정이나 흐름을 효과적으로 전달하기 위해 |
암호화 | 주고 받을 데이터를 일정 체계에 따라 변경하는 것 | 보안성을 향상시켜 위험을 줄인다. |
무결성 | 의도치 않은 상황에서 데이터, 소프트웨어가 변경되지 않고고 완전성, 일관성, 정확성을 유지하는 것 | 허가되지 않은 방법으로 데이터가 조작되지 않는 것을 보장하기 위해 |
AES | 기존 데이터 암호 표준을 강화한 표준 | 더욱 보안성과 안전을 강화할 수 있다. |
데이터베이스 | 자료를 효율적으로 관라히기 위한 요소 | 다량의 데이터 저장, 조회, 변경등을 효율적으로 처리하기 위해 |
Port | 서버 내에서 프로세스 접근을 위한 식별자 | 서버 내 프로세스를 식별하기 위해 |
IP | 인터넷에서 서버의 위치 식별 주소 | 인터넷 상에서 서버를 식별하기 위해 |
Protocol | 원활한 통신을 위한 체계 | 통신을 할 때 효율적으로 처리할 수 있다. |
클라이언트 | 서버에게 데이터 조회, 변경 등 요청을 하는 프로그램 | 서버로부터 데이터 또는 서비스를 요청하고 받기 위해 |
서버 | 정보나 서비스를 제공하는 프로그램 | 클라이언트에게 데이터나 서비스를 제공하기 위해 |
프론트엔드 | 사용자에게 시각적으로 서비스를 보여주는 부분 | 사용자에게 서비스를 직관적으로 제공할 수 있어 사용자 경험에 유리 |
백엔드 | 프론트엔드에 데이터, 서비스를 제공하는 노드, 프로그램 | 클라이언트의 요청에 대한 결과를 관리/전달하기 위해 |
HTTP | 텍스트 이상의 이미지 같은 파일을 인터넷 상에서 전송하기 위한 프로토콜 | 인터넷 상으로 다양한 데이터를 전송하기 위해 |
Node.js | 어디에서나 js 사용할 수 있게 하는 런타임 환경 | 어느 환경에서도 js를 사용하기 위해 |
Node | 데이터 통신망에서 데이터를 전송하는 통로에 접속되는 하나 이상의 기능 단위 | 데이터 통신을 구축하기 위해 |
js | 프로그램을 동적으로 만들기 위한 프로그래밍 언어 | |
express.js | Node.js 기반의 웹프레임워크 | 웹개발을 더 쉽게 하기 위해 |
package.json | 프로젝트 정보, 의존성 정보를 쉽고 직관적으로 관리하기 위해 json 파일 | 프로젝트 정보, 의존성을 직관적이고 쉽게 관리하기 위해, npm에서 패키지 설치시 기준이 되는 파일 |
npm | node.js 패키지 관리 프로그램 | node.js 패키지를 편리하게 관리하기 위해 |
package.lock.json | 해당 프로젝트의 의존성을 정확하게 가지고 있는 파일 | 의존성 정보를 정확하게 관리하기 위해. 프로젝트가 동일한 버전의 의존성을 가질 수 있다. (버전을 좀 더 명확하고 안전하게 다룰 수 있다.) |
PM2 | Node.js 운영 프로세스 관리를 위한 프로그램 | Node.js 운영 편의를 위해 |
코드컨벤션 | 프로젝트 내 통일된 코드 스타일 | 협업 시 코드관리에 유리 |
HTTP-Message | HTTP 데이터 통신간 기본 통신 단위 | HTTP 통신간 데이터를 교환하기 위해 |
HTTP-RequestMethod | HTTP 통신 시 행위를 정의하는 명령 규칙 | 웹 서버에 명확하게 요청하기 위해 |
HTTP-Status Code | HTTP 통신 시 응답 결과를 나타내는 코드 | 요청 처리 결과를 명확하게 나타내기 위해 |
URL | 인터넷 상 자원을 식별하는 경로 | 인터넷 상 자원을 식별하기 위해 |
Query String | 요청 시 요청 메타데이터를 같이 전송하기 위한 값 | 메타데이터를 전송하기 위해 |
Path Variable | 서버 자원을 식별하기 하는 값 | 서버 자원을 식별하기 위해 |
REST | 요청하는 자원, 행위, 상태를 나타내는 HTTP 통신 스타일 | 요청 정보만으로 어떠한 자원, 행위를 요구하는지 알려주기 위해 |
디자인패턴 | 자주 일어나는 문제에 대한 해결 템플릿 | 자주 일어나는 문제를 빠르고 유연하게 해결하기 위해 |
정규화 | 관계형 데이터베이스에서 테이블을 분리하는 행위 | 데이터 중복, 이상현상을 없애기 위해 |
SQL | DB의 정보 조회 및 변경을 위한 질의어 | DB에 조회, 변경을 하기 위해 |
보안-해싱 | 키를 통해 복구 불가능한 값으로 바꾸는 기법 | 무결성을 따질때 유리해서 |
Stateful | 클라이언트의 상태를 관리하는 개념 | 클라이언트의 정보를 관리해 보안적 유리? |
Stateless | 클라이언트의 상태를 관리하지 않는 개념 | 클라이언트의 정보를 관리하지 않아도 돼 많은 요청을 처리할 수 있다. |
Connectionless | 서버에서 클라이언트의 연결 정보를 저장하는 개념 | 서버에서 연결정보를 저장하지 않아도 돼 많은 요청을 처리할 수 있다. |
인증 | 사용자의 신원을 확인하는 보안 절차 | 사용자의 신원을 확인해 시스템 안전성을 향상하기 위해 |
인가 | 권한을 부여하는 절차 | 사용자에게 특정 자원에 대한 접근 권한을 부여하기 위해 |
쿠키 | 사용자가 웹 사이트 방문시 서버를 통해 사용자의 브라우져에 저장되는 데이터 | 개인맞춤 서비스를 제공하기 위해 |
세션 | 사용자의 정보를 서버에서 관리하는 개념 | 보안적으로 좋다 |
프레임워크 | 프로젝트 개발 편의를 위한 골조 | 프로젝트 개발에 편리함을 주며 성능,안정성도 보장해준다. |
라이브러리 | 컴퓨터를 개발할 때 사용되는 비휘발성의 미리 만들어진 자원 | 성능, 안정성을 보장해주고 편리하게 사용할 수 있다. |
API | 운영체제 및 서비스 사이에서 자원, 정보, 기능 등을 제공하는 방식 | 서로 다른 시스템, 애플리케이션 간 데이터, 기능을 공유하기 위해 |
REST API | REST 형식을 따르는 API | API의 일관된 통신 규칙을 마련해 업무 효율 높이고, URL 구조만으로 요청의 목적을 쉽게 파악할 수 있다. |
페이징 | 전체 데이터의 일부분 만을 반환하는 방식 | 전체 데이터 중 일부만을 순차적으로 다뤄 부하를 줄일 수 있다. |
데이터센터 | 컴퓨터자원을 집중적으로 관리하는 시설 | 환경적으로 컴퓨터 관리에 좋다. |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |