전체 글 178

Nodejs 호출 서버 만들기

app.js 파일 생성 소스 코드는 https:.//github.com/zerocho/nodejs-book/ch10/10.4/nodecat views/error.html는 nodebird-api로부터 복사 아까 발급받은 비밀키를 .env에 입력 views/error.html {{message}} {{error.status}} {{error.stack}} routes/index.js 생성 GET /test에 접근 시 세션 검사 세션에 토큰이 저장되어 있지 않으면 POST http://localhost:8002/v1/token 라우터로부터 토큰 발급 이 때 HTTP 요청 본문에 클라이언트 비밀키 동봉 발급에 성공했다면 발급받은 토큰으로 다시 GET https://localhost:8002/v1/test 라우..

Node.js 2021.01.10

nodejs에서 JWT 토큰 사용하기

여기서 JWT는 욕아님 인증을 위한 JWT(JSON Web Token) 밑에의 페이지에서 소스의 정보를 확인할 수 있음 jwt.io/ NodeBird가 아닌 다른 클라이언트가 데이터를 가져가게 하려면 인증 과정이 필요함 JWT(JSON Web Token)을 사용함 헤더.페이로드.시그니처로 구성됨 헤더: 토큰 종류와 해시 알고리즘 정보가 들어있음 페이로드: 토큰의 내용물이 인코딩된 부분 시그니처: 일련의 문자열로, 시그니처를 통해 토큰이 변조되었는지 여부 확인 시그니처는 JWT 비밀키로 만들어지고, 비밀키가 노출되면 토큰 위조 가능 JWT 사용 시 주의점 JWT에 민감한 내용을 넣으면 안 됨 페이로드 내용 볼 수 있음 그럼에도 사용하는 이유는 토큰 변조가 불가능하고, 내용물이 들어있기 때문 내용물이 들어있..

카테고리 없음 2021.01.09

부록 - 스마트폰 중독에서 벗어나기

스마드폰 중독은 히로시마 원폭이나 체르노빌에서 일어난 최악의 재난보다 인류에 훨씬 더 안좋은 영향을 끼치고 있다.시도 때도 없이 스마트폰을 쳐다보는 이 습관이 우리의 정신세계에 가하는 압력은 은밀하고 가공할 만하다. 한 조사에 따르면 업무용 이메일 계정을 가진 미국 근로자 중 59프로가 퇴근 후에도 수시로 스마트폰으로 업무용 이메일을 확인한다. 언제 어디서나 회사를 생각하고 애사심을 고취할 수 있다는 장점에도 불구하고 이런 착취적 습관이 지닌 단점은 명백하다. 일터 밖에서 전자 장비 접촉이 늘어나면 스트레스, 정서 고갈, 부부 갈등 등 부작용도 커진다. 업무 종료 후에도 늘 상사, 동료, 고객과 연결되어 있어야 하는 상황 자체가 심각한 스트레스를 유발하는 것이다. 그리고 이 연결 한가운데에 스마트폰이 놓..

Node에서 API 서버 만들기

크롤링은 서버에 부담을 많이 일으킨다. 잘못하면 디도스 공격이 될 수도 있다. -> API를 제공하는 것이 좋다. API 서버 이해하기 NodeBird SNS 서비스 API: Application Programming Interface 다른 애플리케이션에서 현재 프로그램의 기능을 사용할 수 있게 함 웹 API : 다른 웹 서비스의 기능을 사용하거나 자원을 가져올 수 있게 함 다른 사람에게 정보를 제공하고 싶은 부분만 API를 열고, 제공하고 싶지 않은 부분은 API를 만들지 않으면 됨 API에 제한을 걸어 일정 횟수 내에서만 가져가게 할 수도 있음 NodeBird에서는 인증된 사용자에게만 정보 제공 내 애플리케이션을 제공 및 관리, 통제 가능 nodebird-api 폴더를 만들고 package.json ..

Node.js 2021.01.08

사회와 습관 - 당신은 혼자가 아니다.

