일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- ChatGPT
- error
- JS
- 영어
- 구글
- unity
- MySQL
- Ai
- ssh
- AWS
- Linux
- API
- JavaScript
- sample
- Kibana
- 설정
- Windows
- elasticsearch
- mariadb
- docker
- MSSQL
- build
- Python
- nodejs
- 엘라스틱서치
- s3
- 유니티
- logstash
- Today
- Total
목록nodejs (26)
가끔 보자, 하늘.
인증서와 관련된 이야기는 이 전에 기록한 글이 있어 생략합니다. [[ 인증기관( CA, Certificate Authoroty) 의 개인키와 인증서 생성 ]] CA private key 생성 > genrsa -des3 -out root_private.key 2048 CA의 CSR(Certificate Signing Request) 생성. (csr에는 공개키와 알고리즘 정보를 포함됩니다.) > req -new -key root_private.key -out root.csr CA의 인증서를 생성합니다. > x509 -req -days 3650 -in root.csr -signkey root_private.key -out root.crt [[ 사용처(웹 서버 등)를 위한 개인키와 인증서 생성 ]] 사용처를 위..
유료 API 사이트에서 무료 플랜을 이용한 방법과 웹 사이트에서 크롤링하는 두 가지 방법을 정리해 보았습니다. 웹 사이트에서 크롤링 하기 우리은행 사이트 spot.wooribank.com/pot/Dream?withyou=FXXRT0021 에 USD, JPY, EUR 정보가 공유되어 있습니다. 사용자들의 웹 사이트에 무료로 공개할 수 있게 지원해주는 정보인데, 여기서 필요한 정보만 추출해 보았습니다. 저의 주 거래은행은 우리은행입니다. ^^ (환율 변동이 일반적인 상황에서는 크지 않으므로 해당 사이트에 부하를 주지 않기 위해 하루에 한번만 검색해서 저장 후 사용하실 것을 적극 권장드립니다.) 해당 사이트의 html 코드를 가져오기 위해 axios를, DOM Selector로 Cheerio를 사용합니다. h..
이전에 SQS로 데이터를 보내는 방법을 기록해 보았는데, 이번에는 유사한 kinesis로 데이터를 보내는 과정을 살펴보겠습니다. SQS는 Queue 서비스로 Application 통합, 분산 시스템 연계에 적합하며, Kinesis는 로그, 스트림 데이터 등의 실시간 분석, 전송 목적에 적합합니다. Kinesis Data Streams 생성 데이터 스트림 중 Kinesis Data Streams를 선택 후 생성을 합니다. 저는 어플리케이션의 로그를 전송하고 추후 이를 logstash로 가져와 별도 구축된 Elasticsearch에 저장하기 위해 사용하기 때문에 Kinesis Data Streams를 사용합니다. 생성할 스트림 이름은 "test_stream"으로 명명합니다. 데이터 스트림 용량을 설정할 때 ..
json, 별도 포멧의 파일에 데이터를 입력하고 사용하려면 데이터 가공 및 배포에 대한 허들이 발생합니다. 트래픽이 많이 발생하지 않는다면 spreadsheet에서 데이터를 일괄 관리하고, 필요한 곳에서 spreadsheet 접속하여 갱신된 최신 데이터를 가져와 사용한다면 데이터 가공/배포에 대한 비용을 극적으로 줄일 수 있습니다. 모듈은 google-spreadsheet를 사용하여 Google Spread Sheet API를 사용하며, document는 theoephraim.github.io/node-google-spreadsheet/#/ 를 참고하시면 됩니다. API 사용을 위해서는 console.developers.google.com/에서 API 사용 허가를 설정해야 합니다. sheet 사용을 위한..
일반적으로 시스템 부팅 후 자동으로 시작되도록 서비스를 등록할 때 systemctl 혹은 init.d 스크립트 등록하여 사용합니다. systemctl 혹은 init.d 스크립트를 등록하는 방법이 쉽지많은 않으며, 혹시 해당 서비스에 문제가 발생할 경우 서비스가 다운되면 다시 시작되지 않는 문제도 있습니다. 이를 해결하기 위해 upstart 같은 프로그램을 사용하여 간단히 해결할 수 있습니다. 하지만 이마저도 각 서비스 별로 별도 등록, 관리해야 합니다. 만약 당신이 pm2를 사용하여 Node.js로 제작된 서비스를 관리하고 있다면 위의 모든 문제를 손쉽게 해결할 수 있습니다. pm2에 서비스를 등록, 중단, 삭제하는 방법은 아래와 같이 간단합니다. pm2 start your_app.js >> 서비스 등록..
DynamoDB에 대해서 내용은 이 링크를 꼭 한번 읽어보시길 권유 드립니다. 이 예제에서는 1:1 모델링에 적합한, 전달될 유저 ID를 분할키로 사용하고, info라는 키에 name과 phone 정보를 담아보겠습니다. DynamoDB에서 "test_db"라는 이름으로 테이블을 먼저 생성해 보겠습니다. 그리고 분할키의 이름은 "key"로 지정하겠습니다. 분할키에는 전달될 유저 ID를 지정하겠습니다. 정렬키도 별도로 추가하지 않겠습니다. 생성이 완료되었으면 바로 람다 함수를 추가해 보겠습니다. 함수명을 "save"라는 이름으로 생성합니다. aws-sdk 모듈은 바로 사용 가능해서, 아래 코드를 붙여서 바로 테스트 가능합니다. var AWS = require("aws-sdk"); AWS.config.upda..
비지니스 로직에서 logstash로 tcp를 바로 데이터를 전송한다면 아래와 같은 흐름으로 설계가 될 것입니다. 이 경우 logstash 혹은 elasticsearch에 문제가 있을 경우 바로 데이터 손실이 발생할 수 있습니다. logstash와 elasticsearch의 문제 발생 혹은 점검 중 데이터 손실이 발생하지 않도록 전송할 데이터를 일시적으로 혹은 일정 기간 동안 보관했다가 logstash와 elasticsearch가 정상화 되었을 때 다시 전달할 수 있도록 아래와 같이 만들어 보겠습니다. 임시 저장소로는 Redis를 사용하고, 데이터 전송 흐름을 제어하기 위해 nodejs로 간단한 agent를 만들어 사용해 보겠습니다. 전달받은 로그는 모두 JSON 포멧의 텍스트로 가정합니다. const h..
Collo를 좀 더 알기쉽게 전달하기 위해 개요 및 샘플들을 제작하여 SlideShare에 공유 중입니다. 이 글에서도 링크를 추가하여 계속 업데이트 하도록 하겠습니다. https://www.slideshare.net/winninghabit/collo-01-kr Collo -01 , kr Collo를 소개합니다! https://github.com/blackwitch/Collo www.slideshare.net https://www.slideshare.net/winninghabit/collo-02-kr 불러오는 중입니다...