본문 바로가기

Programming

(477)
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 6 [dns] 이번 아티클에서는 dns 모듈에 대해서 살펴보겠습니다. 말 그대로 DNS를 다루는 경우에 사용하는데요, 주로 도메인 정보를 이용해 IP 혹은 DNS 정보를 얻고자 할 때 사용합니다. 아래 예제에서는 async/await가 다시 등장하니, 해당 개념도 참고 삼아 리뷰하고 오시기 바랍니다. 2. Javascript ES2015 (7) - async/awiat [1/2] async/await는 노드 7.6 버전부터(ES2017) 추가된 기능입니다. 노드와 같이 비동기 중심의 코드를 작성하는 데 있어서 코드를 간소화하는데 큰 도움을 주는 문법이죠. 우선은 기본적으로 프로미스를 nozeroslope.tistory.com import dns from 'dns/promises'; const ip = await dns..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 5 [url 2/2] 이번에는 앞선 예제에서 search 부분을 집중적으로 살펴보도록 하겠습니다. 4. Node 기능 살펴보기 (4) - 노드 내장 모듈 5 [url 1/2] ○ url url은, 예상했다시피 인터넷 주소 사용을 도와주는 모듈입니다. url 처리 방식도 여러 가지가 있는데, 현재는 노드 7에서 추가된 WHATWG(단체명) 방식의 url을 사용합니다. 이전부터 사용하던 nozeroslope.tistory.com require('url'); // 생략 가능 const { URL } = url; // 생략 가능 const myURL = new URL('http://www.example.co.kr/audio/movieList.aspx?sercate1=001001000#anchor'); console.log('new ..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 5 [url 1/2] ○ url url은, 예상했다시피 인터넷 주소 사용을 도와주는 모듈입니다. url 처리 방식도 여러 가지가 있는데, 현재는 노드 7에서 추가된 WHATWG(단체명) 방식의 url을 사용합니다. 이전부터 사용하던 방식도 존재하지만, 현재는 WHATWG 방식만을 사용한다고 생각하시면 됩니다. 이는 브라우저에서도 사용하는 방식이어서 호환성 이슈도 없습니다. 일단, 아래 그림과 같이 WHATWG와 노드의 주소 체계 구조를 살펴보겠습니다. 우리가 흔히 알고 있는 url 주소가 WHATWG에서 어떤 범위로 구분되는지를 이해하면 됩니다. 조금 복잡해보이긴 합니다. 그럼 아래와 같이 코드 상에서 이 URL 객체를 출력해 보도록 하겠습니다. 참고로 아래 코드에서 URL은 노드 내장 객체이기 때문에 require가 필수적..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 4 앞선 아티클에서 path에 대해서 살펴보았는데, 다 언급하지 못한 내용들이 있어 보충하는 차원에서 좀 더 알아보겠습니다. 4. Node 기능 살펴보기 (4) - 노드 내장 모듈 3 앞선 아티클에서 path 모듈에 대한 기본적인 내용을 살펴보았습니다. 앞의 내용을 바탕으로 path 모듈에서 사용하는 세부적인 구분자와 명령어들을 살펴보도록 하겠습니다. 4. Node 기능 살펴보기 ( nozeroslope.tistory.com ※ ' \\ '와 ' \ '를 사용하는 경우 콘솔에서 출력되는 결과를 보면 \\와 \가 혼용되는 경우가 있습니다. 기본적으로는 당연히 경로를 표시할 때 \ 하나를 사용하는 것이 정석입니다. 다만, Javascript에서 ' \ '는 특수 문자이기 때문에 \\를 사용하는 경우가 생기는 것..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 3 앞선 아티클에서 path 모듈에 대한 기본적인 내용을 살펴보았습니다. 앞의 내용을 바탕으로 path 모듈에서 사용하는 세부적인 구분자와 명령어들을 살펴보도록 하겠습니다. 4. Node 기능 살펴보기 (4) - 노드 내장 모듈 2 ○ path path 모듈은 폴더, 파일 경로를 다루는 데 사용하는 모듈입니다. 경로에서 파일 이름 또는 확장자만 따로 분리해서 사용할 수 있게 해주는 등의 기능을 갖고 있기 때문에, 상황에 따라서 유 nozeroslope.tistory.com const path = require('path'); const string = __filename; console.log('path.sep:', path.sep); console.log('path.delimiter:', path.deli..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 2 ○ path path 모듈은 폴더, 파일 경로를 다루는 데 사용하는 모듈입니다. 경로에서 파일 이름 또는 확장자만 따로 분리해서 사용할 수 있게 해주는 등의 기능을 갖고 있기 때문에, 상황에 따라서 유용하게 사용할 수 있습니다. 특히, 사소한 것 같지만 OS에 따라서 경로 구분자가 다르다는 점도 path 모듈의 필요성을 만드는데 일조합니다. 윈도 타입일 경우 우리가 잘 아는 ' \ '가 사용되지만, POSIX 타입 - 즉 유닉스 기반의 운영체제인 맥과 리눅스의 경우 ' / '가 사용됩니다. 이번에도 역시 아래와 같이 예제를 살펴보고, 결과를 보겠습니다. 각 함수에 대한 자세한 설명은 다음 아티클에서 계속 진행하겠습니다. const path = require('path'); const string = __..
4. Node 기능 살펴보기 (4) - 노드 내장 모듈 1 내장 객체와 비슷한 방식으로, 노드는 브라우저에서의 Javascript보다 더 많은 기능을 제공합니다. 물론 노드 버전에 따라서 모듈(파일 레벨)의 기능은 차이가 있지만, 가장 안정적인 내용을 위주로 살펴보겠습니다. ○ os os 모듈은 말 그대로 운영체제의 정보를 가져옵니다. require('os') 또는 require('node:os')로 모듈 로드가 가능한데요, 실제 파일이 존재하는 것은 아니지만 노드가 자동으로 해당 모듈을 인식하게 됩니다. 다음 예제를 보겠습니다. const os = require('os'); console.log('os.arch():', os.arch()); console.log('os.platform():', os. platform()); console.log('os.type..
4. Node 기능 살펴보기 (3) - 노드 내장 객체 : 기타 지금까지 아티클에서 언급되지 않은 내장 객체들에 대해서도 간단하게 살펴보겠습니다. 대표적인 예로, fetch를 들 수 있겠네요. fetch도 브라우저에서 사용하던 객체였는데 노드에서도 사용할 수 있게 동일하게 생성되었습니다. 기본적으로 fetch는 네트워크를 통해 리소스를 가져오는 기능을 담당하는 함수입니다. 이 함수는 주로 웹 서버에서 데이터를 가져와서 웹 페이지에 보여주는 데 사용되죠. fetch를 사용하면 웹사이트에서 다른 웹사이트의 데이터를 가져올 수 있는 것이죠. 이를 통해 API를 호출하거나 원격 서버에 요청을 보내는 등의 작업을 할 수 있습니다. 아래의 예제는 https://www.example.com/image.jpg 이미지를 가져와서 화면에 표시하는 예제입니다. 먼저 fetch를 사용하여..