본문 바로가기
728x90

전체 글230

[AWS] Glue vs DataPipeline vs DMS vs Kinesis AWS Glue 서버가 없는 Apache Spark 환경에서 실행되는 fully-managed ETL 서비스를 제공한다. 컴퓨팅 리소스 구성 및 관리에 대한 걱정 없이 ETL 작업에 집중할 수 있다. 데이터 우선 접근 방식이고, 비즈니스 인사이트를 도출할 수 있도록 데이터를 변환하기 위한 데이터 속성 및 조작에 초점을 맞춘다. 아테나 및 스펙트럼을 통한 쿼리 뿐만 아니라 ETL 을 통해 메타데이터를 만들 수 있게끔 하는 통합 데이터 카탈로그를 제공한다. Scala 혹은 Python 기반이다. 스케일아웃 실행 환경을 제공한다. Infers, evolves, 그리고 모니터링을 통해 작업 생성 및 유지관리 프로세스를 간소화한다. AWS Data Pipeline 관리형 오케스트레이션 서비스를 제공한다. 즉, 데.. 2021. 12. 8.
[Kinesis] AWS Kinesis 서비스 차이점 Amazon Kinesis Data Streams: 전송 데이터 처리를 위한 파이프라인 동작을 수행한다. 외부 소스 또는 AWS 서비스가 메시지를 생성하고 데이터 스트림에 넣으면, 다른 서비스에서 해당 메시지를 수신한다. 즉, 큐와 비슷하며 데이터를 저장하지 않는다. 실시간으로 처리해야 하는 무제한 데이터가 들어오는 시스템이나 서비스에서 주로 사용된다. Amazon Kinesis Firehose Delivery Streams: 저장 데이터를 미리 정의된 대상으로 전달하는 것이 주요 목적이라는 점에서 Data Streams 과 약간 다르다. S3 및 Redshift 와 같은 스토리지 서비스로 데이터를 전송할 때 사용된다. Amazon Kinesis Data Analytics: 분석 표준 SQL 질의를 사용.. 2021. 12. 7.
[HomeBrew] Unknown command: cask 들어가기에 앞서, HomeBrew 는 오픈 소스 소프트웨어 패키지 관리 시스템의 하나로서 macOS 운영체제에서 소프트웨어 설치를 쉽게 할 수 있게끔 도와준다. 리눅스의 yum, apt-get 와 비슷한 역할을 한다고 보면 된다. ※ 설치방법 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" brew 를 통해 open jdk 설치하려고 했는데 아래와 같은 에러가 나왔다. Error: Unknown command: cask brew cask 사용방법이 변경되었다고 한다. $ brew install --cask adoptopenjdk11 OpenJDK8 - adoptopenjdk8.. 2021. 11. 29.
[SSM] Bastion 서버를 이용하여 Private 자원 접근하기 AWS EC2 혹은 RDS 를 사용할 때 가장 편리한 방법은 EIP 를 부여받아 고정 IP 를 할당한 뒤, SSH 등으로 접속해서 직접 제어하는 방법이다. 하지만 이러한 방법은 보안상 취약하기 때문에 DB 와 같이 중요한 데이터가 들어가 있는 자원은 EIP 를 부여하지 않고 사용하게 되는데, 이렇게 될 경우 VPC 내부에서만 액세스가 가능하다 는 문제가 생긴다. 이를 해결하기 위해서는, 아래와 같은 방법이 있다. ❌ AWS 에 VPN 서버를 세팅하고 VPN 에 연결해서 작업 → VPN 서버를 따로 관리해야 하는 어려움이 있다. ❌ AWS Managed VPN Service 를 이용 → 비싸다. 🌝 AWS SSM + Bastion 서버 + SSH 터널링을 이용 AWS SSM AWS SSM 은 VPN 을 이.. 2021. 11. 18.
[Android] local.properties 환경변수 관리하기 DB 정보, API Key, Access Key 등과 같이 민감한 정보는 외부에 노출이 되면 안되기 때문에, 해당 정보들이 기재되어 있는 파일이 Public 저장소에 올라가선 안된다. (특히 AWS Access Key 정보라도 올라가게 되면, 단 몇시간 만에 몇천만원이 부과되는 마법을 볼수 있다.) 따라서 환경변수용 파일을 따로 만들어 .gitignore, .slsignore 과 같이 ignore 파일에 해당 파일의 위치를 기재해줘야 한다. Node.js 의 경우에는 .env 파일을 이용하여 환경변수를 관리하는데, Android 의 경우에는 local.properties 파일을 이용하여 환경변수를 관리한다. ▷ local.properties sdk.dir=/Users/yonikim/Library/Andr.. 2021. 11. 3.
[Node.js] Array.prototype.sort() Javascript 에서 제공하는 배열의 정렬 함수를 사용했을 때, 다음 값으로 도출되는 것은 무엇일까? let nums = [6214, -2290, 2833, -7908]; nums.sort(); console.log(nums); 정답! 당연히 [ -7908, -2290, 2833, 6214 ] 아닌가요? 그러나 틀렸다. 도출되는 값은 [ -2290, -7908, 2833, 6214 ] 이었다. 배열의 요소 값을 문자열로 변환하여 유니코드 값을 비교하기 때문이다. 따라서 함수를 따로 만들어줘야 내가 원하는 대로 오름차순과 내림차순의 결과값을 얻어낼 수 있다. const nums = [6214, -2290, 2833, -7908]; // 오름차순 const compareDesc = (a, b) => { .. 2021. 11. 2.
728x90
반응형