728x90 반응형 전체 글231 팩토리 패턴(면접을 위한 CS 전공지식 노트) 팩토리 패턴 팩토리 패턴 팩토리 패턴(Factory Pattern)은 소프트웨어 디자인 패턴 중 하나로, 객체 생성을 처리하기 위한 패턴입니다. 객체 생성 코드를 클라이언트 코드에서 분리하여 객체 생성의 유연성과 확장성을 높이는데 목적이 있습니다. 이 패턴은 객체 생성과정을 추상화하여 객체의 유형에 따라 적절한 클래스의 인스턴스를 생성하도록 도와줍니다. 객체 생성의 복잡성: 객체 생성이 복잡하거나 생성 과정이 다양한 단계로 이루어져 있는 경우, 팩토리 패턴을 사용하여 클라이언트 코드를 단순화할 수 있습니다. 객체 생성의 변화: 객체 생성 방식이 변경될 수 있는 경우, 클라이언트 코드를 수정하지 않고도 변경된 생성 방식을 적용할 수 있습니다. 클래스 인스턴스화의 추상화: 생성되는 클래스의 인스턴스화를 추상.. 2023. 8. 8. 싱글톤 패턴(면접을 위한 CS 전공지식 노트) 싱글톤 패턴 싱글톤 패턴 싱글톤 패턴은 소프트웨어 디자인 패턴 중 하나로, 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 패턴입니다. 이 패턴은 어떤 클래스가 항상 하나의 인스턴스만을 갖도록 하며, 그 인스턴스에 접근하는 전역적인 접근점을 제공합니다. 주로 리소스를 공유하거나 중복된 작업을 피하고자 할 때 사용됩니다. 싱글톤 패턴 특징 단일 인스턴스: 싱글톤 패턴은 클래스의 인스턴스가 오직 하나만 생성되도록 보장합니다. 어떤 이유로든 인스턴스가 여러 개 생성되지 않습니다. 전역적인 접근 포인트: 싱글톤 패턴을 사용하면 해당 클래스의 인스턴스에 접근하는 전역적인 접근 지점을 제공합니다. 이로써 어디서든 동일한 인스턴스에 접근하여 사용할 수 있습니다. 지연 초기화: 인스턴스가 필요한 시점에 생성됩니다. .. 2023. 8. 7. OSI참조 모델과 요약(하루 3분 네트워크 교실) OSI참조 모델과 요약 OSI참조 모델과 요약 OSI(Open Systems Interconnection) 참조 모델은 네트워크에서 데이터 통신을 위한 표준화된 프로토콜 아키텍처로, 7개의 계층으로 구성되어 있습니다. 각 계층은 특정 기능을 담당하며, 상위 계층과 하위 계층 간에는 서비스를 제공하고 받는 관계가 있습니다. 이 모델은 각 계층이 독립적으로 작동하여 네트워크 장비와 서비스의 호환성을 증가시키고, 개방적인 시스템 간 상호운용성을 강화하는 데 목적이 있습니다. 물리 계층 (Physical Layer): 물리적으로 연결된 노드 간의 데이터 전송을 담당합니다. 전기 신호, 광 신호 등을 전송하여 데이터를 비트 단위로 전송합니다. 데이터 링크 계층 (Data Link Layer): 노드 간의 직접 통.. 2023. 7. 31. 5계층 ~ 7계층 (하루 3분 네트워크 교실) 5계층 ~ 7계층 5계층 ~ 7계층 (5계층) 세션 계층 (Session Layer): 세션 계층은 양 끝단의 애플리케이션 사이의 세션을 확립하고 유지합니다. 데이터 교환의 순서와 동기화를 담당하여 통신 세션을 설정하고 종료하는 역할을 합니다. (6계층) 표현 계층 (Presentation Layer): 표현 계층은 데이터의 표현 방식을 정의하고 변환합니다. 데이터를 압축, 암호화, 인코딩하거나 포맷을 변경하여 상위 계층이 이해할 수 있는 형태로 변환하는 작업을 수행합니다. (7계층) 응용 계층 (Application Layer): 응용 계층은 사용자가 네트워크에 접근할 수 있도록 서비스를 제공합니다. HTTP, FTP, SMTP 등과 같은 프로토콜이 이 계층에서 동작하며, 이메일, 웹 브라우저, 파일 .. 2023. 7. 30. NAPT (하루 3분 네트워크 교실) NAPT NAPT NAPT(Network Address Port Translation)는 IP 주소와 포트 번호를 변환하여 네트워크 트래픽을 라우팅 하는 네트워크 주소 변환 기술입니다. 다른 말로는 PAT(Port Address Translation) 또는 Overload NAT라고도 합니다. 주로 사설 네트워크에서 인터넷에 연결되기 위해 사용되며, IPv4 주소 부족 문제를 해결하는 데에도 기여 합니다. 일반적으로 인터넷 서비스 제공자(ISP)는 제한된 수의 공인(IPv4) 주소만 할당할 수 있습니다. 하지만 많은 가정이나 기업에서는 여러 기기들이 하나의 공인 IP 주소를 공유하여 인터넷에 접속하길 원합니다. 이때 NAPT는 사설 네트워크 내부의 기기들에게 각각 사설 IP 주소를 할당하고, 이들 사설 .. 2023. 7. 29. 네트워크 주소 변환 (하루 3분 네트워크 교실) 네트워크 주소 변환 네트워크 주소 변환 네트워크 주소 변환은 IP 주소를 다른 형식으로 변환하는 과정을 말합니다. IP 주소는 네트워크에서 장치들이 서로 통신하기 위해 사용되는 고유한 식별자입니다. IP 주소로 변환하는 NAT(Network Address Translation)을 통해 IP 주소를 변환합니다. 사설 IP주소 사설 IP 주소는 사설 네트워크에서 사용하기 위해 예약된 IP 주소 범위를 의미합니다. 이러한 주소는 인터넷에서 공인 IP 주소와 구분되며, 내부 네트워크(가정, 회사, 학교 등)에서만 사용됩니다. 사설 IP 주소는 인터넷에서 고유하지 않고, 여러 네트워크에서 중복해서 사용해도 문제가 없습니다. 이러한 사설 IP 주소를 사용함으로써 인터넷에서 사용하는 공인 IP 주소를 보다 효율적으로.. 2023. 7. 28. UDP(하루 3분 네트워크 교실) UDP UDP UDP는 "User Datagram Protocol"의 약자로, 한국어로는 "사용자 데이터그램 프로토콜"이라고 합니다. UDP는 인터넷 프로토콜 스위트의 한 부분으로서, 데이터를 신속하게 전송하기 위해 설계된 프로토콜 중 하나입니다. UDP는 데이터 전송에 있어서 비연결형 프로토콜로 동작합니다. 이 말은 데이터를 주고받기 위한 미리 설정된 연결(세션)을 만들지 않고, 데이터를 송신하는 즉시 수신 측으로 데이터를 보내는 방식입니다. 따라서 UDP는 TCP와 달리 연결 설정과 종료에 대한 오버헤드가 없으며, 데이터를 전송하기 위해 더 적은 시간과 리소스를 사용합니다. 하지만 UDP는 신뢰성이 떨어집니다. 데이터를 보낼 때, 중복 검사, 패킷 순서 조정, 손실된 패킷 재전송과 같은 기능을 제공하.. 2023. 7. 27. 포트 번호(하루 3분 네트워크 교실) 포트 번호 포트 번호 네트워크에서 포트 번호는 특정 프로세스나 서비스를 식별하기 위해 사용되는 숫자입니다. TCP 및 UDP 프로토콜에서 사용되며, 포트 번호를 통해 데이터 패킷이 올바른 프로세스에 전달되도록 합니다. 포트 번호는 0부터 65535까지의 범위를 가지며, 일부 포트 번호는 특정 용도로 예약되어 있습니다. 80번 포트는 일반적으로 웹 서버가 사용하는 포트로 HTTP 프로토콜에 대한 트래픽을 처리합니다. 443번 포트는 HTTPS와 같은 암호화된 웹 트래픽에 사용됩니다. 25번 포트는 이메일 전송에 사용되는 SMTP 프로토콜의 기본 포트입니다. 21번 포트는 FTP(File Transfer Protocol)를 위한 포트로 사용됩니다. 22번 포트는 SSH(Secure Shell) 연결을 위한 .. 2023. 7. 26. 윈도우 제어(하루 3분 네트워크 교실) 윈도우 제어 윈도우 제어 윈도우 제어 (Windowing): 윈도우 제어는 흐름 제어와 밀접하게 관련되며, TCP 세션에서 전송되는 데이터 양을 결정하는 메커니즘입니다. TCP에서는 수신자가 자신이 받을 수 있는 데이터 양을 결정하는데, 이를 수신 윈도우라고 합니다. 수신자는 수신 윈도우 크기를 헤더에 포함하여 송신자에게 알려줍니다. 송신자는 이 윈도우 크기를 고려하여 전송할 데이터 양을 조절하고, 수신자로부터 확인 응답(ACK)을 받을 때까지 해당 윈도우 크기 내의 데이터를 전송합니다. 흐름 제어 흐름 제어 (Flow Control): TCP는 신뢰성 있는 데이터 전송을 위해 흐름 제어 기능을 제공합니다. 흐름 제어는 수신자와 송신자 간의 데이터 흐름을 조절하여 송신자가 수신자가 처리할 수 있는 속도로.. 2023. 7. 25. 이전 1 ··· 18 19 20 21 22 23 24 ··· 26 다음 728x90 반응형