본문 바로가기
728x90

Node.js18

[Node.js] AWS SDK - DynamoDB aws-sdk 를 이용하여 AWS DynamoDB 를 다뤄보자. (DynamoDB 참고글은 [DDB] DynamoDB 세팅하기) AWS SDK - DynamoDB aws-sdk 설치하기 $ npm install aws-sdk ▷ lib/dynamodb.js 1. AWS config 세팅하기 const AWS = require('aws-sdk') const AWS_region = process.env.AWS_REGION || 'ap-northeast-2' AWS.config.update({ region: AWS_region }) const docClient = new AWS.DynamoDB.DocumentClient() [ INSERT ] 1. 항목 한개 입력 module.exports.putItem = .. 2021. 5. 26.
[Node.js] XLSX 파일 JSON 파일로 만들기 1. xlsx 라이브러리 다운로드 $ npm install xlsx 2. XLSX 파일 JSON 으로 파싱하기 const xlsx = require('xlsx') const workbook = xlsx.readFile(__dirname + '/source.xlsx') const sheetName = workbook.SheetNames[0] const result = xlsx.utils.sheet_to_json(workbook.Sheets[sheetName]) console.log(result) 3. 해당 데이터 JSON 파일로 쓰기 const fs = require('fs') fs.writeFile('result.json', JSON.stringify(result)) 2021. 5. 26.
[Node.js] Swagger 도입하기 ※ Swagger(스웨거) 다른 개발자와 협업하여 개발할 때 API 명세서는 필수이다. 여기에 소요되는 시간은 적지 않고 API가 수정될 때마다 문서도 함께 수정해줘야 한다는 번거로움이 있다. Swagger는 Open Api Specification(OAS) 를 위한 프레임워크로, API 들이 가지고 있는 스펙을 명세, 관리할 수 있는 프로젝트이다. 개발자들에게 아주 단비같은 존재라 할까나...?⭐️ Swagger 도입하기 1. Swagger 설치하기 $ npm install -g swagger 2. Swagger 프로젝트 만들기 $ swagger project create swagger-test ? Framework? express * swagger-edit 툴을 이용하여 API를 디자인할 수 있다. .. 2021. 5. 11.
[Node.js] Mac OS 업데이트 이후 npm install 시 gyp 오류가 날 경우 Mac OS 업데이트 이후 npm install 시 아래와 같은 gyp 오류가 발생하면 두가지 방법을 시도해 볼 수 있다. gyp: No Xcode or CLT version detected! gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 1. node-gyp 재설치 $ sudo npm uninstall node-gyp -g $ npm uninstall node-gyp $ npm install 2. X-code 재설치 먼저 xcode 가 설치되어 있는지 확인해 보자. $ xcode-select --print-path Path 가 나오면 해당 경로의 폴더를 삭제한 후 다시 설치해 준다. 없으면 그냥 설치 시작 $ .. 2021. 4. 26.
[Node.js] bin log(바이너리 로그) 도입기 BUT FAIL 검색서비스 도입을 위해서 커뮤니티 게시물, 댓글 등 테이블의 변경 내역을 Elasitcsearch 에 반영해야 하는데, 매번 ETL 용 Lambda 함수를 돌리기엔 실시간 반영도 어렵고 비효율적이라 판단되었기 때문에 바이너리 로그를 이용하기로 했다. ※ 바이너리 로그란? MySQL 서버에서 CREATE, DROP, ALTER 같은 DDL 과 INSERT, UPDATE, DELETE 같은 DML 을 통해 데이터에 변화 이벤트가 발생했을 경우, 해당 이벤트를 기록하는 이진 파일이 있는데 이를 바이너리 로그라 한다. 바이너리 로그에는 두가지 중요한 용도가 있는데, 1. 복제 구성에서 사용 2. 특정 시점 복구에 사용 이다. 우리의 경우 AWS RDS 를 사용하기 때문에 설정 파일을 건드릴 필요 없지만, 나는 .. 2021. 4. 22.
[Node.js] Puppeteer를 이용한 웹크롤링 Puppteteer 란? Puppeteer 는 Headless Chrome 혹은 Chromium 를 제어하도록 도와주는 라이브러리이다. SPA(Single Page Application) 화면의 렌더링이 가능하다. 렌더링후 키보드, 마우스 입력 제어할 수 있다. 웹페이지의 자동 테스트 도구를 만들 수 있다. 각각의 웹페이지 crawling 이 가능하다. 접속한 페이지를 스크린샷을 찍거나 PDF 으로 만들 수 있다. 시작하기 1. puppeteer 설치하기 $ npm install puppeteer 2. crawler.js const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ headles.. 2021. 4. 20.
728x90
반응형