본문 바로가기

Dev/Nodejs23

[Node.js] Array.from() Array.from() 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만든다.  유사 배열 객체 배열처럼 보이지만 사실 key가 숫자이고 length 값을 가지고 있는 객체{} 얕은 복사 1depth까지만 완전히 복사 Array.from("foo");// [ "f", "o", "o" ]const set = new Set(["foo", "bar", "baz", "foo"]);Array.from(set);// [ "foo", "bar", "baz" ]Array.from([1, 2, 3], (x) => x + x);// [2, 4, 6]  숫자 시퀀스 생성하기Array.from({ length: 5 }, (v, i) =.. 2024. 9. 13.
[Node.js] process.env.PORT 포트를 설정할 때 다음과 같이 직접 입력할 수 있다.const port = 5000;  하지만 위 방식을 권장하지 않는다.특정 서비스(aws 등)에 배포하는 경우 해당 플랫폼에서 포트를 동적으로 알아서 지정할 수 있기 때문이다. 예를 들어 AWS Elastic Beanstalk으로 배포하는 경우 정적으로 3000 포트를 설정해 놓으면, 아마존이 포트를 구성해 놓고 있기에 500 에러가 발생한다.   process.env.PORT process.envNodejs 앱이 동작할 리눅스/유닉스 시스템의 환경변수를 이용하는 것이다. 환경변수 정보를 가지고 있는 env 객체의 속성 중에서 PORT 속성은 동적으로 할당되는 포트를 저장하기 때문에, 플랫폼에서 동적으로 포트를 지정하더라도 문제없이 할당 받을 수 있게 .. 2024. 9. 10.
[Nodejs] API [생활코딩] API - Nodejs개발자는 파일을 읽을 땐 readFile함수라는 조작장치를 사용하라고 매뉴얼을 만듦 - 조작장치를 Interface라고 함 API (Application Programming Interface) - Application을 Programming하기 위한 Interface - 어떤 프로그래밍 언어든 api를 통해 프로그래밍할 수 있음 API http.createServer([requestListener]) 분석하기 - http모듈의 createServer메소드 - createServer 함수에는 인자로 requestListener(함수)가 와도 됨 - createServer 함수는 http.Server라는 객체를 Return하고 있음 - http.Server에는 server.. 2020. 8. 5.
[Nodejs] 보안 - path.parse(), sanitize-html [생활코딩] App - 입력 정보에 대한 보안 [생활코딩] App - 출력 정보에 대한 보안 파일 탐색으로 인한 정보 유출 [예] - 개인정보를 저장하는 파일 password.js - 사용자가 http://abc.com/?id=../password.js 접속한다면 - fs.readFile('data/${queryData.id}', 'utf8', function(){}); 함수로 인해 - data/../password.js를 탐색하게됨 - ../는 상위 디렉토리를 가리키게 되고 - 상위 디렉토리인 data폴더와 같은 위치에 있는 password.js이 탐색되면서 개인정보가 유출됨 - 파일탐색 정보유출 막기 위한 경로 세탁 필요 경로 분석하기 path.parse(path) var path = require(.. 2020. 8. 5.
[Nodejs] Module [생활코딩] Node.js - 모듈의 형식 Module - 객체가 많아지면 정리정돈할 필요가 생김 - 정리된 객체을 파일로 만든 것이 모듈 모듈 내보내기 var M = { v: 'v', f: function(){ console.log(this.v); } } module.exports = M; // 모듈 내보내기 또는 module.exports = { v: 'v', f: function(){ console.log(this.v); } } 모듈 사용하기 var part = require('./mpart.js'); // 모듈 가져오기 console.log(part); // {v: 'v', f: [Function: f]} part.f(); // v 2020. 8. 4.
[Nodejs] 객체지향 프로그래밍 [생활코딩] JavaScript - 객체 - 데이터와 값을 담는 그릇으로서 객체 객체지향 프로그래밍(Object Oriented Programming) - 연관된 값들을 하나의 객체에 정리함으로써 코드의 복잡성을 낮춤 - 객체는 폴더의 역할을 함 var o = { v1 : 'v1', v2: 'v2', f1 : function(){console.log(this.v1);}, f2 : function(){console.log(this.v2);} // 함수가 객체 안에서 사용될 때 자신의 객체를 참조하도록 this를 사용 // this를 사용함으로써 객체의 이름이 바뀌어도 해당 객체를 참고할 수 있음 } o.f1(); // 객체 o안에 있는 f1라는 메소드 실행(객체안에 있는 함수를 메소드라고도 함) o.f2(); 2020. 8. 4.
반응형