Google Functions & Firestore 저장하기 1편 - Functions 프로젝트 생성 및 Deploy 하는 법. 1. Google functions를 사용하는 이유 토이 프로젝트에서 크롤링 Firebase에 데이터를 쌓아야 하는 이유가 생겼습니다. 처음에는 AWS의 Lamdba를 고려하여 연결하려고 했지만 Firebase console에서 Google Function를 한 번에 확인할 수 있고 같은 데이터 센터라는 이점이 있기 때문에 Google Function를 사용하게 되었습니다. 이 포스팅에서는 Google Function를 활용하여 크롤링 데이터를 Firebase까지 데이터를 쌓는 방법을 정리하려고 합니다. 여러편을 통해 정리할 예정이고 1편에서는 Google Functions을 ..
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 1편 - Lambda 설정 2편 - 로컬 테스트 이제 설정은 끝났고 firebase에 데이터 쌓는 방법을 시도해보겠습니다. Lambda에 올리기 전에 로컬에서 테스트하는 방법을 작성해보도록 할게요. 1. 로컬에서 Lambda에 올릴 함수 테스트 package.json에 아래와 같이 scripts를 추가합니다. { "name": "firebase-lambda", "version": "1.0.0", "main": "index.js", "scripts": { "locally" : "node -e \"console.log(require('./index').handler({}));\"" }, "dependencies": { "firebase-a..
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 1편 - Lambda 설정 2편 - 로컬 테스트 토이 프로젝트에서 클로링으로 Firebase에 데이터를 쌓아야 하는 작업이 필요 했습니다. Spring Boot Batch를 사용하여 서버를 띄워서 크롤링을 할가 고민도 했었는데 그렇게 되면 항상 서버를 구동해야 하는 문제가 생겼습니다. 비용도 아끼고 필요할 때만 사용하면 어떨까 고민 했는데 AWS Lambda를 사용하면 되지 않을까 생각이 들었고 그 방법을 정리해 보려고 합니다. 이번 장에서는 Lamdba를 이용하여 API를 호출하고 호출한 API에서 데이터를 정재하여 Firebase에 쌓는 방법을 정리해 보도록 하겠습니다. 01. AWS의 Lambda는 무엇인가? AWS의 Lambda..
로컬에서 프런트 서버와 백엔드 서버의 포트를 다르게 사용할 때 발생하는 문제인 CORS 해결방법에 대해 정리합니다. 1. CORS CORS는 Cross Origin Resource Sharing의 약자로 도메인 및 포트가 다른 서버로 클라이언트가 요청했을 때 브라우저가 보안상의 이유로 API를 차단하는 문제입니다. 예로 들면 로컬에서 클라이언트는 3000 포트로 서버는 10000 포트로 서버를 띄웠을때 또는 로컬 서버에서 다른 서버로 호출할 때 발생하게 됩니다. 2. 해결 방법 node 서버에서 cors 이슈를 해결하는 몇가지 방법을 정리합니다. 1. Access-Control-Allow-Origin response 헤더를 추가. app.get('/', (req,res) => { res.header("A..
MacOS나 리눅스에서 nvm으로 설치하는 방법은 이전에 살펴 보았습니다. 일반적인 컴퓨터라고 하면 Windows를 많이 사용하죠. 그래서 이번 포스팅은 windows에서 nvm을 설치하는 방법에 대해서 알아보겠습니다. 1. 설치파일 다운로드. nvm-windows : https://github.com/coreybutler/nvm-windows/releases coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 위 사이트에서 nvm-setup.zip을 다운로드 받으세요. 2. 설치하기. 다운로드된 파일을 압축을 해..
Node.js로 테스트 서버 또는 실제 운영하기 위한 서버를 만들 때 Router 구조 잡기가 매번 고민됩니다. Router 구조를 어떻게 잡느냐에 따라 폴더 구조 및 개발 편의에 영향을 많이 끼치기 때문입니다. 그래서 요즘 Node.js로 개발 공부를 하면서 제가 가장 편하다고 생각하는 Router 구조를 정리해보겠습니다. 1. epxress 프로젝트 기본 구조 설명 express 프로젝트를 생성했던 기준으로 정리하겠습니다. express-generator로 프로젝트를 생성하면 app.js는 아래와 같이 router를 생성합니다. app.js const express = require('express'); const app = express(); const indexRouter = require('./..
Node.js를 서버를 운영하게 되면 고민되는 문제가 있습니다. 첫번째로 Node.js는 싱글 쓰레드로 동작하고 CPU의 단일 코어를 사용하기 때문에 멀티 코어 CPU를 사용하면 성능이 원하는 만큼 높아지지 않습니다. 두번째로는 서버에 에러가 발생 했을때 프로세스가 죽게 되어 서비스가 중단되게 됩니다. 이러한 문제들을 해소하기 위해 여러가지 관리 도구 들이 나왔는데 PM2도 Node.js의 프로세스를 관리하는 도구중 하나 입니다. 이 포스팅에서는 PM2를 설치하고 기본적으로 알아야할 PM2의 기능들을 저리해 보겠습니다. 1. 설치PM2 사용하려면 먼저 설치해 주어야 합니다. 기본적으로 node와 npm이 설치되어야 합니다.설치는 npm or yarn 을 활용하여 간단히 설치 할 수 있습니다. 다음 명령어..
CentOS에서 node 환경을 구성하기 위해 nvm 활용하여 node.js를 설치해보겠습니다. nvm을 활용하는 이유는 node, npm 버전을 상황에 따라 쉽게 사용할 수 있기 때문에 버전에 따른 테스트와 서버 구동을 빠르게 진행할 수 있습니다. 그리고 버전마다 글로벌 모듈도 따로 설치가 가능하기 때문에 관리 측면에서도 장점이 있습니다. 그럼 nvm, node, npm을 설치하고 간단한 node.js 서버를 구동해보겠습니다. 1. nvm 설치 서버상에 nvm 설치를 위해 wget 모듈이 설치되어 있는지 확인합니다. 설치가 안되어 있다면 다음 명령어로 설치해주세요. yum install wget 다음은 nvm을 wget으로 다운로드 후 바로 설치하는 명령어입니다. wget -qO- https://raw..
Express는 node 활용을 도와주는 웹 프레임워크입니다. Express를 사용하면 쉽게 노드 서버 생성이 가능합니다. 1. node, npm 설치하기. Express 프로젝트를 생성하기 전에 노드를 설치해야 합니다. 노드는 노드 공식 홈페이지에서 설치해도 되지만 저는 nvm을 활용하여 설치하는 것을 권장드립니다. 만약, 노드 서버에서 설치하고 싶다면 아래 노드 공식 홈페이지에서 다운로드 받으세요. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org nvm으로 노드를 설치하는 방법은 아래 포스팅을 확인하여 설치하세요. https://firework-..
nvm 활용하여 node, npm 설치하는 방법을 알아 보겠습니다. 1 설치 sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash 2 설정 설치 후 nvm 명령어가 실행이 되지 않는 다면 환경설정을 해주어야 합니다. nano ~/.bashrc 아래 내용을 복사 후 저장합니다. export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 설정을 로딩 하기 위해 아래 명령어를 실행 합니다. source ~/.bashrc 3 설치 확인 명령어를 쳤을때 아래와 같이 나온다면 성공적으로 설치가 완료 된 ..
- Total
- Today
- Yesterday
- 파이썬 numpy
- 파이썬
- GPT서비스
- Node
- k8s metrics-server
- 리엑트
- vscode
- 머신러닝
- CHATGOT
- 넘파이
- 30 Day LeetCode Challenge
- LeetCode 30일 챌린지
- 노드
- Component
- react
- LeetCode 알고리즘 공부
- Python
- React 프로젝트 생성
- 지도학습
- LeetCode 5월 챌린지
- k8s metrics-server running
- 버츄얼스튜디오코드
- LeetCode 풀이
- 에라토스테네스
- Java leetcode
- Java
- GPTGOT
- 퍼셉트론
- numpy
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |