목록WEB/Backend (8)
DOTY

Middleware로써 브라우저 상에 쿠키를 설정해주면 사용자의 ID를 알 수 있고, 이를 브라우저에서 쿠키를 가져와 인증이 완료된 User Object를 controller에 넘겨준다. 여기서 쿠키는 브라우저에 저장한 뭔가! 라고 생각하면 되는데 구글같은 경우에는 다음과 같다. (로그인 되어있는거라 사용자들마다 좀 다르겠지..? ㅎㅎㅎ) app.post('/login', passport.authenticate('local'), function(req, res) { // If this function gets called, authentication was successful. // `req.user` contains the authenticated user. res.redirect('/users/' +..

업로드 안한지 오래 된것같다...ㅠㅠ 다시 열심히 써야지 ESLint 설치에 대해서 작성을 해보려고 한다. npm을 사용해서 eslint를 설치해주자. npm install eslint -D 후에 다음 커맨드를 치는데 eslint --init 만약 " eslint : 이 시스템에서 스크립트를 실행할 수 없으므로 " 같은 이상한 헛소리를 한다?! (꼭 eslint가 아니어도) PowerShell을 관리자로 실행해서 다음을 입력한다. Set-ExecutionPolicy RemoteSigned 이런 도움말이 뜨는데 아멀랑 일단 '모두 예~' 잘 된다!!! 여기서 맨 마지막 것을 선택 해주고 JavaScript에다가 나는 사용 안하니까 None, 다음 질문도 NO Node를 쓸것이고~ 인기 많은거로 Airbnb..

사소한 실수로 인해서 30분간 오류 찾아 헤맸다. 이유는 post가 아닌 get을 썼기 때문. 무슨 일 이었을까..? 원래 나의 코드는 이랬다. // 대충 앞에는 생략 하고 const globalRouter = express.Router(); globalRouter.get(routes.join, join); // 대충 뒤에도 생략 하고 이걸 돌렸을 때 이런 창이 나오게 된다. Join Now를 누르면 당연히 이런 창을 뜬다. 이것을 처리하기 위해서 코드를 나누었다. // 대충 앞에는 생략 하고 const globalRouter = express.Router(); globalRouter.get(routes.join, getJoin); globalRouter.post(routes.join, postJoin)..

이번에는 Search Controller에 대해서 알아보자. 솔직히 인강 들으면서 머릿속에는 물음표만 가득하다..ㅠㅠㅠㅠㅠ 뭔가 좀 어려워 ㅠ 어쨋든 일단 검색해야하는 창을 하나 만들어주자. 이런식으로! form(action=routes.search, method="get") input(type="text", placeholder="Search by Term...", name="term") 참고로 pug라는 프로그래밍 언어 해석기로 작성하였다. 큰 틀은 HTML 작성하는 법이랑 비슷하다. 여기서 method는 get 으로 해야한다. GET과 POST가 있는데 GET의 경우에는 서버로부터 정보를 조회하기 위해서 설계되는 메서드 중 하나다. URL에 있는 값들을 볼 수 있다. search루트로 들어가게 되면..

- Helmet 우선 중요한 Helmet. 이름부터 뭔가 막는 것 처럼 보인다. npm install helmet www.npmjs.com/package/helmet helmet help secure Express/Connect apps with various HTTP headers www.npmjs.com 보안을 강화시켜준다고 보면 된다. - Parse Express의 MiddleWare로 어떤 form을 전송했다고 하면, 이 form은 서버에 의해서 받아져야 한다. 이를 도와준다. www.npmjs.com/package/body-parser body-parser Node.js body parsing middleware www.npmjs.com 어떤 것을 전송하는지 알기 위한 Parser이라고 보면 된..

첫 사용 느낌은 간단하게 말하면 'JS 코드를 깔끔하게 만들어준다!' 였다. // 원래 알던 JS function handleHome(req, res) { res.send("Hello World!"); } // Babel 적용 const handleHome = (req, res) => res.send("Hello World!"); 그런데 내가 볼때는 간단하게... 는 아닌것 같다. 여기서 쓴 '=>'는 'Arrows함수' 라고 불리는 ES6의 문법중 하나다. 사실 이건 C#을 잠깐 공부 했을때 본 적이 있는 것 같아서 찾아봤더니 비슷한 쓰임새였다. // 굳이 바꿔 쓰자면 이런 느낌?? (물론 문법은 좀 잘못됬다..ㅎㅎ) static void handleHome(req, res) => req.send("H..

Express는 Node.js를 위한 웹 프레임 워크로써 작업을 할 때 도와주는 하나의 도구라고 생각하면 편하다. 우선 express를 받는 방법은 Node.js를 받았으면 npm도 자연스럽게 같이 다운이 됬을 것이다. 그럼 (Windows기준)cmd창에 다음을 입력해보자. npm install express 이미 다운을 받아서 잘 보이지는 않지만, 이를 받은 폴더에는 node_modules라는 새로운 폴더와, package.json에 새로운게 생겼을 것이다. "dependencies": { "express": "^4.17.1" } 참고로 git에 올릴 때는, .gitignore을 사용해 node_modules을 밴하도록 하자. 왜냐하면 나중에 협업을 할 때는 package.json을 통해서 다음의 커맨..

Node.js는 백엔드, 서버를 빌드 해야 할 때 쓰인다. 이는 JavaScript를 쓰는데 이는 프론트에서도 쓰인다. (백과 프런트 둘다 쓰니까 좋지 않을까...?) 물론 백엔드는 Python도 사용할 수 있다. 그런데, 상대적으로 기본으로 갖춰져 있는 것을 원한다면 Django를 쓰는게 좋다고 한다. 그러나 사용을 하려면 먼저 어떻게 써야하는지를 배워야 하지만, Node.js는 그렇지 않다고 한다. 둘의 차이는 간단하게 하드웨어의 접근에 있는 듯 하다. 접근을 하는 걸(예를들면 사진 압축..?)원한다면 Django를 사용하는 것이 좋고, 그게 아니라면 (채팅과 같은걸 만들고 싶다면) Node.js가 좋은 선택이 될 수 있다. nodejs.org/ko/ Node.js Node.js® is a JavaS..