nodejs 20

[생활코딩 Node.js] 10. 함수를 이용한 코드 정리

함수를 사용하여 코드 정리하기 그동안 실습코드가 너무 반복적이어서 어떻게 정리를 좀 할 수 있지 않을까 싶었는데(그러다가 겁나 삽질하기도 하고) 여기서 드디어 나왔다. 진도에 다 있는데 너무 급했다 내가… if문 양쪽에 걸쳐 두 번씩 나오는 html 템플릿 부분과 list 생성 부분을 각각 함수로 만들어서 코드를 간결화했다. 1. html 템플릿 함수화 function templateHTML(title, list, body){ return ` WEB ${list} ${body} `; } //중간 생략 var template = templateHTML(title, list, `${title}${description}`); 2. list 생성 함수화 function templateList(filelist){..

[생활코딩 Node.js] 9. 파일을 이용한 list 생성

파일 목록 읽어들이기 id에 해당하는 파일을 추가할 때마다 자동으로 메뉴가 늘어나도록 세팅하기 위해, 로컬에서 파일 목록을 읽어오는 기능을 학습한다. 실습코드 var testFolder = './data'; //현재 위치(=main.js파일 위치) 하위의 data 폴더를 대상으로 한다 var fs = require('fs'); fs.readdir(testFolder, function(error, filelist){ console.log(filelist); }) 실행결과 D:\study\Nodejs>node readdir.js [ 'CSS', 'HTML', 'JavaScript' ] 파일 이름을 배열로 읽을 수 있음을 확인했다. 그러면 파일만 추가하면 알아서 하위메뉴가 생성되도록 main을 수정할 수 있을..

[생활코딩 Node.js] 8. 홈 페이지 만들기

홈페이지 구현 쿼리스트링 id값이 없는 루트(/) 주소로 접속했을 때 띄울 홈 화면 내용을 조건문을 이용하여 만들어 준다. 그냥 따라하면 조건문 하나만 중첩해 추가하면 되는 쉬운 챕터였는데, 코드가 너무 보기싫게 길다고 느껴져서 효율화를 시키다가 삽질을 거하게 했다. 먼저 강의에서 가르쳐 준 소스코드. 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).query; var pathname = url.parse(..

[생활코딩 Node.js] 7. 에러 페이지 만들기

404 not found 구현하기 접속 url을 확인하여 없는 페이지에 접속했을 때 에러 페이지를 띄울 수 있도록 한다. 이를 위하여 먼저 url 정보를 어떻게 가져오는지 확인해 본다. var http = require('http'); var fs = require('fs'); var url = require('url'); //url모듈 사용 var app = http.createServer(function(request,response){ var url_add = request.url; var queryData = url.parse(url_add, true).query; var title = queryData.id; console.log(url.parse(url_add, true)); //중간 생략 }..

[생활코딩 Node.js] 6. 파라미터 입력하기

콘솔에서 파라미터 입력하기 콘솔 명령줄로 입력한 파라미터를 받아서 사용하는 방법. 입력된 파라미터는 process.argv 라는 객체에 배열로 저장된다. var args = process.argv; console.log(args[]); 위 코드를 cmd에서 실행하면서 para1이라는 파라미터를 입력했을 때 출력은 아래와 같다 D:\study\Nodejs\syntax>node conditional.js para1 [ 'C:\\Program Files\\nodejs\\node.exe', 'D:\\study\\Nodejs\\syntax\\conditional.js', 'para1' ] 배열의 3번째 값부터 입력 파라미터임을 확인했으니 잘라서 사용하면 된다. 실습 코드는 아래와 같다(파라미터가 1일 때 B1, ..

[생활코딩 Node.js] 5. 파일을 이용한 동적 웹페이지

파일 읽어들이기 실습을 위해 fileread 폴더를 만들고 그 안에 sample.txt 파일을 생성해 아무 내용이나 넣는다 fileread.js 파일을 만들고 아래 코드를 저장한다 var fs = require('fs'); fs.readFile('sample.txt', 'utf-8', function(err, data){ console.log(data); }); cmd에서 fileread 폴더로 이동해 fileread.js 파일을 실행시킨다 내용이 잘 출력되면 성공 파일을 이용한 동적 웹페이지 만들기 ‘data’ 폴더를 만들고 그 아래에 HTML, CSS, JavaScript 3개의 파일을 생성, 각 파일 안에 1.html, 2.html, 3.html의 본문(태그 사이의 텍스트 부분)만 복사 붙여넣기한다..

[생활코딩 Node.js] 4. 동적 웹 애플리케이션

동적 웹 애플리케이션 만들기 방금 한 것의 심화버전으로, 사용자가 입력한 id값에 따라 페이지의 내용이 바뀌도록 만들어 본다. var http = require('http'); var fs = require('fs'); var url = require('url'); //url모듈 사용 var app = http.createServer(function(request,response){ var url_add = request.url; var queryData = url.parse(url_add, true).query; var title = queryData.id; if(url_add == '/'){ title = 'Welcome'; } if(url_add == '/favicon.ico'){ response...

[생활코딩 Node.js] 3. 기본 문법과 URL 분석

문법 String, Number, 변수는 이미 잘 알기 때문에 빠르게 지나가고 Template literal 문자 안에 변수나 줄바꿈 입력시 따옴표 열었다 닫았다 하거나 escape 문자를 사용하지 않아도 되는 형식. 변수나 수식은 ${} 안에 입력하고, 줄바꿈은 그냥 하면 보이는 그대로 출력됨 var tl = `String ${변수명}` // 위에서 따옴표로 보이는 것은 Grave accent이다(esc키 아래에 있는 것) URL http://op.org:3000/main?id=HTML&page=12 라는 url(임의의 주소임)을 분석해 보면 http : protocol (브라우저-서버 간 통신 규약) op.org : host(domain) (인터넷에 연결되어 있는 특정 컴퓨터의 주소) 3000 : p..

[생활코딩 Node.js] 2. 웹서버 만들기

Node.js 웹서버 만들기 nodejs는 웹서버 기능을 내장함 아파치 웹서버처럼 서버를 구동할 수 있음 실습 링크에서 소스를 모두 내려받아 같은 폴더 안에 압축해제 해당 폴더 내에 main.js 파일을 만들어 아래와 같이 복붙 var http = require('http'); var fs = require('fs'); var app = http.createServer(function(request,response){ var url = request.url; if(request.url == '/'){ url = '/index.html'; } if(request.url == '/favicon.ico'){ response.writeHead(404); response.end(); return; } respon..

[생활코딩 Node.js] 1. Node.js 시작하기

몇 년 동안 쌓인 데이터를 가지고 개인적으로 활용을 좀 해 보려고 고민하다가 일이 커져서(ㅋㅋㅋ) 아예 제대로 사이드프로젝트를 구상해 웹 페이지를 만들어 보기로 했다. 나름 IT쪽 직업군이지만 평소에 사용하는 언어는 거의 SQL뿐이고 입/수/삭 가능한 게시판 만들어 본 게 근 10년 전이라서(그것도 제대로 끝까지 해 본 것도 아니었다..) 최대한 간단하게 세팅할 수 있는 방법을 찾아보다가 Node.js 를 빠르게 익혀서 활용해 보기로 했다. JavaScript는 또 아주 모르는 것은 아니니까. 필요한 부분을 찾아보다가 생활코딩 Node.js 강좌를 쭉 정주행했고, 따라가면서 개인 노션에 정리해 놓은 것이 아까워 블로깅해보려고 한다. 요즘 한창 메인 블로그를 네이버로 하려고 노력하고 있었는데 마크다운 복사..