[CS] 트래픽 처리 방법 💡로드밸런싱 ✔️ 서버에 가해지는 부하를 분산 ( = 사용자들의 트래픽을 여러 서버가 나눠 받도록 구성)✔️ ex) 스위치 할당 (=스위치에서 어떤 서버로 로드 밸런싱 되도록 할지 제어 가능) 💡캐시✔️ 비용이 큰 작업을 비용이 작은 작업으로 대신하는 것 (= 매번 요청 들어올 때마다 수행 x 미리 저장된 결과로 응답 o)✔️ 장점) 성능 극대화 목적✔️ 단점) 데이터의 실시간성이 줄어듦 (=가장 최신의 데이터가 아닐 수 있음) ☁️정리/❄️CS 2024.10.22
[CS] API 💡API✔️ Application Programming Interface✔️ 하나의 프로그램 또는 라이브러리를 외부의 다른 곳에서도 사용할 수 있도록 해주는 인터페이스✔️ 웹 개발에서는 '백엔드 서버가 가지고 있는 기능을 프론트엔드의 인터페이스로 제공'이라는 의미로 사용✔️ 백엔드 개발자 입장에서는 '프론트엔드와 주고받을 데이터를 처리하기 위한 서버 프로그램' 의미 ☁️정리/❄️CS 2024.10.22
[CS] Map, Set 💡Map✔️ Key, Value 형태로 이루어진 데이터의 집합✔️ Key는 중복 X, Value는 중복 O✔️ 순서 유지 X✔️ Index 존재 X → Iterator 사용✔️ ex) HashMap, LinkedHashMap, TreeMap 💡Set✔️ 입력 순서를 유지 X✔️ 데이터의 중복 허용 X✔️ Index 존재 X → Iterator 사용✔️ ex) HashSet, LinkedHashSet, TreeSet ☁️정리/❄️CS 2024.07.02
[CS] OSI 7 Layer 계층계층 이름설명1물리 계층실제 장비들을 연결하기 위한 연결 장치2데이터 링크 계층오류와 흐름을 제거하여 신뢰성 있는 데이터를 전송3네트워크 계층다수의 중개 시스템 중 올바른 경로를 선택하도록 지원4전송 계층송신, 수신 프로세스 간의 연결5세션 계층송신, 수신 간의 논리적 연결6표현 계층코드 문자 등을 번역하여 일관되게 전송하고 압축, 해제, 보안 기능도 담당7응용 계층사용자 친화 환경 제공 ☁️정리/❄️CS 2024.04.19
[CS] 트랜잭션 💡트랜잭션업무처리를 위한 하나의 논리적인 작업 단위로 'SQL의 묶음. 일처리 단위'를 뜻함 💡트랜잭션 특성원자성(Atomicity)트랜잭션이 데이터베이스에 완벽하게 반영되던가, 전혀 반영되지 않아야 함일관성(Consistency)트랜잭션이 실행을 성공적으로 완료하면 항상 일관성 있는 데이터베이스 상태로 변환함독립성(Isolation)둘 이상의 트랜잭션이 동시에 실행되는 경우 결과는 트랜잭션이 순차적으로 하나씩 실행된 결과와 같아야 함영속성(Durability)완료된 트랜잭션의 결과는 영구적으로 유지되야 함 ☁️정리/❄️CS 2024.04.16
[CS] TCP/IP 4계층 💡TCP/IP 4 계층애플리케이션 계층전송 계층인터넷 계층링크 계층 💡애플리케이션 계층응용 프로그램(FTP, HTTP, DNS, SSH 등)이 사용되는 프로토콜 계층서비스를 실질적으로 사람들에게 제공 💡전송 계층송신자와 수진자를 연결하는 통신 서비스 제공연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공데이터 전달될 때 중계 역할 TCP : 패킷 사이 순서 보장 '가상회선 패킷 교환 방식'UDP : 패킷 사이 순서 보장 x '데이터그램 패킷 교환 방식' 💡인터넷 계층장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지까지 전송하기 위해 사용비연결형 IP, ARP, ICMP 💡링크 계층실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 규칙을 정하는 계층 전선, 광섬유, 무선 ☁️정리/❄️CS 2023.08.23
[CS] Network Topology 💡Network Topology노드, 링크 배치 방식 💡Tree Topology계층형 토폴로지트리 형태로 배치 노드 추가, 삭제 쉬움특정 노드에 트래픽이 집중될 때 하위 노드에 영향 끼칠 수 있음 💡Bus Topology중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성근거리 통신망(LAN)에서 사용 설치 비용이 적음신뢰성이 우수노드 추가, 삭제 쉬움스푸핑 가능 문제💡Star Topology중앙에 있는 노드에 모두 연결된 네트워크 구성 노드 추가, 에러 탐지 쉬움패킷 충돌 발생 적음중앙 노드에 장애가 발생하면 전체 사용 불가 💡Ring Topology각각의 노드가 양 옆의 두 노드와 연결하여 고리처럼 하나의 연속된 길을 통해 통신하는 망 구성 노드 수 증가 시 네트워크 손실.. ☁️정리/❄️CS 2023.08.23
[CS] 프로그래밍 패러다임 💡프로그래밍 패러다임선언형과 명령형으로 나뉨 선언형 : 함수형명령형 : 객체지향, 절차지향 💡선언형: 함수형 프로그래밍'무엇을'순수 함수들을 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임 💡명령형: 객체지향 프로그래밍객체들의 집합프로그램의 상호 작용을 표현 특징1) 추상화2) 캡슐화3) 상속성4) 다형성 설계 원칙1) 단일 책임 원칙 (S)2) 개방-폐쇄 원칙 (O)3) 리스코드 치환 원칙 (L)4) 인터페이스 분리 원칙 (I)5) 의존 역전 원칙 (D) 💡명령형: 절차형 프로그래밍로직이 수행되어야 할 연속적인 계산 과정으로 이루어짐 ☁️정리/❄️CS 2023.08.23
[CS] MVC 패턴 💡MVC 패턴이란?모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴 💡장점재사용성, 확장성이 용이 💡단점애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐 💡모델(Modle)애플리케이션의 데이터인 데이터베이스, 상수, 변수뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신 💡뷰(View)사용자 인터페이스 요소 (모델을 기반으로 사용자가 볼 수 있는 화면) 💡컨트롤러(Controller)메인 로직 담당하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할 (모델, 뷰의 변경을 해석하여 각각의 구성 요소에 알려줌)모델과 뷰의 생명주기 관리 💡MVC 패턴 예시스프링(spring): 어노테이션을 기반으로 사용자의 요청 값을 쉽게 분석 .. ☁️정리/❄️CS 2023.08.21
[CS] 디자인 패턴_행위패턴 💡행위 패턴이란?클래스나 객체의 책임 분배 방법과 관련된 패턴 💡행위 패턴 특징하나의 객체로 수행할 수 없는 것을 여러 객체로 분배하여 결합도 최소화 💡행위 패턴 종류Chain-of-ResponsibilityCommandInterpreterIteratorMediatorMementoObserverStateStrategyTemplate MethodVisitor 💡Chain-of-Responsibility 패턴정의 : 사슬 방식으로 연결된 객체가 요청이 들어오면 그 요청을 수행하지 못하는 객체라면 다음 객체에 넘김ex) JAVA의 try catch문 장점: 내부 구조를 알 필요 없음: 코드를 변경하지 않고 핸들러를 chain에 동적으로 추가하거나 처리 순서를 변경하거나 삭제 가능 (유연성) 단점: 디버.. ☁️정리/❄️CS 2023.08.18