자동 완성 버그 현상 최근 들어서 이상하게 모든 브라우저에서 주소창에 이상한 자동완성이 만들어지고 있다. 내가 검색을 한 기록이 있다고 한다면, 주소창을 칠 때 해당 내용이 그냥 붙어버리는 버그로 이런 문제를 많은 사람들이 겪고 있는 듯 하다. 혹시 크롬만의 문제인지 크롬 엔진을 공유하는 다른 브라우저도 동일한지 확인하기 위해서 주소창을 보면... 이와 같이 크롬과 동일한 엔진을 쓰는 브라우저가 동일한 현상을 겪고 있는 것으로 보인다. 위 네이버 웨일의 경우 처음에 크롬 주소창 자동완성으로 검색을 한 뒤, 크롬 주초라고 치니 창 자동완성이 그냥 붙어 버렸다. 해결 방법 크롬에서는 현재는 이 문제를 해결하는 명확한 방법은 없고, 확장 프로그램을 이용해서 끄는 방법이 있다. [1] 아래 링크의 확장 프로그램..
자바로 파일을 직접 컨트롤하여 파일을 삭제해야 하는 경우 및 혹은 하위 디렉토리까지 삭제를 해야 하는 경우가 있을 수 있다. 예를 들어 로그 파일을 매일 폴더를 생성하여 관리를 하고 있는데 날짜값이 오래되었으면 삭제를 해야 한다면, 자바로 날짜값을 접근하여 폴더를 삭제하거나 폴더명을 날짜값으로 만들 경우 제거하는 경우가 있다. 이번에 할 것은 날짜값을 체크해서 삭제하는 것이 아니라, 특정 폴더를 지정하면 하위 폴더를 모두 제거하는 로직을 해보도록 한다. 테스트 데이터 테스트 하기에 앞서 로직의 실험을 위해 우선 폴더를 생성하였는데 아래와 같이 D드라이브에 test라는 폴더를 만들었으며 해당 폴더 안에는 여러개의 하위 폴더들을 생성하였고, test 폴더 안에는 test.txt라는 파일이 존재한다. test..
자연어처리에서 가장 많은 시간을 소요하는 것이 무엇일까? 현업이라면 아마 이런 말을 하지 않을까 싶다. 바로 사전을 만드는 작업이다. 자연어처리는 사전을 만들면 만들수록 품질이 좋아지게 되는데 이는 현재 존재하는 오픈 품사 사전이 매우 적으며, 개체명과 신조어 같은 것들이 포함이 되어 있지 않기 때문이다. 일반적으로 상용 검색엔진에서 제공하는 사전은 약 100만개 이상의 품사를 지원하고 활용하게 되는데 이는 이전 포스팅에서 작성한 형태소 분석 확인 사이트에서 엑소브레인(Exobrain)과 코모란(Komoran)의 형태소 분석 품질을 보면 쉽게 알 수 있다. 오픈소스를 활용해서 구축해야 하는 경우 일반적으로 사용자사전을 상황에 따라 많이 구축하게 되며, 이를 별도로 맡는 분들이 따로 계신다. 마치 딥러닝에..
코모란은 Java에서 사용하는 대표적인 오픈소스 형태소 분석기 중 하나이다. 사용하기가 매우 편리하고, 형태소 분석 성능 역시 뛰어나기 때문에 Java든 Python이든 많이 사용하고 있다. Pom.xml 우선 코모란을 설정하기 위해서 pom.xml 디펜던시(dependency)를 설정해야 하는데 코모란 디펜던시를 위해서 레파지토리도 추가해야 한다. Repository jitpack.io https://jitpack.io Dependency com.github.shin285 KOMORAN 3.3.4 위와 같이 pom.xml 설정이 완료되면, pom.xml을 업데이트하여, 디펜던시 jar 파일을 다운로드 한다. repository -> com -> github -> shin285 -> KOMORAN -> ..
플러터의 경우 doctor라는 기능을 사용하여, 플러터의 설치 문제를 해결할 수 있게 도와준다. 우선 플러터가 설치한 폴더로 이동을 한 후, flutter_console.bat이라는 파일을 더블클릭한다. 위 플러터 경로의 console을 실행하면, 콘솔창이 띄워지며 명령어를 입력할 수 있게 된다. 위 콘솔창에서 아래와 같이 명령어를 입력한다. flutter doctor doctor를 실행하면, Doctor Summary를 볼 수 있게 된다. Summary를 보게 되면, 위와 같이 문제점들이 보이게 될 것이다. 문제점이 있다 하더라도 지금 당장 고칠 필요가 없으니 일단은 걱정하지 않아도 되며, doctor를 추후 자주 사용하여 flutter의 설치 문제를 주기적으로 확인하면서 고치면 될 것이다.
플러터(Flutter)는 크로스 플랫폼이기 때문에 많은 사람들이 아이폰 테스트를 위해서 맥os로 개발을 진행히지만, 플러터를 일단 해보고 싶은 많은 사람들이 있기 때문에 윈도우로 개발 환경을 구성하는 방법도 포스팅해보고자 합니다. 플러터(Flutter) SDK 설치 우선 플러터 웹사이트(https://flutter.dev/)에 접속 후, 우측 상단의 Get Started를 선택합니다. 인스톨(install) 페이지에서 윈도우(windows) 를 선택하여 윈도우 다운로드 페이지로 이동합니다. 시스템 요구사항 Flutter를 설치하고 실행하려면 개발 환경이 다음 최소 요구 사항을 충족해야 합니다. 운영 체제 : Windows 7 SP1 이상(64비트), x86-64 기반. 디스크 공간 : 1.64GB(IDE..
1. EAI(Enterprise Application Integration)의 개요 가. EAI의 개념 - EAI는 기업 정보 시스템들의 데이터를 연계ㆍ통합하는 소프트웨어 및 정보 시스템 아키텍처 프레임워크 - 기업, 기관, 단체 등에서 사용하는 모든 응용 프로그램을 상호 연계하여 통합하는 것 나. Point to Point 문제 - 기존 레거시 시스템들을 직접 연결하는 포인트 투 포인트(Point to Point) 방식으로 데이터를 연계하게 되면 그림 1과 같은 복잡성이 발생할 수 있음 - Point to Point 연계 시, N개의 연결 대상 노드가 존재할 경우 연결은 N(N-1)/2개가 발생한다. - 그림 1의 경우 연결 대상이 6개이므로 6(6-1)/2 = 30/2 = 15개의 연결이 필요하다 다..
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..