반응형

개발 이야기/개발 및 서비스 65

Nodejs 로 현재 환율 정보 확인 코드 만들기

유료 API 사이트에서 무료 플랜을 이용한 방법과 웹 사이트에서 크롤링하는 두 가지 방법을 정리해 보았습니다. 웹 사이트에서 크롤링 하기 우리은행 사이트 spot.wooribank.com/pot/Dream?withyou=FXXRT0021 에 USD, JPY, EUR 정보가 공유되어 있습니다. 사용자들의 웹 사이트에 무료로 공개할 수 있게 지원해주는 정보인데, 여기서 필요한 정보만 추출해 보았습니다. 저의 주 거래은행은 우리은행입니다. ^^ (환율 변동이 일반적인 상황에서는 크지 않으므로 해당 사이트에 부하를 주지 않기 위해 하루에 한번만 검색해서 저장 후 사용하실 것을 적극 권장드립니다.) 해당 사이트의 html 코드를 가져오기 위해 axios를, DOM Selector로 Cheerio를 사용합니다. h..

AWS SDK(cpp/c#/js) - Kinesis에 데이터 전송하고 Logstash로 받기

이전에 SQS로 데이터를 보내는 방법을 기록해 보았는데, 이번에는 유사한 kinesis로 데이터를 보내는 과정을 살펴보겠습니다. SQS는 Queue 서비스로 Application 통합, 분산 시스템 연계에 적합하며, Kinesis는 로그, 스트림 데이터 등의 실시간 분석, 전송 목적에 적합합니다. Kinesis Data Streams 생성 데이터 스트림 중 Kinesis Data Streams를 선택 후 생성을 합니다. 저는 어플리케이션의 로그를 전송하고 추후 이를 logstash로 가져와 별도 구축된 Elasticsearch에 저장하기 위해 사용하기 때문에 Kinesis Data Streams를 사용합니다. 생성할 스트림 이름은 "test_stream"으로 명명합니다. 데이터 스트림 용량을 설정할 때 ..

최적화 관련 몇 가지

이 내용은 Dev Weeks 중 https://www.youtube.com/watch?v=4kVffWfmJ60&list=PL412Ym60h6utrWNnHpZYSlG_pwRafryMO&index=28 의 내용을 보면서 인상적이었던 몇 가지만 추려봤습니다. 상세한 내용은 해당 동영상을 보는게 더 좋습니다. 강추입니다!! * Profile Analyzer : 인상적이었던건 수정 전 상황을 불러와서 수정 후 상황과 비교도 가능한 내용이었습니다. * Memory Profiler * iOS는 ogg 지원 안함. MP3 사용 권장. * 오디오 리소스의 경우 메모리에 압축을 풀어서 로드하도록 지정할 수 있지만 메모리 사용량이 증가할 수 있으므로 주의가 필요함. * 같은 리소스 파일을 다른 폴더에 쓰면 메모리에 따로 올..

Windows 서버에서 프로세스 관리하기

레거시 서비스 중 윈도우 어플리케이션에 종종 문제가 발생할 때가 있습니다. 이를 수정하는게 올바른 방법이겠지만 현실적인 문제로 관리자들이 일정 기간마다 재시작을 수행할 때가 있고, 가끔 다운되면 주말에도 접속해서 재가동 해야 하는 일이 발생하곤 합니다. pm2와 같은 윈도우용 프로그램이 있으면 하는 생각을 해봤지만, 그건 주기적인 재실행 처리가 불가능해서 python으로 직접 만들어 보았습니다. python은 자동 테스트 프로그램 개발을 위해 최근에 사용하기 시작했는데 생각보다 훨씬 재밌었습니다. C++/JS/Python을 넘나들면서 코딩하는게 꽤 귀찮긴 하지만... Github(https://github.com/blackwitch/winPM)에도 같이 올려두었으니 참고하시기 바랍니다. 앞으로 편의를 위..

React Native로 앱 개발 - 02. UI 적용

이번 글에서는 간단한 UI를 적용해 보겠습니다. React native 설치 및 프로젝트 세팅 방법은 앱 개발 - 01 을 참고하시기 바랍니다. 앱 개발 - 01 에서 생성한 firstApp 생성된 프로젝트가 있다고 가정한 상태로 설명하겠습니다. 프로젝트가 생성되지 않았다면 앱 개발 - 01를 참고해서 우선 프로젝트를 생성하고 다시 이 글로 돌아와 주세요. 이 글에서는 UI를 다룰 때 필요한 주요 기능을 예제를 통해 정리해 보겠습니다. 순서는 아래와 같습니다. React Native Elements 로 UI 구현 Layout 설정 React Native Navigation 사용하기 Popup 구현 React Native Elements 로 UI 구현 UI 객체 구현은 React Native Element..

React Native로 앱 개발 - 01. 프로젝트 생성하기

React Native는(이하 RN) React를 이용해 Android와 iOS 네이티브 앱을 개발할 수 있는 Framework이며 2020년 2월 현재 0.61 버전입니다. 버전이 1이 안되는데도 불구하고 많은 개발사들이 사용하는걸 보면 Facebook에서 지속적으로 발전시키고 있다는 의미일 겁니다. 이 글은 아래와 같은 내용을 담고 있습니다. 필요한 개발 툴들 React Native CLI 로 프로젝트 생성하기 앱 실행 해보기 필요한 개발 툴들 본격적으로 알아보기 전에 먼저 설치해야 할 개발툴들이 있습니다. 이를 알아보고 진행해 보겠습니다. Node.js : React는 Javascript Runtime인 Node.js를 사용합니다. npm : Node.js의 패키지를 관리하는 툴입니다. React ..

AWS CPP SDK - SQS 에 메세지 보내기

( Windows 10 / VisualStudio 2017 환경에서 테스트 되었습니다. ) 우선 AWS Console에서 필요한 계정과 SQS 설정을 해보겠습니다. 이미 계정 생성과 SQS 설정이 되어 있다면 다음으로 건너띄시기 바랍니다. 여기서는 sqs_tester로 만들어 보겠습니다. 권한은 쓰기, 읽기를 분리해도 되고, 테스트를 위해 생성한다면 AmazonSQSFullAccess로 적용해도 괜찮습니다. 이제 SQS를 세팅해 보겠습니다. FIFO 대기열로 생성해 보겠습니다. 구성은 기본 상태로 진행하겠습니다. 아.. 대기열 이름 끝은 ".fifo"로 끝내야 하니 주의하세요. 그리고 초당 300개의 메세지를 처리할 수 있다고 하니 실제 사용하실 때는 이런 제한사항을 꼭 확인 후 사용하시기 바랍니다. 큐..

AWS CPP SDK 지역 설정 방법

java 사용할 때는 credential 파일과 config 파일을 자신 계정 루트에 .aws 폴더 만들어서 넣으면 되는데... cpp sdk에서는 region 정보가 담긴 config파일을 사용하지 않습니다. https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credentials.html (* cpp sdk에서 credential 설정하는 방법) Aws::SDKOptions options; Aws::InitAPI(options); Aws::Client::ClientConfiguration clientConfig; clientConfig.region = "ap-northeast-2"; . . . Aws::SQS::SQSClient sqs(client..

C++에서 AWS SDK 연동하기

설치하기 Windows에서는 GitHub( https://github.com/aws/aws-sdk-cpp )에서 직접 다운받아 빌드를 하기보다는 NuGet으로 손쉽게 설치해서 사용하길 권합니다. (VS 2017에서는 문제가 없으나 2019에서는 동적 dll linking 에러가 발생합니다. VS 2019를 사용하시는 분들은 aws.amazon.com/ko/blogs/korea/aws-c-plus-sdk-in-windows-visual-studio/를 참고하여 정적 라이브러리로 빌드해서 사용하세요.) CentOS에서는 아래와 같은 순서로 설치할 수 있습니다. cmake(https://cmake.org/) 3.x 이상의 버전이 설치되어 있지 않다면 먼저 설치를 해야 합니다. > wget https://cma..

node-mssql의 useUTC 옵션 설정

(* 이 글은 NodeJS 10.15.1 을 기준으로 작성되었습니다. ) 한국은 GMT +9 를 기준으로 시간을 사용하며, 데이터를 다룰때도 일반적으로는 GMT +9 기준을 사용합니다. 단일 솔루션만 다룰 때는 거의 신경쓰지 않겠지만, 이기종 혹은 여러 솔루션을 한번에 컨트롤 할 때는 상당히 거슬리는 문제가 됩니다. 특히 월드 와이드 서비스를 하고 있다면요. 대부분의 DB에서 UTC 기준으로 값을 저장하기 때문에 큰 문제는 없지만, 간혹 일부 npm에서 datetime 자료형을 다룰 때 미묘한 차이가 있습니다. node-mysql(구분을 위해 임시로 node-를 붙였습니다)의 경우, 저장된 datetime 값을 그대로 가져오기 때문에 전혀 문제가 없는데 반해, node-mssql은 useUTC옵션을 제대..

반응형