/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ # 전송 오류의 유형 전송 프레임의 오류를 극복하고, 상위 계층에 신뢰성 있는 전송 서비스를 제공하려면 다음과 같은 기본 기능을 이용해 오류 복구 기능을 제공해야 한다. * 수신 호스트의 응답 프레임 송신 호스트가 전송한 데이터 프레임의 일부가 깨지는 프레임 변형 오류를 확인한 수신 호스트는 송신 호스트에게 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구할 수 있다. 수신 호스트가 전송하는 응답 프레임의 종류에는 데이터 프레임이 정상적으로 도착했을 때 회신하는 긍정 응답 프레임과 데이터 프레임이 깨졌을 때 회신하는 부정 응답 프레임이 있다. * 송신 호..
모든 IDE가 그렇듯, Pycharm 또한 테마 혹은 폰트를 변경하기 위해서는 File > Settings를 클릭하여 설정창을 띄운 후 원하는 부분을 수정해주면 된다. 하지만 수많은 옵션 속에 우리가 원하는 부분만을 골라내어 수정하기란 매우 번거롭다. 이 글은 Pycharm 사용이 익숙치 않은 분들에게 가장 도움이 될 수 있는 몇 가지 옵션을 쉽고 빠르게 적용할 수 있게끔 사진과 함께 안내한다. // 도움이 될 수 있다는 건 물론 나의 주관적인 판단이다. 테마를 다양하게 설정할 수 있는 방법과 Visual Studio에서와 같이 Ctrl + MouseWheel 로 폰트 크기를 조절할 수 있게끔 설정할 수 있는 방법을 소개한다. 먼저 Pycharm의 테마를 다양하게 설정할 수 있는 방법을 소개한다. 방법이..
자바를 cmd에서 컴파일 하고, 컴파일 한 .class 파일을 cmd에서 실행하려할 때 어김없이 등장하는 오류가 있는데, '기본 클래스 *를 찾거나 로드할 수 없습니다.' 라는 오류다. 나의 경우 보통 자바 파일을 관리할 때 패키지를 이용하여 관리한다. 패키지를 사용하다 보면 아래의 오류를 정말 많이 만날 수 있다. 해결법을 먼저 소개하자면, java 명령은 패키지의 parent 디렉토리에서 실행하되 실행할 .class 파일의 이름을 줄 때 패키지명.클래스파일명 으로 입력해야 한다. java 명령어의 인자로 클래스 이름을 전달할 경우, 패키지 이름을 포함한 full class name을 전달해야 한다. java 프로그램에서는 인자로 들어온 full class name을 기준으로 .class 파일들을 찾기..
/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ 시스템을 설계할 때는 기능이나 목적과 함께 구분자(Identifier)를 부여하는 방법을 가장 먼저 고려해야 한다. 디지털화된 컴퓨터에서는 구분자를 숫자로 된 주소로 표현할 수밖에 없다. 그러나 이런 주소 표현 방식은 일반 사용자에게 불편하므로 보통 외우기 쉬운 기호 형식의 이름을 추가로 부여한다. 주소와 이름은 일대일 관계가 이루어지며, 이들을 연결하는 기능이 필요하다. 대상을 유일하게 구별하는 구분자는 일반적으로 아래 네 가지 특징이 있다. 유일성: 구분자의 가장 중요한 역할은 대상 시스템을 서로 구분하여 지칭하는 것이다. 따라서 서로 다른 시스템이 같은 구분자를..
/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ 네트워크와 네트워크의 연결을 인터네트워킹(Internetworking)이라 한다. 연결하는 네트워크 수가 증가할수록 복잡도가 커진다. 인터넷은 IP 프로토콜을 지원하는 전 세계의 모든 네트워크가 연결된 시스템을 의미하며, 라우터라는 중개장비를 사용해 네트워크를 연결한다. # 네트워크의 연결 서로 독립적으로 운영되는 두 네트워크가 연동되어 정보를 교환하려면, 이를 적절히 연결하여 데이터를 중개할 수 있는 인터네트워킹 시스템이 필요하다. 여기서 네트워크가 연동한다는 의미는 물리적인 연결뿐만 아니라, 데이터 중개에 필요한 상위 통신 프로토콜을 모두 지원함을 뜻한다. 인터네..
# 스트림 스트림(Stream)이라는 영단어는 흐르는 시냇물을 뜻한다. 종이배를 시냇물에 올려 두면 떠내려가듯, 컴퓨터 공학에서 스트림은 데이터라는 종이배를 띄울 수 있는 시냇물이다. 즉, 데이터의 흐름을 의미한다. 입력 스트림은 키보드, 마우스, 네트워크 등과 같은 입력 장치로부터 입력된 데이터가 순서대로 프로그램으로 흘러가는 데이터의 흐름 혹은 소프트웨어 장치를 말하고, 출력 스트림은 프로그램에서 출력된 데이터가 프린터, 콘솔, LCD, 네트워크 등과 같은 출력 장치로 순서대로 전송되도록 보장하는 데이터의 흐름 혹은 소프트웨어 장치를 말한다. 입력 스트림은 데이터가 입력 장치에서 프로그램으로 들어가는 방향이며, 프로그램에서 출력 장치로 데이터가 이동하는 방향이 출력 스트림의 방향이다. 입력 스트림의 ..
/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ # 물리 계층 1 Physical Layer 네트워크에서 호스트가 데이터를 전송하려면 반드시 전송 매체로 연결되어 있어야 한다. 물리 계층(Physical Layer)은 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룬다. # 데이터 링크 계층 2 Data Link Layer 물리 계층으로 데이터를 전송하는 과정에서는 잡음(Noise) 같은 여러 외부 요인에 의해 물리적 오류가 발생할 수 있다. 데이터 링크 계층(Data Link Layer)은 물리적 전송 오류를 감지(Sense)하는 기능을 제공해 송수신 호스트가 오류를 인지할 수 있게 ..
/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ 네트워크는 외형적으로 시스템과 전송 매체로 구성된다. 데이터 통신을 위한 전송 매체는 전송 대역, 전송 속도, 전송 오류율 같은 물리적인 특성이 주 관심사므로 논리적인 기능은 비교적 단순한다. 시스템은 전송 매체를 이용해 논리적으로 다양한 연동 형태로 구성할 수 있어 개념의 확장이 폭넓고 복잡하다. 네트워크를 구성하는 시스템이 반드시 컴퓨터처럼 복잡한 기능을 수행해야 하는 것은 아니지만, 일반적으로 컴퓨터 시스템으로 가정한다. 네트워크 시스템은 수행 기능에 따라 다음과 같이 다양하게 부를 수 있다. # 노드 노드(Node)는 인터넷에 연결된 시스템을 가장 일반화한 용..
/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */ 네트워크(Network)는 전송 매체(Transmission Media)로 서로 연결해 데이터를 교환하는 시스템(System)의 모음이다. 시스템과 전송 매체의 연결 지점에 대한 규격을 인터페이스(Interface)라 하고, 시스템이 데이터를 교환할 때 임의의 통신 규칙을 따르는데 이 규칙을 프로토콜(Protocol)이라 한다. 서로 다른 시스템이 상호 연동해 동작하려면 연동 형식의 통일이 필요하고 이 통일을 표준화(Standardization)라 한다. 시스템은 반드시 컴퓨터일 필요는 없지만 보통 컴퓨터 시스템으로 가정한다. 시스템은 물리적으로 공유하는 전송 매체로..
/* 본 포스팅은 kocw의 유상미 교수의 '객체지양언어2' 강의를 듣고 정리한 내용임을 미리 알려드립니다. 유상미 교수의 본 강의 링크는 'http://www.kocw.net/home/search/kemView.do?kemId=1192791' 이며, kocw 사이트에서 따로 객체지향언어2나 교수 이름으로 검색하시면 만나볼 수 있습니다. */ # 컴퓨터, 프로그램, 언어 컴퓨터는 CPU, 메모리 등으로 결합된 하드웨어와 프로그램과 같은 소프트웨어로 구성되어 있다. 컴퓨터를 사용한다는 건 프로그램을 실행한다는 것과 동일한 의미이다. 프로그램은 컴퓨터의 중앙처리장치(CPU)가 처리하는 일련의 명령들과 데이터로 구성되어 있다. 프로그래밍 언어는 크게 저급 언어(low-level language)와 고급 언어(..
- Total
- Today
- Yesterday