개발 아티클 스터디 5일차

윤수빈·2024년 7월 12일
0
post-custom-banner

웹 개발과 파이썬, 파이썬의 장점?

파이썬은 회사에서 일하다가 배우기 시작했다.

QA 직군으로 일을 했었는데 자동화가 점점 필요해졌고, 스크래핑 및 문서 정리에 파이썬이 자주 사용된다는 얘기를 들었기 때문이다.

당시 팀에 프로그래밍 경험이 있던 사람이 많지 않았고, 약간의 테스트를 진행한 끝에 자동화 담당을 맡게된 경험이 있다.

대충 흐름은 이렇게 진행되었다.

  1. TC(테스트케이스) 받아오기 (엑셀)
  2. TC 실행 구간 확인
  3. TC 필요한 데이터 확인
  4. 프로그램 실행 확인
  5. 프로그램에서 TC 실행 구간 진입
  6. GUI 기반 TC 수행
  7. 결과 확인 및 처리
  8. 종료 시, 결과 데이터 정리 및 엑셀로 추출
  9. 종료 알림

element 를 직접 제어했으면 더 쉽게 처리했을 것 같은데 Native Surface 로 구현되어서 GUI를 통한 자동화밖에 할 수 없었다...

진행해보면서 느꼈던 파이썬은 다음과 같았다.

  1. 비교적 빠르고 쉽게 구축이 가능
  2. 다양한 라이브러리 및 오픈소스가 있어 쓰는 재미가 있음
  3. 정리를 따로 안해도 가독성이 좋음
  4. 사용하기 어렵지 않음

이랬던 기억이 있다.

웹 개발은 보통 자바스크립트로 하는줄 알았는데 python도 쓰이는 추세라고 들었다.
무슨 이유때문인지 궁금해져서 알아보았다.


1. Python이 웹 개발에 쓰이는 영역

Python의 적응성과 뛰어난 오픈소스가 웹앱 풀스택 개발자의 새로운 문을 열었다고 생각한다.

특히, Django는 파이썬으로 구성된, 인기 많고 완벽한 기능을 갖춘 서버-사이드 웹 프레임워크이다. 또한 코더(coder)가 복잡한 세부사항에 얽매이지 않고 아주 빠르게 구축할 수 있게 해주고, 대부분의 형식(HTML, RSS 피드, JSON, XML 등)으로 컨텐츠를 전송할 수 있다.

Django는 우수한 보안과 유지보수가 편리한 웹사이트를 쉽고 빠르게 구축할 수 있다.

이 외에도 확장성, 다양한 플랫폼, 일괄된 디자인 등 다양한 강점을 가지고 있다.


2. Python으로 웹 개발하면 어떤 점이 좋은지?

  • 앱 스크립트하기 & 테스트

    • 다양한 라이브러리와 단순한 구문으로 많은 구현 범위를 가지고 있음
    • API 요청을 하고 쉽게 접근이 가능해 테스트에도 용이
  • 서버 측 스크립트

    • 구문의 가독성이 좋은만큼 컴퓨터가 실행하기도 빠른 언어
    • 다른 언어에 비해 빠른 서버 성능
  • 확장성과 적응성

    • 사전 작성된 코드가 강력한 라이브러리를 통해 확장이 빠름
    • 프로젝트 방식을 변경하고 다른 방향에서 구축을 시작해야 할 때 전환도 빠름
  • 프로토타이핑

    • 이런 유연성과 적응성이 전반적인 과정을 단축시켜 기본 목업(mockup)이 빠르게 구현되어 프로토타입으로 완성됨
  • 웹 스크래핑

    • 여러 데이터를 읽어오기 쉽고, 다량의 데이터를 처리 가능
    • 이것 또한 라이브러리로 가능
  • 언어 통합

    • 다른 언어와 쉽게 연결이 가능 (Ruby, C, Java, PHP 등 언어)
    • 이전 구조와의 연결과 구축이 가능하다는 뜻. 적응성이 뛰어남

실제로 직전 회사에서 제품을 테스트해보면서 느꼈던 생각과 비슷해서 공감이된다.

GUI 기반 테스트를 위해 로직을 실제로 구현하지 않고 라이브러리를 통해 가져왔고,
엑셀 데이터를 추출하고 가공할 때에도 라이브러리를 사용했다.

대부분의 로직은 강력한 라이브러리를 통해 비교적 쉽게 구현했던 것 같다.

또한, 테스트 결과를 웹으로 나타내보기 위해 streamlit을 통해 HTML+CSS 과도 연결하는 과정이 있었는데 그때에도 어렵지 않게 연결할 수 있었던 것 같다.

부하테스트도 locust API를 사용했고, python으로 코드를 작성했었다.

지금 다시 보니 엄청난 언어라고 생각된다.


3. 마무리

웹앱 개발을 위해 Python을 채택하는 이유를 깨닫게 되는 시간이었다.

파이썬을 통해 테스트툴을 구현해보면서 오픈소스, 라이브러리가 진짜 좋다고 느꼈었는데 이런 강점과 더불어 강력한 Django 프레임워크를 사용하면 확실히 쉽고 간편하게 웹앱 풀스택 개발이 가능할 것 같다는 생각이 들었다.

그래도 프로젝트 규모가 커지고 무거워지면 다른 방법을 쓰거나 뭐든 어려워지지 않을까 싶다.


참고자료
1. 웹 개발을 위해 Python을 배우는 것의 장점은?
2. developer.mozilla - Django 웹 프레임워크(파이썬)

profile
정의로운 사회운동가
post-custom-banner

0개의 댓글