Puppeteer를 활용한 에어비앤비 메시지 자동화 안녕하세요? 곰프로입니다. 오늘은 Node.js를 활용해서 웹 브라우저를 제어하고 자동화할 수 있는 라이브러리인 Puppeteer를 소개하고 어떻게 제가 에어비앤비 메시지를 자동화했는지 알아보겠습니다. Why? 에어비앤비는 호스트(임대인)가 게스트(임차인)에게 숙박을 제공하고 돈을 받는 숙박 공유 플랫폼입니다. 그렇기 때...
[Typescript] async array methods async forEach, filter 구현 Node.js의 forEach 혹은 filter는 동기적으로 동작합니다. 그렇기 때문에 async function과 함께 동작하게 만들려면 약간의 트릭이 필요한데요. 아래와 같은 식으로 할 수 있습니다. 1. 먼저 Array.prototype에 새로운 두 메쏘드, asyncFilter와 asyncForEach를 추가해줍니...
페이지네이션, 커서 기반? 페이지 기반? feat. 트위터 이 글은 Velog 에서도 보실 수 있습니다. 들어가며 페이지네이션(Pagination) 이란 한정된 네트워크 자원을 효율적으로 활용하기 위해 쿼리의 결과값으로 리턴된 리소스를 `분할하여 전달`하는 것을 의미한다.즉, 데이터베이스에 만 개의 투두(todo) 아이템이 있을 때, 한 번에 만 개를 돌려주는 대신 0번부터 49...
Node.js 버전 충돌 문제 해결 Feat. nvm Node.js를 사용하다보면 자연스럽게 여러 버전의 node.js를 다운로드 받게 됩니다. 때로는 공식 홈페이지에서 다운로드 받을 수도 있고, 맥 유저라면 homebrew를 통해 다운로드 받을 수도 있죠. 이런 상황이 지속되다보면 node --version 명령어를 쳤을 때 이전 버전이 출력되는 일이 일어나기도 합니다. ...
간단한 Docker + Mongodb/Redis/Nginx 설정 도커 맛보기 이 포스트는 정말 간단한 설정만을 다룹니다. 세부적인 프로덕션 설정 등을 원하신다면 다른 블로그를 참조해주세요. 지난 포스트에서는 최신 버전의 babel 과 webpack 을 통해 node.js 개발환경을 구축하는 것까지 같이 해보았습니다. 이번 포스트에서는 Docker 를 활용해서 Mongodb/Redis/Nginx 를...
직접 설정해보는 Webpack4 / Babel7 node.js 애플리케이션 개발환경 설정하기 Intro 이 글은 Babel7 과 Webpack4를 이용해서 간단한 개발 환경을 설정하는 방법을 다룹니다. 개별적인 주제에 대한 설명보다는 최대한 코드 위주로 진행할 생각입니다. 그렇기 때문에 개별 주제에 관심이 있으시다면 중간 중간에 나오는 링크의 글을 먼저 읽어주세요. 아래 튜토리얼의 코드는 https://githu...
공부: session-cookie vs jwt auth 두 인증 방식의 차이와 클라이언트와의 결합 + 2018.12.13 추가: cookie 전달을 위해 credentials를 설정하는 부분에 대한 설명을 정정합니다. Fetch API와 함께 cookie를 전달해야하는 경우, credentials 옵션을 헤더에 설정하지 않으면 “omit” 모드로 설정이 됩니다. 이는 fetch API의 스펙(https://fetch....
Aws-serverless 스택을 배우는 가장 좋은 방법 serverless-stack 소개 요새 모바일 앱 시장을 보면 BaaS나 클라우드가 정말 핫한 것 같다. 나 역시도 Firebase를 연습삼아 사용해본 적이 있는데 그닥 좋은 경험은 아니었다. 세팅이 꽤나 복잡하고, 무엇보다도 참조할만한 공식 문서가 참조가 어려운 수준이었다;; 그렇다고 해서 다른 사이트에 자료가 많냐하면 그것도 아니라 맨땅에 헤딩하는 식...
Passport.js 완벽 가이드 passport.js 쉽게 도입하기 Passport.js 를 설명하는 블로그 글은 굉장히 많으니 전체적인 과정보다는 원리/가장 시간이 많이 드는 세부적인 문제 위주로 글을 작성하려고 한다. 이전 포스트에서도 지적했듯이 Passport.js 튜토리얼을 따라가다 보면 얼마 안 돼서 문제점이 생기기 마련이다. 그럴때마다 Stackoverflow를 해매보지만 정작...
Passport.js, 왜 저는 deserialize user 가 실행이 안 되나요? passport documents가 말해주지 않는 것들 Passport.js 는 Hello.js 같은 새로운 인증 라이브러리가 등장하는 와중에도 굳건하다. local strategy 만 해도 npm 다운로드 수 60만에 육박하는 인기를 누리고 있으며, node.js 인증 관련해서 물어보면 Passport.js 를 쓰는 방법을 알려주는 블로그 포스트를 보여주기도 한다. nave...
Heroku에 앱을 deploy 할 때 놓치기 쉬운 것들 little things you might miss if you deploy your ap... Heroku는 node js 뿐만 아니라 Ruby, Go, Scala 등 다양한 언어를 지원하는 호스팅 사이트입니다. 물론 Node js 호스팅으로도 유명하죠. 하지만 Firebase 와 Heroku 두 개의 호스팅 사이트를 사용해본 결과 backend logic(디비 조작 및 유저 인증 등)을 일임하는 형식의 Fireb...