반응형 Archive188 [10] file file 다루기 node는 OS에서 돌아가는 javascript runtime 입니다. 즉 OS에서 사용하는 file system에도 접근이 가능합니다. 흔히 크롤링,자동화 스크립트들을 할때 python으로 해보신 경험이있나요? 꼭 파이썬만 가능한것은 아닙니다. 저는 개인적으로 js가 편하기 때문에, python문법과 라이브러리가 강력하게 잘되어있지만 js가 더 편하게 느껴집니다! read, write, append, copy 아래 코드는 간단한 Promies 예시입니다. node에서는 file을 다루기위해서 기본적으로 비동기로 처리합니다. 하지만 비동기 처리를 할수있는 방법은 3가지가 있었죠 callback 형태이거나 혹은 promise, Async/Await 입니다. fs모듈의 정의부분을 보시고 편한.. 2022. 3. 29. [9] path 경로관련 문제를 쉽게 해결하자 OS별로 경로를 구분하는 구분자가 다르고, 절대경로,상대경로를 적절히 사용하곤 합니다. 또 현재 실행되고있는 파일의 경로, 혹은 실행되고있는 파일의 상위폴더의 정보를 다루기위해서는 직접 경로를 지정해주어도 되지만, 그렇게 한다면 window, mac, linux 등의 각각의 OS에서 동일한 구분자를 사용하지 않는 문제가 발생합니다 아래의 코드와 주석을 참고하시기 바라겠습니다. const path = require("path"); console.log(__dirname); // /Users/gongtaemin/Documents/노드에대한 모든것/10-path console.log(__filename); // /Users/gongtaemin/Documents.. 2022. 3. 27. [8] timer 와 callstack 의 관계 setTimeout, setInterval 사진에서는 webAPI로 표기되어있습니다. 이번주제의 핵심은 비동기처리입니다. node는 single 쓰레드로 동작하기 때문에, 병렬적인 처리를 하기 위해서는 node API를 사용해야하는데요, window의 경우에는 webAPI 이구요 둘다 같은 V8엔진을 사용하기 때문에, 브라우저에서 돌아가느냐, OS위에서 돌아가느냐의 차이때문에 API가 조금씩 다를 뿐 거의 동일합니다. 그중에 중요한 개념중 하나인 setTimeout, setInterval을 알아봅시다. 두가지는 call Stack에서 호출되는 순간 두번째 인자인 조건을 달성하면, task Queue로 첫번째 인자로 callback 함수를 전달하고, 두번째인자로는 ms 를 전달합니다. ms란 밀리세컨드로,.. 2022. 3. 27. [7] 간단한 ES2015 모듈 시스템 ES2015 모듈 시스템 기존의 commonJS 모듈 시스템은 약간은 문법적으로 복잡하죠? 하지만 그렇다고 구식이라는것은 아닙니다. 거듭할수록 새로운 문법과 모듈 라이브러리들은 계속 나오니까요! 비교적 가독성도 좋은 (사실 기능도 더 좋긴합니다import 구문을 최상단에 하지 않아도 동작함) ES2015의 새로운 모듈 시스템을 살펴봅시다! npm init 이 모듈 시스템을 사용하려면 npm init을 해주어야합니다. npm init -y 그리고 package.json 파일에서 "type":"module" 을 추가해줍시다 (default : commonJS) { "name": "7-es2015", "version": "1.0.0", "description": "", "main": "a.js", "type".. 2022. 3. 22. [6] node 환경에서의 module 시스템에 대한 모든 이해 node 의 module system 개발을 할때, 한파일에 다 작성하지 않죠? 일반적으로는 비슷한 기능별로 다른 파일로 관리를 합니다. 이를 모듈화 라고하는데요 node환경에서는 모듈을 어떻게 지원하고 있을까요? commonJS 모듈 node 환경에서는 'commonJS' 모듈방식을 지원하고 있습니다. 예시를 통해서 알아보겠습니다 a.js console.log(count) // ReferenceError: count is not defined console.log(getCount()) // ReferenceError: getCount() is not defined b.js let count =0; function getCount(){ return count; } function increase(){ c.. 2022. 3. 22. [5] node에서와 Browser에서의 this this node환경에서와 Browser환경에서의 this 는 다릅니다. 그리고 본래 this는 실행환경(context)에 따라서 참조하는값이 바뀌는데요 우선은 node와 브라우저의 차이에 대해 살펴봅시다 Global 에서의 this 단순히 global 환경에서 this를 출력하면 module.exports 를 가르키고 있습니다. console.log(this) // {} console.log(this === module.exports) //true 함수내에서의 this 함수 내에서 호출하는 this 는 어떻게 될까요? 바로, global과 같습니다. function f1(){ console.log(this) //global console.log(this === global) //true } f1(); .. 2022. 3. 22. 이전 1 ··· 18 19 20 21 22 23 24 ··· 32 다음 반응형