본문 바로가기
강남혁신 데분 아카데미

Day10 네트워크 모델과 프로토콜/오라클설치(25.06.25)

by Boggi 2025. 6. 25.
반응형

1교시: 네트워크 모델과 프로토콜, TCP/IP

google 이미지

 

1. 네트워크 모델이란?

  • 원격 간 데이터 교환을 위한 시스템.
  • 구성 요소:
    • I/O 방식 (스트리밍 기술): 데이터를 읽을지 쓸지 방향 정해야 함.
    • 프로토콜: 서로 다른 시스템(이질적인 하드웨어/소프트웨어)이 통신할 수 있도록 규칙 정의.

2. 통신의 어려움과 프로토콜의 필요성

  • 두 시스템은 하드웨어, OS, 프로그램이 서로 다름(이질적) → 이해 부족 → 직접 통신 어려움.
  • 이를 해결하기 위해 표준화된 규칙(프로토콜) 필요.
  • 이 규칙은 **7계층 관점(OSI 7 Layer)**에서 정리되어 있음.

 3. TCP/IP 모델 (4계층) – 실제 사용하는 모델

  • 하드웨어부터 소프트웨어까지 정해진 통신 규약
  • TCP/IP 규약을 운영체제(OS)가 탑재하고 있음.
  • 윈도우는 TCP/IP 모듈을 기본 장착 → 통신 가능

 4. 데이터 전송 방식

  • 단순히 데이터를 보내는 게 아니라:
    • 헤더(Header): 송신자 IP, 수신자 IP, 체크섬, 포트 등 메타정보 포함
    • 바디(Body): 실제 내용
  • 예: HTTP 프로토콜은 TCP 위에서 작동하며, 데이터를 헤더/바디로 나눠 보냄.

google 이미지

 5. 계층 구조 예시

  • 사용자 → 소프트웨어(HTTP) → OS(TCP/IP) → 하드웨어 → 네트워크 전송
  • 소프트웨어끼리 통신하는 것처럼 보여도 실제로는 하드웨어 수준까지 내려갔다 다시 올라옴

 6. 데이터베이스 통신

  • 클라이언트-서버 모델 사용
  • 1:N 통신 구조 (하나의 DB서버에 여러 클라이언트 연결)
  • 이때도 통신을 위해 프로토콜 필요 (예: DB는 SQL over TCP 등)

7. 정리

  • 프로토콜은 이질적인 시스템 간 통신을 위해 표준화된 약속
  • 네트워크에서의 통신은 항상 계층적으로, 규약에 따라 수행됨
  • TCP/IP는 현재 가장 널리 쓰이는 네트워크 통신 규약이며, OS에 기본 내장됨

 


2교시: 웹 크롤링 - 영화 정보 수집

1. GET vs POST 요청

  • GET: 서버에 데이터 요청 → 데이터를 Header에 담아 보냄 (읽기)
  • POST: 서버에 데이터 전송 → 데이터를 Body에 담아 보냄 (쓰기)

2. 요청 시 User-Agent 설정

  • 서버가 봇 접근을 막는 경우 User-Agent를 명시해야 함
python
복사편집
headers = { "User-Agent": "Mozilla/5.0" } response = requests.get(url, headers=headers)

3. 응답 처리

  • .content: 바이트(raw) 형태
  • .text: 문자열(자동 디코딩)
  • .headers.get('Content-Type'): 인코딩 확인

4. BeautifulSoup

  • HTML 문서를 계층적으로 구문 분석하는 라이브러리
  • html.parser 사용
  • CSS 선택자로 원하는 요소를 추출 (.select(), .select_one())

3교시: 데이터베이스 기초 및 Oracle 설치

1. 데이터베이스 통신

  • DB도 쌍방향 프로토콜 기반
  • 클라이언트 프로그램(SQL Developer)을 통해 접속

2. 설치 구성요소

  • Oracle XE (서버): 포트 1521 사용 (TCP/IP)
  • SQL Developer (클라이언트): 설치 없이 압축만 풀면 됨
  • 서버는 윈도우 서비스로 실행됨 (listener, XE 확인)

3. 오라클 구조

  • 관계형 데이터베이스 시스템(RDBMS)
  • 데이터 → 행(Tuple) + 열(Column)
  • Relation(테이블), Relation Set = Database
  • 중복 허용 안 함

4. 용어 정리

용어의미
Relation 테이블
Tuple 행(Row)
Attribute 열(Column)
Degree 열의 개수
Cardinality 행의 개수

5. 유저 생성 

--DROP USER madang CASCADE;

CREATE USER madang IDENTIFIED BY madang
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
PROFILE DEFAULT;

GRANT CONNECT, RESOURCE TO madang;
GRANT CREATE VIEW, CREATE SYNONYM TO madang;

ALTER USER madang ACCOUNT UNLOCK;

유저를 생성했더라도 CONNECT 권한 없으면 접속 안 됨