목록전체 글 (106)
개발스토리
화살표 함수 화살표 함수(arrow function)라는 새로운 함수가 추가되었으며, 기존의 function() {}도 그대로 사용할 수 있다. function add1(x,y){ return x+y; } const add2 = (x,y) => { return x+y; } const add3 = (x,y) => x+y; const add4 = (x,y) => (x+y); function not1(x){ return !x; } const not2 = x => !x; add1, add2, add3, add4는 같은 기능을 하는 함수다. not1, not2도 같은 기능을 하는 함수이다. 화살표 함수는 function 선언 대신 => 기호로 함수를 선언한다. 또한 변수에 대입하면 나중에 재사용할 수 있다. 화살..
const, let 보통 자바스크립트를 배울 때 var 변수를 선언하는 방법을 배운다. 하지만 var는 이제 const와 let으로 대체된다. if(true){ var x = 1; } console.log(X); // 1 if(true){ const y = 1; } console.log(y) //Refference error: y is not defined var는 함수 스코프를 가지므로 if문의 블록과 관계없이 접근이 가능하다. const와 let은 블록 스코프를 가지므로 블록 밖에서는 접근할 수 없다. 함수 스코프 대신 블록 스코프를 사용하면서 호이스팅 같은 문제도 해결되고 코드 관리도 수월해진다 호이스팅? 코드에 선언된 변수 및 함수를 코드 상단으로 끌어올리는 것을 말하며 이는 변수 범위가 전역 범..
서버로서의 노드 노드는 기본적으로 싱글 스레드, 논 블로킹 모델을 사용한다. 노드는(논 블로킹 방식으로 코드를 작성했다는 가정하에) libuv 라이브러리를 사용하여 I/O 작업을 논 블로킹 방식으로 처리한다. 따라서 스레드 하나가 많은 수의 I/O를 감당할 수가 있다. But, 노드는 CPU 부하가 큰 작업에는 적합하지 않다. 싱글 스레드 방식으로 서버를 운영할 때는 하나뿐인 스레드가 에러로 인해 멈추지 않도록 잘 관리해야 한다. 에러를 제대로 처리하지 못하면 하나뿐인 스레드가 죽어버려서 서버 전체가 멈추기 때문이다. 이와 같은 특성들로 노드는 개수는 많지만 크기는 작은 데이터를 실시간으로 주고받는 데 적합하다. 실시간 채팅 어플리케이션, 주식 차트 등 노드는 생산성은 매우 좋지만, Go처럼 비동기에 강..
서버 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램을 말한다. 클라이언트 : 요청을 보내는 주체로 브라우저, 데스크톱 프로그램, 모바일 앱 등 다양하다. 서버라고 해서 요청에 대한 응답만 하는 것은 아니다. 다른 서버에 요청을 보낼 수도 있다. 이 때는, 서버가 클라이언트 역할을 한다. 정리 서버는 클라이언트 요청에 대해 응답을 한다. 응답으로 수락을 할 수도 거절을 할 수도 있다. 노드 또한 자바스크립트 프로그램이 서버로서 기능하기 위한 도구를 제공하므로 서버 역할을 수행 가능하다. 자바스크립트 런타임 런타임이란 특정 언어로 만든 프로그램들을 실행할 수 있는 환경이다. 노드는 V8, libuv 라이브러리를 사용한다. V8과 libuv는 c, c++로 구현되었지만, 우리가 작..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cblmRL/btqOoM8GyR7/rJML90pKvUU7ZdgBdnPpe1/img.png)
KDC (Key Distribution Center) ■ For symmetric Key cryptography ■ 신뢰할 수 있는 키 관리, 분배 책임 주체 ■ 사용자들은 KDC 등록 신청하면, KDC가 각 사용자들과 비밀키를 공유 ■ 각 사용자들은 key를 사용하여 KDC를 통해 communication을 한다. ■ 장점 - 비밀키 방식은 비교적 속도가 빠르다. - 서버를 사용하지 않는 경우보다 키 관리를 쉽게 해준다. ■ 단점 - KDC가 고장나면 모든 서비스를 할 수 없다. - KDC가 공격되면 모든 비밀키가 노출될 수 있다. - 신뢰성이 매우 중요하다. - 병목현상이 발생할 수 있다. CA(Certification Authorities) ■ for public key cryptography - ..