분류 전체보기

Node.js

EventEmitter 객체

 EventEmitter는 특정 이벤트에 리스너 함수를 달아서, 이벤트가 발생했을 때 이를 캐치할 수 있도록 만들어진 것이다. (이벤트 기반 프로그래밍, 비동기 프로그래밍) EventEmitter는 다양한 메소드들이 있다. const EventEmitter = require('events'); const myEmitter = new EventEmitter(); myEmitter.on('case', () =>{ console.log('Hello World'); }); myEmitter.emit('case'); 1. on 메소드 on 메소드는 이벤트 핸들러를 설정하는 메소드이다. 같은 용도로 addListener를 사용할 수 있다. 2. emit 메소드 emit 메소드는 인위적으로 이벤트를 발생시키기 위해..

CS/네트워크

네트워크 CS 예상 문제

TCP가 reliable data transfer를 보장하기 위해 사용하는 기법으로 checksum, sequence number, ACK, retransmission timer가 있다. 우선 checksum에 대한 설명입니다. 각각의 character들을 숫자로 mapping해서 그 숫자들을 합한 것을 checksum이라 한다. 원본 문장과 계산한 checksum을 한꺼번에 수신자에게 보낸다. 여기서 어떤 형식으로 보내는지는 프로토콜에 의해서 합의를 한다. 그리고 수신자가 동일한 알고리즘으로 합을 구하고 checksum과 같으면 ok하고 다르면 무시하여 reliable delivery를 보장한다. 다음은 retransmission timer에 대한 설명입니다. sender는 해당 packet에 대응하는..

JavaScript

자바스크립트 : 객체

객체는 중괄호를 통해 만들 수 있다. { Myname : '김민석', Mygender : '남자' } 중괄호 안에 키와 값을 넣어주면 된다. 키와 값, 이들의 한 쌍을 속성이라고 한다. 키 : Property Name 값 : Property Value Property Name은 문자열 타입을 가지고 있다. 따라서, 따옴표를 사용해야 하지만 JavaScript가 암묵적으로 문자열로 형 변환을 하기 때문에 일반적으로 따옴표를 생략해도 된다. 하지만! 따옴표를 생략하기 위한 조건은 1. 첫 번째 글자는 반드시 문자, 밑줄, 달러 기호 중 하나로 시작해야 한다. 2. 띄어쓰기를 하면 안 된다. 3. 하이픈 기호를 쓰면 안 된다. 이런 규칙을 어길 경우, 따옴표를 사용해야 한다. Property Value는 모든..

공부하면서 얻은 지식들

JSX

JSX는 1. XML과 유사하다. 2. JavaScript를 확장한 것으로 React와 함께 사용한다. JSX로 작성한 코드는 브라우저에서 실행되기 전, 소스코드가 번들링되는 과정에서 바벨을 사용하여 일반 자바스크립트 형태의 코드로 변환된다. 번들링 - 리액트를 사용하려면 import React from 'react';를 소스코드 안에 넣어주어야 한다. 모듈을 불러오는 것인데 이를 사용하는 것은 원래 기능이 아니므로 이 기능을 사용할 수 있도록 모듈을 하나로 묶어 사용하는데 이를 번들링이라고 한다. 바벨 - 크로스 브라우징을 지원하기 위한 기능이다. ES6+ 자바스크립트나 타입스크립트, JSX 등 다른 언어로 분류되는 언어들에 대해서 모든 브라우저에서 동작할 수 있도록 호환성을 지켜주는 역할을 한다! J..

CS/소프트웨어공학

[4] 클래스 다이어그램 (Class diagram)

클래스 다이어그램 ? : 시스템에서 사용되는 객체 타입을 정의하고, 그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램 : 구조적 모델을 가시화, 문서화하는데 필요 구성 요소 개념 Visibility : public(+), private(-), protected(#) 등과 같은 접근 지정자 클래스 표기는 박스를 세 부분으로 나누어 맨 위는 클래스 이름, 가운데는 속성, 맨 아래는 연산을 기술한다. 클래스 간 관계 1. 연관(Association) 하나의 클래스가 다른 클래스에서 제공하는 기능을 사용 2. 집합(Aggregation) Association의 일종 전체와 부분의 관계를 표시 3. 복합(Composition) 전체에 대해 부분이 강한 소속감을 가지고 동일한 생명기간을 가질 때 ..

CS/소프트웨어공학

[3] 액티비티 다이어그램 (Activity diagram)

액티비티 다이어그램? : 객체의 상태가 아닌 처리 로직이나 조건에 따른 처리흐름을 순서에 따라 정의한 다이어그램 특징 1. 처리흐름의 도식화로 프로그램 로직 정의 가능 2. 비즈니스 프로세스 정의 3. usecase의 실현 구성요소 액션 : 더 이상 분해할 수 없는 단일 작업 액티비티 : 액션의 집합 시작 노드 : 액션이나 액티비티의 시작 종료 노드 : 모든 액티비티가 종료 흐름 종료 노드 : 특정 제어 흐름이나 객체 흐름이 종료됨 조건 노드 : 조건에 따라 제어의 흐름이 분리됨, 들어오는 제어 흐름은 한 개, 나가는 제어 흐름은 여러 개 병합 노드 : 여러 경로의 흐름이 하나로 합쳐짐, 들어오는 제어 흐름은 여러 개, 나가는 제어 흐름은 한 개 객체 노드 : 객체 흐름에 연결된 객체 제어 흐름 : 실행..

CS/소프트웨어공학

[2] 유스케이스 다이어그램 (Usecase diagram)

유스케이스 다이어그램? : 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 다이어그램 특징 사용자의 기능적 요구사항을 정의하는 직관적인 표현 유스케이스와 액터 간의 관계를 표현 고객과의 의사소통 도구 주로 분석단계에서 수행하여 시스템 개발 전 단계에 영향 구성요소 유스케이스 - 시스템이 제공하는 서비스, actor가 시스템을 통해 하는 행위 Actor - 사용자가 시스템에 대해 수행하는 역할 시스템 - 전체 시스템 구성요소 간 관계 연관 - 유스케이스와 액터의 관계를 표현 확장(Extend) - 사용하려는 유스케이스가 사용되어지는 유스케이스 행위를 선택적으로 포함 포함(Include) - 사용하려는 유스케이스가 사용되어지는 유스케이스 행위를 필수적으로 포함 일반화 - 하..

CS/소프트웨어공학

[1] 4+1 view

4+1 view ? 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법 유스케이스 관점 (Usecase view) : 요구사항을 분석해 시스템의 기능을 명세화 (기능 : 사용자에게 제공하는 기능) : usecase diagram 논리적 관점 (Logical view) : 유스케이스 관점에 표현된 요구사항을 시스템의 구조와 행동으로 명세화 : 클래스나 컴포넌트의 종류와 이들의 관계에 초점 : class diagram, object diagram 프로세스 관점 (Process view) : 시스템을 구성하는 프로세스나 그것 간의 동작을 표현 : activity diagram, class diagram 구현 관점 (Implementation view) : 개발 환경 안에..

화서동 병아리
'분류 전체보기' 카테고리의 글 목록 (6 Page)