일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발환경
- N-Queen
- 신경망 학습
- Mac
- 1101
- 실버
- 그리디 알고리즘
- 1002
- 밑바닥부터 시작하는 딥러닝
- 설정
- streamlit
- end to end
- 15649
- 손실함수
- 파이썬
- Python
- 백준
- BOJ
- 4948
- 기계학습
- 경사하강법
- 백트래킹
- 가상환경
- 재귀
- n과 m
- pyenv
- 9020
- 파이싼
- Today
- Total
목록대학수업/socket programming (11)
파이톨치
NoSQL DBMS 특징1. 안정성과 일관성 유지를 위한 복잡한 기능 포기2. 데이터 구조를 미리 정해두지 않는 유연성을 가짐3. 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용 관계형과 차이점: ACID(원자성, 일관성, 격리성, 지속성) 위한 트랜잭션(논리적인 작업 단위) 기능을 제공하지 않는 대신저렴한 비용으로 여러 대의 컴퓨터에 데이터를 분산∙저장∙처리하는 것이 가능한 데이터베이스 + BSON, 스키마 x, 트랜젝션 x, join x스키마(schema) 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것인스턴스(instance) 스키마에 따라 데이터베이스에 실제로 저장된 값 관계 모델보다 더 융통성 있는 데이터 모델 사용스키마 없이 동작하기 때문에 데이터 구조를..
TCP vs UDP: Internet transport-layer protocols 전송 계층 (3계층)의 두 가지 주요 프로토콜인 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)의 특징을 설명하고 있습니다. 1. TCP와 UDP 모두 포트 번호를 사용합니다. - 포트 번호는 응용 프로그램별 통신 엔드포인트로 사용되는 개념입니다. - 16비트 부호 없는 정수로 0부터 65535까지의 범위를 가집니다. - 엔드-투-엔드 전송을 제공합니다. TCP(Transmission Control Protocol) TCP(Transmission Control Protocol)는 인터넷에서 신뢰성 있는 데이터 전송을 위해 널리 사용되는 프로토콜입니다. 주요..
Computer Network 기초 기본 배경 컴퓨터 네트워크는 호스트, 라우터, 통신 채널로 구성되어 있습니다. 호스트는 응용프로그램을 실행하는 장치이고, 라우터는 네트워크 전체에 걸쳐 정보를 전달하는 역할을 합니다. 네트워크에서 정보는 패킷이라는 바이트 시퀀스 형태로 전송됩니다. 패킷에는 목적지 호스트 주소와 같은 제어 정보가 포함되어 있습니다. 프로토콜은 패킷의 의미, 구조, 크기 등을 정의하는 규약입니다. host A에서 host B로의 패킷 전달 전송할 데이터를 패킷들로 나누어 전송한다. 패킷은 헤더와 데이터로 구성된다. 패킷 헤더에는 네트워크에서 사용하는 주소 정보가 들어간다. 네트워크에서 사용하는 주소에는 IP 주소, port 주소, MAC 주소가 있음. IP 주소 – 인터넷 상에서 uniq..
개요 사물인터넷(IoT)과 유비쿼터스 컴퓨팅의 등장으로 무선센서네트워크(WSN)를 인터넷에 연결할 수 있는 프로토콜을 설계할 필요가 대두되었습니다. 현재 WSN을 IP 네트워크에 연결하기 위해 프록시 기반 방식과 센서 스택 기반 방식 두 가지 주요 접근법이 사용되고 있습니다. 프록시 기반 접근법에서는 싱크 노드가 센서 노드와 인터넷 간의 게이트웨이 역할을 합니다. 스택 기반 접근법에서는 IP 프로토콜이 각 노드에 구현되어 센서 네트워크 내에서 데이터 교환을 가능케 하며, 다른 IP 기반 네트워크와의 연결성도 제공합니다. Network layer protocols 6LoWPAN 6LoWPAN은 표준 IEEE 802.15.4를 통해 IPv6를 사용할 수 있게 하는 데 중요한 역할을 합니다. 6LoWPAN은 ..
Datalink layer protocol 개요 위 그림을 참조하면 데이터 링크 계층의 프로토콜로는 Bluetooth Smart, IEEE 802.15.4, ZigBee등이 있다. Datalink issue는 에너지 효율성, 작은 메시지, 제한된 컴퓨팅이 있다. 초기에 wearable 장치에 초점을 맞추어 WPAN 발전 -> bluetooth, zigbee (2계층) 이후에 IoT에 적합한 IP 기반 WPAN 프로토콜이 제안 -> 6LoWPAN (3계층) Networking issue는 큰 숫자 (32, 48비트 주소 불충분), 16비트 지역 주소, 64비트 광역 주소 등이 있다. 이 때문에 6LoWPAN 제안되었다. 6LoWPAN은 IPv6와 802.15.4가 바로 연동하는데 문제가 있어 중간자 역할 ..
쓰레드의 이론적 이해 쓰레드의 등장 배경 프로세스는 부담스럽다. 프로세스의 생성에는 많은 리소스가 소모된다. 일단 프로세스가 생성되면, 프로세스 간의 컨텍스트 스위칭으로 인해서 성능이 저하된다. 컨텍스트 스위칭은 프로세스의 정보를 하드디스크에 저장 및 복원하는 일이다. 데이터의 교환이 어렵다 프로세스간 메모리가 독립적으로 운영되기 때문에 프로세스간 데이터 공유 불가능! 따라서 운영체제가 별도로 제공하는 메모리 공간을 대상으로 별도의 IPC 기법 적용. 쓰레드 프로세스보다 가벼운, 경량화된 프로세스이다. 때문에 컨텍스트 스위칭이 빠르다. 쓰레드 별로 메모리공유가 가능하기 때문에 별도의 IPC 기법 불필요. 프로세스 내에서의 프로그램의 흐름을 추가한다. 쓰레드와 프로세스의 차이점 프로세스는 서로 완전히 독립..
멀티프로세스 서버의 단점과 대안 멀티프로세스 서버의 단점 프로세스의 빈번한 생성은 성능의 저하로 이어진다. 멀티 프로세스의 흐름을 고려해서 구현해야 하기 때문에 구현이 쉽지 않다. 프로세스간 통신이 필요한 상황에서는 서버의 구현이 더 복잡해진다. 멀티프로세스 서버의 대안 하나의 프로세스가 다수의 클라이언트에게 서비스를 할 수 있도 록한다. 이를 위해서는 하나의 프로세스가 여러 개의 소켓을 핸들링 할 수 있는 방법이 존재해야 한다. 바로 이것이 IO 멀티플렉싱(multiplexing)이다. 멀티쓰레드/멀티프로세스 vs 입출력다중화 입출력 다중화 방식에서는 하나의 프로세스 안에서 여러 개의 소켓 IO를처리 소켓 입출력 모델 소켓모드 블로킹 소켓과 넌블로킹 소켓으로구분 블로킹 소켓 소켓 함수 호출시 조건이 만..
멀티 프로세스 다중 접속 서버 둘 이상의 클라이언트에게 동시에 접속을 허용하여, 동시에 둘 이상의 클라이언트에게 서비스를 제공하는 서버를 의미한다. 프로세스 실행 중인 프로그램에 관련된 메모리, 리소스 등을 총칭하는 의미, 멀티프로세스 운영체제는 둘 이상의 프로세스를 동시에 생성가능. 운영제제는 생성되는 모든 프로세스에 ID를할당(PID). fork 함수 fork 함수가 호출되면, 호출한 프로세스가 복사되어 fork 함수호출 이후를 각각의 프로세스가 독립적으로 실행 fork 함수 호출 이후의 반환 값의 차를 통해서 부모프로세스와 자식프로세스의 프로그램 흐름을 구분하게 된다, fork 함수를 호출한 프로세스는 부모 프로세스이고 반환값은 자식의 PID이며, fork 함수의 호출을 통해서 생성된 프로세스는 자..