컴퓨터공학
-
MAC (Media Access Control) 과 CSMA-CA컴퓨터공학 2020. 6. 13. 14:56
MAC (Media Access Control) 이란 OSI 7계층 중 Data Link 계층에 있는 부계층 중의 하나로, 여러 단말이 접속할 때 충돌을 방지하기 위해 채널 할당 및 제어를 담당한다. 접근 방식은 *CSMA-CA 기반이다. * CSMA/CA : Carrier Sense Multiple Access with Collision Avoidance 반송파 감지 다중 엑세스 CSMA-CA persistent 방식 : 계속 루프를 돌면서 idle 상태를 체크하며 채널을 모니터링 non-persistent : busy 임을 감지하면 backoff 시간을 할당 받고 대기 / 임의의 시간 후에 다시 채널 상태를 검사
-
함수형 프로그래밍의 개념 및 OOP와의 차이점컴퓨터공학 2020. 5. 14. 20:47
함수형 프로그래밍과 순수 함수 함수형 프로그래밍이란 *사이드이펙트가 없는 순수 함수와 동작의 결과를 강조하는 프로그래밍 패러다임이다. 순수함수는 동일한 인자를 넣었을 때 동일한 출력값을 반환하므로 안정성과 생산성을 높일 수 있다. OOP과 비교하여 함수의 동작부가 간결해 지기 때문에, 코드 이해도와 가독성에 큰 장점을 가지고있다. 여기서, *순수 함수(Pure Function)란, 동일한 입력값을 넣었을 때 항상 동일한 리턴값을 반환하며 외부에 영향을 받지 않는 함수이다. ex) 순수 함수가 아닌 경우 // 1.외부의 요인에 따라 리턴 값이 달라지는 경우 function func(a, b) { return a + b + c; // 외부의 요인(변수) c 에 따라 리턴값이 달라짐 } // 2. 인자를 직접..
-
객체 지향 프로그래밍 (OOP) 개념과 특성컴퓨터공학 2020. 5. 8. 12:01
객체 지향 (OOP) 이란? 객체 중심의 프로그래밍 패러다임 이다. 기존, 절차지향이 위에서부터 아래로 순서대로 읽어들이면서 차례대로 명령어가 수행되었다면, 객체지향의 경우 객체라고 불리우는 요소(집합) 의 구성으로 명령어를 수행 할 수 있다. 각 객체간의 관계를 통해 코드 호출, 수행순서를 유기적으로 조정 할 수 있어서 코드의 간결함, 신뢰성, *재사용에 큰 장점을 가지고 있다. 무엇이 객체인가? 현실세계에 존재하는 모든 것(thing)이 객체가 될 수 있다. 사람, 몬스터 등 실제로 눈에 보이는 형상도 객체로 만들 수 있고, 음식 주문 프로세스, 병원 진료받기 등의 관념이나 행동도 객체가 될 수 있다. 실 세계에 존재하는 것들을 프로그래밍 적으로 구현하기 위해 객체들의 공통적인 특성과 속성을 파악하고..