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..
이번 포스팅은 Spring Boot에 Firebase 연동하는 방법을 정리하려고 합니다. Firebase SDK를 활용한 기본 연동 그리고 컬렉션에 있는 정보를 가져오는 방법을 간단히 정리 하겠습니다. 00. 디펜던시 등록 https://mvnrepository.com/artifact/com.google.firebase/firebase-admin gradle implementation group: 'com.google.firebase', name: 'firebase-admin', version: '8.1.0' maven com.google.firebase firebase-admin 8.1.0 01. Firebase 연동 준비하기. Firebase에 프로젝트 생성 및 Cloud Firestore은 사전에 ..
ORM과 SQL Mapper의 개념을 정리하기전 영속성(Persistence)에 대해 먼저 정리해보겠습니다. 영속성(Persistence) 영속성이란 프로그램이 종료되어도 데이터가 사라지지 않는 특성을 말한다. 영속성을 갖지 못한 데이터는 메모리에만 존재하기 때문에 프로그램이 종료되면 사라지게 된다. 영속성은 파일 시스템, 관계형 데이터베이스 또는 객체 데이터 베이스를 활용하여 구현한다. 데이터가 영속성을 가지기 위해 Spring에서 사용하는 방법은 3가지가 존재한다. 1. JDBC (Java) 2. Spring JDBC 3. Persistence Framework Persistence Framework Persistence Framework는 JDBC를 사용하기 위한 복잡하고 번거로운 작업 없이 간다한..
Dialect(방언)이란? Dialect 방언에 대해 알아보기전 기본 SQL을 이해 해야 합니다. SQL은 표준 ANCI SQL이 있고 DBMS Vendor(공급업체)인 MS-SQL, Oracle, My-SQL, Postgre SQL에서 제공하는 SQL이 존재합니다. MS-SQL은 T-SQL, Oracle은 PL/SQL이 대표적입니다. ANSI SQL은 모든 DBMS에서 공통적으로 사용이 가능한 표준 SQL이지만 DBMS에서 만든 SQL은 자신들만의 독자적인 기능을 추가 하기 위해 만든 것으로 사용하는 DBMS에서만 사용이 가능합니다. 이해를 돕기 위해 예를 들면 MYSQL에서는 ID 값을 증가 시키기 위해 Auto Increment를 사용할 수 있지만 Oracle에서는 이 기능을 제공하지 않고 Sequ..
로컬에서 프런트 서버와 백엔드 서버의 포트를 다르게 사용할 때 발생하는 문제인 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 을 활용하여 간단히 설치 할 수 있습니다. 다음 명령어..
- Total
- Today
- Yesterday
- 파이썬 numpy
- GPT서비스
- 리엑트
- 노드
- 에라토스테네스
- vscode
- react
- 퍼셉트론
- GPTGOT
- LeetCode 5월 챌린지
- k8s metrics-server running
- 버츄얼스튜디오코드
- Python
- Node
- LeetCode 알고리즘 공부
- 지도학습
- 파이썬
- 머신러닝
- 넘파이
- Java leetcode
- 30 Day LeetCode Challenge
- LeetCode 풀이
- CHATGOT
- k8s metrics-server
- numpy
- LeetCode 30일 챌린지
- Component
- Java
- React 프로젝트 생성
- 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 |