Node 강의/입문 21

1-11 Roution 이해 및 Router 학습

Routing 이해 및 Router 학습 1. Routing이란? Routing은 클라이언트의 요청 조건(Http 메서드, 주소 등)에 대응해 응답(Response) 하는 방식을 말합니다. 2. Router란? Router는 클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js의 기본 기능 중 하나 입니다. - Router 구조 router : Express.js의 라우터를 정의하기 위해 사용합니다. METHOD : HTTP Method를 나타냅니다 ex) get, post, put, delete PATH : 실제 서버에서 API를 사용하기 위한 경로 ex) users, posts... HANDLER : 라우트가 일치할 때 실행되는 함수 3. Router 사용해보기  routes 폴더 ..

Node 강의/입문 2024.09.01

1-10 API와 REST API 개념

API와 REST API의 개념 목표1. API와 REST API가 어떠한 역할을 담당하는지 이해한다.2. Express.js의 Routing이 어떻게 이뤄지는지 이해한다.3. Insomnia API Client를 설치하고, API를 테스트 해본다. 1. API(Application Programming Interface)란? 서로 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속이라고 볼 수 있습니다. 사용자는 API를 통해 서버에 요청(Request) 하고,서버는 이 요청을 처리한 뒤, API를 통해 반환(Response) 합니다. 이렇게 API는 서로 다른 시스템 간의 통신을 할 수 있게 해주는 중개자의 역할을 담당합니다.  2. 우리가 API를 작성한다는 의미는? 1. 웹 어플리케이션..

Node 강의/입문 2024.09.01

1-9 ES6 Module 시스템 알아보기

Module 1) Module 란?   모듈(Module)은 JavaScript를 파일 단위로 분리된 코드 덩어리를 일컫는다.JavaScript 파일은 특정한 기능을 가진 여러 개의 함수와 변수들의 집합체 입니다. 1. 모듈(Module)은 하나의 모듈에서 다른 모듈을 호출하여 사용할 수 있습니다.2. 모듈(Module)은 그 자체로도 하나의 프로그램이면서 다른 프로그램의 부품으로도 사용할 수 있습니다.3. 보통 1개의 파일이 1개의 모듈이 됩니다. 왜 필요한가? 1. 코드 베이스를 분리할 수 있으며, 이를 통해 코드를 구조적으로 관리할 수 있다.2. 코드를 재사용 가능하게 만들어준다. 즉, 모듈화(modularize)3. 코드의 함수와 변수 중 일부만 외부에서 사용하도록 노출시킬 수 있다.    → 모..

Node 강의/입문 2024.08.30

1-8 Express.js로 백엔드 서버 구현

1. VSCode의 터미널 환경에서 package.json 파일 만들기 로 package.json 파일 만들기 -y : package.json 내부 로직을 기본 세팅으로 생성하기 생성 후 :  package.json 파일이 생긴걸 볼 수 있다. 2.  package.json 내부에 "type" : "module"  추가 및 (선택 : main(서버와 연결될 파일) 값 변경하기) 3. yarn add express (웹 워크프레임) 추가하기 yarn add express 를 입력해  node_modules(yarn_lock과 관련된 모든 정보를 저장하는 디렉토리)와yarn.lock(yarn이 관리하는 세부적인 의존성들에 대한 모든 관계 정의)이디렉토리에 생성되게 해줍니다. 그리고 package.json에 ..

Node 강의/입문 2024.08.30

1-7 Express.js 프레임워크

1. 웹 프레임워크란 무엇인지 이해합니다.2. VS Code IDE에서 Express 프로젝트를 시작해봅니다.3. Express 프레임워크를 이용하여 백앤드 서버를 개발해봅니다.  1) Express.js의 이해 웹 프레임워크(Web Framework) 웹 프레임워크 (Web Framework)는 웹 서비스를 빠르게 구현할 수 있게 도와주는 도구입니다. 웹 프레임워크(Web Framework) : 프로그래밍의 특정 부분을 추상화하여, 개발자가 더 높은 수준에서 프로그램을 작성할 수 있게 도와주는 도구입니다.프레임워크는 "틀"이라는 의미로, 개발하는 동안 준수해야하는 규칙과 구조를 제공하게 됩니다. 프레임워크는 이미 만들어진 기능들을 재사용하고, 이를 조립하여 웹 서비스를 만드는 것 입니다. 만약, 웹 프..

Node 강의/입문 2024.08.30

1-6 배포를 위한 yarn 학습

