. '프로그래밍 공부/CS 공부' 카테고리의 글 목록
본문 바로가기

프로그래밍 공부/CS 공부4

Node.js phase 간단 정리 Node.js 특징 - Single-Thread의 non-blocking I/O 이벤트 기반 비동기 방식으로 작동한다. 하지만 Main-thread만 single일 뿐, 실제 작업은 worker threads pool에 있는 스레드들이 작업한다. 흔히 말하는 event loop가 main thread의 별칭이다 (반대로 libuv는 worker threads pool을 의미한다.). 이 event loop는 non blocking 방식으로 일을 처리하기 때문에 빠른 IO 성능을 가진다. 즉 , Event loop이란, Node.js의 메인 스레드로서, 싱글 스레드로 구성되지만 블로킹 될만한 것을 논블로킹 되게 만들어(worker thread로 작업을 넘겨줘서) node.js가 자원대비 효울적으로 충분히 .. 2021. 5. 2.
디자인 패턴 (작업중...) 0. 인터페이스 ㆍ기능에 대한 선언과 구현 분리 ㆍ기능을 사용하는 통로 인터페이스는 메서드의 선언만 하며, 상세한 구현은 클래스에서 한다. 여기서 예를 들어 보자. 이 밑으로 패턴에 대해서 설명할 때 다음과 같이 설명할 것이다. I. 개요 : 패턴에 대한 한줄 설명 II. 원인 : 패턴이 등장한 이유를 설명 III. 특징 : 패턴의 장점 등을 설명 이 위 3줄 자체는 패턴에 대한 설명이 될 수 없다. 구체적인 내용이 없기 때문이다. 하지만, 이 아래로, 패턴에 관해 설명할 때 I. II. III.들을 각 패턴에 맞게 적어야한다. 이 때, 인터페이스를 기반으로 클래스를 통해 구현하는 것이 된다. 1. 생성 패턴 (추상 객체 인스턴스화) 1) Factory Method I. 개요 : 상위 클래스와 하위 클래.. 2021. 4. 28.
객체 지향 프로그래밍이란 객체 지향 프로그래밍이란? Class와 Object의 차이는? Class : Object를 만들어 내기 위한 템플릿 Object : Class에 data를 투입하여 구현해야할 대상 Instance : Object를 메모리에 할당하여 실제로 사용할 때 Instance라고 한다. (object와 Instance는 본질적으로 같지만, class로 이걸 만들 것이다! 라고 생각했을 때, '이걸'이 의미하는 것은 Object이고, class로 이걸 만들었다! 했을 때, '이걸'이 의미하는 것은 Instance이다. 어렵다. 씁.) field와 method란? Field : class 안에서 선언되는 변수를 말한다. field를 선언할 때는 접근 지정자, field의 type, field의 이름, 이 세가지를 정해.. 2021. 4. 27.
HTTPS (대칭키와 비대칭키) youtu.be/H6lpFRpyl14 1. 클라이언트는 랜덤 데이터를 생성해서 서버로 보낸다. 2. 이를 받은 서버는 자신이 만든 랜덤 데이터와 서버의 인증서를 실어보낸다. -> 핸드셰이킹 통신 완료 3. 이 인증서는 서버의 개인키로 암호화가 되어있기 때문에, 브라우저 안에 내장된 CA의 공개키로 복호화가 가능하다. 이것이 가능하면 해당 사이트는 인증받은 사이트인 것이다. 4. 인증서 안에는 서버의 공개키가 있기 때문에 복호화에 성공하면 클라이언트는 서버의 공개키를 가지게 된다. -> 비대칭키 시스템으로 계속 통신하는 것은 연산의 부담이 심하기 때문에 여기서부터는 대칭키 시스템을 사용한다. 5. 클라이언트는 맨 처음 주고받았던 랜덤 데이터를 활용해서 임시키를 만든다. 6. 이 임시키는 서버의 공개키로 암.. 2021. 4. 22.