전체 글 (Network) 3way handshaking & 4way handshaking 2020. 5. 10. 18:24 https://jwdeveloper.tistory.com/232 (Infra) SSL 인증서 인증서의 역할 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장 SSL 통신에 사용할 공개키를 클라이언트에게 제공 CA 인증서의 역할은 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지.. jwdeveloper.tistory.com https://jwdeveloper.tistory.com/218?category=860421 (Infra) HTTP/1.1 VS HTTP/2 HTTP/1.1 HTTP/1.1 이란? 1996년 이후 가장 많이 사용하던 통신 프로토콜 연결 당 하나의 요청과 응답으로 처리하기 때문에 동시 전송 시 다수의 요청을 처리하는데 속도와 성능 이슈가 존재한다. 요청 jwdevelo.. (Network) TCP vs UDP 2020. 5. 10. 17:36 TCP/IP란? Transfer Control protocol / Internet protocol 인터넷 표준 프로토콜로서 컴퓨터 간의 데이터 송수신 중 에러가 발생하지 않도록 알맞게 나누어 전송하고 수신 시 이를 기존 정보로 변환하는 것을 약속해 놓은 것을 의미 데이터 흐름 관리 정확성 확인 패킷의 목적지 보장 데이터의 정확성 관리는 TCP , 패킷 관련 관리는 IP가 담당 TCP/IP 4 계층은 OSI 7 계층과는 다르며 4개의 계층은 응용계층 전송계층 인터넷 계층 네트워크 인터페이스 계층 으로 나뉘어있다. 전송 계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재 전송을 요구한다. 이곳에서 TCP UDP라는 두 종류의 프로토콜이 사용된다. 패킷 이란? 데이터를 보내기 위한 경로 설정을 효율적으로 .. (DesignPattern) 프로토타입 패턴 2020. 5. 4. 00:01 프로토타입 패턴이란? 생산 비용이 높은 인스턴스를 복사를 함으로써 쉽게 생성할 수 있도록 도와주는 패턴 실습 일러스트레이터와 같이 그림 그리기 툴을 개발 중이다. 어떤 모양을 그릴 수 있도록 하고 복사 붙여 넣기 기능을 구현해보자 public class Shape implements Cloneable{ private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } } public class Circle extends .. (DesignPattern) 싱글턴 패턴 2020. 5. 2. 19:55 https://jwdeveloper.tistory.com/29?category=823919 (Effective Java) 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라 싱글턴이란? 인스턴스를 오직 하나만 생성할 수 있는 클래스를 뜻함. 장점 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 공유하기 때문에 메모리 낭비를 방지할 수 있다. 두 번째 사용부터는 객체 로.. jwdeveloper.tistory.com 싱글턴 패턴이란? 인스턴스를 오직 하나만 생성할 수 있는 클래스를 뜻함. 장점 고정된 메모리 영역을 얻으면서 한 번의 new로 인스턴스를 공유하기 때문에 메모리 낭비를 방지할 수 있다. 두 번째 사용부터는 객체 로딩 시간이 줄어들어 성능이 좋아진다. 단점 싱글턴 인스.. (Network) SSL 인증서 2020. 4. 28. 18:34 인증서의 역할 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장 SSL 통신에 사용할 공개키를 클라이언트에게 제공 CA 인증서의 역할은 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지를 보장하는 역할 이러한 역할을 보장하는 조직 : CA (Certificate Authority) - 상당히 신뢰할 수 있는 기관 사설 인증기관 사적인 서비스를 이용하면 굳이 CA를 통해 비용을 지불하지 않더라도 개인적으로 인증과정을 거칠 수 있다. SSL 인증서의 내용 서비스의 정보 (인증서를 발급한 CA, 서비스의 도메인 등등) 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법) 브라우저는 CA에 대해 알고 있다. 브라우저는 인증기관에 대한 정보를 가지고 있다. - 루트 인증기관에 대한 정보를 알.. (Network) HTTPS와 SSL 인증서(2) - 공개키 2020. 4. 28. 17:53 공개키 방식은 키가 두 가지가 존재한다. 대칭키 방식은 이전 포스팅에서 언급하였듯이 하나의 키를 사용하기 때문에 멀리서 통신하는 상황이라면 도중에 intercept 할 수 있다고 하였다. 공개키 방식은 두 개의 키를 갖기 때문에 A키로 암호화를 하면 B키로 복호화할 수 있고 B키로 암호화하면 a키로 복호화할 수 있는 방식이다. 두 개의 키 중 하나를 비공개 키로 하고 나머지는 공개 키로 지정한다. 비 공개키는 전송시키지 않는다는 점이 중요하다. 이때 공개키는 누구에게나 제공이 가능하다. 이렇게 하면 키를 전송하는 일이 발생하지 않기 때문에 멀리 통신하는 상황이라도 도중에 가로챌 수 없다. 공개키를 가진 사람이 암호화를 해서 비 공개키를 가지고 있는 사람에게 전송하는 경우 비밀키를 가진 사람이 암호화를 해.. (Network) HTTPS와 SSL 인증서(1) - 대칭키 2020. 4. 28. 13:01 HTTPS VS HTTP HTTP는 Hypertext Transfe Protocol의 약자이다. 이때 Hypertext는 문서와 문서가 링크로 연결되어있는 문서 체계이다. 이때 가장 중요한 문서 양식은 Html이다. 이 Html을 전 송하기 위한 전송 규약이 HTTP이다. HTTP나 HTTPS는 html을 전 송하기 위한 전송방식이라는 것은 동일하다. HTTPS의 S는 Over Secure Socket Layer의 약자로서 HTTP 보다 보안이 강화된 점을 볼 수 있다. HTTP는 암호화하지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고받는 메시지를 intercept 하는 것이 가능하다. HTTPS와 SSL HTTPS와 SSL은 같은 의미일까? 이것은 반은 맞고 반은 틀렸다. HTTPS.. (DesignPattern) 팩토리메서드 패턴 2020. 4. 22. 23:31 팩토리 메서드 패턴에는 템플릿 메서드 패턴이 사용된다. 해당 내용을 코드를 통해서 알아보자! 구현 요구사항 게임과 아이템과 아이템 생성을 구현 - 아이템을 생성하기 전에 DB에서 아이템 정보를 요청 - 아이템을 생성 후 아이템 복제 등의 불법을 방지하기 위해 DB에 아이템 생성 정보를 남긴다. 아이템을 생성하는 주체는 ItemCreator이다. 아이템은 item이라는 interface로 선언한다. - item은 use 메서드를 기본적으로 가지고 있다. 현재 아이템의 종류는 체력 회복 물약, 마력 회복 물약이 존재한다. 1. item 인터페이스 생성 - use() 메서드 public interface Item { public void use(); } 2. ItemCreator 추상 클래스 생성 - 템플릿 .. (DesignPattern) 어댑터 패턴 2020. 4. 21. 22:29 어댑터란? 사전적 의미) 기계 기구 등을 다목적으로 사용하기 위한 부가 기구 프로그래밍적 의미) 이미주 어진 알고리즘을 Adapter를 이용해 원하는 기능으로 변경 알고리즘을 요구사항에 맞게 변경하여 사용할 수 있다는 것이 POINT! 구현 요구사항 두 수에 대한 다음 연산을 수행하는 객체를 생성 수의 *2의 수를 반환 수의 1/2의 수를 반환 Math 클래스에서 위의 알고리즘은 이미 구현되어 있다. 위에 언급하였듯이 Math 클래스에는 두배를 곱하고 2로 나누는 알고리즘이 이미 구현되어있다. public class Math { /*Double*/ public static double twoTime(double num) { return num*2; } /*Half*/ public static double.. (DesignPattern) 템플릿 메서드 패턴 2020. 4. 20. 21:12 템플릿 메서드 패턴이란? 알고리즘 구조를 메서드에 정의하고 하위 클래스에서 알고리즘 구조의 변경 없이 해당 알고리즘을 재 정의하는 패턴 When? 구현하려는 알고리즘이 일정한 프로세스가 있을 때 구현하려는 알고리즘이 변경 가능성이 있을 때 How? 알고리즘을 여러 단계로 나눈다. 나뉜 알고리즘의 단계를 메서드로 선언한다. 알고리즘을 수행할 템플릿 메서드를 만든다. 하위 클래스에서 나뉜 메서드들을 구현한다. 구현 요구사항 신작 게임의 접속을 구현해보자 유저는 게임 접속 하위와 같은 로직을 구현해야 한다. 보안 과정 : 보안 관련 부분을 처리 인증 과정 : user_name과 password가 일치하는지 확인 권한 과정 : 접속자가 유료회원인지 무료회원인지 게임 마스터인지 확인 접속 과정 : 접속자에게 커넥.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 27 다음