전체 글
-
2020/11/17 - TIL(Express Module)Develop/Node.js 2020. 11. 17. 21:36
Express란? Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크입니다. 1. 설치하기 npm을 사용하여 express를 설치합니다. $ npm install express --save 2.Express 서버 생성하기 const express = require('express'); const app = express(); const server = app.listen(3000,function(){ console.log('Express server has stared on port 3000') }) 3. 라우팅 라우팅은 애플리케이션의 엔트 포인트(URI)의 정의, 클라이언트 요청의 메소드에 따라 응답하는 방식을 말합니..
-
2020/11/16 - TIL(Common JS - require/exports)Develop/Node.js 2020. 11. 16. 20:47
Common Js란 CommonJS는 2009년에 만들어진 표준으로, 자바스크립트를 모듈화 하기 위한 일종의 규칙힙니다. Node.js는 모듈 시스템의 표준인 CommonJS를 채택하였고 기본적으로 CommonJS방식을 따르고 있습니다. Node.js Module Node.js는 module 단위로 각 기능을 분할할 수 있습니다. module은 파일과 1대 1의 대응 관계를 가지며 하나의 module은 자신만의 독립적인 실행 영역(Scope)을 가지게 됩니다. module은 module.exports 또는 export 객체를 통하여 정의하고 외부로 공개합니다. 그리고 공개된 module은 require함수를 통해 임포트 합니다. exports 모듈 안에 선언한 항목을 외부에 공개하여 다른 모듈들이 사용할..
-
2020/11/13 - TIL (node.js / HTTP Module Post요청)Develop/Node.js 2020. 11. 14. 00:47
node.js HTTP Module http 모듈은 노드에서 가장 기본적인 웹 모듈이며 http 웹 서버뿐만 아니라 클라이언트를 생성하는 것과 관련된 모든 기능을 담당하는 모듈입니다. node.js에는 http라는 내장 모듈이 있어 node.js가 HTTP를 통하여 데이터를 전송할 수 있습니다. require('http') 사용 const http = require('http'); Create Server 모든 웹 서버 어플리케이션은 createServer 메소드를 사용하여 서버 객체를 생성합니다. 서버가 실행된 후의 동작을 콜백함수로 등록합니다. 콜백 함수 안에는 request, response가 인자로 들어갑니다. listen메소드를 사용하여 포트에 연결합니다. const http = require(..
-
2020/11/12 - TIL(Web Architecture)Develop/TIL 2020. 11. 12. 21:43
Web Architecture Browser Server API HTTP Ajax 브라우저의 주요 기능 브라우저는 클라이언트/서버 모델로써 클라이언트는 웹 서버에 접속하고 정보를 요청하는 컴퓨터를 운영합니다. 웹 서버는 해당 정보를 HTTP를 따라 웹 브라우저에 전송하며, 웹 브라우저는 해당 결과를 표시합니다. 브라우저는 서버로부터 데이터를 전송받고, 렌더링 엔진을 이용해 이를 텍스트 및 이미지 등으로 변환합니다. 해당 데이터는 HTML 코드로 작성되어 있으며, 브라우저는 이러한 HTML 코드를 읽고 최종 화면을 사용자에게 보여주는 일을 수행합니다. Server 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 또는 프로그램을 말합니다. 작동원리 서버는 리소스 요청과 응답에 대한 처리..
-
2020/11/10 - TIL(비동기 처리 : async/await)Develop/JavaScript 2020. 11. 10. 21:23
async & await async & await 문법은 ES8부터 도입된 가장 최근에 나온 비동기 처리 패턴입니다. 기존의 비동기 처리 방식은 callback과 promise의 단점을 보완하고 가독성이 높은 코드를 작성할 수 있도록 도와줍니다. async function async function foo(){ return 1; } 함수의 앞에 async라는 예약어를 선언하게 되면 해당 함수는 Promise를 반환합니다. Promise가 아닌 값을 반환하더라도 이행 상태(fullfilled)의 Promise로 값을 감싸 이행된 Promise가 반환되도록 합니다. async function foo(){ return 1; } foo() .then(response => { console.log(response..
-
2020/11/10 - TIL(비동기 처리 : Promise)Develop/JavaScript 2020. 11. 10. 19:40
비동기( Asnchronous) 처리란? 한 가지의 요청이 처리되는 동안 다른 요청도 처리되는 방식으로 요청이 완료되지 않아도 다음 처리가 진행되는 것을 의미합니다. CallBack callback은 어떤 함수에서 인자로 받아들인 함수를 함수 내에서 다시 호출하는 기능을 callback이라고 합니다. function add10(num, callback){ setTimeout(() => { callback(num + 10) }, 1000); } add10(10, function(response){ console.log(response); // 20 }) Callback Hell callback은 연속적으로 사용하게 되면 가독성이 떨어지게 되어 유지보수가 힘들어진다는 단점이 있습니다. add10(10, re..
-
2020/11/06 - TIL(알고리즘 - BubbleSort)Develop/Algorithm 2020. 11. 6. 13:30
BubbleSort(버블 정렬)란? 인접한 두 항목의 값을 비교해서 일정한 기준을 만족하면 서로 값의 위치를 변경하여 정렬하는 방식입니다. 오름차순 정렬은 두 항목의 값을 비교하여 앞에 있는 값이 더 크다면 두 항목의 위치를 변경합니다. 장점 : 두 개의 항목을 비교하는 방식으로 정렬하기에 개념이 단순하어 구현이 간단하다. 단점: 비교 작업이 많으면 많아질수록 연산 시간이 오래 걸린다. 버블 정렬은 첫 번째 값과 두 번째 값 , 두 번째 값과 세 번째 값 , 세 번째 값과 네 번째 값 이런 패턴으로 마지막까지 값을 비교하여 값의 위치를 바꾸며 정렬합니다. 1회 반복하게 되면 가장 큰 값은 마지막 자리에 위치하게 되고, 다시 배열의 첫 요소 부터 지금까지의 정렬된 배열의 모든 요소가 크기 순서대로 정렬될 ..
-
2020/11/04 - TIL(BackTracking)Develop/Algorithm 2020. 11. 4. 19:07
백트래킹 모든 경우의 수를 전부 고려하는 알고리즘이다. 단 조건에 만족할 때만. 일종의 트리 탐색 알고리즘 탐색하는 과정에서, 유망(promising)하지 않은 노드를 생략하고 이전 단계로 돌아가 다른 후보해를 찾는 알고리즘. *해 : 노드의 유망성 가지치기(Pruning) : 불필요한 탐색 부분을 제거하는 방법 트리 구조에서 나무 가지를 치듯 가능성이 없는 부분을 제거 함 일반적으로 DFS(깊이 우선 탐색)을 통하여 구현함 BFS(너비 우선 탐색)의 경우 상대적으로 많은 메모리가 필요함 N-Queens에서 백트래킹 N-Queens는 N * N 체스판에 N개의 Queen을 놓아야 하는 문제입니다. Queen은 동서남북 대각선으로 이동을 해야 하고, 충돌이 발생하는 위치를 피해서 Queen을 놓아야 합니다..