내가 까먹을까봐 만든 블로그

전체 글

Computer Science/Software Engineering

SDK(Software Development Kit), API(Application Programming Interface), 위젯, 모듈의 차이

개발을 진행하며 파일 구조를 설계할 때 항상 디렉토리 명과 파일 명들을 명명할 때 고민이 되거나 헷갈리는 경우가 있다. 이 때 네이밍에 좀 참고하고자 해당 내용들을 정리해보았다. SDK(Software Development Kit) SDK(Software Development Kit)란 직역하자면 소프트웨어 개발 도구 모음이다. SDK에는 API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티 등 다양한 개발 도구를 포함하고 있다. 또한 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합으로 볼 수 있다. 즉, 어떤 소프트웨어를 만들기 위한 도구 모음을 SDK라고 한다. 그리고 이 도구엔 API도 포함되어 있다. 예를 들어 iOS SDK를 다운로드하면 개발자에게 iOS 애플리케..

Computer Science/Software Engineering

[QA 전략] 화면 흐름도(Screen Flow Diagram)와 정보 구조도(Information Architecture, IA)

화면 흐름도(Screen Flow Diagram) 화면 흐름도(Screen Flow Diagram)란 화면과 기능 단위로 유저의 사용 흐름을 도식화한 문서이다. 사용자의 입장에서 앱을 사용할 때 어떤 방식으로 구동되는지와 행동에 대한 출력 화면들을 순서도로 만든 것이다. 뿐만 아니라 개발자가 DB설계 및 프로그램 로직 설계할 때 이용할 수 있다. 앞서 언급한 것처럼 이미지로 보기 쉽게 도식화가 되어있어 개발 지식이 부족한 기획자와의 소통의 도구로도 사용할 수 있다. 장단점을 정리하자면 아래와 같다. 장점 - 도식화되어 이해가 월등히 높다. - 구현자가 아닌 경영자도 쉽게 파악할 수 있다. - 화살표 하나로 화면 이동을 쉽게 표현할 수 있다. 단점 - 프로젝트 일정, 파트별 진행 여부를 파악하기 위해, 프..

Computer Science/Computer Network

[통신] 로라(Long Range, LoRa)와 LoRaWAN(Long Range Wide Area Network)의 차이와 특징

무선 통신을 위해 BLE, WiFi 등 여러 방식이 있다. 하지만 최근 대부분의 IoT 장비는 Wifi 모듈을 이용해 공유기와 연결하고 이로 인해 망 범위는 무선공유기의 범위에 종속적인 관계가 된다. 집안 및 사무실에서 IoT 기기를 스마트폰과 연계한다면 공유기의 망 범위 내의 IoT 기기를 어디서든 부족함 없이 활용할 수 있지만 무선 공유기의 망 범위 밖의 IoT 기기는 활용할 수 없다는 단점을 가지고 있다. 특히 이런 문제점은 넓은 면적을 커버해야 하는 IoT 디바이스에게는 치명적인 약점이 된다. 또한 일반적으로 IoT 장비는 적은 양의 데이터를 먼 거리에 전송하는 경우가 많다. 이러한 IoT 장비에 적용하기 좋은 통신 수단으로 LoRa와 LoRaWAN이 있다. 이 둘은 약간의 차이점이 있다. LoR..

Computer Science/IoT

eMMC(Embedded Multi Media Card)와 NAND Flash 메모리 성능 비교

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이다. 정격전압 보다 높은 고전압을 통해 데이터를 지울 수..

Computer Science/Software Engineering

[보안] 해시 함수(Hash Function)와 생일 역설(Birthday Paradox)

해시 함수(Hash Function) 해시 함수(Hash Function)란 주어진 원문에서 고정된 길이의 의사난수를 생성하는 연산기법이며, 이에 생성된 값을 '해시값'이라고 한다. 다시 말해 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수이다. 해시 함수에 의해 얻어지는 값을 해시 코드, 해시 값, 메시지 다이제스트 또는 해시(Hash)라고 한다. 암호화 해시 함수(cryptographic hash function)는 해시 함수의 일종으로, 해시 코드로 부터 원래의 입력값을 추정하기 어려운 성질을 가지는 경우를 의미한다. 암호화라는 의미가 암호문으로 부터 암호화하기 전의 평문을 추정하기 어렵게 만든 것이기 때문이다. 이 암호화 해시 함수에는 MD5, SHA, SHA‐1, SHA..

Computer Science/IoT

[시리얼 통신] SPI(Serial Peripheral Interface)통신이란?

주요 개념 SPI(Serial Peripheral Interface) 통신 시리얼 통신 SPI(Serial Peripheral Interface) 통신이란 직역하면 직렬 주변 기기 인터페이스이다. 2C, CAN, UART와 같은 시리얼 통신(직렬 통신) 방식 중 한 가지로 마이크로컨트롤러, 시프트 레지스터 , SD카드 등의 소형 주변 장치 사이에 데이터를 전송하기 위한 기능이다. 쉽게 말해 SPI 통신은 칩(IC)과 칩 간에 데이터를 주고받기 위한 통신방법 중 한 가지이다. SPI를 이해해두면 추후 ADC 관련 IC분석이나 Phase제어 등의 IC분석을 할 때 좀 더 쉽게 접근할 수 있다고 한다. SPI 통신 방식의 특징은 1 대 다수(1:N)의 통신을 지원하는 동기식 통신 방식이라는 것이다. 다만 다수..

AlienCoder
외부 저장소
loading