1. CDC(Chage Data Capture)의 개요 가. CDC의 개념 - 데이터베이스(Database) 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조 (데이터 분석 전문가 가이드) [1] - 변경된 데이터를 사용하여 동작을 취할 수 있도록 데이터를 결정하고 추적하기 위해 사용되는 여러 소프트웨어 디자인 패턴들의 모임 (위키피디아) [2] 나. CDC의 방식 - 푸시 방식 : 데이터 원천(Source)에서 변경을 식별하고 대상 시스템 변경 데이터를 적재 - 풀 방식 : 대상 시스템(Target)에서 데이터 원천을 정기적으로 살펴서 필요시 데이터를 다운로드 2. CDC 구현 기법 - 시스템 개발자들은 수많은 방식으로 또 애플리케이션 ..
1. 데이터 웨어하우스의 개념 - 데이터 웨어하우스는 ODS를 통해 정제 및 통합된 데이터가 데이터 분석과 보고서 생성을 위해 적재되는 곳 (데이터 분석 전문가 가이드) - 데이터 웨어하우스는 보다 정보에 입각한 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리(Repository)이다. (AWS 사이트) - 데이터 웨어하우스는 다양한 소스의 데이터를 하나의 중앙 데이터 저장소로 집계함으로써 분석, 데이터 마이닝, 머신 러닝 및 AI를 지원하는 시스템 (IBM 사이트) 2. 데이터 웨어하우스의 특징 주제 중심(Subject Oriented) - 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화 된다. 영속성(Non Volatile) - 최초 저장 이후에는 읽기 전용(Read Onl..
1. ODS(Operation Data Store)의 개념 - 데이터에 추가 작업을 위해 다양한 데이터 원천(Source)들로 부터 데이터를 추출·통합한 데이터베이스 (데이터 분석 전문가 가이드) [1] - 보고, 제어 및 운영 의사 결정 지원을 위해 데이터에 대한 추가 작업을 위해 여러 소스의 데이터를 통합 하도록 설계된 데이터베이스(위키피디아) [2] ODS 내의 데이터는 향후 비즈니스 지원을 위해서 타 정보 시스템으로 이관하거나 다양한 보고서 생성을 위해 데이터 웨어하우스(Data Warehouse, DW)로 이관된다. ODS의 구성 단계 가. 인터페이스(interface) 단계 - 다양한 데이터 원천(웹사이트, RDBMS, 스프레드시트 등)으로부터 데이터를 획득 하는 단계 - 획득 프로토콜로는 O..
파이썬은 datetime과 time이라는 라이브러리를 제공하며, 이 값을 활용하여 날짜의 값을 분리하거나 N일을 기준으로 이후 이전, 이후 등을 구할 수 있다. import 라이브러리 import datetime as dt import time as tm datetime과 time 라이브러리를 호출한다. time과 dateime 사용 print(tm.time()) # 1647013868.527883 tm객체의 time 펑션을 호출하면, 시스템 타임(컴퓨터가 인식하는 시간, timestamp)이 찍힌다. 이 값을 이제 날짜 포맷으로 세팅한다. now = dt.datetime.fromtimestamp(tm.time()) print(now) # 2022-03-12 00:51:08.527909 datetime에..
플러터는 다른 앱 프로그램과 달리 개발 세팅이 살짝 복잡하다. 기본적으로 DART라는 언어를 사용하기도 하고, 크로스 플랫폼이기 때문에 체크해야 되는 것이 많기 때문이다. flutter sdk 설치 우선 아래의 페이지로 이동하여, 자신에게 맞는 os 파일을 선택한다. 플러터는 크로스플랫폼이기 때문에 맥으로 개발하는 사람이 많기에 본 포스팅은 맥os를 기준으로 진행을 하며, macOS를 다운로드 한다. https://docs.flutter.dev/get-started/install Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and Chrome OS operating systems. docs.f..
형태소 분석을 하기 위해서는 당연히 형태소 분석기를 돌리면 되지만, 형태소 분석기를 교차검증 해야 될 필요도 있고 다른 형태소 분석기는 어떻게 분석을 하는지 알아야 될 때도 있다. 각설하고, 우리나라에는 대표적으로 형태소 분석을 확인할 수 있는 사이트가 여럿있지만 여기서는 2가지를 설명해보고자 한다. 엑소브레인(Exobrain) 엑소브레인은 한국전자통신연구원(ETRI, 에트리)와 국내 인공지능 및 검색업체와 같이 프로젝트를 한 사업으로 참여한 업체는 와이즈넛(Wisenut)과 솔트룩스(Saltlux) 등이 있다. 와이즈넛과 솔트룩스는 상용 검색엔진을 만드는 업체로 국내 다섯손가락 안에 드는 업체이기 때문에 자연어처리 기술이 매우 잘 발달되어 있다. 엑소브레인은 에트리와 국내 굴지의 업체들이 함께 만들었으..
자연어처리에 관련된 업무를 하기 위해서 가장 필요한 지식은 바로 품사에 대한 이해이다. 우리가 학창 시절에 공부를 했기 때문에 다들 품사가 무엇인지 어느정도 알고 있을테지만, 자연어처리를 더욱 잘 이해하기 위해서는 품사에 대한 이해를 학창 시절 이상으로 끌어올려야 한다. 게다가 자연어처리를 하는 대다수는 컴퓨터 공학을 전공한 이과생들이기 때문에 문과생들보다 품사에 대한 이해가 상대적으로 떨어질 수 있기에 자연어 처리를 할 때 사용하는 품사들의 종류가 무엇인지 조금 더 자세히 알아 볼 필요가 있다. 형태소 분석 품사를 붙이는 행위를 PoS(Part of Speech, 품사) Tagging이라고 한다. 형태소 분석은 의미있는 가장 작은 단위의 말(형태소)을 분석한다라는 뜻을 담고 있기에 Pos Tagging..
콘다 패키지가 오래되어서 더이상 사용하기 힘들 경우 콘다 자체를 업데이트 시켜야 될 것이다. 명령어 conda update -n base conda 위와 같이 명령어를 실행하면 conda의 코어가 업데이트 된다. 실행과정 (base) Jinhooui-MacBook-Pro:~ stevejang$ conda update -n base conda Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /Users/stevejang/opt/anaconda3 added / updated specs: - conda The following packa..
요새 안드로이드(Android) 및 ios 개발에 흥미가 생겨 데탑부터 노트북까지 이것저것 세팅을 하는 와중에 4년전에 산 유물이 되어버린 Dell Gaming 노트북에서 안드로이드 개발을 하는 것은 너무 힘겨워 하는 것보였다. (메모리가 8GB에 ssd도 250GB 밖에 되지 않아서 정말 앱 개발을 할 땐 앱개발밖에 못하고 다른걸 못킬 정도...) 그래서 다른 노트북을 사야하나? 고민을 하다가 앱 개발은 맥북이 최고다라는 사람들의 말에 그냥 원래 있던 맥북 프로를 좀 자주 쓰자로 방향을 전환하면서, 다시 잊고 있었는데 불현듯 업그레이드가 가능한 노트북인가 싶어 사이트[1]를 확인해보았다. DELL 사이트를 들어가니 업그레이드를 하는 방법 그리고 어떤 제품을 사면 되는지까지 안내가 되어 있었고, 그래서..
최근들어 서재 방에서 Study with me에 관련된 영상들(같이 공부하는 컨셉의 영상들)을 보면서 일을 하거나, 공부 혹은 책을 읽고 있는데 어떤 영상에서 특이한 블루투스 키보드를 보면서 이거다라는 생각을 하게 되었다. 나는 사실 애플의 심플하고 날카로운 감성도 좋아하지만 레트로에 환장하는 사람이다보니, 타자기에 대한 감성이 아직도 남아있다. 예전에 전세계의 국민 메신저였던 Icq도 타자기 스타일로 테마를 깔아서 사용하곤 했었다. 그렇게 타자기에 환장했던 사람인데 키보드가 타자기 스타일이니 지름신이 강림해서 최근 며칠간 타자기 스타일의 블루투스 키보드를 상당히 오랜 기간 검색하였다. 위 영상의 키보드는 국내에서 발매된 것은 아닌 것 같고 위에 것과 상당히 디자인이 유사한(거의 95% 이상) 키보드가 ..
크로스 플랫폼 전문적인 앱개발자가 아니라면, 취미 혹은 남는 시간으로 앱 개발을 해야 하는데 안드로이드(android)와 ios를 둘다 개발한다는 것은 정말 쉬운 일이 아니다. 게다가 안드로이드 같은 경우는 자바(java)에서 코틀린(kotlin)으로 넘어가고 있고, ios의 경우는 objective-c에서 스위프트(swift)로 넘어가고 있다. 이렇듯 언어의 변화도 1인 앱개발자에게는 정말 힘든 과정이 될 수 있어서, 한곳에서 개발을 하면 각각의 환경으로 빌드를 해주는 툴 들 즉 크로스 플랫폼들이 자주 등장하고 있는데 리액트 네이티브(react native)라는 프레임워크가 가장 알려지며 큰 역할을 많이 하고 있었다. 하지만 최근 들어서 안드로이드에서 리액트 네이티브같은 프레임워크를 만들었는데 그것이 ..