☁️정리/❄️CS 11

[CS] OSI 7 Layer

계층 계층 이름 설명 1 물리 계층 실제 장비들을 연결하기 위한 연결 장치 2 데이터 링크 계층 오류와 흐름을 제거하여 신뢰성 있는 데이터를 전송 3 네트워크 계층 다수의 중개 시스템 중 올바른 경로를 선택하도록 지원 4 전송 계층 송신, 수신 프로세스 간의 연결 5 세션 계층 송신, 수신 간의 논리적 연결 6 표현 계층 코드 문자 등을 번역하여 일관되게 전송하고 압축, 해제, 보안 기능도 담당 7 응용 계층 사용자 친화 환경 제공

[CS] 트랜잭션

💡트랜잭션 업무처리를 위한 하나의 논리적인 작업 단위로 'SQL의 묶음. 일처리 단위'를 뜻함 💡트랜잭션 특성 원자성(Atomicity) 트랜잭션이 데이터베이스에 완벽하게 반영되던가, 전혀 반영되지 않아야 함 일관성(Consistency) 트랜잭션이 실행을 성공적으로 완료하면 항상 일관성 있는 데이터베이스 상태로 변환함 독립성(Isolation) 둘 이상의 트랜잭션이 동시에 실행되는 경우 결과는 트랜잭션이 순차적으로 하나씩 실행된 결과와 같아야 함 영속성(Durability) 완료된 트랜잭션의 결과는 영구적으로 유지되야 함

[CS] TCP/IP 4계층

💡TCP/IP 4 계층 애플리케이션 계층 전송 계층 인터넷 계층 링크 계층 💡애플리케이션 계층 응용 프로그램(FTP, HTTP, DNS, SSH 등)이 사용되는 프로토콜 계층 서비스를 실질적으로 사람들에게 제공 💡전송 계층 송신자와 수진자를 연결하는 통신 서비스 제공 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공 데이터 전달될 때 중계 역할 TCP : 패킷 사이 순서 보장 '가상회선 패킷 교환 방식' UDP : 패킷 사이 순서 보장 x '데이터그램 패킷 교환 방식' 💡인터넷 계층 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지까지 전송하기 위해 사용 비연결형 IP, ARP, ICMP 💡링크 계층 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 규칙을 정하는 계층 전선, 광섬유..

[CS] Network Topology

💡Network Topology 노드, 링크 배치 방식 💡Tree Topology 계층형 토폴로지 트리 형태로 배치 노드 추가, 삭제 쉬움 특정 노드에 트래픽이 집중될 때 하위 노드에 영향 끼칠 수 있음 💡Bus Topology 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성 근거리 통신망(LAN)에서 사용 설치 비용이 적음 신뢰성이 우수 노드 추가, 삭제 쉬움 스푸핑 가능 문제 💡Star Topology 중앙에 있는 노드에 모두 연결된 네트워크 구성 노드 추가, 에러 탐지 쉬움 패킷 충돌 발생 적음 중앙 노드에 장애가 발생하면 전체 사용 불가 💡Ring Topology 각각의 노드가 양 옆의 두 노드와 연결하여 고리처럼 하나의 연속된 길을 통해 통신하는 망 구성 노드 수 증가 ..

[CS] 프로그래밍 패러다임

💡프로그래밍 패러다임 선언형과 명령형으로 나뉨 선언형 : 함수형 명령형 : 객체지향, 절차지향 💡선언형: 함수형 프로그래밍 '무엇을' 순수 함수들을 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임 💡명령형: 객체지향 프로그래밍 객체들의 집합 프로그램의 상호 작용을 표현 특징 1) 추상화 2) 캡슐화 3) 상속성 4) 다형성 설계 원칙 1) 단일 책임 원칙 (S) 2) 개방-폐쇄 원칙 (O) 3) 리스코드 치환 원칙 (L) 4) 인터페이스 분리 원칙 (I) 5) 의존 역전 원칙 (D) 💡명령형: 절차형 프로그래밍 로직이 수행되어야 할 연속적인 계산 과정으로 이루어짐

[CS] MVC 패턴

💡MVC 패턴이란? 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴 💡장점 재사용성, 확장성이 용이 💡단점 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐 💡모델(Modle) 애플리케이션의 데이터인 데이터베이스, 상수, 변수 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신 💡뷰(View) 사용자 인터페이스 요소 (모델을 기반으로 사용자가 볼 수 있는 화면) 💡컨트롤러(Controller) 메인 로직 담당 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할 (모델, 뷰의 변경을 해석하여 각각의 구성 요소에 알려줌) 모델과 뷰의 생명주기 관리 💡MVC 패턴 예시 스프링(spring) : 어노테이션을 기반으로 사용자의 요청 값을 쉽게..

[CS] 디자인 패턴_행위패턴

💡행위 패턴이란? 클래스나 객체의 책임 분배 방법과 관련된 패턴 💡행위 패턴 특징 하나의 객체로 수행할 수 없는 것을 여러 객체로 분배하여 결합도 최소화 💡행위 패턴 종류 Chain-of-Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor 💡Chain-of-Responsibility 패턴 정의 : 사슬 방식으로 연결된 객체가 요청이 들어오면 그 요청을 수행하지 못하는 객체라면 다음 객체에 넘김 ex) JAVA의 try catch문 장점 : 내부 구조를 알 필요 없음 : 코드를 변경하지 않고 핸들러를 chain에 동적으로 추가하거나 처리 순서를 변경하거나 삭제 가능..

[CS] 디자인 패턴_구조패턴

💡구조 패턴이란? 구조 패턴이란 클래스나 객체를 더 큰 구조를 만드는 패턴 💡구조 패턴 특징 서로 독립적으로 개발한 클래스 라이브러리를 하나인 것처럼 사용 가능 인터페이스나 구현을 복합하는 것이 아니라 객체를 합성하는 방법 제공 💡구조 패턴 종류 Adapter Bridge Composite Decorator Facade Flyweight Proxy 💡Adapter 패턴 정의 : 그대로 사용할 수 없는 것을 필요한 형태로 변환하여 사용하는 패턴 장점 : 클래스 재활용성 증가 단점 : 클래스를 재활용할 때 추가 코드가 필요하여 복잡도가 증가하고 속도 저하 💡Bridge 패턴 정의 : 추상적인 부분과 구체적인 부분을 나눠 구현하는 패턴 장점 : 독립적으로 확장 가능 : 추상적인 부분과 구체적인 부분 분리 가능..

[CS] 디자인 패턴_생성패턴

💡생성 패턴이란? 생성 패턴이란 객체를 만드는 절차를 추상화하는 패턴 💡생성 패턴 특징 시스템이 어떤 구체적인 클래스를 사용하는지에 대한 정보를 캡슐화 특정 객체가 생성되거나 변경되어도 프로그램 구조에 크게 영향을 받지 않음 (유연성) 💡생성 패턴 종류 Singleton Prototype Factory Methods Builder Abstract Factory 💡Singleton 패턴 정의 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴으로 보통 데이트베이스 연결 모듈에 많이 사용함 : 하나의 인스턴스를 만들어 놓고 해당 객체를 다른 모듈들이 공유하면서 사용 장점 : 인스턴스를 생성할 때 드는 비용이 줄어듦 단점 : 의존성이 높아짐 의존성 주입 : 의존성 낮추는 방법으로 메인 모듈과 다른 하위 모..