물결이 찰랑이는 강변에서 물에 빠진 사람의 외침이 들린다. 나는 강에 뛰어들어 익수자를 물가로 끌어내고 인공호흡을 한다. 그러나 미처 수습하기도 전에 또 다른 비명이 들린다. 다시 뛰어들고, 끝없이 구조가 계속된다. 결국 대체 누가 상류에서 이들을 물속에 계속 처넣는지는 아무도 알지 못한다. -존 매킨리- 실패는 당신 탓이 아니다. 우리가 자꾸만 인생에서 실패하는 이유는 온전히 한 개인만의 책임이 아니다. 사실 인생의 거의 대부분의 문제는 개인적이지 않다. 사회 전체가 함께 부담해야 하는 짐이며, 동시대의 모든 사람이 공유하는 공공의 시련이 반영되어있다. 그리고 우리는 이 시련을 습관의 힘으로 극복할 수 있다. 개인의 습관이 아니라 모두의 습관으로. 이번 마지막 장의 주제는 한 사람의 습관이 아닌 여러 ..

multer 사용해서 이미지 업로드 구현

form 태그의 enctype이 multipart/form-data body-parser로는 요청 본문을 해석할 수 없음 multer 패키지 필요 이미지를 먼저 업로드하고, 이미지가 저장된 경로를 반환할 것임 게시글 form을 submit할 때는 이미지 자체 대신 경로를 전송 fs.readdir, fs.mkdirSync로 upload 폴더가 없으면 생성 multer() 함수로 업로드 미들웨어 생성 storage: diskStorage는 이미지를 서버 디스크에 저장(destination은 저장 경로, filename은 저장 파일명) limits는 파일 최대 용량(5MB) upload.single(‘img’): 요청 본문의 img에 담긴 이미지 하나를 읽어 설정대로 저장하는 미들웨어 저장된 파일에 대한 정보..

Node.js 2021.01.06

카카오 로그인 작업

developers.kakao.com/ 홈페이지에 들어가 로그인을 한 후 내 어플리케이션을 등록한다. 만든 애플리케이션을 클릭한 후 목록에 들어가 플랫폼을 클릭한다. 카카오 로그인에 들어가 활성화를 해준다. 그리고 밑에 있는 Redirect URI를 수정해준다. 다음은 동의 항목에 들어가서 받을 것들을 선택하면 된다. 사용법은 목록에 있던 앱키에 들어가 Rest_API 키를 복사해 .env 파일에 KAKAO_ID=Rest_API_key 이렇식으로 추가해주면 된다. pastposs/kakaoStrategy.js const passport = require('passport'); const KakaoStrategy = require('passport-kakao').Strategy; const User = r..

Node.js 2021.01.06

의식과 습관 - 익숙함이 주는 위대함에 대하여

집을 짓는 사람은 건축가가 되고 리라를 연주하는 사람은 리라 연주자가 된다. 어떤 행동을 하면 그 행동을 하는 사람이 되듯이 절제를 행하면 절제하는 사람이, 용감한 행동을 하면 용삼한 사람이 된다. -아리스토텔레스- 반복은 인간의 욕망도 바꾼다. 아이들에게 야채를 먹이는 실험을 여러가지 진행해봤다. 지방을 더 넣어보고, 더 달게 만들어보기도 했지만 아이들은 별로 야채를 많이 먹지 않았다. 하지만 계속 꾸준하게 채소를 주었더니 조금씩 조금씩 그양이 늘어나더니 한끼 식사를 할 정도의 양으로 변했다. 그 후 채소에 지방을 더 넣거나 더 달게 만들어도 그들의 섭취량에 영향을 미치지 않았다. 아이들은 그저 야채를 더 많이 접할수록 더 많이 먹었다. 아이들은 가리지 않고 자신에게 주어진 음식을 커서도 자연스럽게 먹..

패스포트 사용하기 (로그인 과정 helper)

로그인 과정을 쉽게 처리할 수 있게 도와주는 Passport 설치하기 비밀번호 암호화를 위한 bcrypt도 같이 설치 설치 후 app.js와도 연결 passport.initialize(): 요청 객체에 passport 설정을 심음 passport.session(): req.session 객체에 passport 정보를 저장 express-session 미들웨어에 의존하므로 이보다 더 뒤에 위치해야 함 passport/index.js 작성 passport.serializeUser: req.session 객체에 어떤 데이터를 저장할 지 선택, 사용자 정보를 다 들고 있으면 메모리를 많이 차지하기 때문에 사용자의 아이디만 저장 passport.deserializeUser: req.session에 저장된 사용자 ..

Node.js 2021.01.05