일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- preemption #
- vfr video
- pytest
- 개성국밥
- 오블완
- JanusWebRTCGateway
- JanusGateway
- 달인막창
- taint
- python
- 자원부족
- k8s #kubernetes #쿠버네티스
- terminal
- 티스토리챌린지
- 코루틴 컨텍스트
- 겨울 부산
- PytestPluginManager
- mp4fpsmod
- Value too long for column
- PersistenceContext
- kotlin
- table not found
- tolerated
- Spring Batch
- JanusWebRTC
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTCServer
- VARCHAR (1)
- 깡돼후
- 코루틴 빌더
목록분류 전체보기 (583)
너와 나의 스토리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eBdIYm/btqyUf5visE/7bk3jH6ndmTrNtn1nBAKVk/img.png)
System call 프로그램과 커널 사이를 연결하는 API windows에도 system call이 있다. unistd.h & fcntl.h unistd.h Unix Standard Header Unix 시스템 호출 전반을 담당하는 헤더 파일 사용자,그룹 ID 획득 파일 및 장치 읽기/쓰기 프로세스 복제 파이프 그 외 다수의 시스템 호출 fcntl.h File Control Header Unix 시스템 중 파일을 담당하는 헤더 파일 파일 생성 파일 속성 변경 파일 열기 및 생성 C 언어: fopen() FILE* fp=fopen("input.txt","w+"); 반환되는 값: 파일 포인터 Unix 호출: open() int fd = open("input.txt",O_RDWR); 반환되는 값: 정수로 표..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWUP2i/btqyWLWkZv6/RQNxSvKf5Q7iQCQvkssmo1/img.png)
TCP 서버의 기본적인 함수 호출 순서 listen() 함수를 호출하면 연결 요청이 가능한 상태가 된다. 이 listen() 함수의 호출이 의미하는 바를 알아보자 연결 요청 대기 상태로의 진입 연결 요청도 일종의 데이터 전송이다. 따라서 연결 요청을 받아들이기 위해서는 하나의 소켓이 필요하다. 이 소켓을 가리켜 서버 소켓 또는 리스닝 소켓이라고 한다. listen 함수의 호출은 소켓을 리스닝 소켓이 되게 한다. 클라이언트의 연결 요청 수락 연결 요청 정보를 참조하여 클라이언트 소켓과의 통신을 위한 별도의 소켓을 추가로 하나 더 생성한다. 이렇게 생성된 소켓을 대상으로 데이터의 송수신이 진행된다. TCP 클라이언트의 기본적인 함수호출 순서 connect() 함수 호출할 때 연결할 서버의 주소 정보도 함께 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5Psk0/btqyXq5e9yu/l1xuvbKYPCCfFgMa793sYK/img.png)
인터넷 프로토콜(IP) 기반 소켓의 경우, 데이터 전송방법에 따라 TCP 소켓과 UDP 소켓으로 나뉘고, 특히 TCP 소켓의 경우 연결을 지향하기 때문에 '스트림 기반 소켓'이라고도 이야기한다. TCP(Transmission Control Protocol): 데이터 전송과정의 컨트롤 Application layer(5계층): 프로토콜 결정 (FTP,SMTP,HTTP,...) Transport layer(4계층): 통신 방식 결정 (TCP/UDP) Network layer(3계층): 데이터 전송 교환 담당 (IP - router 이용) Link layer(2계층): 완전 실제 전달 Link 계층 Link 계층은 물리적인 영역의 표준화에 대한 결과이다. 이는 가장 기본이 되는 영역으로 LAN, WAN, MA..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dOW0MZ/btqyY2RdIjv/xoqPE5u3HNaKJbra7hzta1/img.png)
application processes는 서로 message를 운반하기 위해 transport layer에서 제공하는 logical communication을 이용한다. Transport services and protocols 다른 호스트에서 작동하는 app 프로세스들 사이에서 logical communication을 제공한다 end systems에서 transport protocols이 작동된다. 보내는 측: 메시지를 segment 단위로 쪼개서 network layer에 보낸다 rcv 측: segments를 message로 재조합해서 app layer로 보낸다. app에 사용 가능한 transport protocol -> TCP and UDP Transport vs network layer netw..
문제: https://www.acmicpc.net/problem/13567 문제 풀이: int dx[4] = { 1,0,-1,0 }; int dy[4] = { 0,1,0,-1 }; 0: 상 1: 우 2: 하 3: 좌 로 설정해 놓고 좌표를 가리키는 변수 하나, (x,y) 값을 표시하는 변수 하나 만들고 기록하면서 움직이면 됨 소스 코드: #include #include #include #include #include #include using namespace std; typedef pair P; int n, m; int dx[4] = { 1,0,-1,0 }; int dy[4] = { 0,1,0,-1 }; int dir; P pos; bool move(int dist) { pos.first += dx[d..
문제: https://www.acmicpc.net/problem/13565 문제 풀이: 맨 윗줄에서 0인 위치를 큐에 넣어놓고 시작해서 마지막 줄에 도달하는지만 보면 된다. 소스 코드: #include #include #include #include #include using namespace std; typedef pair P; int n, m; int dx[4] = { 0,0,1,-1 }; int dy[4] = { 1, -1, 0, 0 }; char arr[1002][1002]; bool visit[1002][1002]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for (int i = ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qi28m/btqyLJyRwuI/M4pYpRVtQGDQuGwFBYzl50/img.png)
Socket programming 두 개의 transport services를 위한 두 개의 소켓 타입 UDP: Unreliable datagram TCP: reliable, byte stream-oriented socket programming with UDP UDP: 클라인트와 서버 사이에 연결이 없다 데이터 보내기 전에 handshaking 없다 각 패킷에 IP 목적지 주소랑 port 명시적으로 부착하고 보냄 (따로따로) rcvr은 수신한 패킷에서 발신자 Ip주소와 포트 번호를 추출 UPD: 전송된 데이터가 솔실되거나, 뒤죽박죽으로 도착 가능(out of order) 패킷 단위로 보내서 상황에 따라 뒤에 순서인 것이 먼저 도착 가능 이럴때는 그냥 버리고 다시 받음 Application 측면: UDP..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wxfm8/btqyLINskf6/PIkpTytf2CqEAp0xtTW13k/img.png)
Pure P2P architecture 서버가 항상 온라인인 것 아니다 (no always on server) 임의의 end systems이 직접 통신한다 peer가 간헐적으로 연결되고 IP 주소를 변경합니다. 예: file distribution (BitTorrent) VoIP(Skype) *P2P: 분산된 어플리케이션이다. 왜냐하면 서로가 정보를 교환하는 다수의 엔드 시스템을 포함하고 있기 때문. File distribution: client-server vs P2P 하나의 서버가 N명의 peers에게 파일(사이즈 F)을 분배하는데 얼마나 걸리는가? peer의 upload/download capacity는 제한된 리소스이다. File distribution: client-server server tr..