본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


반응형

전체 글

(160)
웹 개발 기본 공부 3 - IP(인터넷 프로토콜),TCP , UDP IP(Internet Protocol) 클라이언트와 서버가 인터넷 망을 통해 통신을 하기위해 최소한의 규칙이 필요하며 그 중 하나가 IP 주소이다 . 클라이언트 서버 모두 각자의 IP 주소를 갖어야한다. 이 주소를 통해 지정한 주소에 데이터 전달이 가능하며 , 패킷(Packet)이라는 통신 단위로 데이터가 전달된다. 패킷의 뜻 '수화물'이라는 뜻의 Package 와 '한 양동이(덩어리)'를 뜻하는 Bucket의 합성어 IP 패킷의 구조 출발지 IP , 목적지 IP가 전송 데이터에 씌워지고 출발지로부터 인터넷 망의 노드들을 거쳐 서버로 전송된다. 인터넷망이 복잡하기 때문에 요청과 응답은 서로다른 경로를 통해 전달될 수도 있다 . IP 프로토콜의 한계 -비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여..
웹 개발 기본 공부 2 - URI 설계 1. URI(Uniform Resource Identifier) 인터넷에서 특정 자원을 나타내는 주소 값 , 해당 값은 유일 하다 . (응답은 달라질 수 있다.) 예시 ) 요청 : https://www.ugo.co.kr/resource/sample/1 응답 : ugo.pdf , ugo.docx 응답은 여러가지일 수 있다 . 2. URL(Uniform Resouce Locator) 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별 하는 주소 요청: https://www.ugo.co.kr/ugo.pdf 특정 위치를 나타낸다 . URL은 URI의 하위 개념이다 . URI 설계 원칙(RFC-3986) 1.슬래시 구분자 (/) 는 계층 관계를 나타내는데 사용한다 . https://www.ugo.co.kr..
웹 개발 기본 공부 1 -Web의 구성 , REST WEB (World Wide Web )은 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다 . Web의 용도는 아래와 같이 나눌 수 있다 . Web Site Google , naver, daum , facebook 등 HTML로 구성된 여러 사이트들 API(Application Programming Interface) * Web Service KaKAo Open API , Google Open Api 등 User Interface Chrome , Safari, Explorer , Smart Watch , IP TV 등 REST(Representational State Transfer :자원의 상태전달)- 네트워크 아키텍처 1.Client ,Server : 클라..
디자인 패턴 6 - Observer pattern 관찰자 패턴이라고 하며 변화가 일어 났을 때 , 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것이다. java swing jwt android의 event listener 에서 해당 패턴을 사용 하고 있다 . 자바 스윙의 이벤트 리스너를 통한 Obsever pattern 예시 IButtonListener 인터페이스 package com.company.observer; public interface IButtonListener { void clickEvent(String event); } Button 클래스 package com.company.observer; public class Button { private String name; private IButtonListener buttonListe..
디자인 패턴 5 - decorator pattern 데코레이터 패턴은 기존 뼈대 (클래스)는 유지하되 ,이후 필요한 형태로 꾸밀 때 사용한다. 확장이 필요한 경우 상속의 대안으로도 활용 한다. SOLID 중에서 개방폐쇄 원칙 (OCP)와 의존 역전원칙(DIP)를 따른다. 자동차를 예시로 decorator pattern을 알아보자 ICar 인터페이스 public interface ICar { int getPrice(); void showPrice(); } ICar 인터페이스는 Car 클래스의 뼈대 역할을한다 가격을 리턴하는 getPrice() 와 가겨을 출력하는 showPrice() 두 메서드를 가지고 있다. Audi 클래스 public class Audi implements ICar{ private int price; public Audi(int pric..
디자인 패턴 4 - proxy pattern Proxy는 대리인 이라는 뜻으로 , 뭔가를 대신해서 처리하는 것을 말한다. proxy Class를 통해 대신 전달하는 형태로 설계되며, 실제 client는 proxy로 부터 결과를 받는다. Cache의 기능 구현에 활용이 가능 하며 ,Spring에서는 AOP가 proxy pattern 으로 구현되어 있다 . SOLID 중 개방폐쇄 원칙(OCP)과 의존 역전 원칙(DIP)를 따른다. 간단하게 proxy pattern으로 Cache를 구현해 보면 아래와 같다. 1. cache - cache는 데이터를 디스크가 아닌 메모리에 보관하여 반복될 경우 메모리에서 불러와 사용하기 때문에 캐시가 적용되면 성능 및 처리속도가 월등히 빠르다 정도로만 일단 알아두자 . 브라우저가 있고 브라우저는 IBrower 인터페이스를..
디자인 패턴 3 - Adapter pattern Adapter는 실생활에서는 100v 를 220v로 변경하거나 , 그 반대로 해주는 흔히 돼지코 라고 불리는 변환기를 예로 들 수 있다. 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 한다. SOLID중 개방폐쇠 원칙(OCP)을 따른다 Adapter pattern을 실생활에서 콘센트 어뎁터를 통해 예시를 들어 보려한다. 에어컨(220v), 청소기(220v) , 헤어드라이어(110v) 3가지 가전 제품이 있고 각각 제품들은 110V와 220V 방식을 구현한다. 220v를 110v로 변환해주는 SocketAdapter가 있으며 우리집엔 110v 콘센트 밖에 없는 상황이다. 코드로는 아래와 같다. 110v와 220v 인터페이스 (인터페이스는 편의상 한군데 적어놨다.) package c..
디자인 패턴 2 - Singleton pattern Singleton pattern은 어떠한 클래스(객체) 가 유일하게 1개만 존재 할 때 사용한다 이를 주로 사용하는 곳은 서로 자원을 공유 할 때 사용되는데 , 실물 세계에서는 프린터가 해당되며 , 실제 프로그래밍에서는 TCP Socket 통신에서 서버와 연결된 connect 객체에 주로 사용한다. package com.company.singleton; public class ClazzA { private SocketClient socketClient; public ClazzA(){ this.socketClient = SocketClient.getInstance(); }; public SocketClient getSocketClient(){ return this.socketClient; }; } pack..

반응형