VS Code의 Terminal에서 진행된다. 1) 글로벌 환경에서 yarn 설치하기 npm install -g yarn #npm을 이용하여 전역 환경에 yarn을 설치한다전역 환경에 yarn 패키지 매니저를 만들었기 때문에어디서든 사용할 수 있습니다. 2) yarn 버전 확인 방법 yarn -v 로 설치된 yarn의 버전을 확인할 수 있습니다.3) yarn 시작하기 yarn init yarn을 초기화를 하는 작업으로새로운 프로젝트나 패키지를 만들 때사용됩니다. 실행하면,1. 먼저 어떤 이름으로 프로젝트를 실행할 것2. 기본적인 버전 몇으로 설정할 것인지3. 추가적인 설명4. (중요) 서버를 실행할 때 어떤 파일로 실행해야 하는지5. 프로젝트를 관리하는 저장소 내용6. 실제 프로젝트를 만든 사람 이름7...

Node 강의/입문 2024.08.30

1-5 Package Manager

Package Manager 1) Package 란?모듈(Module) : 코드의 재사용성을 높이기 위해 독립적인 코드 조각입니다.                         npm이나 yarn과 같은 패키지 매니저를 통해  업로드 할 수 있습니다. 패키지(Package) : 이러한 모듈을 포함하고 있거나 다른 패키지에 의존하고 있는 코드의 집합을 의미합니다.                               패키지는 다른 패키지를 사용할 수 있는데, 이런 관계를 외존 관계라고 부릅니다. ex) A 패키지가 B 패키지의 기능을 필요로 한다면,      A 패키지는 B 패키지에 "의존"한다고 합니다. 2) Package Manager 란?- 패키지를 다루기 위한 도구로 Node.js 패키지의 설치, 업..

Node 강의/입문 2024.08.30

1-4 Node.js란?

Node.js란? 1) Node.js 란? Node.js : Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 입니다.               이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적 입니다.                npm(Node.js 패키지 생태계)은 세계에서 가장 큰 오픈 소스 라이브러리 입니다. Node.js는 "JavaScript가 브라우저 없이 실행하게 도와주는 환경"(핵심적인 코어 라이브러리와 V8 엔진, 그리고 libuv라는 라이브러리를 통해 가능하다) V8 엔진은 구글이 개발하여 구글 크롬 브라우저에서 사용하는 자바스크립트 엔진입니다. libuv는 Node.js가 비동기 I/O 작업을 수행할 수 있게 해주는 중요한 라이브러리 입니다...

Node 강의/입문 2024.08.28

1-3 웹 서버의 이해

웹 서버의 이해1) 웹 서버란? - 웹 서버는 HTTP를 이용하여 인터넷 상에서 클라이언트의 요청을 처리하고 응답해주는 컴퓨터 또는 프로그램 입니다. - 웹 서버는 클라이언트의 HTTP 요청을 받아 정적인 콘텐츠 (ex : HTML, CSS, 이미지 파일 등)를 제공합니다. - 클라이언트의 요청을 웹 어플리케이션 서버(WAS, Web Application Server)로 전달하여 처리할 수 있습니다.  ( 동적 콘텐츠를 처리해야 할 경우나 데이터 베이스에 접근해야할 경우 웹 어플리케이션 서버로 전달) - 웹 서버의 주요 업무는 복잡한 계산 및 처리를 수행보다는 요청된 콘텐츠나 데이터를 빠르게 반환하는 것 입니다.- 대표적인 웹 서버는 Apache, Nginx 등이 존재합니다. 즉, 클라이언트의 요청을 받..

Node 강의/입문 2024.08.28

1-2 HTTP의 이해

HTTP의 이해1) HTTP란?- 데이터를 주고 받는 양식을 정의한 "통신 규약" 중 하나인 HTTP- 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 통신 규약 통신 규약 : 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속을 의미한다.  HTTPS는  HTTP를 기반으로 데이터 통신의안전성을 높이기 위해 암호화 기능이 포함된통신 프로토콜 입니다. HTTP와 달리, HTTPS는 정보를 "암호화"하여 전송합니다. 이를 통해 클라이언트와 서버 사이의데이터가 외부에서 보이지 않게 됩니다. 현재 대부분의 사이트는 HTTPS를 지원하고 있다.  2) 어떻게 HTTP로 데이터를 주고 받을까?- HTTP에서는 요청(Request)과 응답(Response)가 존재합니다. 서버와 브라우저의 동작을 간단하게..

Node 강의/입문 2024.08.28