반응형
1교시: 네트워크 모델과 프로토콜, TCP/IP
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 위에서 작동하며, 데이터를 헤더/바디로 나눠 보냄.
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 권한 없으면 접속 안 됨
'강남혁신 데분 아카데미' 카테고리의 다른 글
데분수업과제(25.07.02) chickwts분석하기 (0) | 2025.07.02 |
---|---|
Day13 R설치/통계학(평균,분산) (0) | 2025.07.01 |
Day7 모듈/정규표현식(25.06.19) (0) | 2025.06.23 |
Day02 자료구조/웹 서비스의 이해(25.06.11) (0) | 2025.06.12 |
프로그래밍 용어정리 (0) | 2025.06.11 |