web storm 5월 4일 1달간 무료로 사용 시작함.
https://blog.naver.com/kuhas2011/220596422744
무료 서버 호스팅
2018년 5월 5일 어린이날
node js 강의 7장 ch02 까지 완료 path 내장모듈 사용해서 파일의 경로를 자유자재로 사용 가능
객체 안에 함수 할당 가능 !!
13장 까지 완료 push,pop 내부함수 중요! callback 함수도 중요!
2018년 5월 7일 nodejs 유튜브 25장 까지 완료
콜백함수 .... 앞에 것이 되면 뒤에 함수 실행
express로 웹서버 만들기
2018 5월 8일 nodejs get 과 post로 클라이언트와 서버간에 데이터를 주고받을수있다.
2018 5월 9일
클라이언트가 데이터를 전달하고 싶은 방법 3가지
get 방식:query
post방식 :body
url 안에 넣어서 보내는 방식(path안에 포함) : params
ch05-13 까지 강의 완료
쿠키와 세션---> 자동으로 로그인
2018년 5월 10일
ch05 모든 강의 완료 파일업로드 기능 해봤지만 에러뜸
다음 ch06은 몽고DB를 이용한 node js와 DB의 연결. DB를 사용해보기 전 node js의 기능들을 더 숙달해 봐야할듯 싶다
2018년 5월 11일
mongdb와 nodejs 연결 도중 db.collection is not a function에러
--->mongodb 버전 3.0이상을 사용할 때는, connection을 할 때에 database명을 명시해야 한다는 것이다.
3.0 버전 이후부터는 database 오브젝트를 가지고있는 클라이언트 오브젝트를 반환해주기때문에
db = database.db('local'); <----이렇게 해줘야 한다.
-----------------예시----------------------
var database;
function connectDB() {
var databaseUrl = 'mongodb://localhost:27017/local';
MongoClient.connect(databaseUrl,function (err,db) {
if(err){
console.log('데이터베이스 연결 에러 발생');
return;
}
console.log('데이터베이스에 연결됨 : '+databaseUrl);
database = db.db('local');
});
}
----------------예시-----------------------
http://preamtree.tistory.com/109
mongoose 외장 모듈 사용시 UserShema와 UserModel을 선언해준다.
UserShema은 테이블을 정의하는것과같다탇 UserModel은 데이터를 조작한다.
6-8까지 완료
2018년 5월 12일
C:\Program Files\MongoDB\Server\3.6\bin 들어가서
mongod --dbpath /Users/kim/database/local 마우스 오른쪽으로 복사 붙여넣기 실행
C:\Users\kim 에서 mongo 실행 완료..
/public 안에 html 파일의 버튼 액션
<form method="post" action="/process/adduser">
이 js파일의 router.route('/process/adduser') 과 같아야지 route안으로 들어와
동작하게된다.
https://www.youtube.com/watch?v=iXkl5lwjsD8&index=25&list=PLuHgQVnccGMBnrdKRODJmbH7UZ2A48LBK
query 사용예제
-get방식 사용 : 링크 클릭했을때 주소가 바뀌길 원하면( 복사 할때 친구한테 주소 복사해줄때)
쿼리 스트링으로 데이터를 전송!! <- 중요
express가 기본적으로 제공!
-post방식 사용:아이디와 비밀번호를 입력하려고 했을때 만약 get방식이면
아이디와 비밀번호가 url상에 나타나기 때문에 id,password를 복사하면
큰일난다. 그래서 url상에 나타나지 않는 방식인 post 방식을 사용하는게 맞다.
url상에 엄청나게 많은 데이터가 있으면 길이가 너무 길어진다 그래서 post방식을 쓰기도 한다.
데이터가 암시적으로 사람의 눈에 보이지 않게 전송<-중요!
express가 기본적으로 제공하지 않아서 미들웨어(body-parser)을 lead하고
app.use(bodyParser.urlencoded({extended:false}));
한다음 req.body에서 데이터를 받을 수 있다.
생활코딩 node js 34강까지 완료...
http://expressjs.com/ko/
express 설명들 있음
5월 19일
http://luckyyowu.tistory.com/346
req,res 객체 정리
router 안에서 res.write와 res.redirect를 같이 쓸수없다
이유는 다른한개가 버퍼에 저장되면 뒤에꺼를 잡아먹고 버퍼로 가기때문이다
res.write('<script>alert("패스워드가 틀립니다.");location.href="/views/login.html";</script>');
이렇게 해야한다.
5월 20일
static을 사용하면 따로 함수를 선언 않해주고도 router에서 사용할수있다
제 6강의 마지막 부분은 비밀번호를 암호화하는 부분이고 MYSQL과 NODEJS
를 연동하는 부분이기 때문에 넘어감
제 7-1강 부터 시작 exports사용
exports는 한계가 있음 exports 전역객체 설정
exports에다가 속성을 추가하는게 아니라 exports에 객체를 바로 할당
하면 문제가 생김
exports를 사용할때에는 무조건 속성으로 추갛해줘야한다.
그래서 module.exports를 사용한다.
5월 21일
http://supdev.tistory.com/37
php에서 php와 같은 역할은 하는 ejs 라는것을알았다
5월 22일
list를 js파일에서 ejs로
이제 views/listuser.html에서가 아닌 board.html 에서 조회 클릭시 데이터를
보여주게 .....
내일 할거 게시판 글 삭제.. 팀원소개 앞에꺼....
5월 23일
좋은거 알았다.https://getbootstrap.com/docs/4.1/examples/blog/
부트스트랩!
https://hidelryn.com/view/6
몽고디비 업데이트 delete
5월 25일
iot 데이터 과제 index.html 파일 읽어오는 코드랑 app2.js 에서
fs.writeFile('a.txt','weather: '+input2+'\n'+input,'utf-8',function(e){
});
추가 해야함
5월 26일
NODE JS
https://www.youtube.com/watch?v=SGU_UMDVEdM
여기서 동영상 강의 듣자 개념 완벽하지 않은거 여기서 보완할수 있을듯하다.
node js나 다른언어를 배울때도 책을 통해서 배우는 것이 좋아보인다
5월 29일
nodejs에서 context라는 객체의 값을 확인 하고 싶을때
console.log('context :',context); 하면 객체가 가진 값 확인 가능
사용자 행동 로그남기기 http://thesunrises.tistory.com/950
6월 1일
https://www.youtube.com/watch?v=PNtsOqW4wnE
6강
https://www.youtube.com/watch?v=HILKjcFePOA
7강 여기있음
6월 2일
비동기 방식의 nodejs를 순차적으로 실행하기 위해서 async 를 쓴다.
async.series([ 태스크1, 태스크2, 태스크3],function(err,results){완료콜백});
https://www.youtube.com/watch?v=_kH7JJqe3lo
10강
6월 3일
https://www.youtube.com/watch?v=_kH7JJqe3lo
10강에서 JSON에 대해서 강의.
JSON은 V8 내장 클래스로서 모듈 로딩이 불필요하다.
JSON을 생성하는 코드는 JSON.stringfy()
JSON을 파싱하는 코드는 JSON.parse()
rest api
url 가져와서 그 url을 분석한뒤 사용자가 원하는 걸 보여줄수있다.
json과 xml 을 사용한다.
app.use('/public',static(path.join(__dirname,'public')));
(앞)public 경로를 요청하면 (뒤)public이라는 파일안에서 찾아서 있으면 요청에 답해준다.
로그 남기기 쉽게해주는 모듈 : morgan
다양한 형태로 로그 남기기: winston --> 별도의 transports(DailyRotateFile, MongoDB 등)
HTML METHOD 에서 GET이랑 POST 말고 다른거 쓰고싶으면 --> METHOD OVERRIDE 모듈씀
15강 까지 완료
6월 6일
https://opentutorials.org/module/938/7373
fs 모듈 read,write, 예외 처리