[AIVLE SCHOOL] 데이터 수집 (1) - WEB

춤추는 머쉬룸·2024년 10월 2일

AIVLE SCHOOL 6기

목록 보기
33/80
post-thumbnail

10/2 1, 2, 3세션

박두진 강사님

A. WEB

Client : 데이터 요청
Server : 요청에 따라 데이터 전송

  • 데이터의 형식은 html, json, pdf, png 등이 될 수 있음

A-1. URL

클라이언트가 브라우저를 통해 서버로 데이터를 요청하는 방법

  • http : 프로토콜

TIP! 스니핑

  • http 를 쓰는 시절에는 누군가가 내 핫스팟을 쓰면 나를 통해서 데이터르 주고받는 것이므로 무슨 데이터가 주고 받아지는 지 알 수 있다(wireshark 프로그램 사용)
  • https 는 암호화되어서 끝에서 복호화되므로 스니핑이 불가능하다
  • 도메인 : news.naver.com. DNS 서버가 브라우저에 도메인에 맞는 IP 주소 전달
  • 포트 : 어플리케이션 (프로그램) 구분 (80, 443 등은 생략 가능). 어플리케이션 서버는 인터넷 망을 사용할 수 있는 프로그램
  • 패스 (Path) : 파일 시스템 상에서 원하는 파일의 위치
  • 파일 : 어떤 파일인지 지정 (xxx.html)
  • 쿼리 : ? 뒤부터. 클라이언트에서 필요한 데이터를 전달하는 방법. & 로 연결.

A-2. HTTP Request Method

GET

  • url 에 query 포함
  • query 노출, 전송 가능 데이터가 적음

POST

  • body 에 query 포함
  • query 비노출, 진송 가능 데이터 많음
  • 로그인에 보통 post 방식 사용

A-3. HTTP Status Code

  • 클라이언트와 서버가 데이터를 주고 받은 결과 정보
  • response 에 들어감
  • 2XX : Success
  • 3XX : Redirect
  • 4XX : Request Error
  • 5XX : Server Error

A-4. Internet

  • 컴퓨터로 연결하여 TCP/IP 프로토콜을 이용하여 정보를 주고 받는 컴퓨터 네트워크
  • 해저 케이블을 사용하여 전세계 컴퓨터에 접속
  • 무선 인터넷은 매체(media) 를 주파수 사용
  • URL -> 공유기 -> 사설망(KT) -> 백본망(한전, 부산 해저케이블) -> 서버
  • 브라우저의 저장소(SSD)에 저장하는 문자열 데이터
  • 로그인 정보, 장바구니, 팝업 다시보지 않기 등

Session

  • 브라우저와 서버의 연결 정보
  • 자동 로그인 등

Cache

  • 클라이언트, 서버의 RAM(메모리)에 저장하는 데이터
  • 입출력이 빠르다
  • 새로고침을 계속 하면 네트워크 트래픽이 발생(서버가 비용 지불). 그래서 메모리에 저장해놓고 네트워크를 사용하지 않음

B. Web Language & Framework

Client

  • Html
  • CSS, Bootstrap, Semantic UI
  • Javascript, react, vue, angular, jQuery

Server

  • Python - Django, Flask, FastAPI
  • Java - Spring
  • Ruby - Rails
  • Javascript - Express

C. Python Class

  • 컴퓨터 CPU, RAM, SSD 활용하기 위한 문법
    1. 변수 선언 : RAM 사용 문법 : 식별자 (PEP8 문서)
    2. 데이터 타입 : RAM 을 효율적으로 사용할 수 있게 하는 문법 : int, float, bool, str, list, tuple, dict, set
    3. 연산자 : CPU 사용 문법 : 산술, 비교, 논리 등
    4. 조건문 : 조건에 따라 코드를 실행하는 문법 : if, elif, else
    5. 반복문 : 특정 코드를 반복 실행 : while, for, break, continue, range
    6. 함수 : 반복 코드를 묶어서 작성 및 실행 : 함수 선언(코드 작성) > 함수 호출(코드 실행) : def, return, arg¶m

TIP! import this
파이썬 철학 출력 (PEP20 문서)

C-1. Class

  • 비슷한 기능을 하는 변수, 함수를 묶어서 코드 작성 실행
  • 객체지향 개발방법론 구현
  • class, self, __init__ (special method)

C-2. 객체지향


D. Python Module

  • 클래스보다도 큰 단위
  • 변수, 함수, 클래스를 파일(.py)로 묶어서 코드를 작성 및 실행

E. Python Package

  • 여러개의 모듈을 디렉토리로 구분하여 코드를 작성 및 실행
  • 대부분의 프로그램은 패키지 단위로 개발
  • 프로그램의 버전 정보 전달
  • import, from, as

F. Python Input, Output

  • RAM(Object, 변수) 를 SSD 등의 저장장치에 파일 형태로 저장
  • pickle 패키지 사용

0개의 댓글