네트워크 기초 

01 프로그램, 프로세스

  프로그램 (파일) 프로세스(실행 중)
특징 설치만 된 상태
(디스크에 저장된 파일)
실제로 돌아가는 상태  
(메모리에서 실행중)
예시 Chrome.exe Chrome

 

02 포트(Port)

- 한 컴퓨터에서 여러 프로세스가 동시에 네트워크 통신을 하는데, 그중 어떤 프로세스에게 전달하기 구분하는 번호 

 

 

 

프로세스와 포트 확인하기 

> 현재 실행 중인 프로세스 확인 

ps aux

 

 

03 0.0.0.0 VS 127.0.0 두 주소간의 차이 

 

 

 

 

 

 

 

 

 

ss -tulnp | grep python

 

 

 

04 소켓(Socket) : IP와 Port의  결합

 

 

 

05 포트 포워팅, 포트 매핑 

 

 

 

06 브리지 네트워크와 서비스

 

서비스 이름 = DNS 이름 

 

IP주소가 아닌 서비스 이름을 사용 

Docker 네트워크(Network) 확인하기

 

 

동기식 통신의 한계 체험

 

00 동기식 VS 비동기식 

  동기식(Synchronous Communication) 비동기식(Asynchronous Communication)
특징 요청을 보내고 응답이 올 때까지 대기하는 통신방식 ( 상대방이 반드시 필요 ) 요청을 보내고 응답을 기다리지 않고 다음 작업을 진행하는 통신 방식
실생활 예시 전화통화, 카페주문, ATM 출금 이메일 전송, 택배 발송, 식당 진돌벨
프로그래밍 예시 HTTP 요청/응답(REST API), 데이터베이스 쿼리실행, 함수 호출 후 반환간ㅂㅅ 대기 메시지 큐, 이벤트 기반 아키텍처,
async/await 프로그래밍 

 

 

01 Flask 

Flask = 내 컴퓨터를 "전화 받을 수 있는 상태"로 만들어주는 도구 

실행하면 끝인 일반 python 파일과 달리 Flask Python 파일은 실행하면 대기하고 누군가 연락하면 응답하는 방식 

 

공식문서 : Welcome to Flask — Flask Documentation (3.1.x)

환경준비

프로젝트마다 독립된 환경을 만들어 패키지 충돌을 방지합니다. 

# 1) 프로젝트 폴더 생성 및 이동
mkdir flask-tutorial
cd flask-tutorial

# 2) 가상환경 생성
python -m venv venv

# 3) 가상환경 활성화
# Mac / Linux
source venv/bin/activate

# 4) 필요한 패키지 설치
pip install flask requests

# 5) 설치 확인
pip list

sudo apt install python3.12-venv

기초적인 Flask 앱 만들기

 

ps aux , ss -tulnp 명령어로  kill 프로세스 ID  입력하여 포트종료

 

 

 

+ Recent posts