-
npm ? npx?back-end/nodejs 2021. 9. 10. 15:38
목표 npm, npx의 등장 배경 npx, npm에 대해 이해한다. npx, npm의 차이점을 이해한다 npm, npx의 등장배경 외부 라이브러리가 필요한 경우 소스코드를 다운로드해서 프로젝트에 일일히 넣어야하는 번거로움 외부 라이브러리 버전이 업데이트 된다면 다시 다운로드해서 프로젝트에 넣어야하는 번거로움 외부 라이브러리를 쉽게 관리하고자 등장하게 된게 npm, yarn이다. 점점 외부 라이브러리가 고도화 됨에 따라 외부 라이브러리를 실행해야하는 경우가 생김 외부 라이브러리를 실행 시켜주고자 등장하게 된게 npx 이다. npm 이란 ? Node Package Manager의 줄임말로 Node 설치시에 자동으로 설치된다 외부 라이브러리를 쉽게 관리할 수 있게 해주는 프로그램이다. 간단한 명령어 (npm ..
-
[Node] 회원가입, 로그인, 로그아웃 구현하기back-end/nodejs 2019. 12. 26. 15:52
개발 목표 회원가입 로그인 로그아웃 필요한 라이브러리 mongoose passport passport-local passport-local-mongoose connect-mongo 회원 가입 회원가입은 DB에 회원의 정보를 넣는다. 회원의 정보를 넣을 Schema를 생성 클라이언트에서 받은 회원가입 form 데이터를 DB에 삽입 ※ passport-local-mongoose를 플러그인 사용 데이터 삽입 데이터를 삽입시 알아서 데이터를 변환하여 저장 MongoDB에 데이터가 들어갔는지 반드시 확인 - use [dbname] - db.[collection].find({}) 로그인 로그인은 사용자가 입력한 from 데이터가 유효하면 로그인 된다. 유효성 체크는 passport에서 알서 해준다. 따라서 pass..
-
4-3 파일 다루기back-end/nodejs 2019. 7. 15. 09:22
- 노드의 경우 동기식, 비동기식 IO를 둘 다 제공한다. - 파일 시스템에 접근하기 위해 fs 모듈을 사용한다. readfile(filename, encoding, callback) 비동기식으로 파일을 읽는다 readfileSync(filename, encoding) 동기식으로 파일을 읽는다 writefile(filename, data, encoding, callback) 비동기식으로 파일을 쓴다. writefile(filename, data, encoding) 동기식으로 파일을 쓴다 1) 파일 읽기 - 비동기 var fs = require('fs'); fs.readfile('./doit.txt','utf8', function(err, data) { console.log(data); }); - 동기 v..
-
4-2 이벤트 이해하기back-end/nodejs 2019. 7. 15. 08:10
- node는 이벤트 기반의 비동기 방식으로 처리된다. - 이러한 이벤트를 보내고 받을 수 있도록 EventEmitter라는 것이 만들어져 있다. 이벤트 보내고 받기 1) EventEmitter를 상속받는다. 2) 이벤트 받기 : on() 메서드로 이벤트가 전달될 객체에 이벤트 리스너 역할 3) 이벤트 보내기 : emit() 메소드로 이벤트를 다른 쪽으로 전달. var util = require('util'); var EventEmitter = require('events').EventEmitter; var csfroka = function (){ this.on('start', function(){ console.log('csforka 실행'); }) this.on('end', function(){ co..
-
javascript 함수 선언하기back-end/nodejs 2019. 7. 14. 12:21
1. 이름 없는 함수 (함수 표현식) var person = function (name, age){ this.name = name; this.age = age; } 2. 이름 있는 함수 일반적인 프로그래밍 언어에서 함수 선언과 비슷한 형식. 익숙한 형태 (함수 선언식) function Person(name, age){ this.name = name; this.age = age; } 두 개의 차이점은 무엇일까? - 이름있는 함수(함수 선언식)인 경우 호이 스팅의 영향을 받는다. - 이름없는 함수(함수 표현식)인 경우 호이 스팅의 영향을 받지 않는다. AirBnb JS Style 가이드에서는 이름 있는 함수보다는 이름 없는 함수를 선언한다고 합니다.ㅎㅎ 자기에게 편한 방식으로 코딩해보세요 ~ ㅎㅎ
-
3.4 프로토타입 객체back-end/nodejs 2019. 7. 13. 22:26
1. 프로토타입 객체 정의하기 - 함수를 사용 function Person(name, age){ this.name = name; this.age = age; } this는 함수를 호출하는 객체를 가리킨다. - 프로토 타입 객체에 함수 정의하기 Person.prototype.walk = function (speed){ console.log(speed + '속도'); } 객체에 함수를 정의하는 것보다는 프로토타입에 정의하는 방식 메모리를 효율적으로 관리할 수 있다. ※ 개념이 튼튼한 분들은 여기서 궁금증이 생길 수 있다. 굳이 왜? 프로토타입에 정의해야 하지? function Person(name, age){ this.name = name; this.age = age; this.walk = function ..