안녕하세요 남편입니다.

 

요즘 저는 django에 대해 공부하고 있습니다. django는 '장고'라고도 하며, 웹 프레임워크라고 합니다.

 

그런데 코딩 초보인 저는 '웹 프레임워크'가 무엇인지 궁금해지기 시작했습니다.

 

'웹 프레임워크는 동적인 웹 페이지나 웹 애플리케이션, 웹 서비스 개발 보조용으로 만들어지는 애플리케이션 프레임워크의 일종이다.' - 위키백과

 

자....

 

문과인 저로서는 동적이 뭔지 정적이 뭔지 부터가 어려웠습니다.

 

그래서 우연히 이 둘의 차이를 잘 설명해놓은 글을 찾았는데 요약하자면 이렇습니다.

'정적인' 웹페이지는 클라이언트가 특정 html을 요청하면, 이미 만들어져 있는 페이지가 나타나는 것입니다. 즉, 클라이언트가 어떤 요청을 넣더라도, 정해진 결과값을 돌려받는 셈입니다.

 

반면 '동적인' 웹페이지는 클라이언트의 요청에 따라 페이지에 나타나는 결과값이 달라지는 것을 뜻합니다. 즉, 클라이언트(이용자)의 요청에 따라서 결과값이 달라지면 동적, 요청과 무관하면 정적이라는 뜻이 됩니다.

 

그렇다면, 요청값에 따라 결과값이 달라지는 페이지를 만들기 위해 프레임워크가 필요하다는 뜻이되고, 그것이 django라는 뜻이 됩니다.

 

저는 django의 기반이되는 '파이썬'조차 아직 초급단계입니다. 이제서야 겨우 몇 개의 메소드와 함수를 배우고 있습니다. 하지만 django를 통해서 페이지를 연습하고, 제가 짜놓은 코드들이 실현되는 모습을 보는 일은 정말 설레는 일입니다.

 

저는 유튜브 '김왼손의 미운코딩새끼'를 통해 파이썬 기초 강좌를 다졌고, 지금은 '인프런'의 django 입문 강의를 보며 공부하고 있습니다. 퇴근하고 곧장 컴퓨터를 켜서 공부하는 일은 만만하지는 않은 일이지만 정말 보람찬 일이라고 생각합니다.

 

'인프런' 인강 사이트

 

django를 구글에 검색해보았습니다.

django를 구글에 검색하면, django를 설치할 수 있는 사이트가 나옵니다.

 

장고 설치 과정을 설명해줍니다.

해당 사이트에 들어가면 django를 설치하는 과정을 보여줍니다. 우선 장고는 파이썬 기반 웹 프레임워크이기 때문에 파이썬이 설치되어 있어야 합니다. 그리고 'PyCharm'을 사용해서 django를 구현합니다.

 

사실 여기서 'PyCharm'에 대해 이해가 조금 부족한 편이라고 생각합니다. '파이썬'이 프로그래밍 언어이고, '장고'가 웹 프레임워크라고 한다면, '파이참'은 무슨 역할을 하는 것일까요? 아직 학습이 부족한 탓에 완전히 이해하지는 못했지만, '툴(Tool)'이라고만 생각하고 있습니다. 언어를 통해 어떤 작업을 하기 위해 사용하는 '도구'라는 것입니다. '도구'는 '파이참' 말고, 'Visual Studio Code'라는 툴도 있습니다. 저는 유튜브를 통해 처음 배울 때는 visual studio code를 깔았으나, '인프런' 강의에서 파이참을 이용하기에 파이참을 다시 깔았습니다.

 

파이참을 구동시킨 화면입니다.

아, 그런데 장고를 구현하기 위해서는 '가상환경'이라는 것을 먼저 구성해야 합니다. 이 가상환경이라는 것은 일종의 개발환경입니다. 작업을 하기 위한 작업실이라고 볼 수 있는데, 가상환경이 없으면 여러 코드를 테스트하기가 어렵습니다. 예를 들어 A라는 가상환경에서 작업을 하다가, 갑자기 가상환경 밖에서 작업을 하려고 하면 작업이 되지 않습니다. 작업실 바깥이기 때문입니다. 또한 A라는 가상환경과 B라는 가상환경을 둘 다 켜놓는다면, 작업이 실행이 되지 않습니다. 왜냐하면 한 페이지를 두고 두 개의 작업실이 작업을 하기 때문입니다.

 

다만, 위의 내용은 '제가 이해한 내용을 바탕으로 한 것'입니다. 저게 정확한 이해와 설명은 아닙니다.

 

코딩의 길은 쉽지만은 않은 것 같습니다.

+ Recent posts