[HTTP] 같은 IP 내에서 프로세스는 어떻게 구분할까? [PORT와 DNS 개념 정리]
·
◈ Study/HTTP 웹 지식💡
- 같은 IP 내에서 프로세스는 어떻게 구분할까? 1. 포트 : PORT 하나의 서버에 여러 개의 어플리케이션이 떠있다면 어떻게 구분해야 할까? 이를 구분하기 위해 있는 것이 PORT이다. PORT는 ':(콜론)'으로 구분한다. ex) 게임 서버 200.200.200.2:11220 / 화상통화 통신 200.200.200.2:32202 2. DNS : 도메인 네임 서비스(Domain Name Service) IP는 숫자의 조합이다 보니, IP로 서버에 접근하는 것은 기억하기 어렵다. 또한, 서버 이전 등으로 인해 IP가 변경되거나 하면 새로운 IP를 외워야만 접근할 수 있다. 이러한 불편함을 해소해주기 위한 게 DNS이다. DNS를 사용하면 도메인 주소로 서버에 접근할 수 있어 매우 편리해진다. ex) n..
[Error Note] CP-1252, 윈도우 인코딩 변경하기 [AWS Windows System 인코딩 변경 방법]
·
◈ Study/에러노트(Error Note)🧱
- CP-1252, 윈도우 인코딩 변경하기 AWS에서 Windows 인스턴스를 하나 생성해서 프로젝트를 띄었는데, 로그에서 한글 인코딩이 '???'로 깨졌다. 왜 그런가 찾아보니 AWS 인스턴스의 시스템 인코딩이 'CP-1252'여서 그랬다. Windows-1252 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. Windows-1252 또는 CP-1252 또는 코드페이지 1252(Code Page 1252)는 영어 및 스페인어, 프랑스어 및 독일어를 포함한 많은 유럽 언어 용 마이크로소프트(Microsoft) 윈도우즈( ko.wikipedia.org [JAVA] 자바(Java)에서 OS 인코딩 확인하는 방법 [내 운영체제는 어떤 인코딩을 쓰고 있을까?] - 자바(Java)에서 OS ..
[HTTP] 인터넷 통신 방법에는 무엇이 있을까? [인터넷 프로토콜 IP, TCP와 UDP, 클라이언트 패킷, 서버 패킷]
·
◈ Study/HTTP 웹 지식💡
- 인터넷 통신 방법에는 무엇이 있을까? 1. IP : 인터넷 프로토콜(Internet Protocol) IP 통신은 지정한 IP 주소(IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달하는 방법이다. 패킷에는 출발지 IP, 목적지 IP, 전송 데이터 등이 있다. 패킷은 인터넷 내의 노드를 통해서 전달이 되며, 클라이언트 패킷의 경로와 서버 패킷의 경로는 다를 수 있다. IP 통신에는 한계가 있는데 아래와 같다. 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송함 비신뢰성 : 중간에 패킷이 사라지거나 패킷 전달 순서에 문제가 발생할 수 있음 프로그램 구분 모호 : 같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 여러 개일 경우 2. TCP : 전송 제어 ..
[GoF] Strategy 패턴 : 알고리즘을 모두 바꾼다 [같은 문제를 다른 방법으로 해결하기 쉽게 만들어주는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Strategy 패턴 : 알고리즘을 모두 바꾼다 Strategy 패턴은 스위치 전환하듯 알고리즘을 바꿔, 같은 문제를 다른 방법으로 해결하기 쉽게 만드는 패턴이다. - 어떤 경우에 사용할까? 보통 프로그래밍을 하다 보면 알고리즘을 메서드 안에 녹아드는 형태로 구현하기 쉬운데, Strategy 패턴을 사용하면 알고리즘 부분을 다른 부분과 의도적으로 분리한다. 이로 인해 알고리즘을 용이하게 전환할 수 있다. - 예제 코드 이름 설명 Hand 가위바위보의 '손'을 나타내는 클래스 Strategy 가위바위보의 '전략'을 나타내는 인터페이스 WinningStrategy 이기면 다음에도 같은 손을 내는 전략을 나타내는 클래스 ProbStrategy 직전 손에서 다음 손을 확률적으로 계산하는 전략을 나타내는 클래..
[GoF] Bridge 패턴 : 기능 계층과 구현 계층을 나눈다 [기능의 클래스 계층과 구현의 클래스 계층을 연결하는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Bridge 패턴 : 기능 계층과 구현 계층을 나눈다 Bridge 패턴은 '기능의 클래스 계층'과 '구현의 클래스 계층'이라는 두 개의 독립된 클래스 계층을 나누고, 두 계층을 연결하는 패턴이다. 계층을 분리해두면 각각의 클래스 계층을 독립적으로 확장할 수 있다. - 어떤 경우에 사용할까? Bridge 패턴의 특징은 '기능의 클래스 계층'과 '구현의 클래스 계층'을 분리하는 것이다. 기능을 추가하고 싶으면 기능의 클래스 계층에 클래스를 추가하면 되고, 구현의 클래스 계층은 전혀 수정할 필요가 없어진다. - 예제 코드 다리의 어느 쪽인가? 이름 설명 기능의 클래스 계층 Display '표시한다' 클래스 기능의 클래스 계층 CountDisplay '지정 횟수만큼 표시한다' 기능을 추가한 클래스 구현의 클..