node js
-
노드js (Node.js) 소켓 (Socket) 예제MEAN STACK/Socket programming 2018. 9. 12. 10:18
웹 어플리케이션을 개발할 때 MEAN STACK을 사용하는 가장 큰 이유 중 하나가 소켓 프로그래밍(Socket Programming)이라고 한다. c에서는 소켓 구조체에 서버의 정보를 직접 구조체에 입력하고, 데이터 저장 방식 또한 호환이 되도록 인디언을 고려하는 등의 번거로움을 겪어야 한다. 노드js 에서는 소켓 모듈을 지원해 이러한 번거로움을 회피해 개발할 수 있는 편리함을 제공한다.서버 작동시키기 위한 c 코드. 소켓 구조체를 통해 인디언 방식, 포트번호, 프로토콜 등을 직접 지정해줘야 한다. npm 명령어들을 통해 express, socket.io를 설치 후 js 코드 작성한다. 소켓 모듈의 주요 메소드와 주석을 통해 코드를 이해하면 메소드명설명on('메소드명', 콜백함수(data){}) 소켓 ..
-
Node.js Express 메모리(Memory) DBMEAN STACK/Memory DB 2018. 9. 12. 10:11
데이터베이스를 따로 두지 않고 서버에 직접 두고 제어하는 방법이 있다. 이를 메모리 DB라 칭한다. 속도가 빠르지만 서버가 꺼지면 데이터도 모두 초기화된다. 따라서 DB만 관리하는 서버와 백업 서버를 두어 정규 시스템 서버에 장애가 발생해(죽는 경우) 이용할 수 없을 경우 대체 시스템을 작동시키는 Failover 방식을 사용한다. 전역변수로 배열 객체 items를 생성한다. 글 제목과 내용 가지고 있는 배열 생성 ES6 문법 사용. var 대신 const와 let을 사용한다. ES6부터 객체는 상수(const) 키워드를, 미들웨어 내부 변수에 let 키워드를 사용한다. 기존 자바스크립트가 가지고 있는 문제점 해결된다(Scope 이해가 필요) 처음 메모 목록 페이지. items 초기 생성한 2개만 존재한다..
-
노드js(Node.js) NPM(Node Package Manager) 예제MEAN STACK/Node js 2018. 9. 12. 10:09
노드js도 스프링과 마찬가지로 여러가지 내외부 모듈을 사용할 수 있다. 이러한 모듈들의 집합을 NPM(Node Package Manager)라 한다. 스프링에서 Maven과 비슷한 역할을 하는 녀석이라고 이해하면 될 것 같다. 또한 노드js의 개발을 편하게 제공하는 프레임워크로 Express가 있다. Node js만으로 웹 개발을 하기는 굉장히 어려워 Express를 사용해야만 개발이 가능하다고 보면 된다. 메이븐에서 pom.xml에 Dependencies를 등록해 사용했듯이 Node.js에서는 package.json 파일에 설정하고 등록한다. Scriptlet을 사용할 수 있도록 돕는 ejs를 등록하는 과정 포스팅 새 프로젝트 생성위 Terminal 클릭해 npm 초기화 진행한다. 명령어는 npm in..
-
노드 js (Node.js), 웹스톰(webStorm) 다운 및 페이지 라우팅(Page Routing) 예제MEAN STACK/Node js 2018. 9. 12. 10:01
MEAN STACK이라는 말이 각광을 받고 있다. MongoDB, Express, Angular 4, Node.js를 이용한 웹개발을 일컫는다. 스프링이나 서블릿으로 할 수 있는 개발을 MEAN STACK을 통해 대체 가능하다는 말이다. 서블릿과 비교하면 스프링도 굉장한 코드량을 줄일 수 있었지만 MEAN STACK을 사용하면 더욱 간소화 할 수 있다. (Express를 사용하면 한줄로 서버를 동작시킬 수 있다.) Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 자랑한다. - 2009년 “라이언 달” 이 V8과 CommonJS ..
-
Ajax Delete 예제MEAN STACK/Express 2018. 9. 11. 10:42
지금까지 프로그램은 서버에서 요청 후 결과 페이지까지 지정해줬다. 하지만 AJAX 요청을 이용해 요청의 결과에 따른 페이지 제어를 클라이언트에서도 할 수 있다. 이때 location.href를 사용한다. $("#deleteBtn").click(function(){ $.ajax({ url: '/memo/', method: "DELETE", }).done(function(response){ location.href = "/"; }); }); deleteBtn 을 id로 가지고 있는 태그 클릭시 .ajax 명령어 통해 요청을 보낸다. method를 DELETE로 정하면 Express에서는 delete에 해당하는 메소드 중 일치하는 url 패턴을 찾아 수행한다. 중요한건 done 메소드의 위치. ajax 메소드..
-
Node.js Express jQuery 사용법MEAN STACK/Express 2018. 9. 11. 10:39
Express에서 jQuery 사용할 수 있는 방법은 두가지이다 1) Static 폴더에 jquery 넣고 사용한다. 스프링과 같은 방법으로 static 등 폴더에 넣고 경로 지정해 사용한다. 2) npm으로 설치한다. 따로 jQuery 파일 가지고 있을 필요 없이 명령어만으로 설치 가능해 편리한 장점이 있다.npm 명령어 통해 jquery 설치 path 모듈 추가해 static 경로 지정할 때 추가한다. path 모듈의 join 메소드를 사용해야 하기 때문.node_modules 폴더에 모듈들이 설치되어 있음 확인할 수 있다.다음과 같이 경로 지정해주면jQuery 사용할 수 있다.
-
노드js(Node.js) multipart/form-data 인코딩 지원 모듈 Connect-multipartyMEAN STACK/Express 2018. 9. 11. 10:33
파일 업로드에 지원되는 인코딩 방식 중 대표적인 multipart/form-data를 지원하는 모듈 사용 방법. 스프링에서는 어느정도 코드 작성해야 했지만 Express 이용하면 훨씬 간편하게 사용할 수 있다. 외부 모듈이므로 npm 설치 필요하다. 명령어 : npm install --save connect-multiparty공통적으로 사용하는 모듈의 경우 app.use로 등록해두지만 파일 업로드에 종속된 모듈이기 때문에 post의 매개변수로 사용한다. uploadDir로 파일 저장 경로 등록한대로 디렉토리 생성해준다.__dirname 하위 multipart 폴더로 업로드 파일 경로 지정해두었기 때문에 경로, 파일명 맞춰 생성해준다. 경로에 파일 없으면 500에러 발생url 접속 후 파일 선택 후 fil..
-
노드js(Node.js) Express-SessionMEAN STACK/Express 2018. 9. 11. 10:30
* 예제는 하나의 프로젝트에 내용을 추가하는 방식으로 진행되고 있습니다. MEAN STACK - express 카테고리의 이전 글들을 참고하면 이해에 무리가 없을 것입니다. Express 세션(session) 사용 방법 외부 모듈이므로 터미널에서 설치한다. 명령어 : npm install --save express-session세션 모듈 가져와 등록어플리케이션 파일에 페이지 라우팅 처리readFile 메소드의 경로에 맞도록 html 파일 생성 후 코드 작성login url로 가 로그인. 아이디, 비밀번호는 따로 조건 없기 때문에 모든 값 입력 가능. 인덱스 페이지로 이동하면 정상 동작한 것이다. 이후 다른 탭 열어 같은 url 요청 수행하면이미 로그인되었다는 콘솔 메시지가 출력되며 로그인페이지로 이동을 ..