본문 바로가기

분류 전체보기189

[파이썬(PYTHON) : 중급] 동시성과 병렬성 8. 동시성과 병렬성 동시성(concurrency)과 병렬성(parallelism)은 컴퓨팅에서 매우 중요한 개념입니다. 이 두 용어는 프로그램이 여러 작업을 어떻게 처리하냐에 따라 다릅니다. 동시성은 여러 작업이 동시에 시작되어 수행되는 것을 의미하며, 병렬성은 여러 작업이 동시에 실행되는 것을 의미합니다. 8.1 멀티스레딩 멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드가 동시에 작동하는 방식입니다. 이는 여러 작업을 동시에 처리하거나, 또는 사용자와의 상호작용을 유지하면서 백그라운드 작업을 수행하는 등의 목적으로 사용됩니다. 8.1.1 스레드 생성 및 관리 Python에서는 'threading' 모듈을 사용하여 스레드를 생성하고 관리할 수 있습니다. 8.1.1.1 threading 모듈을 이용.. 2023. 5. 11.
[파이썬(PYTHON) : 중급] 네트워크 프로그래밍 (계속) 7. 네트워크 프로그래밍 (계속) 7.5. 멀티스레딩과 소켓 프로그래밍 7.5.1. 멀티스레딩 개념 이해 7.5.1.1. 스레드와 프로세스의 차이 프로세스는 운영체제로부터 자원을 할당받아 독립적으로 실행되는 작업의 단위를 말합니다. 반면, 스레드는 프로세스 내에서 실행되는 독립적인 실행 흐름입니다. 즉, 같은 프로세스 내의 스레드들은 코드, 데이터 섹션 등을 공유하며 실행됩니다. 7.5.1.2. Python에서의 멀티스레딩 활용 Python에서는 threading 모듈을 이용해 멀티스레딩을 구현할 수 있습니다. 다음은 간단한 멀티스레딩 예제입니다: import threading def print_numbers(): for i in range(10): print(i) def print_letters(): .. 2023. 5. 11.
[파이썬(PYTHON) : 중급] 네트워크 프로그래밍 7. 네트워크 프로그래밍 네트워크 프로그래밍에서는 소켓 프로그래밍을 통해 네트워크 통신을 구현하는 방법을 배웁니다. HTTP 요청 및 응답 처리를 다루며, RESTful API 개념 및 활용 방법에 대해 알아봅니다. 웹 스크레이핑 기법을 통해 웹사이트에서 데이터를 추출하는 방법을 학습하게 됩니다. 7.1. 소켓 프로그래밍 7.1.1. 소켓 프로그래밍 이해하기 7.1.1.1. 소켓의 개념 및 이해 소켓(socket)은 컴퓨터 네트워크에서 데이터를 주고받는 두 컴퓨터 간의 통신을 가능하게 하는 연결점입니다. 기본적으로 하나의 컴퓨터(서버)가 특정 포트에 소켓을 열어두면, 다른 컴퓨터(클라이언트)가 그 소켓에 연결하여 데이터를 주고받을 수 있습니다. 7.1.1.2. 클라이언트와 서버 소켓의 차이점 서버 소켓은.. 2023. 5. 11.
[파이썬(PYTHON) : 중급] 데이터 처리 및 분석 6. 데이터 처리 및 분석 데이터 처리 및 분석에서는 JSON과 CSV 파일 처리 방법을 배우고, pandas와 NumPy 라이브러리를 활용하여 데이터를 분석하는 방법을 익힙니다. 이를 통해 실제 데이터를 다루는 프로젝트에 적용할 수 있는 기술을 습득하게 됩니다. 6.1. JSON 파일 처리 JSON(JavaScript Object Notation)은 데이터를 교환하는 데 사용되는 경량의 데이터 포맷입니다. 이 포맷은 사람이 읽고 쓰기 쉬우며, 기계가 파싱하고 생성하기에도 적합합니다. 6.1.1. JSON 파일 읽기와 쓰기 파이썬에서는 'json' 이라는 내장 모듈을 사용하여 JSON 파일을 읽고 쓸 수 있습니다. 6.1.1.1. 파이썬의 json 모듈 이해하기 파이썬의 'json' 모듈은 JSON 데이.. 2023. 5. 11.
[파이썬(PYTHON) : 중급] 파일과 디렉토리 처리 5. 파일과 디렉토리 처리 파일과 디렉토리 처리에서는 os, shutil, glob, pathlib 모듈을 활용하여 파일 및 디렉토리 조작을 수행하는 방법을 학습합니다. 파일 및 폴더 생성, 복사, 이동, 삭제 등 다양한 작업을 효율적으로 수행할 수 있는 기술을 익히게 됩니다. 5.1. os 모듈 os 모듈은 운영 체제와 상호 작용할 수 있는 수많은 함수를 제공합니다. 이 모듈을 사용하면 파일이나 디렉토리를 생성, 제거하거나, 파일의 정보를 조회하거나, 현재 작업 디렉토리를 변경하는 등의 작업을 수행할 수 있습니다. 5.1.1. 파일 및 디렉토리 경로 처리 파일과 디렉토리의 경로를 처리하는 것은 파일 시스템 작업의 기본적인 부분입니다. 5.1.1.1. 절대 경로와 상대 경로 파일이나 디렉토리의 위치를 지.. 2023. 5. 10.
[파이썬(PYTHON) : 중급] 모듈과 패키지 고급 활용 4. 모듈과 패키지 고급 활용 모듈과 패키지 고급 활용에서는 파이썬 라이브러리를 설치하고 관리하는 방법을 배우며, 유용한 라이브러리를 활용하여 코드를 효율적으로 작성하는 방법을 익힙니다. 또한 자신만의 모듈을 작성하여 배포하는 방법도 알아봅니다. 4.1 모듈 고급 활용 4.1.1 모듈 변수와 모듈 함수 모듈은 파이썬 코드를 논리적으로 구조화하는 데 사용되며, 변수와 함수를 포함할 수 있습니다. 4.1.1.1 모듈 변수의 선언과 활용 모듈 변수는 모듈 내부에서 선언되며, 해당 모듈 내부의 모든 함수에서 접근이 가능합니다. # mymodule.py module_variable = "I am a module variable" def print_variable(): print(module_variable) 위의.. 2023. 5. 9.