분류 전체보기
-
[JS] Webpack이란?JavaScript 2020. 8. 21. 14:42
Module 프로그램을 구성하는 구성 요소의 일부 관련된 데이터와 함수들이 묶여서 모듈을 형성하고 파일 단위로 나뉘는 것이 일반적임 모듈화 프로그래밍은 기능별로 파일을 나눠가며 프로그래밍을 하는 것이 유지보수가 쉬움 Bundler 지정한 단위로 파일들을 하나로 만들어서 요청에 대한 응답으로 전달할 수 있는 환경을 만들어주는 역할 번들러를 사용하면 소스 코드를 모듈별로 작성할 수 있고 모듈간 또는 외부 라이브러리의 의존성도 쉽게 관리할 수 있음 Webpack JS 정적 모듈 번들러 Webpack에서는 모든 것(e.g. js, stylesheet, image ...)이 모듈이고 JS 모듈로 로딩해서 사용 사용 이유 네트워크 병목현상 해결 HTML에서는 태그로 자바스크립트 파일을 실행할 수 있지만 많은 파일을..
-
[Web] IaaS PaaS SaaS란?WEB 2020. 8. 20. 10:26
Packaged Software 직접 인프라, 플랫폼, 애플리케이션을 관리하는 모델 많은 비용이 소모되고 유지 보수 또한 쉽지 않음 IaaS(Infrastructure as a Service) Infrastructure 레벨을 제공하는 서비스를 의미 OS 부터 상위의 모든 플랫폼이나 애플리케이션을 사용자가 직접 올릴 수 있음 PaaS(Platform as a Service) 개발자들이 애플리케이션을 개발, 서비스하기위해 사용가능한 서비스와 기능들이 제공되는 클라우드 서비스 개발자들이 Low Level의 Infra Structrue에 대해 신경 쓰지 않고 개발하고 테스트 할 수 있음 SaaS(Software as a Service) 애플리케이션을 조직이나 개인에게 쉽게 제공되는 IT 서비스 방식 서비스를 ..
-
[Node.js] pm2란?JavaScript/NodeJS 2020. 8. 17. 21:51
pm2란? Process Manager의 약어 Node.js의 프로세스를 관리해주는 역할 생산 프로세스 관리자로 서버 인스턴스들에 대한 로드 밸런싱과 Node.js의 Scale Up 또는 Scale Down을 도움 프로세스들이 계속 실행할 수 있는 환경을 제공 처리하지 못한 예외에 의해 스레드가 죽음으로 인해 애플리케이션이 죽는 현상을 방지 사용법 pm2 -version Version 확인 명령어 pm2 start example.js pm2를 실행하는 명령어로 서버 소스코드가 작성되어 있는 js파일을 실행 options --watch : pm2가 실행된 프로젝트의 변경사항을 감지하여 서버를 자동 리로드 해줌 -i max(코어 개수) : Node.js의 싱글 스레드를 보완하기 위한 Cluster 모드 pm..
-
[Node.js] Middleware 란?JavaScript/NodeJS 2020. 8. 16. 13:23
Middleware란? 클라이언트에게 요청이 오면 요청에 대한 응답하기 전인 중간에 목적에 맞게 처리하는 함수 역할 다음 미들웨어 호출(next 함수) req, res 객체 변경 가능 요청-응답 주기 종료(response method 사용) Middleware 유형 1. 애플리케이션 레벨 미들웨어 app.use() or app.method() 함수를 이용해 app 오브젝트의 인스턴스에 바인드 미들웨어를 애플리케이션 영역에 지정한 path대로 처리 가능 app.use((req, res, next) => { console.log('Middleware example'); next(); }) // 특정 경로만 적용 app.use('/example', (req, res, next) => { console.log(..
-
[Node.js] Node.js 란?JavaScript/NodeJS 2020. 8. 15. 14:07
웹 브라우저에 종속적인 JS를 Chrome V8 엔진을 기반으로 외부에서 실행할 수 있는 Runtime 환경을 제공 특징 모듈 시스템 모듈 : 독립적인 하나의 소프트웨어 기능별 모듈화 가능 싱글 쓰레드(Single Thread) 하나의 Thread만을 사용해서 여러 Clinet로부터 오는 Request를 처리 Context Switching으로 인한 오버헤드를 방지 이벤트 드리븐(Event Driven) 기능별로 등록된 Event Listener Non-Blocking I/O Non-Blocking : 비동기적 처리의 태스크들을 호출 스택에서 태스크 큐로 보내거나 태스크 큐로 부터 이벤트 루프를 통해 다시 스택으로 가져오는 I/O 형태 하나의 Thread가 Request를 받으면 다음 처리에 요청을 보내..
-
[Network] TCP/IP란?Network 2020. 8. 14. 10:10
TCP(Transmission Control Protocol) 두 호스트가 교환하는 데이터와 승인 메시지의 형식을 정의, 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 통신 규약 데이터 패킷에 일련의 번호를 부여함으로써, 데이터의 손실을 찾아서 교정하고 순서를 재조합하여 클라이언트에게 전달 신뢰성이 높음 IP(Internet Protocol) 4바이트로 이루어진 주소(e.g 192.169.0.1) TCP와 달리 데이터의 재조합이나 손실여부의 확인이 불가능하고, 데이터의 전달만 담당 TCP/IP란? TCP규약과 IP규약을 합친 웹에서 사용하는 통신 규약 Applicaion Layer HTTP, FTP, Telnet, SMTP 등 네트워크를 사용하는 응용프로그램으로 이루어짐 Transpor..
-
[Data Structure] 그래프(Graph)와 트리(Tree)Data Structure 2020. 8. 13. 08:56
Graph란? Node와 Node를 연결하는 Edge를 하나로 모아 놓은 비선형 자료구조 연결되어 있는 객체 간의 관계를 표현할 수 있는 자료구조로 네트워크 모델 방향성에 따라 Undirected Graph와 Directed Graph로 나누어짐 Undirected Graph 간선을 통해 양방향으로 진행 노드A와 노드B를 연결하는 간선이 존재하면 (A, B)로 표현 Directed Graph Edge에 방향성이 존재 A -> B이면 로 표현 와 는 다름 가중치 그래프(Weighted Graph) Edge에 비용이나 가중치가 할당된 그래프로 네트워크라고도함 Graph의 특징 그래프는 네트워크 모델 2개 이상의 경로가 존재 할 수 있음 root node가 존재하지 않음 부모-자식 관계가 존재하지 않음 순회는..