개발언어
-
NodeJS File async와 asynchronous 그리고 promise개발언어/Node.js 2022. 7. 28. 15:12
File NodeJS에서 file을 읽고 쓰고, 이름을 변경하고 등등의 일을 할 수 있는 모듈이다. 'fs' 모듈의 공식문서(명세)를 읽어보면, 사용할 수 있는 함수에 대해서 알아 볼 수 있다. 그리고 Dir에 관련된 class에는 어떤 내용이 있는지 FSWatcher 인터페이스에는 어떤 내용이 있는지 등등 'fs'모듈에 대한 모든 자세한 정보를 알 수 있다. 결론적으로 'fs'안에도 다양한 class들이 포함되어 있다는 것을 알 수 있다. 또한 'fs'모듈은 file안에서 기본적으로 할 수 있는 모든 동작들 제공해준다. 💫유의 사항 모든 API는 3가지 형태로 제공이되어 진다. 1.rename(.....,callback(error,data)) rename이라는 형태로 제공이 되고 rename()이라는 ..
-
NodeJS Path 그리고 유의할 점개발언어/Node.js 2022. 7. 27. 20:49
Path NodeJS는 컴퓨터 위에서 동작하기 때문에 file system에 접근하기가 정말 좋다. 그럴 때 사용할 수 있는 것이 path이다. path라는 것은 말 그대로 경로를 의미한다. 그래서 file의 경로에 접근하거나 경로에 대해서 무언가 처리 해야 할때 유용하게 쓸 수 있는 module이다. 경로를 표현하는 방법은 운영체제마다 달라 질 수 있는데 log를 이용해서 global 객체에 있는 __dirname과 global에 있는 __filename 이용해서 현재 디렉토리 경로와 file 경로를 출력 할 수있다. 운영체제 마다 file에 접근하는 경로가 다르므로 어떤 file에 접근할 때 현재 사용하는 컴퓨터에 있는 그대로의 경로를 적으면 안된다. *__dirname : global 객체에 있는 ..
-
NodeJS Timer와 Call Stack의 연관개발언어/Node.js 2022. 7. 9. 17:27
Timer timer는 Call Stack과 Task Queue를 넘 나들 수 있다. timer는 global객체에 정의 되어 있기 때문에 따로 import를 하지는 않아도 괜찮다. setInterval()이라는 함수를 이용해서 일정한 간격별로 특정한 일을 수행할 수 있도록 한다. 즉 setInterval()에 전달하는 callback함수는 1초단위로 수행이된다. 실행 결과를 보면 1초단위로 숫자가 끊임없이 증가하여 출력되는 것을 확인 할 수있다. serInterval()함수는 따로 중지 하지 않는 이상 계속 수행이 되므로 이것을 취소 할 수 있어야 한다. 취소하기 위해서는 interval이라는 함수는 인자로 callback함수와 ms를 전달하면, Timer이라는 것을 전달해 준다. 이 Timer 객체를..
-
NodeJS Process 정보개발언어/Node.js 2022. 7. 9. 16:09
Process Node프로그램이 동작하고 있는 프로세스에 대한 정보를 가져오는 것 process의 정의부를 확인해보면, global객체 역시 process안에 정의 되어 있는 것을 확인할 수 있다. 그 이후에 쭉내리면, interface Process에서 Process에서 사용가능한 것들을 확인해 볼 수 있다. openStdin(): Socket; socket을 연다. abort(): never; chdir(directory: stirng): void; cwd(): string; 현재 경로를 출력한다. getgid(): number; setgid(id: number | string): void; getuid(): number; setuid(id: number | string): void; 프로세스 관련 ..
-
Node.js-Event-Driven개발언어/Node.js 2022. 7. 9. 15:42
Event-Driven NodeJs Runtime환경에 작성한 SourceCode를 동작하게하면, 실제로는 NodeJsApp형태로 App레벨에서 동작하게 된다. App안에는 동적으로 생성한 data를 보관하는 Memory Heap이라는 곳이 있고, 또 작성한 code의 함수의 순서를 정확하게 기억하는 CallStack이 있다. CallStack은 main()이라는 함수를 처음으로 호출하고, main()함수를 수행하다가 main()안에서 중간에 first()를 호출하고 또 first()를 수행하다가 중간에 second()를 호출하면, 순서대로 Call Stack이 쌓이게 되고, second() 끝나면 다시 first()에서 second() 호출한 시점으로 돌아간다. second()함수에서 return한 값..
-
NodeJS 4가지 특징개발언어/Node.js 2022. 7. 9. 15:38
1. JavaScript Runtime EcmaScript 표준과 WebAssembly를 구현한 V8(c++)이라는 chome brower에서 사용하고 있는 강력한 JavaScript Engine은 c++로 작성이 되어 있고 open source 프로젝트이다. JavaScript Runtime Enviroment이기 때문에 NodeJS JavaScript 언어를 사용할 수 있다. 2. Single Thread NodeJS에서 동작하는 App은 Single Thread이다. Thread/Process 운영체제(Operation System)에서 여러가지 프로그을 동시에 실행하게 되면 각각 프로그램마다 프로세스가 할당이 된다. 즉 프로세스가 프로그램이라고 봐도 무방하다. 프로세스가 병렬적으로 실행되는 것처럼..
-
NodeJS 운영체제 정보개발언어/Node.js 2022. 7. 8. 17:47
OS Module npm init으로 package.json에 일일이 "type" : module을 설정하는 것은 번거로움으로 실습화경에서는 NodeJS의 module을 사용한다. os module에 정의부를 열어 보면 많은 정보들이 들어가 있는 것을 확인 할 수 있다. 운영체제마다 새로 줄 바꿈을 할때 들어가는 문자열이 달라지는 경우가 있다. OS module에 다양한 정보 server가 동작하고 있는 운영체제에 다양한 정보를 얻어 올 때 os module을 사용할 수 있다. [출처 - https://academy.dream-coding.com/courses/node-tdd]
-
NodeJS 최신 Module(export/import)개발언어/Node.js 2022. 7. 8. 17:20
cd 5-module npm init --yes package.json에 "type" 속성을 넣어서 common(node)JS가 아니라 JS자체적으로 제공하는 module을 사용할 것이라는 것을 명시해 줄 수 있다. export 이제는 4-module/counter.js에서 사용했던 module.export를 사용하는 것이 아니라 export하고자 하는 곳에 가서 함수 앞에 export 키워드를 입력해주면 된다. import import 키워드를 사용해서 함수들을 import하고 연이어 from 뒤에 해당하는 module의 경로를 적어 줌으로 써 import 해 줄 수 있다. 그럼 더이상 함수를 counter.increse()와 같은 형태로 가져오지 않고 바로 함수를 가져올 수 있다. import * a..