Back-End/Node.js (103) 썸네일형 리스트형 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.. Node.js.36.App 제작-글수정-파일명 변경, 내용저장 update_process를 받을 수 있는 코드를 작성하자. 이전 정보인 name='id'도 받아야 하므로 var id도 추가한다. }else if(pathname === '/update_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ // title, description 뿐 아니라 name="id"값도 받아야 한다. var post = qs.parse(body); var id = post.id; var title = post.title; var description = post.description; console.log(post); }); } .. Node.js.35.App 제작-글수정-수정할 정보 전송 목표 update를 눌렀을 때 화면 구성하기 필요한 것 form 태그 read 기능 update 페이지 생성 코드 }else if(pathname == '/update'){ 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, //form 부분 ` `, ``); response.writeHead(200); //200: 파일을 성공적으로 전송하였음 response.end(.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음