본문 바로가기

전체 글

(678)
PART 1 : Basic of Network (Chaper 5. MAC Address) IEEE 802 규약 IEEE (Institute of Electrical and Electronics Engineers)는 네트워크와 다른 분야에 관련된 기준을 제정하는 미국의 전문 기구입니다. IEEE 802.x 표준은 OSI 참조 모델의 하위 두 계층인 물리적 계층과 데이터 링크 계층을 중심으로 한 표준 시리즈입니다. No 범주 802.1 Internetworking 802.2 Logic Link Control(LLC) 802.3 CSMA/CD(Carrier Sense with Multiple Access / Collision Detection) 802.4 Token Bus LAN 802.5 Token Ring LAN 802.6 MAN(Metropolitan Area Network) 802.7 Br..
PART 1 : Basic of Network (Chaper 4. 프로토콜) 프로토콜(Protocol)이란? 네트워크 구조에서의 프로토콜의 정의는 "표준화된 통신규약으로서 네트워크 기능을 효율적으로 발휘하기 위한 약속" 입니다. 즉, 통신을 원하는 두 개체 간에 무엇을, 어떻게, 언제 통신할 것인가를 서로 약속한 규약이라고 보면 됩니다. 예를 들자면 두사람이 대화를 함에 있어 같은 사용하는 언어(한국어, 영어, 일어...)를 프로토콜이라고 할 수 있습니다. 인터넷에서는 TCP/IP라는 공통의 프로토콜을 사용해서 통신을 합니다. NetBEUI IBM과 Microsoft사가 개발한 NetBIOS의 기능을 강화한 프로토콜입니다. 이 프로토콜은 라우터가 없는 간단한 네트워크에 사용되며 전송 계층과 네트워크 계층에서 동작합니다. IBM과 MS 두 회사간의 네트워크가 목적이었기때문에 소규모..
PART 1 : Basic of Network (Chaper 3. OSI 7 Layer Model ②) 프로토콜 스택과 스택간의 통신 프로토콜(Protocol), 프로토콜 스택(Stack) 프로토콜이란 통신을 하는 두 노드 간의 상호약속으로서, 각 노드들은 서로 같은 프로토콜을 사용해야만 데이터를 주고 받을 수 있다. 프로토콜 스택은 OSI 참조모델에서 한 계층에 한개 이상의 프로토콜이 필요하게 되고 이들이 위치한 영역을 프로토콜 스택이라고 부릅니다. OSI 스택에서의 데이터의 이동 한 노드에서 데이터가 전송이 될때 이 데이터는 계층을 따라서 내려가면서 이동을 하고 전송을 받는 노드에서는 계층을 따라 올라가면서 데이터가 이동을 합니다. 특히, 전송 데이터가 계층을 따라서 이동할때에는 각 계층별로 특정한 정보를 담고 있는 헤더를 추가하면서 다른 계층으로 이동합니다. 반대로 수신 데이터가 계층을 따라서 이동할..
Open Closed Principle : OCP Open Closed Principle 훌륭한 어플리케이션 디자인과 코드 작성 부분은 개발이 진행이 되는 도중과 어플리케이션의 단계에서 자주 변경되는 것을 염두에 둬야 합니다. 보통은 많은 변경들은 다양한 기능들이 어플리케이션에 추가 될 때와 관련되어 집니다. 현재 코드가 이미 단위 테스트되고 현재 코드에서 불필요한 방식으로 현존하는 기능들에 영향을 미칠 수 있는 것을 수정할 때 까지 이러한 변화들은 최소화 되어야만 합니다. Open Close Principle 코드의 디자인과 작성은 현존하는 코드에서 최소한의 변화로 새로운 기능이 추가 되어져야하는 방법이 되어야한다고 말합니다. 디자인은 현존하는 코드를 수정하지 않는 것과 같이 새 클래스들이나, 새로운 기능을 허가하는 방법으로 되어져야 합니다. Inte..
Dynamix Proxy : RMI(Remote Method Invocation)의 기초 Agile Java Lesson 12에서는 동적 프록시에 대해서 아래와 같은 클래스 다이어그램으로 설명을 하고 있습니다. 상황 설정을 하자면 Client 클래스와 ServiceImplementation 클래스는 서로 다른 프로세스의 공간에 있는 다른 컴퓨터입니다. Client가 ServiceImplementation과 통신을 하려면, 저수준의 통신이 일어나야 한다고 쓰여져 있는데 이것은 통신의 수준이 낮다는것의 의미가 많이 퇴색이 되었다는 생각이 듭니다. 저수준의 통신이라는 것은 원서에도 이렇게 나와있습니다. low-level communications 이라고 나와 있습니다. '품질이 낮은 통신' 이라고 오역할 수도 있기 때문에 다른 해석을 했으면 하는 바램입니다. 다시 말하면 저수준의 통신이라는것은 C..
An Overview of RMI Applications An Overview of RMI Applications RMI applications often comprise two separate programs, a server and a client. A typical server program creates some remote objects, makes references to these objects accessible, and waits for clients to invoke methods on these objects. A typical client program obtains a remote reference to one or more remote objects on a server and then invokes methods on them. RM..
Proxy Pattern : Virtual Proxy Pattern 프록시 패턴이라는 개념을 알게 되고 Virtual Proxy Pattern에 대해서 간단한 예제를 만든 소스코드가 있어서 직접 코딩을 해보고 분석을 해보았습니다. ^^ 어려운 코드가 아니니 함께 보시면 좋겠습니다 +_+ 일단 전체적인 소스코드의 UML은 아래와 같습니다. 이하는 각 클래스(인터페이스) 소스코드 입니다. public interface Image { public void displayImage(); } 먼저 Image 라는 인터페이스에서는 이를 구현하는 클래스라면 반드시 displayImage()라는 메소드를 구현하도록 되어있습니다. UML에서와 같이 클라이언트측에 있는 ProxyImage 클래스와 서버측에 있는 RealImage 클래스가 위의 인터페이스를 구현하는것을 볼 수 있습니다. pu..
Design Pattern : Proxy Pattern 위키피디아에 Proxy Pattern에 관련한 글이 있어서 발췌 & 해석해 보았습니다. (출처 : Wikipedia "Proxy Pattern") In computer programming, the proxy pattern is a software design pattern. A proxy, in its most general form, is a class functioning as an interface to another thing. The other thing could be anything: a network connection, a large object in memory, a file, or some other resource that is expensive or impossible to du..