[node.js] node.js는 왜 써야할까?
2022. 6. 20. 19:25
개발/Javascript
자바스크립트 코드는 브라우저 내장 자바스크립트 엔진을 이용하여 실행. 이전의 자바스크립트는 html안에서 인터렉션만 할 수 있던 언어였다. 브라우저 안에서만 사용할 수 있던 언어를 크롬이 자바스크립트를 사용할 때 사용했던 v8엔진을 브라우저에서 독립시켜 자바스크립트를 브라우저가아닌 다른곳에서도 사용할 수 있게 만들었다. 그때 만들어진 자바스크립트 실행환경(Javascript's Runtime)이 node.js 브라우저에서 벗어나 카카오톡, 파워포인트 등의 PC프로그램 및 웹 서버까지 만들 수 있게되었다. 앞으로 배우게 될 리액트도 node.js기반으로 웹서버를 만들기 때문에 더더욱 필요하다! 참고 - 한입 크기로 잘라 먹는 리액트 by winterlood
[Javascript] API & fetch
2022. 6. 16. 21:13
개발/Javascript
API(Application Programming Interface; 응용 프로그래밍 인터페이스) 응용프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스. 파일제어, 창 제어, 화상처리, 문자 제어 등을 위한 인터페이스 제공. 소프트웨어 프로그램(애플리케이션) 내부에 존재하는 기능 및 규칙의 집합. 레스토랑 주문과정 을 통해 웹 사이트를 통해서 서버에 데이터를 요청하고 응답받는 방식을 이해 client 웹브라우저로 정보 요청 → 요청되어있는 주문 전달 → 데이터가 보관되어있음 웹브라우저와 서버의 연결다리 로 생각하면 편하다. 다른데이터를 받기위해 서버에 요청을 한다. API호출 : 요청데이터를 받환받기위함, 다만 함수와 다른점은 어느시점에 받을 지 모른며, 클라이언트..
[Javascript] async function & await
2022. 6. 15. 19:50
개발/Javascript
async 함수 : asyncFunction 객체를 반환하는 비동기 함수, 암시적으로 Promise를 반환한다 함수에 async를 붙인 경우에는 출력시 promise를 리턴하는 비동기처리 함수로 변화한다 // async function async function helloAsync() { return "hello Async"; } helloAsync().then((res) => { console.log(res); }); async 를 붙이고 리턴하게되면 promise를 리턴하며, resolve 값으로 "hello Async"가 출력된다 //ms를 받아서 ms만큼 대기했다가 끝나기 function delay(ms) { return new Promise((resolve) => { setTimeout(reso..
[Javascript] Promise
2022. 6. 14. 22:01
개발/Javascript
Promise : 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냄. 비동기 연산 종료 이후 결과값과 실패사유를 처리하기 위한 처리기를 연결한다 콜백을 이용한 isPositive처리 function isPositive(number, resolve, reject) { setTimeout(() => { if (typeof number === "number") { //성공 -> resolve resolve(number >= 0 ? "양수" : "음수"); } else { //실패 -> reject reject("주어진 값이 숫자형 값이 아닙니다"); } }, 2000); } isPositive( 4, (res) => { console.log("성공", res); }, (err) => { co..
[Javascript] 동기(synchronous) vs 비동기(asynchronous)
2022. 6. 13. 21:38
개발/Javascript
자바스크립트 싱글 스레드 작업 수행방식 - 싱글 스레드 : 한 번에 한 작업만, 하나의 main thread에서 처리되며 다른작업은 앞선 작업이 끝나야 수행된다. - 동기방식 : 코드가 작성된 순서대로 처리하며 이전 작업이 진행 중일때는 다음 작업을 수행하지않고 대기한다. - 비동기 방식 : 여러 개의 작업을 동시에 실행시킴. (callback, promise를 사용하여 처리) 앞선 이유들로인해(e.g. related to blocking) 많은 웹 API기능은 현재 비동기 코드를 사용하여 실행되고있다. 동기 방식 알게 모르게 사용해왔던 동기적 방식. taskA()가 작업이 완료되기 전까지는 console.log("코드 끝")이 실행되지 않는다. 비동기 방식 function taskAsync() { se..