본문 바로가기

전체 글

(432)
Node.js.44.Node.js 모듈의형식 정리정돈 - 객체, 배열, 함수 이러한 객체를 또 더 큰 틀에 정리정돈할 수 있는 틀이 모듈이다. 객체들이 많아지면 또 객체를 정리정돈을 해야 할 필요가 있다. 모듈을 이용하면 파일로 쪼개서 외부로 독립시킬 수 있다. 모듈 사용하기 //nodejs폴더 > mpart.js var M = { v: 'v', f: function() { console.log(this.v); } } M.f();//v module.exports = M; mpart.js 파일 속에 우리가 만든 모듈이 담겨있는 모든 기능들 중에서, 객체 M을 모듈 바깥에서 사용할 수 있도록 수출하겠다는 의미. // nodejs 폴더 > module.js var mpart = require('./mpart.js'); console.log(mpart);..
Node.js.43.App제작-템플릿 기능 정리정돈하기 (Refactoring) ▶ 객체? 서로 연관된 데이터와, 그 데이터를 처리하는 방법인 함수를 그룹핑하여 코드의 복잡성을 낮추는 수납상자. 객체 활용하기 객체를 통해 함수들을 정리정돈해보자! -> 객체 template을 만들어 안에 templateList, templateHTML 함수를 넣기 이와 같이 결과는 같지만 코드를 정리하는 것을 Refactoring이라 한다. 이를 통해 코드를 더 유지보수하기 쉬우며 개선시키는 방향으로 나아가야만 한다! 전체 코드 var http = require('http'); var url = require('url'); var fs = require('fs'); var qs = require('qs'); var template = { html: function (title, list, contro..
Node.js.42.JavaScript-객체-데이터와 처리 방법을 담는 그릇으로서 객체 목표 객체에 함수를 담으면 이름으로 함수를 불러올 수 있기 때문에, 객체에 함수를 담는 용도로 많이 사용한다. 그렇다면 객체에 함수를 담으면 무엇을 할 수 있고 어떤 장점이 있는지 알아보자. 만약 1억줄의 코드가 있다고 생각해보자. 수많은 변수 중 아래 두 변수가 있다고 생각해보자. var v1 = 'v1'; // 10,000 codes v1 = 'egoing'; var v2 = 'v2'; 코드가 많으므로 v1값은 이전 값에서 새로운 값으로 덮어질 것이다. 이런 상황에서 객체를 사용하면 도움이 된다. var o = { v1: 'v1', v2: 'v2', }; 이처럼 하나의 객체 안에 정리정돈하여 변수를 넣어놓는 것이다. 하나의 폴더를 만들어 정리정돈하는 것으로 생각하면 된다. //v1을 처리하는 함수 f..
Node.js.41.JavaScript-객체-값으로서 함수 목표 OOP(Object Oriented Programming)에 필요한 기능 알아보기 '프로그래밍을 한다'는 말은 1. 데이터 2. 그 데이터를 처리하는 것 두 가지로 이뤄져 있다. 데이터를 잘 정리정돈하는 것으론 array, object가 있다. 또 다른 코드와 구분하기 위해 연관된 것을 그룹핑하기 위해서 함수를 사용했었다. 자바스크립트에서 함수는 처리해야 할 일에 대한 정보를 가지고 있는 일종의 구문(statement)이면서, 동시에 값이라고도 할 수 있다. 쉽게 생각해서, 우선은 함수를 변수에 넣을 수 있다면 값이라고 생각하자. (ex) var i = if(true){console.log(1);} //ERROR 자바스크립트에서는 조건문 구문이 값이 아니기 때문에 에러가 발생한다. var w = w..
Node.js.40.JavaScript-객체-반복 // array var members = ['egoing', 'k8805', 'hoya']; var i = 0; while(i < members.length){ console.log(`array loop`, members[i]); i++; } // object //각 데이터마다 고유한 이름을 부여함 var roles = { 'programmer': 'egoing', 'designer': 'k8805', 'manager': 'hoya' }; for(var name in roles){ console.log(`object`, name); } 객체의 값을 가져올 때, 1. . 2. [] 를 통해 가져올 수 있다. // array var members = ['egoing', 'k8805', 'hoya']; var..
Node.js.39.JavaScript 객체의 형식 Object vs Array 둘 모두 정보를 정리정돈하는 도구이다. - {object}는 순서가 없는 정보를 다루기 편리 - [Array]는 순서(index)에 따라서 정리정돈 // array var members = ['egoing', 'k8805', 'hoya']; console.log(members[1]); //k8805 // object //각 데이터마다 고유한 이름을 부여함 var roles = { 'programmer': 'egoing', 'designer': 'k8805', 'manager': 'hoya' }; console.log(roles.designer); //k8805
Node.js.38.App 제작-글삭제 기능 완성 목표 삭제 요청을 처리하기 delete_process라는 path를 통해 삭제할 것이다. // 7. delete 버튼을 눌렀을 때 }else if(pathname === '/delete_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); // id만 받으면 된다 var id = post.id; }); Google에 nodejs delete file 검색해보자. unlink()를 이용하면 파일이나 링크를 삭제할 수 있다. // 7. delete 버튼을 눌렀을 때 }else if(pathname === '/d..
Node.js.37.App 제작-글삭제-삭제버튼 구현 글 삭제 - 어떤 특정 글을 클릭했을 때 삭제 버튼이 활성화됨 - 눌렀을 때 해당 글이 data 디렉토리에서 제목과 같은 파일이 삭제됨 - delete는 화면이 이동되지 않고 바로 삭제되어야 함(링크가 없어야 함) -> 홈으로 가야한다 delete 버튼 생성 // 2. id값을 선택한 page } else { fs.readdir('./data', function(err, filelist){ fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){ var title = queryData.id; var list = templateList(filelist); var template = templateHTML(title, list, `cre..

반응형