분류 전체보기
-
node.js 개인 키, 공개 키, CSR 생성Node.js 2017. 3. 29. 00:06
노드 TLS 구현체는 openssl 라이브러리를 기반으로 한다. 그러므로 openssl 이 설치가 되어있는지 확인을 한 후 설치되어 있지 않다면 https://code.google.com/archive/p/openssl-for-windows/downloads 링크를 클릭 하여 설치하기 바란다. 개인 키의 생성 각 클라이언트와 서버는 메시지 서명에 사용할 개인 키를 갖고 있어야한다. 다음 명령을 통해 개인키를 만들 수 있다. genrsa -out my_key.pem 1024 이렇게 하면 개인 키가 들어있는 my_key.pem 파일이 생성된다. 공개 키의 생성 TLS 에 참여하는 서버와 클라이언트는 상대방의 유효성 검증을 위해 인증서를 갖고 있어야 한다. 인증서는 인증 기관이 서명하거나 자기 서명한 공개 키..
-
자바스크립트 태스크 큐, 이벤트 루프,JavaScript 2017. 3. 28. 10:19
태스크 큐 - 콜백 함수들이 대기하는 큐 형태의 배열을 의미한다. 이벤트 루프 1.현재 실행중인 태스크가 없는지와 태스크 큐에 태스크가 있는지를 반복적으로 확인 2.호출 스택이 비워질 때마다 큐에서 콜백 함수를 꺼내와서 실행하는 역할을 해 준다. 태스크 큐 개념 + 이벤트 루프 개념 예제 function delay() { for (var i = 0; i < 100000; i++); } function foo() { delay(); bar(); console.log('foo!'); } function bar() { delay(); console.log('bar!'); } function baz() { console.log('baz!'); } setTimeout(baz, 10); (A) foo(); (B) ..
-
node.js spawn 과 exec 차이점Node.js 2017. 3. 23. 09:11
`spawn`과 `exec`가 하는 작업은 동일하지만, `spawn`은 스트림(stream)을 리턴하고, `exec`는 버퍼(buffer)를 리턴한다. `spawn`은 `stdout`과 `stderr` 스트림을 포함한 객체를 리턴한다.자식 프로세스의 표준 출력을 `stdout` 객체로 받아 처리할 수 있다.`stdout` 객체는 `data`와 `end` 등의 이벤트를 발생한다.`spawn`은 자식 프로세스로부터 많은 양의 데이터를 받는 경우에 유용한다.예) 이미지 프로세싱이나 바이너리 데이터를 읽어오는 등 `exec`는 자식 프로세스 버퍼의 아웃풋을 리턴한다.버퍼의 사이즈는 기본값은 200k이다.만약, 자식 프로세스가 버퍼 사이즈보다 더 큰 값을 리턴하면,"Error: maxBuffer exceeded"..
-
실무로 배우는 시스템 성능 최적화 - 파일 시스템 , 메모리카테고리 없음 2017. 3. 18. 14:19
- IPC : 프로세스간에 데이터를 공유하거나 통신할 때 사용하는 여러 방식을 통칭하는 용어다. - 페이징 스페이스 : 디스크의 일정 공간을 할당해 보조 메모리 용도로 사용하는것을 의미한다. - 가상 메모리 : 메인 메모리(주 기억장치)와 디시크의 페이징 스페이스(보조기억장칠)를 묶어 하나의 메모리 처럼 동작하게 함으로써 메인 메모리 한계를 넘는 메모리 사용을 가능하게 하는것 - 페이지 : 운영체제에서 관린하는 메모리 액세스 단위를 의미한다. - 페이징 : 메인 메모리로부터 한 페이지의 데이터를 보조기억 장치로 복사하거나 보조 기억장치로부터 메인 메모리로 로드하는것을 뜻한다. - 스와핑 : 프로세스 가 사용하는 메모리 일부를 페이징 스페이스로 옮기거나 페이징 스페이스로 부터 메모리로 로드하는것을 의미한다..
-
자바 POJOJava(자바) 2017. 3. 17. 14:34
Plain Old Java Object 앞자만 따 와서 POJO 라고 한다. 정의를 해보자면 Plain Old Java Object의 두문자어이다. 이 용어는 2000년 9월 Martin Fowler, Rebecca Parsons, Josh Meckenzie에 의해 이름지어졌는데.... 마틴 파울러는 이런말을 했다고 한다. " 왜 사람들이 간단한 보통 자바객체를 사용하지 않을까 생각했는데 그건 심플한 객체에 멋진 이름이 없어서라고 생각한다. 그래서 사람들에게 이름을 주려고 한다." 라고 해서 탄생한 이름이 POJO이다. 특정 클래스를 상속하지 않는다. 특정 인터페이스를 구현한 concrete 객체가 아니다. 특정 어노테이션을 이용한 객체가 아니다. 주의할 점은 상족 혹은 구현등이 안된다고 해서 Runab..
-
메모리 계층 구조Etc 2017. 3. 16. 15:48
메모리 계층 구조(Memory hierarchy)란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미한다[1]. 이때 필요란 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이다. 메모리 계층구조 도식도일반적으로 오른쪽 그림1과 같이 나타낸다. 레지스터와 캐시는 CPU 내부에 존재한다. 당연히 CPU는 아주 빠르게 접근할 수 있다. 메모리는 CPU 외부에 존재한다. 레지스터와 캐시보다 더 느리게 접근 할 수 밖에 없다. 하드 디스크는 CPU가 직접 접근할 방법조차 없다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 한다. 아주 느린 접근 밖에 불가능하다.
-
레지스터 개념Etc 2017. 3. 16. 14:32
프로세서 레지스터(영어: processor register, 순화 용어: 기록기) 또는 단순히 레지스터는 컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 장소이다. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다. 대부분의 현대 프로세서는 메인 메모리에서 레지스터로 데이터 를 옮겨와 데이터를 처리한 후 그 내용을 다시 레지스터에서 메인 메모리로 저장하는 로드-스토어 설계를 사용하고 있다. 레지스터는 메모리 계층의 최상위에 위치하며, 가장 빠른 속도로 접근 가능한 메모리이다. 최신 프로세서에서 레지스터는 대개 레지스터 파일 로 구현되지만, 과거에는 플립플롭, 마그네틱 코어, 박막 필름 메모리 등으로 구현되기도 했다. 출처 : https://ko.wikipedia.org/wiki/%ED%..