study15 [STUDY] NodeJS - 02. EXPRESS 02. EXPRESS Node JS 기반 웹 프레임워크 웹 프레임워크 (Web Framework) ※ 참조 : https://expressjs.com/ // @Example. Express 설치 $npm install --save express // OR $yarn add --save express // @Express. 서버 및 라우팅 스크립트(app.js) var express = require('express'); var app = express(); var path = require('path'); // Listener 포트 설정 app.listen( 8080, function() { console.log("start express server on"); }); app.get('/', functi.. 2022. 6. 22. [STUDY] NodeJS - 01. NPM / YARN : JEST 01. NPM / YARN : JEST JEST · 페이스북(Facebook)에서 테스트 자동화 만든 오픈소스 라이브러리 ※ 참조 : https://jestjs.io/docs/getting-started // @Example. JEST 설치 // npm 설치 $npm install --save-dev jest // yarn 설치 $yarn add -dev jest // @Example. pacakge.json { "scripts": { "test": "jest" } } // @Example. sum.js function sum(a, b) { return a + b; } // IE not support module.exports = sum; // @Example. sum.test.js const sum =.. 2022. 6. 22. [STUDY] NodeJS - 01. NPM / YARN NodeJS - 01. NPM / YARN 크롬 V8 Javascript 엔진으로 빌드 된 Javascript 런타임(플랫폼) Node.js 특징 · 이벤트 기반(Event-Driven) - libuv 라이브러리를 사용 - 이벤트 발생 시 사전에 정의한 작업(콜백함수)을 실행하고 이벤트가 종료되면 대기 ※ 동시에 여러 이벤트가 발생하는 경우 이벤트 루프(Event loop)에 의해 작업(콜백 함수) 호출 순서 및 실행 · 비동기 I/O 모델 (Non-Blocking I/O Model) - Node.js 라이브러리의 모든 API 처리는 비동기 방식으로 실행 · 단일 스레드(Single Thread) - 단일 스레드 기반 이지만, Non-Blocking Model 방식(이벤트 루프)을 채택하고 있는 Node.. 2022. 6. 22. [STUDY] JS - 02. Javascript MVC 02. Javascript MVC Javascript 의 기본적인 디자인 패턴 MVC 디자인 패턴 · MVC(Model-View-Controller) 로 구성된 Javascript Design Pattern Model · 도메인 레이어(Domain Layer) · 응용 프로그램 내에서 사용되는 데이터를 처리하는 영역 View · Model 영역을 화면에 구성(렌더링) · 일반적으로 사용자 인터페이스(UI) 영역 (HTML) Controller · Model 과 View 사이의 상호 작용을 담당 · 일반적으로 사용자 행동(Action)에 해당하는 이벤트 처리하는 영역 ※ 단순하고 일반적인 디자인 패턴이지만, Model-View 간 의존성이 높아 웹 응용 프로그램이 복잡해 질 수록 복잡해지고 유지보수에서 어.. 2022. 6. 22. [STUDY] JS - 01. Javascript 란 01. Javascript 란 Javascript(ECMAScript, ES) 웹과 Javascript 엔진이 포함된 모든 장치에서 동작하는 프로그래밍 언어 자바스크립트 런타임(Javascript Runtime) · Javascript 가 동작하는 환경 자바스크립트 엔진(Javascript Engine) · Javascript 를 실행 · Javascript 엔진의 기본적인 동작 원리는 다음과 같이 요약 엔진이 스크립트 코드를 읽음 (Parser) 코드를 기계어로 전환 (Compiler) 기계어로 전환된 코드를 실행 V8 · 구글 크롬(Chrome) 스파이더 몽키(SpiderMonkey) · 최초 Javascript 엔진. 파이어폭스(Firefox) 웹킷(Webkit) · 사파리(Safari) 차크라(C.. 2022. 6. 22. [STUDY] WEB - 02. 웹 구축 및 구동 방식 02. 웹 구축 및 구동 방식 웹 구축 및 구동 방식의 발전 정적 사이트(Static Sites) · 클라이언트에서 URL을 사용해 서버에 접속 (Request) → 서버는 미리 저장된 HTML (정적 페이지)를 클라이언트로 전송 (Response) ※ 클라이언트에서 URL 이 변경되는 상호작용 이벤트가 발생될 때마다 서버로 HTML(정적 페이지)을 요청하고 응답 받기 때문에 화면 깜빡임이 발생 정적 사이트(Static Sites) : 태그 추가 · 정적 사이트(Static Sites)와 동일한 방식으로 동작하고, 태그를 사용해 부분적 페이지 업데이트가 가능해짐 정적 사이트(Static Sites) : (fetch) 태그 추가 · 정적 사이트(Static Sites)와 동일한 방식으로 동작 · Javas.. 2022. 6. 17. [STUDY] WEB - 01. 웹(Web) 이란 01. 웹이란 정보 공유 목적의 대표적 인터넷 서비스 하이퍼 텍스트(Hypertext)를 기반으로 서로 관련있는 문서(document)를 연결한 문서의 집합체 (TCP/IP) ※ 하이퍼텍스트(Hypertext)는 참조(Hyperlink)를 통해 문서 간 이동 및 접근 할 수 있는 텍스트 웹 주소 구성 (URL) · URL(Uniform Resource Locator) ://.:/?# 스킴(Scheme) · 프로토콜(Protocol) · 해당 리소스에 접근 프로토콜을 명시 서브 도메인(Sub domain) · URL로 전송 또는 계정 내 IP 주소, 디렉토리로 포워딩 되는 도메인 이름의 확장자 ※ blog.naver.com, mail.naver.com ... 도메인(Domain) ·문자 등으로 만들어진 주.. 2022. 6. 17. [STUDY] HTTPS (Hyper Text Transfer Protocol Secure) 1. HTTPS 란 · HTTP의 암호화되지 않은 평문으로 해킹 또는 변조 등 보안적 단점을 보완하기 위한 프로토콜 · HTTP + SSL 로, HTTPS 새로운 프로토콜이 아니라 HTTP 통신 소켓(socket) 부분을 SSL(Secure Soket Layer) 또는 TLS(Transport Layer Security) 프로토콜로 대체 (SSL 통신) 2. SSL (Secure Socket Layer) · 넷스케이프(Netscape) 사에 의해 클라이언트(clinet)-서버(server) 보안을 위해 탄생하였으며, 'CA'(Certificate Authority) 서드 파티로부터 클라이언트, 서버 인증에 사용 · SSL은 보안과 성능상의 이유로 '공개키'와 '대칭키' 2가지 암호화 기법을 혼용하며 클라.. 2021. 12. 10. [STUDY] HTTP (Hyper Text Transfer Protocol) 1.HTTP (Hyper Text Transfer Protocol) · TCP/IP 최상위 계층 (비연결성/비상태성) · HTTP 메시지(ASCII 인코딩)는 클라이언트(client)-서버(server) 간 데이터를 교환하는 방식 ( 요청(request)-응답(response) ) 1) HTTP 메시지 구조 [START LINE] POST / HTTP 1.1 | [STATUS LINE] HTTP / 1.1 200 ok [HTTP HEADER] [HOST]:[PORT] User-Agent : Mozila ··· \r\n [BODY] ··· 2) HTTP 요청(Request) · 클라이언트(client) → 서버(server) HTTP 메시지 전달 ① 시작줄 (Start Line) [HTTP METHOD] .. 2021. 12. 10. [STUDY] 브라우저 렌더링 (Browser Rendering) 1. 브라우저 렌더링 (Browser Rendering) · HTML, CSS, 스크립트 코드를 읽고 출력(Rendering)하는 과정 1) 브라우저 주소창에 URL 입력 · 프로토콜(http or https), URL, 포트(80 or 443) 분석 · URL → IP 변경 ① 로컬 DNS(host 파일) 에서 도메인 네임(domain name) (URL) 검색 ② 해당 도메인 네임 정보가 없는 경우, 외부 DNS에 URL 검색 및 요청 ③ 외부 DNS 로부터 해당 도메인 네임의 IP 응답을 로컬 DNS(host 파일)에 캐싱되고, 다음 검색 때 우선 적용 · IP → MAC(Media Access Control) 주소 변경 ① 로컬 네트워크 망에서 IP를 사용하는 장치를 검색 ② 로컬 네트워크 망에서.. 2021. 11. 5. [STUDY] 메모리 (RAM, Random Access Memory) 1. RAM(Random Access Memory) 이란 · 응용 프로그램 실행 중(runtime) 필요한 데이터를 저장하기 위한 단기 데이터 저장소. · 순차적으로 데이터에 접근하지 않고, 주소(address)를 통해 임의의 순서(random)로 빠르게 데이터에 접근. 2. RAM 구조 코드 영역 → 데이터 영역 → 힙 영역 →→ ( Free Storage ) ←← 스택 영역 · 낮은 메모리 주소 값(low memory) 에서 높은 메모리 주소 값(high memory)로 주소 값을 할당 1) 코드 영역 (code) · CPU에 의해 코드를 한 줄씩 처리되고, 응용 프로그램 종료 시 메모리에서 해제 · 응용 프로그램의 코드가 저장되는 영역 ※ 함수, 제어문, 상수 등 변경되지 않는 데이터 2) 데이터 .. 2021. 11. 3. [STUDY] 자료구조(Data Structure) - 비선형 자료구조(Non-Linear Data Structure) 1. 자료구조 https://woder.tistory.com/24 [STUDY] 자료구조(Data Structure) - 선형 자료구조(Linear Data Structure) 1. 자료구조 1) 자료구조란 ? · 데이터(data)에 접근하고 제어하기 위해 데이터를 구성 및 저장하는 방법 · 데이터와 데이터 간의 관계 2) 구성 선형 자료구조 (Linear Data Structure) 비.. woder.tistory.com 2. 비선형 자료구조(Non-Linear Data Structure) 1) 트리(Tree) · 데이터(Data, 노드(node)) 간 부모-자식 관계의 계층적 자료구조 (디렉토리, 가계도 등) · A 와 B 는 부모-자식 관계 (parent-child) · B 와 C 는 형제-자매 관.. 2021. 11. 2. 이전 1 2 다음 반응형