본문 바로가기

분류 전체보기156

소켓 주소 구조체 소켓주소 구조체 네트워크 프로그램에서 주소 정보를 담고 있는 구조체로, 다양한 소켓 함수의 인자로 사용. ( 기본형 SOCKADDR ) SOCKADDR 구조체 1. 기본형 typedef struct sockaddr { u_short sa_family; // 2byte > 주소 체계를 나타내는 16비트 정수값 AF_INET or AF_INET6 char sa_data[14]; // 14 byte > 해당 주소 체계에서 사용할 주소 정보 TCP/IP 프로토컬 + ip + port# 2. SOCKADDR_IN (IPv4 전용) typedef struct sockaddr_in { short sin_family; // AF_INET (2byte) u_short sin_port; // port# (2byte) st.. 2021. 11. 1.
소켓 소켓은 3가지 관점으로 분류 할 수 있다. 1) 데이터의 타입 2) 통신 종단점 - 응용 프로그램은 양 측 소켓이 연결확립이 되있다고 가정하고 데이터를 주고 받는다. 3) 네트워크 프로그래밍 인터페이스 - 통신 양단이 모두 소켓을 사용할 필요는 없다 윈도우 소켓(윈쇽) 윈도우 소켓은 DLL을 통해 기능 제공 -> DLL 초기화와 종료 작업을 위한 함수 필요 윈도우는 OS 차원에서 멀티스레드를 지원하므로 멀티스레드 환경에서 안정적으로 동작하는 구조와 이를 위한 함수가 필요 (장점) 호환성이 높아 이식성이 좋음 저수준 프로그래밍 인터페이스로, 세부제어가 가능하고 고성능 네트워크 프로그램 개발 가능 (단점) 서로 다른 바이트 방식을 사용하거나 처리 단위가 서로 다른 호스트의 통신시, 변환 처리 요구 응용 프로.. 2021. 10. 31.
numpy numpy 라이브러리 불러오기 import numpy as np numpy는 파이썬에서 보다 효율적인 배열을 지원한다. 파이썬이 아닌 C로 내부로 구현되어 하드웨어의 친화적인 C의 특성으로 계산 속도면에서 파이썬의 리스트보다 우월하다. list = [1, 2, 10] list2 = [ [1,2,3], [4,5,6], [7,8,9]] # 넘파이 배열 생성 arr = np.array(list) arr2 = np.array(list2) # 넘파이는 각 요소의 연산을 지원한다 list * 3 # [ [1,2,10], [1,2,10], [1,2,10] ] arr * 3 # [ 3 6 30 ] # 넘파이는 기존의 리스트 형식이 아닌 ndarray라는 타입으로 저장된다. list2 # [ [1,2,3], [4,5,6.. 2021. 9. 16.
Refactoring - 메서드 정리 Extract Metho - Problem : 그룹으로 함께 묶을 수 있는 코드 조각이 있는 경우 - Solution : 코드의 목적이 잘 드러나도록 메소드의 이름을 지어 별도의 메소드로 뽑아 낸다 # 수정 전 void pringOwing() { pring Banner(); System.out.println("name : " + name); System.out.println("amount : " + getOutstanding()); } # 수정 후 void printOwing() { printBanner(); printDetails(getOutstanding()); } void printDetails(double outstanding) { System.out.println("name : " + name).. 2021. 9. 16.
반응형