현재 빅데이터는 우리 삶에 깊이 녹아들게 되었고 이와 함께 데이터가 무엇인지에 대한 정의와 이해의 중요성이 더 크게 대두되고 있다. 이는 과거 해석의 어려움으로 인해 방대한 양의 비정형 데이터(Unstructured data)가 제대로 활용되지 못하던 상황이 새로운 기법과 방법의 등장으로 까다로웠던 비정형 데이터를 읽고, 저장하고, 분석할 수 있게 되었기 때문이다. 따라서 우리는 새로운 기술들을 통해 이전보다 비정형 데이터를 더 쉽게 이해할 수 있을 뿐만 아니라 분석을 통해 인사이트를 도출해낼 수 있다.IDC에 따르면, 2024년까지 전 세계에서 생성, 캡처, 복사 및 소비되는 데이터의 총량은 매년 149 제타바이트를 넘어설 것이며 그중 상당수는 비정형 데이터가 될 것이라고 한다. 우리는 비정형 데이터 ..
주성분 분석(Principle Component Analysis, PCA)주성분 분석(Principle Component Analysis, PCA)이란 차원 축소 알고리즘 중 하나이다. 일반적으로 머신러닝을 이용해 문제 해결을 시도할 때 train sample은 보통 수천 또는 수백만 개의 특성(feature)을 가지고 있다. 이렇게 특성들이 많으면 이 중 어떤 특성이 유의미한 요소인지 찾기 힘들고 동시에 많은 불필요한 데이터로 인해 garbage in garbage out을 경험하게 된다. 뿐만 아니라 학습 시간이 길어져 결국 연구 결과 확인까지 오래 걸릴 수 있다. 따라서 이런 문제를 야기하는 것을 차원의 저주(curse of dimensionality)라고 한다. 다시 말해 결국 차원을 축소하면 이..
개발을 진행하며 파일 구조를 설계할 때 항상 디렉토리 명과 파일 명들을 명명할 때 고민이 되거나 헷갈리는 경우가 있다. 이 때 네이밍에 좀 참고하고자 해당 내용들을 정리해보았다. SDK(Software Development Kit) SDK(Software Development Kit)란 직역하자면 소프트웨어 개발 도구 모음이다. SDK에는 API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티 등 다양한 개발 도구를 포함하고 있다. 또한 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합으로 볼 수 있다. 즉, 어떤 소프트웨어를 만들기 위한 도구 모음을 SDK라고 한다. 그리고 이 도구엔 API도 포함되어 있다. 예를 들어 iOS SDK를 다운로드하면 개발자에게 iOS 애플리케..
화면 흐름도(Screen Flow Diagram) 화면 흐름도(Screen Flow Diagram)란 화면과 기능 단위로 유저의 사용 흐름을 도식화한 문서이다. 사용자의 입장에서 앱을 사용할 때 어떤 방식으로 구동되는지와 행동에 대한 출력 화면들을 순서도로 만든 것이다. 뿐만 아니라 개발자가 DB설계 및 프로그램 로직 설계할 때 이용할 수 있다. 앞서 언급한 것처럼 이미지로 보기 쉽게 도식화가 되어있어 개발 지식이 부족한 기획자와의 소통의 도구로도 사용할 수 있다. 장단점을 정리하자면 아래와 같다. 장점 - 도식화되어 이해가 월등히 높다. - 구현자가 아닌 경영자도 쉽게 파악할 수 있다. - 화살표 하나로 화면 이동을 쉽게 표현할 수 있다. 단점 - 프로젝트 일정, 파트별 진행 여부를 파악하기 위해, 프..
무선 통신을 위해 BLE, WiFi 등 여러 방식이 있다. 하지만 최근 대부분의 IoT 장비는 Wifi 모듈을 이용해 공유기와 연결하고 이로 인해 망 범위는 무선공유기의 범위에 종속적인 관계가 된다. 집안 및 사무실에서 IoT 기기를 스마트폰과 연계한다면 공유기의 망 범위 내의 IoT 기기를 어디서든 부족함 없이 활용할 수 있지만 무선 공유기의 망 범위 밖의 IoT 기기는 활용할 수 없다는 단점을 가지고 있다. 특히 이런 문제점은 넓은 면적을 커버해야 하는 IoT 디바이스에게는 치명적인 약점이 된다. 또한 일반적으로 IoT 장비는 적은 양의 데이터를 먼 거리에 전송하는 경우가 많다. 이러한 IoT 장비에 적용하기 좋은 통신 수단으로 LoRa와 LoRaWAN이 있다. 이 둘은 약간의 차이점이 있다. LoR..
eMMC(Embedded Multi Media Card) eMMC(Embedded Multi Media Card)란 NAND Flash 메모리와 Flash 메모리 컨트롤러가 결합되어 있는 메모리 카드이며 단순 일체형 보드와는 다르다. ROM 은 비휘발성이지만 읽기만 가능하고, RAM 은 read/write가 모두 가능하지만 휘발성이라는 특징이 있다. 이 두 가지 메모리의 장점만을 살린 것이 NAND Flash 메모리이다. 이런 특성은 EEPROM(Electrically Erasable PROM)과 비슷해 보인다. EEPROM (Electrically Erasable PROM) EEPROM은 전기적인 기능을 통해 저장된 데이터를 지울 수 있는 ROM이다. 정격전압 보다 높은 고전압을 통해 데이터를 지울 수..