[SK shieldus Rookies 19기][Python] 파이썬이란?

부재중입니다·2024년 2월 29일

파이썬이란?

1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어
구글에서 만든 소프트웨어의 50% 이상이 파이썬으로 작성됨
인스타그램(Instagram), 넷플릭스(Netflix), 아마존(Amazon)등에서 사용
공동 작업과 유지 보수가 매우 쉽고 편리함

파이썬으로 할 수 있는 일

  • 웹 프로그래밍

    파이썬은 웹 프로그램을 만들기에 매우 적합한 도구

  • 인공지능과 머신러닝

    자연어 처리, 음성 인식, 이미지 인식과 같은 인공지능 기술 구현
    인공지능과 머신러닝 프로그램을 쉽게 할 수 있도록 scikit-learn, Tenserflow, Pytorch, Keras 등과 같은 라이브러리 제공

  • 수치 연산 프로그래밍

    C로 작성된 넘파이(Numpy) 수치 연산 모듈을 이용해 빠른 수치 연산 가능

  • 데이터 분석

    NumPy, Pandas, Matplotlib 등의 라이브러리를 활용한 데이터 처리, 통계 분석, 시각화를 손쉽게 수행
    판다스가 동작하는 이러한 데이터 분석에 유닉스 파이프를 사용하는 사례 증가

  • 데이터베이스 프로그래밍

    Sybase, Informix, Oracle, MySQL, PostgreSQL 등의 데이터베이스에 접근하기 위한 도구 제공
    자료를 변형 없이 그대로 파일에 저장하고 불러오는 파일 형식(pickle)

  • 시스템 유틸리티 제작하기

    유연성(예를 들어, 리눅스의 시스템 명령어를 사용하는 도구들 등)을 통한 시스템 유틸리티 제작

  • GUI(Graphic User Interface) 프로그래밍

    화면에 이미지를 창을 띄워 프로그램을 동작시킬 수 있는 미니 컴퓨터, 그림 도형을 추가하는 것
    GUI 프로그래밍을 위한 도구들을 갖추고 있으며, GUI 프로그램을 만들기 쉬움
    (예 - Tkinter)

  • C/C++와 결합하기

    CLf C++로 만든 프로그램을 파이썬에서, 파이썬으로 만든 프로그램을 C/C++에서 사용이 가능

  • 시험 인터페이스

    간단한 프로토타입을 제작하여 새로운 인터페이스 구현

파이썬으로 할 수 없는 일

  • 시스템과 밀접한 프로그래밍 영역

    운영체제, 엄청난 횟수의 반복과 연산이 필요한 프로그램 등
    매우 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 적합하지 않음

  • 모바일 프로그래밍

    안드로이드 네이티브 앱(android native app) 개발에는 아직 역부족
    아이폰 앱 개발은 불가능

인터프리터 언어란?

https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0

코드 실행 시 런타임에 한 줄씩 해석하여 중간 코드로 변환 후 즉시 실행
실행 파일 생성하지 않음
인터프리터 단계와 실행 단계가 분리되지 않음
실행마다 인터프리트 과정 반복되어 실행 속도가 느림

컴파일러 언어란?

https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC

컴파일 타임에 소스 코드 전체를 한 번에 기계어로 변환하여 실행
실행 파일 생성
컴파일 단계와 실행 단계가 분리
소스 코드를 한 번만 컴파일하고, 실행 시에는 컴파일된 코드를 실행하여 빠른 실행 속도를 보임

MSA (Micro-Service Architecture)

https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4

MSA (Micro-Service Architecture)는 소프트웨어를 작고 독립적인 서비스 단위로 분할하여 개발하는 아키텍처 디자인 패턴
각각의 서비스와 시스템이 분산되어 있어 대규모 시스템의 복잡성을 줄이고 유연성과 확장성을 향상시키는 데 도움이 됨
다양한 기술과 언어를 사용할 수 있음

0개의 댓글