파이썬이라는 언어를 공부하는 이유는 명확합니다. 배운 기술을 이용해 특정 프로젝트를 완성하는데 사용하려는 것이죠.
그렇다면 파이썬을 가지고 활용할 수 있는 분야에 대해서도 알아 둘 필요가 있습니다. 누군가는 데이터에 특화되어 있다고 언급하기도 합니다.
꼭 하나의 분야에만 국한하여 생각할 필요가 있을까요. 개인적으로 그렇지는 않다고 생각합니다.
물론, 상황에 더 적합한 언어는 존재합니다. 파이썬의 장고(Django)라는 프레임워크를 이용하면 파이썬 기반의 홈페이지를 만들 수 있습니다.
그 밖에도 다양한 프레임워크가 존재하기 때문에 우리가 상상하는 많은 것들에 도전할 수 있습니다. 세상에는 많은 능력자가 존재하기 때문이죠.
다만, 이제 막 시작하는 단계에서 ‘프로젝트’라는 단어는 부담스럽게 느껴질 수 있습니다. 하나의 목적을 가지고 일을 진행하는 것, 다시 말해 ‘학습 과제’라 할 수 있을 뿐입니다.
조금은 가볍게 접근하면 보다 유연하고 창의적인 사고가 가능할 것입니다. 이렇게 질문해 볼까요.
“어떤것을 만들고 싶나요.”
✔파이썬 프레임워크(Python Framework)
파이썬을 처음 배우게 되면 import라는 것을 알게됩니다. 필요한 함수, 클래스 등을 불러와 현재 스크립트에 적용하는 방법입니다.
만약, import를 사용하지 않는다면 모든 알고리즘을 직접 제작해야만 합니다. 이 상황은 너무나 가혹하고 힘든 상황이 될 수 있습니다. 물론, 원하는 기능이 없다면 직접 만들어야 합니다. 이때는 구글링이 도움이 되겠죠.
이렇게 가볍게 불러오게 되는 것을 라이브러리(Library) 또는 모듈(Module)이라고 합니다. 두 개념에는 차이가 있지만 일반적으로 비슷하게 사용하곤 합니다.
그렇다면 프레임워크(Framework)의 의미는 무엇일까요. 파이썬에서 재사용 가능한 코드들을 불러오는 import를 이용해 함수와 클래스를 현재 스크립트에 적용할 수 있습니다.
단순히 필요한 부분만을 가져와 사용하게 되는 것으로 도움을 받는 느낌입니다. 도움을 통해 원하는 모습으로 만들어가야 합니다. 블럭쌓기의 네모모양 블럭, 동그라미모양 블럭과 비슷합니다.
블럭을 쌓아 성을 만들든, 비행기를 만들든 제작자의 능력에 따라 달라질 수 있습니다.
반면, 프레임워크(Framework)는 하나의 목적으로 다가갈 수 있는 모든 것을 가지고 있는 모습입니다. 예를 들어, 성을 만들 수 있는 블럭 세트와 같다고 할 수 있습니다.
설명서를 통해 알려주는 방식으로 블럭을 조립하다보면 어느새 하나의 성이 완성될 수 있습니다. 파이썬의 프레임워크는 그런 역할을 수행하는 개념이라 생각할 수 있습니다.
파이썬 웹프레임워크에서 주로 사용되는 Django를 이용해 기본적인 Web의 뼈대를 형성할 수 있습니다. 제작자는 import를 이용해 원하는 기능을 구현하면 됩니다.
그 후, 원하는 기능들이 잘 작동하는 살펴보면 작업이 끝나게 됩니다. 오류가 있다면 수정이 진행될 것이며, 괜찮다면 관련 서비스를 사람들에게 배포하게 될 것입니다.
– 모듈(Module), 라이브러리(Library), 프레임워크(Framework)라는 개념이 프로젝트에 도전하는 초보에게는 중요한 개념일 수 밖에 없습니다.
✔파이썬 개인프로젝트에 대한 도전, 상상력만 있으면 가능합니다.
처음 파이썬을 공부하게 된 이유는 원하는 기능이 있었기 때문입니다. 해당 기능을 구현한 프로그램은 시중에 없었기에 개인적으로 도전하고 싶었습니다.
기본적인 개념서를 아무리 살펴봐도 해당 기능을 구현할 수 있는 방법은 직접 모든 코드를 진행하는 것이었습니다. 주먹구구식으로 도전했기에 많은 시간을 헤맬 수 밖에 없었습니다.
조금씩 경험이 쌓이고 살펴보니 라이브러리, 프레임워크라는 것이 보이기 시작했습니다. 그동안 했던 노력이 바보스럽게만 느껴지는 순간이었습니다.
그저 보다 구체적으로 원하는 기능과 목표에 집중하는 것이 더 큰 도움이 될 것이라는 생각을 했습니다.
여러분이 무엇을 원하는 다가살 수 있다는 것입니다. 저와 같이 무작정 만들려고 하지 마시고 정보를 찾아보면 됩니다. 전세계의 누군가는 비슷한 생각과 문제를 고민할 수 있기 때문입니다.
모듈, 라이브러리, 프레임워크는 방대한 종류를 가지고 있기 때문에 구글링을 통해 우선 찾아보는 것이 도움이 될 수 있습니다. 정 못찾겠다면 커뮤니티에 자문을 구할 수도 있겠
그렇게 상상을 실현할 수 있는 과정을 따라가다보면 실력이 쌓이는 것을 알 수 있을 것입니다.
실력이 부족하다고 느껴져서 너무 간단한 것을 시작점으로 잡을 필요는 없습니다. Ai 인공지능이 궁금하다면 머신러닝에 관련된 정보를 모아 익히면 됩니다.