전체 글 75

[Node.js] 미들웨어란?

미들웨어란? - 요청과 응답의 중간에 위치하며 클라이언트에게 요청이 오면 그 요청에 대한 응답을 보내기 위해 중간에서 목적에 맞게 처리를 해주는 함수들이다. - req, res, next를 매개변수로 가지며, app.use나 app.get, app.post 등으로 장착한다. - 에러 처리 미들웨어만 예외적으로 err, req, res, next를 가진다 미들웨어 사용법 - 특정한 주소의 요청에만 미들웨어가 실행되게 하려면 첫 번째 인수로 주소를 넣으면 된다. - 다음 미들웨어로 넘어가려면 next 함수를 호출해야 한다. - next를 호출하지 않는 미들웨어는 res.send나 res.sendFile 등의 메서드로 응답을 보내야 한다. - next도 호출하지 않고, 응답도 보내지 않으면 클라이언트는 하염없..

Etc/Node.js 2023.03.27

[JavaScript] async & await란?

Callback & Promise 1초마다 로그를 출력하는 동일한 내용의 코드를 콜백함수와 프로미스로 구현했다. 프로미스를 사용함으로서 콜백함수가 중첩되는 현상인 '콜백 지옥'로부터 벗어났다. // callback hell timer(1000, function() { console.log("작업"); timer(1000, function() { console.log("작업"); timer(1000, function() { console.log("작업"); }); }); }); // use promise's then timer(1000) .then(function() { console.log("작업"); return timer(1000); // 타이머 실행 후 Promise 객체를 return함 }) .t..

Etc/Frontend 2023.03.23

[JavaScript] 프로미스(Promise)란?

📢 프로미스(Promise)란 실행은 바로 하되, 결괏값은 나중에 받는 객체로 비동기 처리에 사용된다. 프로미스를 배우기 전에 먼저 동기, 비동기에 대해 알아보자 Synchronous와 Asynchronous console.log(1) console.log(2) console.log(3) console.log(4)// 1-> 2 -> 3 -> 4 - 앞 명령이 끝나야 그 다음 명령이 실행되는 걸 "synchronous하다"고 한다. - 어떤 순서로 실행되는지 파악하기 쉽다는 장점이 있으나, 명령 실행에 시간이 더 걸린다는 단점이 있다. console.log(1) console.log(2) setTimeout(function() { console.log(3) }, 5000); console.log(4) /..

Etc/Frontend 2023.03.23

[JavaScript] 콜백 함수(callback function)란?

콜백 함수란? - val는 함수지만 지금 바로 실행되지 않고, fn 함수의 입력값으로 전달돼서 fn 함수에 의해 나중에 호출된다. - 이렇게 다른 함수에 의해 나중에 호출되는 함수를 콜백 함수라고 한다. val = function(🐑) { return 🐈 } function fn(arg) { arg(); } fn(val) 콜백함수 이해하기 콜백함수를 갖는 메소드인 javascript.array.filter()를 통해 콜백함수를 이해해보자 // 함수 구조 arr.filter(callback(element[, index[, array]])[, thisArg]) [ 매개변수 ] - callback : 각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버린다. - element..

Etc/Frontend 2023.03.21

[Node.js] 노드 프로젝트 시작하기

