본문 바로가기

WebApp

(100)
Node.js-fs.writeFile&redirectio 목표 : 포스트방식으로 전송된 데이터를 data라는 디렉토리 안에 파일을 생성시켜 파일의 형태로 저장하고, 그 파일의 이름을 id값으로 주어 이미 적용된 함수를 따라 그 id값페이지로 보내기 fs.writeFile(file,data, callback) fs.writeFile(저장할디렉토리/생성할파일이름, 파일의 내용, 에러콜백함수) redirection :사용자가 어떤페이지로 왔는데 다시 사용자를 다른페이지로 튕겨버리는것 response.writeHead(302, {Location: 주소}); response.end();
Node.js-form2 목표 : post방식으로 전송받은 데이터를 nodejs로 어떻게 가져올 것인가 검색 : nodejs post data http.createserver는 nodejs로 웹브라우져가 접속이 들어올 때마다 createserver의 콜백함수function(request, responce){};를 nodejs가 호출한다 그때의 콜백함수의 인자를 2개를 주는데 request에는 요청할때 웹브라우져가 보낸 정보(위 예제1에서 68번째 줄인 form형식 안에 입력한 Yoon, yeovion의 post내부정보) responce는 응답할때 우리가 웹브라우져에게 전송할 정보(위 예제2의 표시되는 정보) request.on의 data는 웹브라우져가 post방식으로 데이터를 전송할떄 데이터가 엄청 많으면 그 데이터를 한번에 처..
Node.js- form UI 생성 목표 : 우리의 애플리케이션에 글쓰기 화면을 만들것(= nodejs애플리케이션에 form UI를 출력할 것) 1. create 리스트를 만들고 클릭했을때 /create로 향하는 링크만들기2./create 링크로 들어왔을때 기본적인 홈화면과 form UI를 만들기*form형식에서 placeholder를 주면 사라지는 글씨를 만들 수 있다. 다음시간엔 사용자가 전송한 데이터를 받는 nodejs쪽 페이지 즉 process_create 페이지를 만들면 된다.
Node.js- form 컨텐츠를 사용자가 웹을 통해서 생성,수정,삭제할 수있는 방법 사용자가 서버로부터 데이터를 전송하기위한 방식인 form 사용자로부터 정보를 input받는 법 ~~form.html~~ 각각의 값들이 즉 컨트롤들에 이름(name)을 주어야 의미가 있음 입력을 하면 입력된 데이터 들이 액션주소로 전송되면서 각각의 컨트롤의 이름에 대하여 쿼리스트링의 형태로 정보가 전달된다 다만 이건 좋은방법이아니다 서버로부터 사용자가 데이터를 가져올때 get할때는 get방식(method="get" or 생략)으로 쿼리스트링을 쓰고 서버에 데이터를 생성 삭제 수정등을 할때는 필요한 데이터를 url로 보내지 않고 눈에 보이지 않는 post방식으로 데이터를 전송한다
Node.js-npm(pm2) Package program npm pm2 패키지 프로그램 vscode (관리자권한으로 실행) Ctrl+` - cmd창 열기 pm2설치 : npm install pm2 -g 실행 : pm2 start mian.js 현재pm2에 의해서 실행되고 있는 프로그램 목록 : pm2 monit 위 목록에서 나가기 : q 현재pm2실행중인 프로세스를 보고싶을때 : pm2 list 프로세스를 끄고싶을때 : pm2 stop mian 변경사항자동적용 : pm2 start main.js --watch 코드 로그 확인 : pm2 log *8 .17 추가 pm2 kill : pm2관련 작동중인것을 모두 꺼버림 pm2 start main.js --watch --no-deamon (데몬은 백그라운드 상태에서 실행되는 것을 말함,즉 no deamon하면 pm2..
Node.js- 콜백 즉 이미 정의된 함수(setTimeout())과 같은 함수의 파라미터에는 함수가 인자로써 오게 되고(콜백함수) 그 콜백함수가 이미정의된 함수의 성격에 따라서 동기적이든 비동기적이든 실행되게 된다 즉 setTimeout(콜백함수, 약속된 또다른 파라미터); 까지만 코드를 작성하면 내부적인 작용으로 인해 콜백함수가 실행된다.
Node.js-리펙토링
Node.js-function화의 이해 첫번째 시도 var template=`~~`가 있던 43번째줄을 통으로 templateHTML()이라는 함수로 대체하려고 해봤다 문제 발생 16번째 줄의 변수 title이 정의되지 않았다는 에러 발생 문제 발생원인 title은 41번째 줄에 정의 되어 있으나 변수선언의 호이스팅 원리에 따라 var title 이 맨 위로 올라가고 변수 할당인 title = 'welcome'이 41번째 줄에 남게 된다 따라서 순차적으로 var title ${title} title = 'welcome' 순서가 되기 때문에 ${title}이 undefinded가 되는 것이다 문제 해결 teplateHTML()함수에 인자와 매개변수를 주자 43번째 줄에서 templateHTML(title, lits, data);와 같이 인자를 ..