js7 HTTP Method를 활용한 요청 및 응답 HTTP Method에는 여러가지가 있지만, 가장 많이 사용하는 것은 아래 네가지이다. get : 요청 받은 정보를 검색(read)하여 응답 post : 요청된 자원을 생성(create) put : 요청된 자원을 수정(update) delete : 요청된 자원을 삭제(delete) 라우팅 라우팅은 클라이언트의 요청에 맞게 분기처리해서 응답하도록 하는 것을 의미한다. routes/index.js var express = require('express'); var router = express.Router(); // post method let arr = []; router.post('/create', (req, res) => { const data = req.body.data // body의 raw jso.. 2022. 1. 1. NPM 패키지 설치와 Express, Nodemon NPM(Node package manager)은 이름에서 알 수 있듯이, Node.js 개발의 편의를 위해 다양한 모듈들을 모아둔 패키지이다. 대부분의 Node.js 백엔드 개발자들인 이 NPM 패키지를 설치해서 사용하고 있다. 설치 우선 NPM을 설치하기 위한 임의의 폴더 하나를 생성한다. 터미널 창에서 아래의 코드를 입력한다. npm init 설치가 끝나면 package.json이라는 파일이 생성된 것을 볼 수 있다. 설치 과정 중 터미널에서 name을 비롯한 몇 가지를 물어보는데 입력하지 않고 엔터를 쳐도 무방하다. package.json { "name": "npm-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts".. 2021. 12. 31. Node.js Node.js는 네트워크 어플리케이션을 빌드하는데 서버 구축 등을 도와주는 JavaScript의 런타임 플랫폼이다. 프론트엔드의 대표적 언어인 JavaScript로 백엔드 개발을 할 수 있어서 많은 개발자들이 채택하고 있다고 한다. 이벤트 기반 처리 Node.js를 공부하기에 앞서, 이벤트 기반의 처리 순서에 대해 간단히 익혀본다. 여러 이벤트들이 실행될 순서대로 호출 Stack에 쌓여 있다. 필요하다면 Background로 이벤트가 이동한다. (예를 들어 setTime 함수) Background에서 작업이 완료되면, Task que로 이동한다. 호출 Stackd에 있던 이벤트들이 모두 완료되면, Event loop가 Task que 작업들을 호출 Stack으로 이동시킨다. 블로킹 I/O와 논블로킹 I/.. 2021. 12. 27. [JS] 최적화 사용자 경험을 향상시키기 위해 최적화는 필수적이다. Make it work, Make it right, Make it fast - Kent Beck - 성능 향상 실제 사용자가 렌더링된 페이지를 보기까지 간소화시킬 수 있는 모든 과정은 최대한 간소화시키는 것이 중요하다. 우선 초기 구동 시간을 간소화하기 위해 아래의 방법을 사용할 수 있다. 다운로드해야 할 파일의 갯수를 줄이고, 용량을 작게 한다. 예컨대 이미지 스프라이트, 이미지와 폰트의 최적화 등. CSS와 JS 파일은 최소화(minifier)하여 용량을 줄여 사용한다. 프레임워크는 꼭 필요한 것만 사용한다. 반응 시간 향상 사용자의 인터랙티브 경험을 극대화하기 위해선 사용자의 행동에 브라우저가 얼마나 빠르게 렌더링 반응을 보이게 할 지에 대한 개선.. 2021. 12. 21. [JS] 로또 번호 만들기 function randomNum(min, max) { return Math.floor(Math.random()*(max-min) + min) } function LottoMake() { let numArray = [] while (numArray.length a-b) return numArray } console.log(LottoMake()) Math.random() : 0 이상 1 미만의 소수를 무작위로 보여준다 Math.floor() : 버림. 정수 자리만 남기기 위한 방법. 변수.includes() : Array 변수에 파라미터가 포함되어 있는 지 여부를 불리언으로 보여준다. 변수.push() : Array 변수에 파라미터를 추가한다. 2021. 12. 4. [JS] 데이터 형, 연산, 조건문과 반복문 오늘은 멋쟁이사자처럼 프론트엔드스쿨에서 JavaScript의 기초를 배운 두 번째 시간이다. 데이터 형(Type) JS의 모든 값은 7개의 데이터 타입으로 나뉜다. 그 중 6개는 원시 타입(primitive type), 나머지 하나는 객체 타입(object type)으로 분류된다. 타입명 설명 number 숫자 string 문자열 boolean 참/거짓 undefined var로 선언된 변수에 할당되는 암묵적 값 null 값이 없음을 명시적으로 보여주기 위한 값 symbol - 한편 여러 이유로 값의 형 변형을 하게 되는 경우도 있다. parseInt로 string으로 된 숫자를 number로 된 숫자로 바꾼다. parseInt('123', 10) // 123 혹은 부정의 부정은 긍정인 점을 이용하여, .. 2021. 11. 30. [JS] 변수 선언 JavaScript에서 변수를 선언하는 방법은 세 가지가 있다. 1. var 우선 var은 JS 초기에 도입된 변수 선언 방식이나 현재는 쓰이지 않고 있다. 그 이유는 동일 변수를 여러번 재선언하면 그 때마다 다른 값을 출력하는 치명적인 단점을 갖고 있기 때문이다. var byunsu = '천재' console.log(byunsu) // 값 = 천재 var byunsu = '바보' console.log(byunsu) // 값 = 바보 예시에서 보듯, 먼저 byunsu='천재'로 선언했는데 바로 아래에 '바보'라고 재선언했다고 바로 값을 바꿔버린다. 선언 여부와 관계 없이 유연하게 변수 선언을 할 수 있다는 것을 장점이라 볼 수 있겠지만, 코드가 길어지면 그 다음은... (아찔) 2. let var의 치명.. 2021. 11. 27. 이전 1 다음