본문 바로가기

학자형 개발

(16)
LLC(Logical Link Control) LLC (Logical Link Control) 부계층 데이터링크 계층 내의 LAN 프로토콜에 관련된 부계층 중 하나. 주로, 여러 다양한 매체 접속 제어 방식 간의 차이를 보완해주는 역할을 함 통신 계층의 구분 LAN에서는 데이터링크 계층을 2개 부계층(MAC, LLC)으로 나누어짐 하위의 MAC 부계층 물리계층 상의 토폴로지나 기타 특성에 맞추어주는 제어를 담당 상위의 LLC 부계층 여러 다양한 MAC 부계층과 망 계층(layer 3) 간의 접속을 담당 LLC 부계층의 목적 여러 상이한 MAC(Media Access Control) 부계층 프로토콜을 사용할 수 있게 하여 망의 토폴로지에 관계없는 통신이 가능하도록 하는 것 -> 인터페이스 같은 역할 LLC 의 주요 기능 및 특징 에러 제어 point-..
CPU 스케줄링 방식 스케줄링이란? 스케줄링이란 컴퓨터의 모든 자원을 효율적으로 사용하기 위한 프로세스 관리 정책으로 컴퓨터 시스템의 성능 향상이라는 목적을 가진다. 선점 스케줄링과 비선점형 스케줄링 CPU 스케줄링에는 하나의 프로세스가 CPU를 점유하고 있을 때 다른 프로세스가 CPU를 빼앗을수 있는 선점(preemptive) 스케줄링과 프로세스에게 이미 할당된 CPU를 강제로 빼앗을수 없고, 프로세스의 사용이 끝난 후 스케줄링을 하여야 하는 비선점(non-preemptive) 스케줄링이 있다. 선점 스케줄링 선점 스케줄링 방식은 프로세스의 우선 순위가 높은 프로세스가 CPU를 먼저 차지하기가 용이하기 때문에 주로 실시간 응답을 요구하는 대화식 시분할 시스템에서 사용된다. 하지만, context switching에 의한 o..
무작위 알고리즘(Randomize Algorithm) 무작위 알고리즘(Randomize Algorithm)이란? 무작위 알고리즘은 난수를 발생시켜 진행과정을 결정하는 알고리즘이다. 난수를 발생시키는 과정은 흔히 '동전을 던진다'거 표현하며, 실제로는 의사 난수 생성기를 사용한다. 알고리즘의 성능을 평균적으로 향상시키기 위해 난수를 사용한다. 난수를 사용하기 때문에 알고리즘의 성능은 확률변수이며, 확률변수의 기댓값이 실제로 원하는 성능이다. 알고리즘 성능의 최악의 경우는 일어날 확률이 극히 작기 때문에 대부분 무시한다. 평균의 경우(Average Case)의 확률론적 분석을 위해 주어진 입력을 Randomizing 한다. 알고리즘의 Best/Worst Case를 회피하고 일반적 경우에 대한 확률을 구하기 위해 사용된다. 알고리즘의 종류 Premute-By-S..
해시 충돌의 정의와 해결 방안 해시 테이블이란? 해시 함수를 사용하여 입력 키 값으로부터 해시 값을 얻어 그것을 인덱스로 사용하는 것은 효율적인 검색 방식 중 하나이다. 즉 데이터 저장 공간인 array와 데이터에 대한 위치를 계산하는 hash function 으로 구성된다. 이와 같은 해시 값으로 이루어진 자료구조를 '해시 테이블'이라고 부른다. 해시 충돌이란? 해시 함수가 서로 다른 두 개의 입력값에 대해 동일한 출력값을 내는 상황을 의미한다. 해시 함수가 무한한 가짓수의 입력값을 받아 유한한 가짓수의 출력값을 생성하는 경우 비둘기집 원리에 의해 해시 충돌은 항상 존재한다. 서로 다른 입력 키 값이 서로 다른 해시 값(인덱스)으로 매핑될 경우 해시 테이블 조회에 걸리는 시간은 상수 시간이 된다. 그러나 여러개의 서로 다른 키 값이..
네트워크 기초 - 1주차 과제 네트워크 기초 과제 1 성균관대학교 안성진 교수님 일반적으로 집이나 회사 등에서 IP공유기를 많이 이용하고 있다. 이들은 유선뿐 아니라 무선 LAN을 지원하고 있으며, 주소 할당, 보안 등 다양한 기능을 포함하고 있다. 이들 IP공유기에서 사용되는 프로토콜의 종류를 나열하고 각각에 대해서 어떤 기능을 하는지 설명하시오. 1. NAT (Network Address Translation) 공유기에 연결된 각 장치들이 외부 네트워크와 통신하기 위해 공유기의 NAT라는 기술을 사용한다. 공유기는 자신을 포함하여 연결된 각 장치들에서 사설 IP 주소를 부여함으로써 사설 네트워크를 형성한다. 이때 공유기 자체에 부여되는 사설 IP 주소를 특별히 게이트웨이 주소(Gateway Address)또는 라우터 주소(Rout..
Effective Java in Kotlin [item 1]. Consider static factory methods instead of constructors 꽑하~ 오랬만입니다~ 요즘 많은 일들이 있어서 블로깅과 공부가 많이 늦춰졌습니다. 미뤄진 공부들이 많군요.. 명서인 [이펙티브 자바]를 코틀린과 관계를 정리한 흥미로운 블로그를 엉덩이로 번역해보았습니다.(발번역 주의) Kotlin In Action이나 빨리 정리할 것이지... Companion factory method 코틀린에서는 static 메서드를 허용하지 않는다. 코틀린에서 자바의 static factory method와 비슷한 것은 일반적으로 companion factory method로 불려진다. companion 객체로 바뀐 factory method를 보자 사용법은 static factory method와 같다. (Under the hood - 자동차 후드 아래에서 벌어지는 일이라는 의미...
이벤트 스토밍과 DDD(Domain Driven Design) 참고 사이트 - https://engineering-skcc.github.io/microservice%20modeling/Event-Storming/ 마이크로서비스 모델링 ④ : 이벤트 스토밍을 통한 마이크로서비스 도출 DDD의 전략적 설계를 쉽고 빠르게 진행할 수 있는 이벤트 스토밍을 통한 마이크로서비스 도출 워크샵에 대해 알아보자. engineering-skcc.github.io - https://ducktyping.tistory.com/14 DDD 지향 마이크로 서비스 디자인 DDD를 배우기 시작한 꽑꽑이가 정리한 우당탕탕 정리입니다. 글 아래에 참고 사이트, 문서를 정리해두었으니 참고해주세요. DDD(Domain Driven Development)는 사용 사례와 관련하여 현실의 비즈니스에 duck..
Mocks Aren't Stubs! Mock과 Stub 에대하여 class OrderStateTester... public void testOrderSendsMailIfUnfilled() { Order order = new Order(TALISKER, 51); MailServiceStub mailer = new MailServiceStub(); order.setMailer(mailer); order.fill(warehouse); assertEquals(1, mailer.numberSent()); } 마팅 파울러 아저씨의 Mocks Aren't Stubs 기준으로 엉덩이로 정리해봤습니다. (영어 못해요) 맨 아래 원문 사이트를 참고해주세요 Mock 객체가 어떻게 동작하는지, 동작 검증을 기반으로 테스트를 이끄는 방법, Mock 객체를 이용해 다른 스타일의 테스트와 함께..