일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Algorithm
- 윤성우 열혈자료구조
- list 컬렉션
- 혼자 공부하는 C언어
- C 언어 코딩 도장
- coding test
- C programming
- Serialization
- 이것이 자바다
- Selection Sorting
- s
- Stack
- datastructure
- buffer
- 이스케이프 문자
- Graph
- stream
- insertion sort
- 알기쉬운 알고리즘
- JSON
- R
- 윤성우의 열혈 자료구조
- 메모리구조
- Today
- Total
목록Computer Science (79)
Engineering Note
본 내용은 KOCW 이미정 교수님 강의를 보며 정리하며 작성한 내용입니다. DNS(Domain Name System) DNS- 사용자는 특정 웹 사이트에 액세스 하길 원하거나, 브라우저를 통해 웹사이트를 요청할 때 브라우저의 주소창에 "www.yahoo.com"이라는 hostname or domain name이라고 불리는 값을 사용한다. 그런데 실제 컴퓨터에서 돌아가는 network application process는 이러한 주소가 아니라 32bit의 IP address를 사용하는데, 이때, 사용자가 입력한 Domain Name을 IP 주소로 변환하는 기능을 해주는 시스템을 Domain Name System이라고 한다. 그런데 DNS는 Network application이라면 전부다 필요로 하는 Sys..
데이터베이스에서 가장 중요한 트랜잭션과 동시성 제어에 대해 정리해보려고 한다. 트랜잭션이란 데이터베이스에서 처리하는 하나의 작업단위로, 관련 작업이 모두 성공하거나, 모두 실패해서 데이터의 일관성을 유지해야 하는 작업 묶음 입니다. 트랜잭션의 핵심 속성은 ACID라고 부릅니다.Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성) 속성 설명Atomicity (원자성)모두 수행되거나, 전혀 수행되지 않거나Consistency (일관성)트랜잭션 전후의 DB 상태가 일관되어야 함Isolation (격리성)동시에 실행되는 트랜잭션이 서로 영향을 주지 않도록 격리Durability (지속성)트랜잭션이 성공하면 결과는 영구 반영 트랜잭션과 관련해서 ..
Spring으로 웹 개발을 하다보면 파일 전송할 때 Multipart라는 객체를 사용하는데 왜 Multipart라는 개념이 등장하게 됐는지 궁금해서 자료를 찾아 보았습니다.🔍 Multipart라는 개념이 생긴 배경✅ 1. 단일 데이터 구조의 한계초기의 HTTP나 이메일 시스템(MIME 이전)은 텍스트 기반 메시지를 주고받기 위한 프로토콜이었어.그래서 구조가 매우 단순했고, "하나의 메시지는 하나의 내용만 담는다"는 게 기본 전제였지.이메일이면: 본문만 있거나, 본문 하나 + 첨부파일 하나 정도HTTP면: 하나의 이미지나 하나의 HTML 파일 정도이 단일 구조는 점점 현실적인 데이터 처리 요구를 충족시키지 못하게 됨.✅ 2. 복합 데이터를 다뤄야 하는 현실적인 요구 등장기술이 발전하면서 다음과 같은 문제..

본 내용은 KOCW 이미정 교수님 강의를 보며 정리하며 작성한 내용입니다. e-mail applcationnetwork 계층은 여러 계층으로 나누어서 이해할 수 있는데, 그 중에서 사용자에게 가까운 영역은 application layer이다. application layer에는 WEB과 더불어 e-mail application이 있다.e-mail application의 3가지 구성요소user agentsmail serversmail protocols(SMTP(simple mail transfer protocol), POP3, IMAP) User Agent는 사용자가 메일을 작성하고, 편집하고 읽을 수 있게 하는 어플리케이션이다. ex) Outlook, iPhone mail client Mail Serv..
Rate라는 용어가 많이 나오는데 실제 우리가 일상에서 사용하는 속도라는 개념도 있지만, 처리량, 처리능력이라는 의미의 속도도 있다. 맥략적으로 잘 해석해야 하는데 아래처럼 정리하려고 한다. 구분 한글 용어 영어 용어 정의 / 의미 단위 비교구분용어English expressionDescription단위보충 설명전송 속도전송률 / 전송 속도Transmission Rate네트워크 링크가 초당 전송 가능한 최대 데이터 양bps, Mbps, Gbps하드웨어의 능력, 즉 대역폭(Bandwidth)유입 속도트래픽 유입 속도Incoming Traffic Rate또는 Arrival Rate실제로 외부에서 내 서버/시스템으로 도착하는 데이터의 속도Mbps,packets/sec 등보통 측정값이며, 클라이언트 요청량처..

Cashe(캐시)- 자주 사용되는 데이터를 빠르게 다시 사용할 수 있도록 임시 저장해두는 공간이나 시스템(속도 향상 & 트래픽 감소 목적) 캐시 종류 설명 예시브라우저 캐시 (Browser Cache)사용자 컴퓨터에 저장됨. HTML, CSS, JS, 이미지 등크롬 개발자 도구에 나오는 from disk cache프록시 캐시 (Proxy Cache)중간 서버가 여러 사용자를 위해 저장학교/기업 네트워크의 프록시 서버(ex. Squid)CDN 캐시 (Edge Cache)CDN 서버가 전 세계 여러 위치에 콘텐츠 캐싱Cloudflare, Akamai, AWS CloudFront서버 캐시 (Reverse Proxy Cache)웹 서버 앞단에서 캐시해서 백엔드 접근 줄임Nginx, Varnish애플리케이션 캐..
웹기반 채팅프로그램을 만들려면 WebSocket을 이용해야 한다. Java에서는 WebSocket 객체를 통해 WebSocket 통신을 지원하는데, 기존의 Socket 통신과의 차이가 궁금해서 이번 기회의 정리해보려고 한다. WebSocket은 브라우저 위에서 동작하는 소켓 프로그램을 개발할 때 사용한다. 그런데 브라우저는 기존 Socket 통신을 지원하지 않는다. 예를 들면 아래 같은 코드는 브라우저에서 동작하지 않는다.// 이런 건 브라우저에서 불가능!const socket = new net.Socket();socket.connect(12345, "127.0.0.1"); // X Web은 기본적으로 HTTP 기반으로 동작하는 네트워크 어플리케이션이다. 그래서 WebSocket도 처음 클라이언트가 요청..

[1단계] TCP Server/Client 기본 연결(완료)ServerSocket, Socket 사용클라이언트가 서버에 접속하면 “연결됨” 메시지 출력[2단계] 텍스트 1:1 송수신(완료)서버: 클라이언트가 보낸 메시지 읽고 콘솔에 출력클라이언트: 키보드 입력을 서버에 전송, 서버 응답 받음[3단계] 서버에서 여러 클라이언트 관리서버에서 연결되는 클라이언트마다 Thread로 관리서버가 모든 연결된 클라이언트에 메시지 브로드캐스팅[4단계] 클라이언트-클라이언트 채팅한 클라이언트가 메시지 보내면, 서버가 전체 클라이언트에게 메시지 전달콘솔에 “닉네임: 메시지” 형태로 출력Socker 통신 흐름클라이언트에서 Socket("127.0.0.1", 12345) 생성↓TCP 연결 시도 (3-way handshake ..