분류 전체보기
-
TDD (Test Driven Development)와 단위 테스트웹 개발 Web Development 2020. 7. 8. 20:48
TDD (Test Driven Development) TDD란, 테스트 코드 작성 - 테스트 - 구현(리팩토링) 단계로 이루어지는 사이클을 반복하는 개발 프로세스 중 하나이다. TDD의 장점 구현 단계 이전에 기능 시나리오에 대한 검토가 이루어지면서, 양질의 코드품질 토대가 될 수 있음 자연스럽게 기능 단위의 최적화가 이루어 지며, 자연스러운 모듈화가 이루어짐 디버깅, 리팩토링에 유리함 어떻게 Javascript / React 웹 개발 프로젝트에 TDD를 적용하는가 1. JEST 페이스북에서 만든 JavaScript 테스트 프레임워크로, 테스트 케이스를 만들거나, 결과값을 처리하는 api를 제공하여 쉽고 간결하게 유닛 테스트를 할 수 있다. test('덧셈 케이스', () => { //test() : 새..
-
Webpack 웹팩 , 모듈화 개념 훑어보기웹 개발 Web Development 2020. 6. 23. 22:43
WEBPACK 웹 프로젝트에 포함된 많은 종류의 파일(Html, Js, Css) 을 모듈화, 빌드하여 1개의 파일로 만들어주는 '번들러' 이다. * 여기서 모듈화란 재활용 혹은 편의를 위해 분리된 소프트웨어 덩어리 혹은 코드 파일을 말한다 웹팩과 표준 모듈화 시스템 등장 이전의 모듈화 파일단위로 JS, HTML 파일을 분리하여 태그를 통해 import 하였다. 여러 파일의 코드가 우선순위없이 중첩되거나 관리할 수 없이 꼬여 전역스코프가 오염되기 쉬웠다. Node js 에서 사용하는 Common js 방식 (export - require) , AMD (비동기) 방식등이 있다. ES5/ES6 (ECMA Script 2015, 2016) 이후 모듈화 ES5에서 본격적인 표준 모듈화 시스템이 도입되었다. exp..
-
IEEE 802.16 과 Wireless Local Loop네트워크 프로그래밍 Network 2020. 6. 13. 15:15
WLL (Wireless Local Loop) Base Station antenna 와 지역가입자 간의 선로를 무선송신망으로 구성하는 방식이다. 케이블 설치 비용 및 설치 시간이 절약된다는 장점이 있다. 고주파수(25GHz), 넓은 채널 대역폭으로, 높은 데이터 속도를 제공한다. 마이크로 웨이브 전송방식 날씨의 영향 / 초목의 영향 고려 필요 날씨(대기상태, 강우), 나무, 나뭇잎 의한 Free space loss 가 있다. 28GHz ~ 42GHz 75GHz ~ 95GHz 정도의 주파수가 유리하다. 10GHz 이상 분자 흡수 22GHz 수증기 흡수 피크 60GHz 산소 흡수 피크 *Fresnel Zone : 송신기와 수신기 사이의 직접 경로 주변에 장애물이 없어야하는 공간 Multipoint Distr..
-
MAC (Media Access Control) 과 CSMA-CA컴퓨터공학 2020. 6. 13. 14:56
MAC (Media Access Control) 이란 OSI 7계층 중 Data Link 계층에 있는 부계층 중의 하나로, 여러 단말이 접속할 때 충돌을 방지하기 위해 채널 할당 및 제어를 담당한다. 접근 방식은 *CSMA-CA 기반이다. * CSMA/CA : Carrier Sense Multiple Access with Collision Avoidance 반송파 감지 다중 엑세스 CSMA-CA persistent 방식 : 계속 루프를 돌면서 idle 상태를 체크하며 채널을 모니터링 non-persistent : busy 임을 감지하면 backoff 시간을 할당 받고 대기 / 임의의 시간 후에 다시 채널 상태를 검사
-
강화 학습 (Reinforcement Learning) 개념 및 모델머신러닝 Machine Learning 2020. 6. 12. 19:34
강화 학습 Reinforcement Learning 현재 상태를 인식하고, 할 수 있는 선택지 중에서, 최대한의 보상을 얻을 수 있는 액션을 선택하는 방법이다. 즉시 보상 뿐만 아니라 누적보상을 극대화 할 수 있는 액션(행동)을 찾는다. 모델(샘플) 없이 학습이 가능하여, 최근에 많이 사용되는 학습법이다. 마르코프 결정과정 Markov Decision Processes 강화 학습의 가장 기본적인 의사결정 방법이다. 확률적으로 주어지는 보상의 누적합을 구해, 누적보상을 최대화시킬 방법(Optimal Policy)을 찾는다. Q-Learning Q 러닝은 주어진 상태에서 주어진 행동을 수행하는 것이 얼마나 좋은지, Q-value를 계산하는 함수인 Q Function 학습이다. 액션이 정해진 경우 자동으로 결..
-
깊이 우선 탐색(DFS) 과 너비 우선 탐색(BFS)알고리즘 Algorithm 2020. 6. 11. 18:48
1. 깊이 우선 탐색 (Depth First Search) 트리나 그래프와 같이 정점, 간선, 노드로 이루어진 구조를 순회하는 방법중의 하나이다. 특정 시작 노드 부터 연결된 노드들 중 가장 우선순위가 높은 방향으로 깊이 파고들다가, 더이상 연결되는 노드가 없을 때 시작노드로 되돌아가 다른 노드를 탐색한다. 장점 비교적 단순한 알고리즘으로 구현이 가능하며, 트리구조 탐색에 적용이 용이하다. 단점 BFS 보다는 느리다. 깊이 혹은 목표 노드의 값이 주어지지 않은 경우 비효율적이다. DFS 순환 알고리즘 , 백트랙(backtrack) 파이널 노드 탐색 후 다시 위로 되돌아가 탐색 하기 때문에, 자기 자신을 호출하는 순환 알고리즘(재귀)의 형태를 지닌다. 2. 너비 우선 탐색 (Breadth First Sea..
-
블루투스 접속 과정 및 상태네트워크 프로그래밍 Network 2020. 6. 11. 02:35
블루투스 접속 (Master - Slave Connection) 과정 1. Stanby : 전원을 켠 상태 2-1. Inquiry : Master가 Piconet 에 참여하기 원하는 Slave 디바이스를 탐색 후에 ID packet 과 IAC(inqury access code)를 전송 2-1. Inquiry Response: Inquiry Scan 후 요청이 왔으면 FHS Packet을 리턴하여 자신의 주소를 Master에게 알림 2-3. Paging : Master가 Slave 각각의 주소에 대해 페이징하여 디바이스 별로 호출. Master는 DAC 를 access code로 사용 2-3. Paging Response : Slave 가 응답 / Master가 FHS 를 Slave에게 알림 3. Conn..
-
WPAN (Wireless Personal Area Network) 와 블루투스네트워크 프로그래밍 Network 2020. 6. 11. 01:51
WPAN 이란? 단거리 통신에 사용되는 개인용 무선 네트워크로 블루투스(Bluetooth) 및 지그비(Zigbee)가 대표적이다. 낮은가격, 낮은 전력의 무선 네트워크 제품에 사용되며 IOT분야의 핵심 기술이다. IEEE 802.15 WPAN(wireless PAN) 관련 표준을 만드는 IEEE(아이트리플이) 워킹그룹이다. 현재 가장 활발하게 표준화가 이루어지고 있는 그룹 중의 하나이다. 대표적인 세부 분과는 다음과 같다. IEEE 802.15.1 Bluetooth IEEE 802.15.3 High Rate (20Mbps~55Mbps), 멀티미디어 전송을 위해 TDMA기술을 반영 IEEE 802.15.4 Low Power, Low Speed(300kbps), Low Price, 센서 네트워크 분야 Blu..