Javascript 49

[ Node.js ] - axios와 node-fetch로 통신하기

Axios 공식 문서에 따르면 axios는 node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트 라이브러리이다. 특징 브라우저에서는 XMLHttpRequest 객체, 서버측에서는 http 모듈을 사용한다. promise API를 지원한다. npm install axios 사용법 모듈을 불러와 정의한다. import axios from 'axios'; // const axios = require('axios'); config 설정 const AUTH_TOKEN = process.env.AUTHTOKEN // 전역 AXIOS 기본값 설정 axios.defaults.baseURL = 'https://api.example.com'; axios.defaults.headers.common['Aut..

Javascript/Node.js 2022.06.02

[ Javascript ] - Promise란?

HTML 삽입 미리보기할 수 없는 소스 프로미스는 자바스크립트의 비동기 처리에 사용되는 객체로, 작업의 순서에 따른 실행을 가능케 합니다. 예를 들어 서버를 통해서 데이터를 받아 그 값을 반환하는 식의 작업인 경우, 비동기 처리 방식인 자바스크립트의 특성상 서버로부터 값을 받기 전에 값을 반환하여 문제가 발생할 수 있습니다. 이러한 상황에서 프로미스 객체를 사용하여 서버로부터 값을 받은 후에 다음 작업이 실행되도록하여 작업의 순서를 보장할 수 있습니다. * 비동기 처리 : 특정 코드의 실행이 완료될 때까지 기다리지 않고, 다음 코드를 실행하여 작업이 완료되는 순서대로 결과물을 출력하는 것. function delay(sec, callback) { setTimeout(() => { callback(new ..

Javascript/etc 2022.05.26

[ Javascript ] - 비동기 처리?

자바스크립트는 기본적으로 한 번에 여러 작업에 대한 처리가 가능한 비동기 처리 방식을 취하고 있습니다. 자바스크립트의 비동기 처리 방식은 사용자가 페이지 요청시 서버로부터 응답이 올 때까지 기다리지 않고, 서버에 데이터 요청 후 다른 코드를 실행함으로써 페이지를 요청한 사용자에게 보다 빠르게 페이지를 출력하여 보여 줄 수 있습니다. * 비동기 처리 이전 작업의 실행 완료 여부와 상관없이 동시에 여러 작업을 실행하여, 실행이 먼저 완료되는 대로 결과물을 출력한다. 즉 이전의 작업이 완료되기 전에 다른 작업을 실행한다. * 동기 처리 작업의 우선 순서에 따라 작업이 실행되며, 이전 작업이 완료될 때까지 다른 작업은 대기 상태가 되었다가 이전의 작업이 모두 완료된 후 순서에 따라 다음 작업이 실행되는 것이다...

Javascript/etc 2022.05.26

[ Javascript ] - 기본 함수

1. concat( ) 여러 배열을 합쳐서 새로운 배열을 반환해주는 함수이다. const arr1 = ["a", "b", "c"]; const arr2 = ["d", "e", "f"]; const arr3 = arr1.concat(arr2, 'g'); console.log(arr3); // [ 'a', 'b', 'c', 'd', 'e', 'f', 'g' ] const str1 = 'hello'; const str2 = 'world'; console.log(str1.concat(" ",str2)); // 이와 같이 string을 붙이는 것도 가능하다. 2. push( ) 배열의 끝에 새로운 요소를 추가하고, 요소가 추가된 전체 배열을 반환한다. const arr1 = ['apple', 'mango']; c..

Javascript/etc 2022.05.22

[ 자바스크립트 ] - some ( )

/* arr.some(조건[currentValue, index, array]) ================================================== index와 array는 optional */ const array = [1,2,3,4,5]; const even = (ele) => ele % 2 === 0; console.log(array.some(even)); // true 출력 // 배열 요소 중 하나라도 해당 조건을 충족하면 true 출력 const array2 = [1,3,5,7,9]; const even2 = (ele) => ele % 2 === 0; console.log(array2.some(even2)); // false 출력 // 배열 중 모든 요소가 조건을 충족하지 ..

Javascript/etc 2022.05.17

[ Node.js ] - swagger-ui

swagger API 관리 도구로써 개발자가 rest api 명세를 쉽게 문서화할 수 있도록 도와주는 도구. swagger-ui restapi를 html로 구현하여 보여줌. swagger-ui 세팅 > npm install swagger-ui-express --save-dev > npm install swagger-jsdoc --save-dev - servers의 url에는 작성된 스웨거 문서를 통해 테스트로 보낼 ip 주소를 적는다. - apis는 swagger를 작성한 파일 위치에 대한 정보를 제공하는 곳이다. apis에 작성된 경로를 읽어서 해당 경로에 위치한 파일에 작성된 스웨거 문서를 읽는다. 아래의 코드는 타입스크립트로 작성되어 빌드 후 스웨거 문서가 존재하는 build폴더에 컴파일된 js파일..

Javascript/Node.js 2022.04.05

[ Node.js] - prisma

prisma 사용하기 아래의 명령어를 터미널에 입력한다. > npm install prisma --save -dev > npx prisma init npx prisma init 명령어를 통해 prisma 사용을 위한 기본 구조가 생성된다. 위와 같은 폴더트리가 생성된다. .env 파일의 내용을 수정해야 한다. 아래는 mysql 인 경우이다. DATABASE_URL="mysql://root:mysql비밀번호@localhost:3306/prisma1" // ex) mysql 비밀번호가 root이면 // DATABASE_URL="mysql://root:root@localhost:3306/prisma1" // DATABASE_URL="mysql://user:mysql비밀번호@localhost:mysql설정된po..

Javascript/Node.js 2022.04.05

[ Node.js ] - express-session

🐥 환경 ▷ Typescript ▷ store는 prisma 사용 // @quixo3/prisma-session-store 🐥 npm 설치 목록 ‣ npm install express ‣ npm install express-session ‣ npm install prisma ‣ npm install @prisma/client ‣ npm install @quixo3/prisma-session-store ‣ npm install @tpyes/express --save-dev ‣ npm install @typex/express-session --save-dev 🐥 server 세팅 🐥 schema.prisma 파일에 session 테이블 생성 🐥 실사용 🐥 express-session 타입 관련 에러 나는 경..

Javascript/Node.js 2022.04.05