분류 전체보기 155

견고한 JS 소프트웨어 만들기 강의노트3

인프런에서 견고한 JS 소프트웨어 만들기를 수강하며 적은 강의노트입니다.보다 자세한 내용은 강의를 통해 확인하실 수 있습니다. 모듈 이용해서 화면 만들기화면(index.html)에 붙여보자xxxxxxxxxx Increase​ ​ (() => { const clickCounter = App.ClickCounter() const updateEl = document.querySelector('#counter-display') const triggerEl = document.querySelector('#btn-increase')​ const view = App.ClickCountView(clickCounter, {updateEl, triggerEl})​ view.updateView() })() 개선된 점기존 i..

FrontEnd 2019.09.15

견고한 JS 소프트웨어 만들기 강의노트2

인프런에서 견고한 JS 소프트웨어 만들기를 수강하며 적은 강의노트입니다.보다 자세한 내용은 강의를 통해 확인하실 수 있습니다. 클릭카운터 모듈 - 스펙1전역공간에 있는 counter변수를 ClickCounter안에서 관리ClickCounter모듈의 getValue()는 카운터 값을 반환한다. 테스트 코드 작성 (적색단계)xxxxxxxxxx describe('getValue()', ()=> { it('초기값이 0인 카운터 값을 반환한다', ()=> { const counter = App.ClickCounter() expect(counter.getValue()).toBe(0) }) }) 모듈 생성 (녹색단계)xxxxxxxxxxvar App = App || {}​App.ClickCounter = () => {..

FrontEnd 2019.09.15

견고한 JS 소프트웨어 만들기 강의노트1

인프런에서 견고한 JS 소프트웨어 만들기를 수강하며 적은 강의노트입니다.보다 자세한 내용은 강의를 통해 확인하실 수 있습니다. 아리송한 상황들자바스크립트는 빌드과정이 없기때문에 실행하기전 코드의 에러를 검출할 수 없습니다.console.log = 4console.log('4');// ERROR또한 타입이 헷갈릴 때도 있습니다.xxxxxxxxxxlet f = '1' + 1// '11'let s = '2' * 3// 6let t = 1 + '2' + 3 * 4// '1212'컴파일러가 없으니 테스트가 최선이다.이러한 문제를 극복할 방법으로 테스트주도개발(TDD)에 대해 알아보자!JS 소프트웨어를 견고하게 만드는 것이 이 강의의 목표. 몇 가지 테스트 개념들단위 테스트단위(Unit): Input에 따라 계산한..

FrontEnd 2019.09.15

OSI 7 Layer 데이터 링크 계층(Data Link Layer)

정보처리기사를 공부할때 단순히 암기만 했던, OSI 7 Layer을 학습해보려합니다. Data Link실질적으로 데이터와 물리적인 장비와의 연결을 제공하는 역할NIC(Network Interface Card, 랜카드)는 데이터의 출발점이자 도착점Frame의 전송을 제어(입/출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어)3계층의 Packer을 Frame형태로 만들며, Frame안의 정보는 상위 계층을 모두 포함 기능이웃한 통신 기기 사이의 연결 및 데이터 전송 기능과 관리규정Frame 구성: Header와 Tailer에 제어 정보 추가Frame 오류 검출: Parity check, CRC (Cyclic Redundancy Check), ChecksumFrame 오류 제어(오류 수정): FEC..

Network 2019.09.08

ECEF

ECEFhttps://en.wikipedia.org/wiki/ECEFEarth-Centered Earth-Fixed (지구중심고정좌표계)는 지구를 직교좌표계로 표시한 체계이다.X, Y, Z로 나누어 표시하며 (0, 0, 0)은 지구의 중심을 나타낸다. XYZ축X축은 경도, 위도(0, 0)을 통과하며 본초 자오선을 통과한다.Y축은 (0, -90)를 통과하며 적도를 통과한다. (왼손좌표계)Z축은 남북극을 통해 간다.ECEF와 WGS84의 변환https://math.stackexchange.com/questions/2825082/understanding-differences-in-geodetic-wgs84-to-ecef-equationsR은 지구 반지름 추정값 (6371km)​x// XYZx = R * cos..

GIS 2019.09.06

OSI 7 Layer 물리계층(Physical Layer)

정보처리기사를 공부할때 단순히 암기만 했던, OSI 7 Layer을 학습해보려합니다. Physical LayerData Link에서 전달된 프레임을 0과 1의 bit로 변환하여 보내는 역할비트 전송을 위한 기계적/전기적/기능적/순서적 특성을 제공신호를 수신하여 재생 및 증폭을 하며 모든 포트로 Broadcast 속성전기적 속성0과 1을 나타내기 위한 전압이나 전류 그리고 전기적 변화의 타이밍신호 형식: 아날로그, 디지털변조 방식: AM, FM, PM전송 방식: 기저대역, 광대역데이터 속도: BPS(초당 비트수), Baud(초당 주파수)데이터 부호화 방식: ASK(Amplitude Shift Keying), FSK(Freqeuncy Shift Keying), PSK(Phase Shift Keying)라인코..

Network 2019.09.04

자바스크립트 고차함수

유인동님의 함수형 자바스크립트 프로그래밍을 시작하며자바스크립트의 함수와 관련된 몇 가지 기능들에 대해 알아보고자 합니다. 고차함수함수를 인자로 받아 대신 실행하는 함수​xfunction callWith10(val, func) { return func(10, val);}function add(a, b) { return a + b;}​callWith10(20, add); // 30위의 예시에서 일반 함수는 add 함수를 인자로 받아 내부에서 대신 실행하는 함수(고차함수)는 callWith10이다. 함수를 리턴하는 함수xxxxxxxxxxfunction constant(val) { return function() { return val; }}​var always10 = constant(10); // 10cons..

Language/JavaScript 2019.08.27

자바스크립트 Blob 이란?

JS에서 Blob 객체는 Binary Large Objects의 약자입니.단순 텍스트가 아닌 이미지, 사운드, 동영상 등 대용량 바이너리 데이터를 담을 수 있습니다.주로 데이터의 크기(Blob.size) 및 MIME 타입(Blob.type)을 알아내거나, 데이터 송수신 작업에 사용됩니다. Contstuctorvar mBlob = new Blob(array, options);위의 코드와 같이 Blob 생성자는 두 개의 매개변수를 받습니다.첫 번째 array는 ArrayBuffer, ArrayBufferView, Blob, DOMStrring중의 하나로 데이터의 배열을 전달합니다.두 번째 options는 {type: ..., endings: ...} 형태를 가지고 있으며,type은 contents의 MIME..

FrontEnd 2019.08.13

토비의 스프링 mySQL Connector 다운로드

OS: Windows10 IDE: Eclipse토비의 스프링에서 mysql-connector-java-5.1.7-bin.jar파일을 클래스패스에 넣어주라는 내용이 있는데 이를 해결하는 방법을 알아봅니다.mySQL Connector downloadhttps://dev.mysql.com/downloads/connector/j/위 주소의 페이지로 접속합니다. Select Operating System을 Platform Independent로 바꾸고 ZIP Archive 파일을 다운로드합니다. No thanks, just start my download를 누르면 회원가입 혹은 로그인 없이 다운로드 받으실 수 있습니다.다운로드된 mysql-connector-java-8.0.17.zip파일의 압축을 풀어줍니다. A..

DB/mySQL 2019.08.09

자바스크립트 클로저

유인동님의 함수형 자바스크립트 프로그래밍을 시작하며자바스크립트의 함수와 관련된 몇 가지 기능들에 대해 알아보고자 합니다. 클로져클로져는 자신이 생성될 때의 환경을 기억하는 함수이다. 이 문장만 보면 클로져가 너무 어렵다고 생각될 수가 있습니다. 따라서 조금 더 쉽게 표현하고자 예시를 들어보려 합니다. 예시​xfunction outerFunc() { const outerVar = `I'm outer variable`; function innerFunc() { console.log(outerVar); } return innerFunc;}​outerFunc()(); // I'm outer variable클로져는 자신이 생성될 때의 스코프에서 알 수 있었던 변수를 기억하는 함수다.그렇다면, 자바스크립트의 모든 ..

Language/JavaScript 2019.08.08