파이썬(python)을 이용하여 다양한 개발이 진행되고 있고, 파이썬을 이용하여 할 수 있는 일과 함께 추가적으로 사용되는 우리가 사용하고 있는 플랫폼과 각 대표적인 프레임워크 또는 라이브러리를 소개해보고자 합니다.
파이썬으로 할 수 있는 일
웹 프로그래밍
게시판이나 방명록 같은 웹 프로그램이 대부분 파이썬으로 만들어지며, 주로 우리가 사용하는 대표적인 웹사이트는 YouTube, Instagram, Dropbox, LinkedIn, Netflix가 있습니다.
- Django: 웹 애플리케이션을 빠르게 개발할 수 있으며, 소셜 미디어 플랫폼인 Instagram이 사용한 프레임워크입니다.
- Flask: 가벼운 웹 애플리케이션을 구축하는 마이크로 프레임워크이며, 온라인 스트리밍 플랫폼인 Netflix가 사용한 프레임워크입니다.
인공지능과 머신러닝
데이터 과학, 머신러닝, 딥러닝 등의 분야에서 파이썬은 많이 사용됩니다. Tensor Flow, Keras, Scikit-learn 등의 라이브러리를 활용하여 AI 모델을 구축하고 학습시키는 데 사용되며, 대표적인 플랫폼은 Snapchat, Airbnb, Netflix가 있습니다.
- Tensor Flow: 딥러닝 및 머신러닝 모델을 구축하고 학습하는 데 사용되며, 스마트한 필터 및 이미지 인식을 위해 Snapchat이 사용한 라이브러리입니다.
- Keras: 딥러닝 모델을 빠르게 구축할 수 있는 고수준 신경망 API입니다. 구글, 아마존, 애플 등 쟁쟁한 기업들이 지지하고 있다고 합니다.
- Scikit-learn: 데이터 분석 및 머신러닝 알고리즘을 제공, 여행 및 숙박 서비스 플랫폼인 Airbnb가 사용한 라이브러리입니다.
수치 연산 프로그래밍
과학 및 수치 계산을 위한 라이브러리는 다양한 기업에서 널리 사용되고 있습니다. NumPy와 SciPy와 같은 라이브러리는 데이터 처리, 수학적 계산, 과학적 실험, 통계 분석 등 다양한 영역에서 사용되며, 대표적인 플랫폼은 Jupyter Notebook, Google Colab, Apache Spark, AWS (Amazon Web Services), Microsoft Azure에서 NumPy와 SciPy 모두 사용된다고 합니다.
데이터 분석
데이터 처리, 분석, 시각화 등의 작업을 위해 Numpy, Pandas, Matplotlib 라이브러리를 통해 대용량 데이터셋을 다루고 분석하는 데 적합하여 데이터 사이언스 분야에서 널리 사용되며, 대표적인 플랫폼은 Jupyter Notebook, Google Colab, Apache Spark, Kaggle 모두 사용된다고 합니다.
- NumPy: NumPy는 파이썬의 수치 계산을 위한 핵심 라이브러리로, 다차원 배열과 행렬 연산에 대한 다양한 함수와 도구를 제공합니다.
- NumPy 문서: NumPy 문서에서는 라이브러리의 설치 방법, 다차원 배열과 관련된 함수, 수학적 연산, 브로드캐스팅 등에 대한 자세한 내용과 예제를 확인할 수 있습니다.
- Pandas: Pandas는 데이터 조작과 분석을 위한 파이썬 라이브러리로, 데이터 구조 및 처리를 위한 강력한 도구들을 제공합니다.
- Pandas 문서: Pandas 문서에서는 데이터 구조, 데이터 조작, 데이터 시각화, 파일 입출력 등에 관한 설명과 예제를 확인할 수 있습니다.
- Matplotlib: Matplotlib는 파이썬의 시각화 라이브러리로, 다양한 차트, 플롯, 이미지를 생성하는 데 사용됩니다.
- Matplotlib 문서: Matplotlib 문서에서는 다양한 플롯 유형, 사용법, 예제 코드 등에 대한 자세한 설명과 정보를 확인할 수 있습니다.
데이터베이스 프로그래밍
파이썬은 SQLite, MySQL, PostgreSQL 등과 같은 다양한 데이터베이스와 연동하여 데이터베이스를 조작하고 관리하는 데에도 사용되며, Apple, Adobe, Facebook, YouTube, Uber 등에 사용됩니다.
- SQLite: SQLite는 서버가 필요 없는 경량의 오픈 소스 SQL 데이터베이스 엔진으로, 임베디드 시스템이나 모바일 앱과 같은 작은 규모의 애플리케이션에 이상적입니다. 표준 SQL 문법을 따르며, 안정적이고 고성능인 데이터베이스로 사용됩니다.
- MySQL: MySQL은 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나로, 웹 애플리케이션부터 엔터프라이즈 수준의 시스템에 이르기까지 다양한 환경에서 사용됩니다. 빠른 처리 속도와 안정성이 특징입니다.
- PostgreSQL: PostgreSQL은 강력하고 확장 가능한 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)입니다. 다양한 기능과 풍부한 문서화, 표준 SQL 지원으로 대규모 엔터프라이즈 애플리케이션 및 데이터 웨어하우징에 사용되며, 안정성과 확장성이 뛰어납니다.
시스템 유틸리티 제작
파이썬은 시스템 유틸리티나 스크립트 작성에도 적합합니다. shutil, requests 같은 프레임워크를 이용 파일 관리 및 네트워크 통신과 같은 시스템 관리 작업을 자동화하는 데 유용하게 사용됩니다. 파일 관리에서는 파일 복사, 이동, 삭제, 디렉터리 관리 등, 네트워크 통신에서는 HTTP 요청 및 응답 처리 등 다양한 작업을 간편하게 수행할 수 있습니다.
파일 관리
- shutil: shutil은 파일 및 디렉터리 작업을 위한 파이썬 표준 라이브러리로, 파일 복사, 이동, 삭제, 디렉터리 트리 복사 등 파일 시스템 관리에 유용한 함수들을 제공합니다.
네트워크 통신:
- requests: requests는 HTTP 요청을 보내고 받는 데 사용되는 인기 있는 라이브러리로, 간편한 API를 통해 웹 요청을 수행하여 데이터를 가져오거나 보낼 수 있습니다.
GUI 프로그래밍
Tkinter, PyQt 등의 라이브러리를 사용하여 파이썬으로 GUI 프로그램을 개발할 수 있습니다. 사용자 친화적인 인터페이스를 구현하는 데 유용합니다.
- Tkinter: Tkinter는 파이썬의 표준 GUI 라이브러리로, 내장되어 있는 라이브러리이기 때문에 별도의 설치가 필요하지 않습니다. 간단하고 빠르게 GUI를 구축할 수 있으며, 다양한 위젯(버튼, 레이블, 텍스트 상자 등)을 지원합니다.
- PyQt: PyQt와 PySide는 Qt 프레임워크의 파이썬 바인딩으로, 강력하고 다양한 GUI 응용 프로그램을 개발할 수 있습니다. PyQt는 상업적인 응용 프로그램 개발에도 사용될 수 있지만, GPL 라이선스를 따르기 때문에 주의가 필요합니다.
C/C++와의 결합
파이썬은 C/C++과의 통합이 가능합니다. C/C++로 개발된 프로그램을 파이썬에 포함시켜 사용하거나, 파이썬에서 C/C++ 코드를 호출할 수 있습니다.
사물인터넷 (IoT)
파이썬은 라즈베리 파이(Raspberry Pi)와 같은 임베디드 시스템을 위한 프로그래밍에도 사용됩니다. 여러 가지 재미있는 것을 만들 수 있는데 대표적으로 게임 콘솔과 스마트홈 자동화 시스템 또는 IoT 프로젝트를 구현하는 데 유용하게 활용됩니다.
이번 포스팅에서는 할수 있는 일에 대한 기초를 익히며, 해당하는 프레임워크 또는 라이브러리를 우리가 일상 속에 사용되는 플랫폼을 함께 알아보았습니다. 저도 작성하면서 이렇게 많이 사용되고 있다는 걸 처음 알았는데요 다음에도 공부한 내용과 함께 유용한 정보를 드릴 수 있도록 찾아보겠습니다. 긴 글 읽어주셔서 감사합니다.
[python] 점프 투 파이썬 비전공자도 쉽게 이해할 수 있는 프로그램 언어
'공부' 카테고리의 다른 글
[python] 파이썬 기초 문법 실습해보기 (63) | 2023.12.21 |
---|---|
[python] 홈브루(Homebrew)이용 맥(Mac)에서 파이썬 설치 방법 (71) | 2023.12.08 |
[python] 점프 투 파이썬 비전공자도 쉽게 이해할 수 있는 프로그램 언어 (67) | 2023.12.07 |
[CSTS] 프로그램 기술의 한계, 테스트의 진화 과정, 테스트 원칙, ISO 25010 품질 특성 (57) | 2023.11.17 |
[CSTS] 테스트 목적, 오류 결함 장애 (1) | 2023.10.08 |