HTTP(HyperText Transfer Protocol)요청(Request) / 응답(Response) 구조Stateless → 요청과 요청간의 관계를 유지, 확인하지 않는다. ⇒ 세션, 연결을 유지하지 않는다. 요청 구조 ↳ : 개행문자(CRLF)를 의미한다고 가정 요청 시작 ⇒ 요청방식 URI HTTP/1.1↳요청헤더 ⇒ Content-Type: x-www-form-urlencoded↳ : ↳ Content-Length: 2002 ↳ ↳요청본문 ⇒ 서버로 전달할 내용 = 요청 파라미터 ⇒ 요청 방식에 따라서 있을 수도 있고, 없을 수도 있음 GET http://exam.com/abc.do HTTP/1.1↳Content-Type: text/html↳...↳...↳↳ 개행문자 2개가 연속해서 나오는곳..
TCP/IP 계층계층태그주요 프로토콜응용(프로세스)FTP, SSH, TELNET, SMTP, DNS, DHCP, HTTP, POP3, SNMP, SSL 등전송 TCP, UDP 네트워크 (인터넷) IP, ICMP, IGMP, ARP, RARP 데이터링크 (네트워크 인터페이스, 네트워크 접근) ETHERNET, PPP 물리계층(layer)비음성 통신에서 데이터를 전송하기 위한 일련의 과정, 단계, 절차송신자 운영체제에서는 응용 → 전송 → 네트워크 → 데이터 링크 → 물리 계층 순으로 데이터를 전송 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~(인캡슐레이션, 정보 구체화)수신자 운영체제에서는 물리 → 데이터 링크 → 네트워크 → 전송 → 응용 계층 순으로 데이터를 수신 ~~~~~~~~~~~~~~~~~~..
ipconfig Windows IP 구성 이더넷 어댑터 이더넷:⇒ 이더넷 어댑터 = LAN 카드 = NIC(Network Interface Controller) ⇒ 이더넷 : LAN 영역에서 사용하는 통신기술 중 하나,LAN 영역에서 사용하는 기술 중 사실상 표준 이더넷 어댑터 VirtualBox Host-Only Network: 연결별 DNS 접미사. . . . : 링크-로컬 IPv6 주소 . . . . : fe80::946d:de21:8740:68fe%5 IPv4 주소 . . . . . . . . . : 192.168.56.1 서브넷 마스크 . . . . . . . : 255.255.255.0 기본 게이트웨이 . . . . . . : 무선 LAN 어댑터 Wi-Fi: 연결별 DNS 접미사. . . . ..
CSV 파일Comma Separated Value행단위를 ,(콤마)를 이용해서 구분 파이썬에서는 쉽게 CSV파일을 조작할 수 있도록 csv 모듈을 제공 CSV 파일 읽기c:\python\data.csv이름,국어,영어,수학,물리,지구과학 홍길동,100,90,80,22,92 길동홍,80,52,90,45,67 동홍길,56,98,33,58,70c:\python\csv_reader.pyimport csv # 일반적인 파일 처리 방식으로 csv 파일을 처리 with open('data.csv', 'r', encoding='utf-8') as csv_file: for line in csv_file: data = line.strip().split(',') # 콤마(,)를 구분자(delimiter)로하여 파싱 for d..
리스트에서 일치하는 항목의 인덱스를 반환하는 함수while 루프를 이용한 선형 검색from typing import Any def linear_search(lst: list, value: Any) -> int: '''lst에서 처음으로 나오는 인덱스를 반환하거나 lst에 value가 없는 경우 -1을 반환한다.''' # 0 1 2 3 4 5 # [ 1, 2, 3, 4, 5, 6 ] # len => 6 i = 0 # lst 내에서 검사할 다음 항목의 인덱스 while i != len(lst) and lst[i] != value: i = i + 1 if i == len(lst): return -1 else: return i lst = [ 2, -3, 5, 9, 8, -6, 4, -15 ] value = 5 ..
여백으로 구분된 데이터 처리 다수 행 레코드 미리보기 정규표현식\d > 숫자 [0-9]\D > 숫자가 아닌 것. [^0-9]\s > white space. [ \t\n\r\f\v] 스페이스, 탭(09), 줄바꿈(LF, 0A), 캐리지리턴(CR, 0D), 폼피드(0C), 수직 탭(0B)\S > white space가 아닌 것. [^ \t\n\r\f\v]\w > 문자+숫자. [a-zA-Z0-9]\W > 문자+숫자가 아닌 문자. [^a-zA-Z0-9]\\ > 역슬래쉬(\)\( > 소괄호 열기(()\) > 소괄호 닫기 ()) * > 앞의 표현식이 0회 이상 연속으로 반복되는 부분과 대응 > {0,}+ > 앞의 표현식이 1회 이상 연속으로 반복되는 부분과 대응 > {1,}? > 앞의 표현식이 0 또는 1회 등장하..
문자열 연산'NH' + 3 불가3 + 'NH' 불가'NH' + str(7) 가능 의미 문자 = 메타 문자 = 특수 문자URL에서 파라미터의 시작을 나타낼 때 → ?이름과 값을 구분할 때 → =파라미터와 파라미터를 구분할 때 → &http://www.example.com/test.do?name=hong&age=24&... SQL문에서 홑따옴표는 문자열 데이터를 나타낼 때 사용select * from members where name = 'hong' 의미 문자에서 의미를 제거하고 문자 그 자체만 사용할(남길) 경우 → 이스케이프웹 서버로 전달하는 내용이 vendName이라는 파라미터의 값으로 Bandi & Luice 값을 전달해야 하는 경우http://www.example.com/test.do?vendNam..
17 // 10 = 1-17 // 10 = -2 17 % 10 = 7-17 % 10 = 317 % -10 = -3차이점 알아두기 TDD = 테스트 주도 개발(Test-driven development)람다식 def add(a,b): return a+badd(1,2)3람다식으로 변환하면add = lambda a, b: a+badd (1,2)3 def calculator(a,b): return a+b, a-b, a*b, a람다식으로 변환하면calculator = lambda a,b : (a+b, a-b, a*b, a/b)코드가 훨씬 간결해짐 (클린코드) 새로운 함수 디자인>>> 함수명(인자값)을 작성하여 밑에 예상 결과값을 작성한다.def 함수명(인자값: 자료형) → 자료형: 으로 함수를 작성한다.'''로 ..
서버 가상화 기술호스트형 서버 가상화 : 하드웨어 위에 호스트 OS를 설치하고, 호스트 OS에 가상화 소프트웨어를 설치한 후, 이 가상화 소프트웨어 상에서 게스트 OS를 작동시키는 기술. (주로 개인목적)VM VirtualBox, VMware Wrokstation Player등하이퍼바이저형 서버 가상화 : 하드웨어 위에 바로 하이퍼바이저를 배치하여 가상환경을 제어하는 기술. (주로 기업목적)Vmware ESXi 등 컨테이너 유형System Container : 여러 Process를 분리 (LXC, Jail, Solaris Zone 등)APP Container : main 서비스는 오직 하나, 가벼움 (Docker 등) 개발자의 Docker애플리케이션의 실행모듈, 미들웨어나 라이브러리, 인프라 환경설정 등..
프로세스/Jobs 관리프로세스 : 메모리에서 실행 중인 프로그램Daemon : 서비스 프로세스로 주로 시스템 부팅시 자동으로 실행하여 메모리에 상주하는 프로세스 Jobterminal에서 실행시킨 프로세스Job 작업유형ForeGround job - 계속 단말기 창 차지BackGround job - 단말기 창 차지하지않고 명령 수행Suspend job - 전면작업엔 Ctrl+z / 백그라운드작업엔 stop 명령 수행JoB 제어xclock -update 1-bg red &jobs : 백그라운드에서 현재 실행 중이거나 중지된 모든 작업을 나열fg %n : 현재 작업이나 지정한 작업을 백그라운드에서 실행 (n은 작업ID)Control-Z : 현재 작업이나 지정한 작업을 전면으로 가져오기bg %n : 전면 작업을 ..