본문 바로가기
반응형

컴퓨터 사이언스(CS)8

[CS] TCP/UDP 개념 + socket 관리 TCP ( Transmission Control Protocol) 전송을 제어하기 위한 프로토콜로 인터넷 상에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜특징데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 흐름 제어네트워크 내의 패킷 수가 과도하게 증가하지 않도록 방지하는 혼잡 제어높은 신뢰성 보장 (신뢰성이 높으므로 UDP보다 속도 느림)전송이 양방향으로 동시에 일어날 수 있는 전이중(Full-Duplex), 각 연결이 정확히 2개의 종단점을 갖는 점대점(Point To Point) 방식 제공데이터 전송 순서 보장 및 경계를 구분하지 않음연결 지향 방식으로 패킷 교환 방식 사용3-way handshaking 과정을 통해 연결을 설정4-way handshaking .. 2024. 8. 7.
[CS] 파일 시스템과 HTTP 파일 시스템파일 시스템데이터를 조작하고 저장하는 방법을 정의하는 시스템생성, 삭제, 읽기, 쓰기, 속성 관리 등의 기능 수행루트 디렉토리와 서브 디렉토리의 계층 구조파일 속성이름 : 파일 식별에 사용크기 : 파일의 바이트 수생성/수정 날짜 : 파일이 생성되거나 수정된 날짜와 시간접근 권한 : 파일의 읽기, 쓰기, 실행을 할 수 있는 사용자나 그룹파일 시스템 유형 FAT (File Allocation Table): 간단하고 널리 사용되지만 큰 파일 시스템에서는 비효율적NTFS (New Technology File System): Windows에서 사용되는 파일 시스템으로, 보안, 파일 압축, 암호화 등을 지원ext (Extended File System): Linux에서 사용되며, 현재는 ext4가 주로 .. 2024. 8. 5.
[CS] Git의 명령어는 어떤 동작을 할까? Git Git분산형 버전 관리 시스템(VCS)의 한 종류빠른 속도로 업무처리하는데 중점을 둔 시스템복사, 백업, 저장 등의 역할 수행 VCS(Version Control system)시간에 따라 파일 변화를 기록하고 특정 시점의 버전을 찾아 사용할 수 있는 시스템동시에 작업할 경우 발생할 수 있는 충돌 문제를 해결해줌여러 명이 동시에 작업하는 병렬 개발 가능분산 버전 관리이므로 인터넷이 연결되지 않은 곳에서도 개발 가능동작 순서작업 디렉토리에 있는 파일을 add 명령어를 통해 staging 영역으로 전달staging 영역에 저장된 파일은 commit 명령어를 통해 local repository로 커밋 파일을 저장local repository에 있는 메타 데이터 및 데이터 정보가 push 명령어를 통해 원.. 2024. 7. 31.
[CS/Javascript] 비동기 처리 및 이벤트 핸들러 동기 & 비동기 처리동기(Synchronous) 모든 일을 순차적으로 처리하는 것 (이전 작업이 끝나면 → 다음 작업 시작) 어떤 요청을 보내면 그 요청이 끝날 때까지 기다림console.log('시작')console.log('중간')console.log('끝')/*시작중간끝*/비동기(ASynchronous)- 작업을 시작한 후 결과를 기다리지 않고 다음 작업을 처리하는 것 (병렬 수행)- 비동기로 처리 시 먼저 처리되는 부분부터 보여주므로 사용자 경험에 긍정적인 효과- 비동기 동작은 Call stack, Web API, Task Queue, Event Loop 등으로 구성Call Stack- 요청이 들어올 때마다 순차적으로 처리하는 StackWeb API- JavaSecript 엔진이 아닌 브라우저에서.. 2024. 7. 29.
[CS] 디자인 패턴 (옵저버 패턴) 옵저버 패턴( Observer Pattern) 📝 옵저버 패턴이란?관찰자가 관찰하고 있는 대상자의 상태가 변화할 때마다 조치를 취하는 패턴일대다(one to many) 의존성을 가짐발행-구독(pub-sub) 모델로도 알려져 있음주로 MVC 패턴에서 사용됨옵저버 패턴의 구성 요소주체 혹은 관찰 대상상태를 가지며, 옵저버를 등록하고 제거하는 메서드 제공상태가 변경되면 모든 등록된 옵저버에 전달옵저버(Observer)주제의 상태 변경을 통보받기 위해 등록된 객체주제의 상태 변경시 이를 통보 받아 자신의 상태를 업데이트옵저버 패턴의 흐름한개의 관찰 대상자와 여러개의 관찰자로 일 대 다 구성관찰 대상의 상태가 바뀌면 변경사항을 옵저버에 통보통보 받은 옵저버는 값을 바꾸거나 삭제하는 등 대응옵저버는 언제든 대상자.. 2024. 7. 25.
[CS/자료구조] 불변 연결 리스트 (Immutable LinkedList) 연결 리스트(LinkedList)📝연결 리스트란?순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조각 요소가 데이터와 다음 요소를 참조하는 정보를 포함하는 노드로 구성된 형태연결 리스트의 요소노드(Node) : 연결 리스트의 기본 단위로, 데이터와 다음 노드를 가리키는 필드로 구성포인터(pointer) : 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 갖고 있는 공간헤드(Head) : 연결 리스트의에서 가장 처음 위치하는 노드. 리스트 전체를 참조하는데 사용테일(Tail) : 연결 리스트의 가장 마지막에 위치하는 노드. 다음 노드가 존재하지 않으므로 링크된 노드의 필드 값은 Null이다.연결 리스트 구현(JavaScript).. 2024. 7. 24.
반응형