프로그래밍
SSOT(Single Source of Truth)란?
SSOT(Single Source of Truth)란?
2023.03.03SSOT는 Single Source of Truth의 약어로, 데이터베이스, 애플리케이션, 프로세스 등의 모든 데이터에 대해 하나의 출처를 사용하는 개념을 의미합니다. 이는 데이터의 정확성, 일관성, 신뢰성을 보장하고, 일관성 있는 의사결정 및 작업 효율성을 높이는 데 도움을 줍니다. SSOT의 장점 SSOT는 기업에서 데이터 및 정보의 일관성을 유지하고 보장하기 위해 매우 중요합니다. 이를 통해 다음과 같은 장점을 얻을 수 있습니다. 1. 정확성 데이터에 대한 일관성과 정확성을 유지하므로, 잘못된 데이터로 인한 잘못된 결정을 내리는 경우를 줄일 수 있습니다. 2. 일관성 모든 사용자가 동일한 정보를 사용하도록 보장하기 때문에, 업무 프로세스 및 의사결정에 일관성을 유지할 수 있습니다. 3. 효율성 모든..
SCIM(System for Cross-domain Identity Management)이란?
SCIM(System for Cross-domain Identity Management)이란?
2023.03.03SCIM(System for Cross-domain Identity Management)은 클라우드 기반 인증 및 권한 부여 서비스의 표준화된 방법을 제공하는 프로토콜입니다. 이는 사용자 계정, 그룹 및 기타 리소스와 같은 식별자와 관련된 데이터를 관리하고 교환하는 데 사용됩니다. 이는 특히 기업의 IT 관리자들이 클라우드 기반 서비스에 대한 접근을 간소화하고, 보안을 유지하며, 사용자 데이터를 효율적으로 관리하는 데 사용됩니다. SCIM은 IETF(Internet Engineering Task Force)에서 표준으로 지정되어 있으며, 이는 현재 많은 클라우드 서비스 제공업체(예: Google, Microsoft, Salesforce 등)에서 지원됩니다. SCIM의 이점 SCIM은 기업에서 사용자 계정..
Puppeteer를 활용해서 웹사이트 클릭 자동화하기
Puppeteer를 활용해서 웹사이트 클릭 자동화하기
2023.03.03소개 Puppeteer는 Node.js 기반의 headless 브라우저 automation 도구입니다. 이를 사용하면 브라우저에서 수동으로 수행하는 작업을 자동화 할 수 있습니다. 이번 글에서는 Puppeteer를 사용하여 웹사이트에서 클릭 이벤트를 자동화하는 방법에 대해 설명하겠습니다. Puppeteer를 사용한 웹사이트 클릭 자동화 Puppeteer를 사용하여 웹사이트에서 클릭 이벤트를 자동화하려면 다음과 같은 단계를 따라야 합니다. puppeteer를 설치합니다. puppeteer를 사용하여 브라우저를 엽니다. 페이지를 로드합니다. 원하는 요소를 찾습니다. 클릭 이벤트를 트리거합니다. 예를 들어, 구글 검색 페이지에서 "puppeteer"를 검색하고 첫 번째 결과 링크를 클릭하는 코드는 다음과 같습..
CentOS7에서 Docker 데몬 설치 시 무한 대기 현상 (iptable_nat 이슈)
CentOS7에서 Docker 데몬 설치 시 무한 대기 현상 (iptable_nat 이슈)
2022.04.17최근 CentOS7 서버에서 겪었던 Docker 설치 후 무한 대기하는 현상 관련해서 공유하고자 합니다. TL;DR: 결론적으로 이런 경우 iptable_nat 커널 모듈이 서버에 정상적으로 로딩되어있는지 체크하시기 바랍니다. (modprobe를 통해 체크 가능) 이는 OS 레벨의 퍼포먼스 튜닝목적으로 NAT를 disable한 경우일 수 있습니다. 현상 먼저 리눅스 서버에서 CLI를 통해 아래와 같이 Docker 패키지를 설치할 수 있습니다. (repository 방식) # https://docs.docker.com/engine/install/centos/#install-using-the-repository # on root user yum install -y yum-utils yum-config-man..
Fluentd에서 Azure Event Hubs 연동하기
Fluentd에서 Azure Event Hubs 연동하기
2022.02.01파일 데이터를 실시간으로 Azure Event Hub로 전송하기위한 Fluentd 파이프라인 구성 방법 및 주의사항을 다뤄보겠습니다. 사전 지식 본 파이프라인 이해를 위해서 필요한 사전지식을 아래에 정리했으니 기본적인 사항을 숙지하고 구성하시기 바랍니다. 더보기 AEH(Azure Event Hubs)란? Azure Event Hubs는 빅데이터의 실시간 스트리밍 처리를 위한 Azure 클라우드 제품 중 하나입니다. AEH는 Apache Kafka의 Managed service라고 볼 수 있습니다. 실제로 카프카 프로토콜을 지원하여 동일한 방식으로 인터페이스 가능하며 이 외의 다른 연동 방법도 지원합니다. AEH SAS(Shared Access Signature) AEH는 기본적으로 신뢰 가능한 통신을 수..
Databricks Terraform 실행 시 MALFORMED_REQUEST, IAM Role 에러 현상 및 해결 방법
Databricks Terraform 실행 시 MALFORMED_REQUEST, IAM Role 에러 현상 및 해결 방법
2022.01.15버전 Terraform Databricks Provider: 0.4.3 Terraform AWS Provider: 3.38 현상 Terraform으로 Databricks 환경을 구성할 때 아래와 같은 에러가 발생합니다. Error: MALFORMED_REQUEST: Failed credentials validation checks: Spot Cancellation, Create Placement Group, Delete Tags, Describe Availability Zones, Describe instances, Describe Instance Status, Describe Placement Group, Describe Route Tables, Describe Security Groups, Descr..
Medallion 아키텍처란?
Medallion 아키텍처란?
2021.12.12Medallion 아키텍처란 Databricks에서 제시하는 데이터 파이프라인 모델로 Delta Lake와 함께 CDC(Change Data Capture) 방식의 데이터 웨어하우스 구성 방법을 제시합니다. CDF(Change Data Feed) 기능을 사용하면 더욱 쉽게 구현 가능합니다. 변경 데이터 캡쳐 (Change Data Capture) Medallion 아키텍처를 살펴보기 전에 CDC라는 개념을 살펴봐야 합니다. CDC는 어떤 데이터소스의 데이터가 변경 되었을 때, 이를 감지하고 이에 필요한 후속 조치를 할 수 있게 자동화하는 방식의 설계 혹은 메커니즘을 이야기 합니다. CDC 매커니즘이 적용된 데이터 파이프라인에서는 원천 데이터 소스의 변경을 타겟에 반영하는 것이 매우 자연스럽고 자동화된 방..
크롬 확장 프로그램 제작 맛보기 - 날아다니는 밈
크롬 확장 프로그램 제작 맛보기 - 날아다니는 밈
2021.11.21이번 글에서는 최근 학습 겸 재미 삼아 만들어본 날아다니는 밈의 제작 과정을 살펴보면서 크롬 확장 프로그램 제작 및 등록 방법을 알아보겠습니다. 본인의 프로그램을 제작하실 때 가이드라인 정도로 봐주시기 바랍니다. (※ 주의 : 저의 앱은 쓸모 있는 용도가 아니라 학습을 목적으로 만든 것입니다!) 날아다니는 밈 날아다니는 밈 재생기입니다. chrome.google.com 시작에 앞서 : 꼭 해봐야만 할까? 크롬 확장 프로그램을 만들어보는 것은 선택 사항입니다. 본인이 판단해서 필요하다고 생각하거나, 그냥 재미삼아 해보고싶으면 따라서 해보면 됩니다. 다만, 다음과 같은 사람에게는 도움이 될 거라고 생각합니다. 웹 개발 언어(HTML, CSS, Javascript)를 공부하고싶은 사람 자기만의 프로덕트를 간단..
하이라이트 링크 복사 원리를 파해쳐보자 : Text Fragment
하이라이트 링크 복사 원리를 파해쳐보자 : Text Fragment
2021.11.19본문에서는 크롬 브라우저의 하이라이트 링크 복사 기능을 사용해보고, 어떻게 동작하는지 URL 구조를 분석해보겠습니다. 하이라이트 링크 복사(Copy To Link)가 뭔가요? 하이라이트 링크 복사는 최신 크롬 브라우저(95+ 버전부터 기본 지원)에서 추가된 기능으로, 웹페이지 본문 내에 존재하는 텍스트로 바로 이동 가능하도록 링크를 복사하는 기능입니다. 복사된 링크는 상당히 긴 URL로 생성되며, 이를 공유할 수도 있고 링크로 만들 수도 있기 때문에 유용하게 쓰일 수 있습니다. 저는 해당 기능이 어떻게 동작하는지 궁금해졌고, 링크에 비밀이 숨어있을 거라는 생각이 들어 조금 더 자세하게 파악해보기로 했습니다. URL 구조 살펴보기 먼저 하이라이트 링크 복사를 해보겠습니다. 위처럼 텍스트 블록을 우클릭해서 ..
connect-redis 코드 분석 및 'toString' of null 에러 해결 방법
connect-redis 코드 분석 및 'toString' of null 에러 해결 방법
2021.10.09TLDR: 세션 정보를 저장하는 레디스에는 다른 데이터가 섞여있지 않아야 합니다. connect-redis는 Express 앱에서 Redis 스토리지를 통해 세션을 효과적으로 관리해주는 미들웨어입니다. 본 글에서는 제가 해당 모듈을 사용하면서 겪었던 TypeError: Cannot read property 'toString' of null 에러 현상과 함께 이를 해결하는 방법을 알아보고자 합니다. 아래는 당시 모듈 버전 정보입니다. express-session: 1.14.2 connect-redis: 3.1.0 redis: 2.6.3 현상 세션 정보와 몇 가지 추가적인 데이터가 섞여서 레디스에 저장되어있다고 가정하겠습니다. 이때, 존재하는 모든 세션 정보를 읽어오기 위해서는 req.sessionStore..
ES6 문법 + 활용 패턴 살펴보기
ES6 문법 + 활용 패턴 살펴보기
2021.02.13목표: ES6 문법을 살펴보고 이를 이용한 실무의 활용 패턴을 알아봅니다. 자바스크립트는 ECMAScript 사양을 준수하는 언어입니다. 이는 마치 우리가 쓰는 일상 언어와 국립국어원에서 제정하는 표준어 규칙 간의 관계와 비슷하다고 볼 수 있습니다. 표준어 규칙도 필요에 따라 개정하듯이, ECMAScript도 필요에 따라 개정됩니다. ES6는 ECMAScript의 제 6판 표준 사양으로, 2015년도에 재정되어서 ES2015라고 불리기도 합니다. (ES6 이후부터 새로운 언어 사양이 매년 발표되고 있습니다. 2020년 기준으로 ES11까지 재정되었습니다.) ES6를 알아야 하는 이유는, ES6에서 추가된 내용이 현대적인 자바스크립트 개발자라면 꼭 알아야 할 내용이기 때문입니다. 해당 내용을 나열하자면 아..
자바스크립트 개요
자바스크립트 개요
2021.02.13목표: 자바스크립트의 개념, 문법 등을 간단히 살펴보고 브라우저 핸들링, 서버 통신, 프레임워크에 대해 간략히 살펴봅니다. 자바스크립트는 사용자와 웹 페이지 간의 상호작용을 구현하기 위해 만들어진 프로그래밍 언어입니다. 1995년도에 브렌던 아이크에 의해 최초로 개발 되었으며, 인터넷과 브라우저의 발전 역사와 함께 다양한 변화를 겪었습니다. 자바스크립트를 사용해서 아래와 같은 일들을 할 수 있습니다. 웹 페이지 내 인터렉티브 동작 서버 프로그래밍 (Nodejs) 모바일 어플리케이션 (React Native) 데스크탑 어플리케이션 (Electron) 터미널 명령어 도구 작성 코드 실행해보기 각 코드는 크롬 브라우저 개발자 도구 > Console에서 연습해볼 수 있습니다. 윈도우: ctrl + shift +..