목록WEB 63
2030 Engineer
의미 Javascript without library 라이브러리를 의존하지 않는 자바스크립트를 의미한다. 여기에 라이브러리와 프레임워크가 추가되면 화장을 하여 더 인터렉티브한 JS가 된다. React, Jquery, Library, Framework에 대한 전문가들은 찾기 쉽지만 only Javascript에 대한 전문가들은 찾기 쉽지 않다. 소질이 있는 사람을 찾는 것도 쉽지 않아 보인다. Vanilla JS를 사용하는 방법은 http://vanilla-js.com/ 에서 확인할 수 있으며 다른 방법과 서로 비교하는 것도 보여준다. In to Vanilla JS JS는 항상 Body 아래 있어야한다. 제일 마지막에 추가해야한다는 말이다. first test page! // index.js console..
// util.js var util = {}; util.parseError = function(errors){ ... } util.isLoggedin = function(req, res, next){ if(req.isAuthenticated()){ next(); } else { req.flash('errors', {login:'Please login first'}); res.redirect('/login'); } } util.noPermission = function(req, res){ req.flash('errors', {login:"You don't have permission"}); req.logout(); res.redirect('/login'); } module.exports = util; is..
페이지에서 에러가 있는 경우 route간의 이동이 발생하는데, 이때 rotue 간의 정보 전달을 위해 flash라는 것을 사용한다. flash는 문자열, 숫자, 배열, 객체 등의 어떠한 형태의 값이라도 사용가능하며 한번 생성 되면 사용될 때까지 서버 메모리상에 저장이 되어 있다가 한 번 사용되면 사라지는 형태의 data이다. regex(reqular expression, 정규표현식)을 사용하여 user면 username, password면 암호만 들어가게 끔 특정한 형식의 값만 저장 할 수 있게 할 수도 있다. // schema // 1 var userSchema = mongoose.Schema({ username:{ type:String, required:[true,'Username is require..
user 비밀번호를 회원가입을 통해 입력시 그대로 DB에 저장되는데 이 비밀번호는 반드시 Hash처리가 되어야 보안상 좋을 것이다. 이 Hash는 결과값과 알고리즘을 알아도 원래 입력값을 알 수 없다는 점이 특이한 점이다. function func(inputNum) { var result = inputNum+10; return result; } 입력값에 10을 더해 리턴하는 이 무난한 함수가 Hash 함수를 만난다면 어떻게 될까? function hashFunc(inputNum) { var str = inputNum.toString(); var result = str[0] + str[str.length-1]; return result; } 해쉬함수의 예이다. 1입력시 1을 반환하고 123입력시 13을 반..
Embedded JavaScriptExpress에서 dynamic website를 만들기 위해 template으로 사용되는 파일이다. // index.js var express = require('express'); var app = express(); app.set('view engine','ejs'); // 1 app.use(express.static(__dirname + '/public')); app.get('/hello', function(req,res){ // 2 res.render('hello', {name:req.query.nameQuery}); }); app.get('/hello/:nameParam', function(req,res){ // 3 res.render('hello', {name..
새로운 값을 입력하는 등의 수정된 코드를 반영하려면 기존에는ctrl + c 를 통해 서버를 멈추고 다시 서버를 실행시켜 결과값을 봐야했다. 이를 편리하게 하기 위해 코드변화를 알아서 감지하여 서버를 재활성화해주는 npm을 설치해보자. npm install -g nodemon# 실행화면 nodemon main.js 위와 같은 과정을 거치고 js를 수정시 바로 서버에 반영되는 효과를 얻을 수 있다. Uploaded by Notion2Tistory v1.1.0
Node.js에서 모듈이 검색되는 순서 package.json 이라는 파일을 가진 디렉토리가 패키지다 하나의 서드 파티 모듈은 하나의 패키지다 서드 파티 모듈을 관리할 떄 쓰는 npm은 node package manager의 줄임말이다. dependency 패키지는 남은 dependency가 없어질 때 까지 하위 의존 패키지를 지속적으로 설치한다. engines는 최소 필요한 버전이 적혀있다. name 은 패키지의 이름이다. version 은 패키지의 버전이다. name필드와 version 필드를 결합하면 특정 패키지의 특정 버전을 나타낼 수 있다. description 은 패키지에 대한 설명이다. 패키지 검색시 여기 있는 내용도 검색 기준으로 활용되기 때문에 자신의 패키지가 잘 검색되도록 하려면 여기에..