1. $ npm init - 프로젝트를 시작할 폴더로 이동한 후 명령어를 입력한다. - 명령어 입력으로 생성된 package.json 파일에 패키지 설정 정보를 입력한다. - main : 자바스크립트 실행 파일 진입점인 index.js - scripts : start 속성 (nodemon app은 app.js를 nodemon으로 실행한다는 의미다.) * nodemon : 서버 코드에 수정사항이 생길때마다 서버를 자동으로 재시작하는 모듈 { "name": "npmtest", "version": "0.0.1", "description": "hello package.json", "main": "index.js", "scripts": { "start": "nodemon app" }, "author": "jiae..

Etc/Node.js 2023.03.08

[Node.js] 2.2 알아둬야 할 자바스크립트 - 프런트엔드 자바스크립트

예제의 프런트엔드에 사용되는 기능을 설명한다. 1. AJAX - 페이지 전환 없이 서버에 요청을 보내고 응답을 받는 기술이다. - JQuery나 axios 같은 라이브러리를 이용하여 AJAX 요청을 보낼 수 있다. 2. FormData - HTML form 태그의 데이터를 동적으로 제어할 수 있는 기능으로 주로 AJAX와 함께 사용된다. (axios로 폼 데이터를 서버로 보낸다.) - FormData 메서드 - apend : 키-값 형식의 데이터를 저장한다. (키 하나에 여러 개의 값 추가 가능) - has : 주어진 키에 해당하는 값이 있는지 여부를 알린다. - get : 주어진 키에 해당하는 값 하나를 가져온다. - getAll : 주어진 키에 해당하는 모든 값을 가져온다. - delete : 현재 ..

Etc/Node.js 2023.03.08

[Node.js] 2.1 알아둬야 할 자바스크립트 - ES2015+

1. const, let - 공통점 : 블록 스코프를 가진다. (var는 함수 스코프를 가지므로 블록과 상관없이 변수에 접근 가능) - 차이점 : const는 상수로 한 번 값을 할당하면 다른 값을 할당할 수 없다. 따라서 기본적으로 변수 선언할땐 const를 사용하고, 다른 값을 대입해야 하는 상황이 생기면 let을 사용한다. 2. 템플릭 문자열 - 일반 문자열과 달리 따옴표가 아닌 백틱(`)으로 감싼다. - ${변수} 형식으로 변수를 문자열 안에 넣을 수 있다. const num3 = 1; const num4 = 2; const result2 = 3; const string2 = `${num3} 더하기 ${num4}는 '${result2}'` console.log(string2) // 1 더하기 2는..

Etc/Node.js 2023.03.08

[Node.js] 1. 노드 시작하기

📢 본격적으로 실습에 들어가기 전, 노드의 특징에 대해 알아보자 1. 서버로 많이 쓰인다 - 서버란 데이터를 저장하고, 클라이언트에게 데이터를 받아오는 곳을 의미한다. - 요청에 대한 응답만 하는 것이 아닌, 다른 서버에 요청을 할 수도 있다. 2. 자바스크립트 런타임이다 - 런타임이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경을 의미한다. 즉, 노드는 자바스크립트 실행기다. 3. 이벤트 기반 방식으로 동작한다 - 이벤트가 발생시 미리 지정해둔 작업을 수행하는 방식을 이벤트 기반이라고 한다. 이때 작업을 미리 지정하는 걸 '이벤트 리스너에 콜백 함수를 등록한다'고 표현한다. - 예) 버튼을 클릭했을때 경고창을 띄우려면 ① 클릭 이벤트 리스너에 경고창을 띄우는 콜백 함수를 등록한다. ② 클릭 이벤트..

Etc/Node.js 2023.03.08

node.js 프로젝트를 github에 올리기

.gitignore - .gitignore 파일을 생성하여 git에 올리지 않을 파일을 추가한다. - node_modules/는 용량이 크기때문에 git에 올리지 않는다. - git에 올리지 않은 패키지들은 package.json에 모두 명시되어있으므로 새로 소스를 받는 사람은 npm install로 프로젝트에 필요한 파일을 받을 수 있다. git init - 현재 디렉터리 기준으로 git 저장소 생성 및 초기화 git add . - 현재 디렉터리에 있는 모든 파일의 추가,수정된 부분을 Staging area에 추가한다. - unstage하려면 git restore --staged 한다. * [warning: LF will be replaced by CRLF in .gitignore. The file w..

Etc/Github 2023.03.08

7장 시계열 분석(4) - 게이트 순환 신경망(GRU)

7.6 게이트 순환 신경망(GRU) GRU란? - 게이트 매커니즘이 적용된 RNN 프레임워크의 한 종류 - LSTM보다 간단한 구조 7.6.1 GRU 구조 GRU 구조 = LSTM에서 사용하는 망각 게이트와 입력 게이트를 하나로 합침 + 업데이트 게이트 특징 · 하나의 게이트 컨트롤러가 망각 게이트와 입력 게이트를 모두 제어함 - 게이트 컨트롤러가 1을 출력 → 망각 게이트 open, 입력 게이트 close - 게이트 컨트롤러가 0을 출력 → 망각 게이트 close, 입력 게이트 open ⇒ 이전 기억이 저장될 때마다, 단계별 입력은 삭제됨 //망각 게이트 open = 직전 기억을 메모리에 저장 //입력 게이트 open = 현재 메모리에 새로운 정보를 반영함 · 출력 게이트가 없음 → 전체 상태 벡터가 ..

Etc/Deep Learning 2021.08.25