본문 바로가기
반응형

프로그래밍 개발/NodeJs15

Node.js and Mysql - 저자 관련 기능 구현 저자 관련 기능 구현 1. 저자 목록 보기 기능 구현 main.js var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); var template = require('./lib/template.js'); var db = require('./lib/db'); var topic = require('./lib/topic'); var author = require('./lib/author'); var app = http.createServer(function(request,response){ var _url = request.url; var queryData = url... 2021. 1. 12.
Node.js and Mysql - Node.js 정리정돈 Node.js 정리정돈 1. DB 설정정보 정리정돈 이제 정리정돈의 첫 시작으로 mysql을 연동시켰던 코드를 따로 분리하여 파일을 만들고 그 안에 따로 만들어 놓는다. 그리고 모듈화를 통해 main.js와 연동시켜준다. 위와 같이 db.js 파일을 main.js에 연동시켜주었다. 2. Node.js 코드의 정리정돈 (topic) topic.js라는 파일을 따로 만들어 mysql을 사용하여 node.js에 적용한 코드들을 그대로 따로 만든 파일에 옮긴 후 모듈화시켜 더욱 복잡하지 않게 하여 업무의 효율성을 더욱 높여주었다. 보기에도 깔끔하고 가독성이 좋아졌다. main.js var http = require('http'); var fs = require('fs'); var url = require('ur.. 2021. 1. 11.
Node.js and Mysql - My SQL join을 이용해서 구현하기 My SQL join을 이용해서 구현하기 mysql에 들어있는 위 두 테이블 데이터를 JOIN 기능을 Node.js에 적용하여 더 효율적으로 코드를 작성할 수 있다. 1. My SQL join을 이용해서 상세보기 구현 Main.js var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); var template = require('./lib/template.js'); var path = require('path'); var sanitizeHtml = require('sanitize-html'); var mysql = require('mysql'); var db = .. 2021. 1. 11.
Node.js and Mysql - Node.js에 My SQL 구현하기 Node.js에Nodejs에 My SQL 구현하기 1. mysql npm 세팅 $ npm install mysql 터미널에 위의 코드를 입력하여 mysql의 npm을 설치한다. mysql npm 홈페이지에서 복사해올 수 있는 세팅 코드를 js 파일 하나를 만들어 삽입한다. 주의할 점은 user, password, database의 mysql에서 설정했던 값들을 잘 입력해야한다. 이제 터미널에 $ npm install mysqljs/mysql을 입력하면 mysql의 데이터베이스 입력 데이터들이 쭉 나열되는 것을 확인 할 수 있다. 2. Node.js에 mysql 코드 설정 main.js var http = require('http'); var fs = require('fs'); var url = requi.. 2021. 1. 11.
Node.js - 출력정보에 대한 보안 출력정보에 대한 보안 페이지에서 사용자가 업데이트나 수정을 하였을때 폼 값 자체를 태그와 같은 것으로 버그를 유발하며 출력 정보를 조작할 수 있다. 아래의 예처럼 태그로 alert 경고창을 뜨게 하도록 할 수도 있다. 이러한 버그는 아주 기본적인 예시일 뿐이며 더 나아간다면 정보 탈취 등등 많은 심각한 보안 문제로 사건이 커질 수 있다. 이를 해결하기 위해서는 필터링 처리를 하는 일명 '소독'이 필요하다. 아래 사이트는 npm이라는 모듈의 정보를 서비스 제공하는 사이트이다. 여기서 HTML의 와 같은 태그들을 필터링하기 위한 모듈 서비스 중 하나인 "sanitize-html"의 모듈을 찾을 수 있다. 유의할 점은 npm 모듈을 모두 신뢰하면 안된다. 사이트에 들어가 다른 개발자 사용자들의 후기와 다운로드.. 2020. 12. 26.
Node.js - 입력정보에 대한 보안 입력정보에 대한 보안 입력정보와 관련해서 보안적으로 처리해야 할 이슈가 있다. 아래와 같이 ../password.js 을 입력해주어 파일을 접근 시도를 하여 보안이 없다면 쿼리데이터는 알려주지 말아야할 파일 목록들을 그대로 노출시키는 이슈가 발생할 수 있다. 그래서 아래와 같이 path라는 메소드를 통해 ../을 통한 상위 디렉토리로 접근할 수 있는 경로를 차단해주었다. var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); var template = require('./data/muse.js'); var path = require('path'); //path라는.. 2020. 12. 26.
Node.js - 기본적인 CRUD APP 기능들 구현하기 기본적인 APP 기능들 구현하기 1. 글생성 UI 만들기 var http = require('http'); var fs = require('fs'); var url = require('url'); // templateHTML 이름의 함수를 만들어 이 함수 안에 문서 내용을 넣어두었다. function templateHTML(title, list, body){ return ` WEB ${list} // '/create'라는 페이지 링크를 하나 만들어주었다. create ${body} `; } function templateList(filelist){ var list = ''; var i = 0; while(i < filelist.length){ list = list + `${filelist[i]}`; i .. 2020. 12. 19.
Node.js - Node.js에서 동기와 비동기 Nodejs에서 동기와 비동기 Node.js는 비동기적인 실행에 특화되어있다고 할 수 있다. 여기서 비동기와 동기를 설명하자면 동기는 차례대로 하나씩 하나씩 일을 처리해나가는 것이라면 비동기는 동시에 일을 처리해나가는 더 효율적인 방법이라고 말할 수 있다. 동기 var fs = require('fs') console.log('A'); var result = fs.readFileSync('fileB','utf8'); console.log(result); console.log('C'); 동기를 코드로 표현하였다. readFileSync 메소드는 file을 읽어오는 메소드이다. 여기서 불러올 fileB에는 텍스트 'B'가 저장되어 있다. 코드 결과를 보면 위에서부터 차례대로 결과가 쭉 나열되어 있는 것을 알 .. 2020. 12. 12.
Node.js - 파일 목록 알아내기 파일 목록 알아내기 파일을 한꺼번에 혹은 편리하게 관리하기 위해서는 컴퓨터에 파일 목록을 맡겨야한다. 즉 파일 목록을 알아내어 보내줘야 한다는 것이다. 아래 코드는 특정 폴더안에 있는 파일 리스트를 불러오는 코드이다. var testFolder = './data'; var fs = require('fs'); fs.readdir(testFolder, function(error, filelist){ console.log(filelist); }) data 폴더 안에 있는 파일 리스트들을 프롬프트 명령으로 불러온 것을 확인 할 수 있다. 응용 var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.cr.. 2020. 12. 12.
Node.js - 홈페이지 구현 홈페이지 구현 조건문을 활용해서 홈페이지를 표현하는 방법이 존재한다. 위의 웹의 본문의 WEB의 링크에는 아직 쿼리 스트링의 값이 정의가 되지 않아서 WEB 링크를 클릭하면 정의되지 않았다는 undefined가 변환되어버린다. 그래서 만약 쿼리 스트링 값이 정의되지 않으면 발동되는 조건문을 추가한다면 undefined 표시를 안뜨게 변환 할 수 있다. ↓ var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.createServer(function(request,response){ var _url = request.url; var queryData = url.parse(_url, true).qu.. 2020. 12. 5.
Node.js - 콘솔에서의 입력값 콘솔에서의 입력값 콘솔 환경에서 앱을 실행할 때 입력 값을 전달하는 방법이 있다. 예를 들면 배열을 노드에 넣어주는 방법이 있다. 아래 코드는 Argument 즉 배열을 노드에 넣어 실행 할 수 있는 자바스크립트 코드이 var args = process.argv; console.log(args); 노드에서 실행 결과 위와 같이 배열이 노드에 들어 간 것을 확인할 수 있다. 위에서 볼 수 있듯이 규칙적인 것인 노드에 넣어진 배열의 0번과 1번은 노드라는 프로그램과 노드에 배열을 넣게 하는 자바스크립트 코드가 담긴 js파일이 고정적으로 정해져 있어 실질적으로 쓰는 것은 2번 부터 이다. 그래서 js 파일 실행 명령어 오른쪽 끝에 jinseok과 kim이라는 값을 적어 배열 값을 주었는데 배열 2번과 3번에 .. 2020. 12. 5.
Node.js - 파일 읽기 파일 읽기 var fs = require('fs'); fs.readFile('TEST.txt', 'utf8', function(err, data){ console.log(data); }); 위의 코드는 외부 파일을 불러오는 노드에서 실행 할 수 있는 자바스크립트 코드이다. TEST.txt라는 텍스트가 적혀있는 텍스트 파일을 만든다. 그리고 js 파일에 노드에서 실행 할 수 있는 자바스크립트 코드를 적는다. readFile이라는 메소드의 첫 번째 인자가 외부에서 불러올 텍스트 파일 TEXT.txt이다. node fileread.js을 명령 프롬프트에 입력하여 실행하면 TEST.txt 텍스트 파일의 내용이 도출되는 것을 확인 할 수 있다. 응용 data 라는 이름으로 폴더를 만들고 그 안에 순수 텍스트 파일.. 2020. 12. 5.
Node.js - URL와 query string URL 위의 설명은 URL의 기본 구조이다. 여기서 중요한 것은 query string이다. 쿼리 스트링에 따라서 데이터를 출력하고 또 그 데이터들을 바꿀수 있다는 사실을 알아야 한다. query string의 성질 알아보기 예제 실험 var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.createServer(function(request,response){ var _url = request.url; // 쿼리 데이터를 추출하게끔 3행에서 url이라는 모듈을 사용한다고 변수를 선언해주고 //8,9행의 코드를 추가시켰다. var queryData = url.parse(_url, true).qu.. 2020. 12. 5.
Node.js - javascript 기본 언어 실행 javascript 기본문법 실행 간단한 자바스크립트 언어를 적어 보았다. 숫자 연산, 변수, 문자으로 구성해보았다. js 파일 이름은 node1.js으로 설정하였다. 위의 언어들 말고도 비교연산자 boolean 제어문 조건문 등등 모든 자바스크립트 언어 적용 가능하다. 명령 프롬프트를 켜고 node -v을 입력하여 노드를 실행시키고 코드 파일이 들어있는 폴더와 디렉토리를 연동시킨 후 dir/w을 입력하여 명령한다. (윈도우 기준이다.) 그리고 node node1.js을 입력하면 자바스크립트 언어를 코드로 저장한 js파일에 연결된다. 위와 같이 node1.js 파일의 자바스크립트 코드의 결과들이 나오는 것을 확인 할 수있다. Template Literal 여러줄로 이루어진 문자열의 표현과 문자의 치환을 .. 2020. 12. 5.
Node.js 실행 방법 Node.js 실행 방법 노드 공식 사이트인 https://nodejs.org/ko/ 로 들어가 다운받는다. 다운이 완료되면 명렁 프롬프트를 뛰워 node -v을 입력하여 노드 프로그램이 실행되는지 확인해본다. 간단하게 cosole.log(1+1);을 적어 결과값이 나오면 노드가 제대로 실행되는지 확인할 수있다. 다시 명령어를 입력하고 싶다면 Ctrl+C 키를 두 번 누르거나 .exit을 입력해주면 다시 명령 입력창으로 돌아온다. 그리고 바탕화면에 새 폴더를 만들고 브라켓과 같은 에디터를 이용하여 새 폴더 안에 확장자 .js인 파일을 만들어낸다. 그리고 바탕화면에 만든 새 폴더이자 .js 파일을 저장한 폴더의 경로를 복사하여 다시 명령 프롬프트에 들어가 cd 을 입력해준다. 새 폴더 경로를 입력하면 디렉.. 2020. 12. 5.
반응형