[ 프로젝트 BEP ] 최종장 - 엔지니어로서의 마인드셋에 대해 : 우수한 엔지니어는 누구이고, 가져야할 마인드 셋에 대해

이미지
  들어가면서 이제 2025년도 얼마 남지 않은듯 하다.  조금 길어질 수도 있기 때문에  실제로 업로드 하는 것은 새해 이후가 될 가능성도 있으나  올해는 이 글로 마무리 해보려고 한다. 이제 이 최종장을 끝으로 이 프로젝트를 다소 마무리 할 수 있을 것 같다. 물론 전체적으로 글 자체가 부족한 부분이 여려 곳 보이지만,  이는 천천히 개선하기로 하고 일단 마무리를 잘 지어보려고 한다. 이 프로젝트의 목표는 어디까지나 주니어 엔지니어(넓은 범위로서)에게  도움이 될 수 있는 부분을 정리해 놓은 것 이며, 이를 전달하는 것에 주력을 했다. 정확히는 그 사이에 몇 번이나 직장은 바뀌었지만,  내가 다니고 있는 회사에서 작게는 멘터,  크게는 주니어 교육에 활용하기 위한 초안이였다. 들어가기 앞서서 먼저 개발자는 무엇인가에서 부터 시작해서,  수학은 필요한가, 그리고 학위에 대한 이야기를 나누어보았고, 그 다음으로 컴퓨터가 무엇인가에 대해서는,  가장 첫 장인 컴퓨터 개론에서 메모리 손실과 함께 설명하였다. 다음으로는 개발 방법론과 시스템 설계,  그리고 프로그래밍 언어에 대한 이야기로 간단하고 이론적인 이야기를 하였다. 눈치가 빠른 사람은 알 수 있듯이,  현실에서 가질 수 있는 몇 가지 의문으로 시작해서  컴퓨터라는 하드웨어 부터 시작해서,  프로젝트(개발 방법론), 설계, 프로그래밍 언어 순으로  일부러 점점 컴퓨터 세계로 들어가도록 구성을 해 놓았다. 여기서 한 걸음 더 나아가자면, 알고리즘이 들어갈 수는 있겠으나  어디까지나 가볍게 전달하는대에 목적이 있기도 하고,  개인적으로는 당장은 크게 중요하지 않은 부분이 라고 생각 했기 때문이다. 먼저 이 부분에 대해서 좀 더 자세히 이야기해보도록 하자. 시작 부터 모든 지식을 쌓을 수는 없다 이는 개발 영역에서만 해당되는 이야기는 아니지만,  모든 것에는...

[ Django, Python ] 튜토리얼 예제로 살펴보는 Django 분석 ① : View층에 텍스트 표시

기본적인 도큐먼트와 어플리케이션 도큐먼트


위의 그림은 polls라는 앱(Apps)을 만든 후의 사진 이다.
노란색 박스는 프로젝트를 생성할 때 적었던 이름으로, 가장 상위의 도큐먼트 파일이다.

빨간색 박스는 최상위 도큐먼트의 아래 레벨로 실제 어플리케이션을 관리할 도큐먼트 이다.
실제 여기서 파일 이름이 URL의 이름이 된다.


녹색 박스는 프로젝트 생성시, 자동으로 생성되는 루트 도큐먼트로 서버와 앱을 연결 시켜준다.

어플리케이션 도큐먼트의 View

DjangoMVT 패턴(Model View Templates)를 사용한다.
따라서 여기서 언급하는 View에서는 실제 어플리케이션의 비즈니스 로직을 처리 한다.
또한 Model과 Templates간의 다리 역할을 하기도 한다.


위의 그림은 Django에서 가장 간단한 View의 형태이다.

View를 호출 하기 위해서는 이와 연결된 URL이 필요한데, 이를 위해 URLconf를 사용할 것 이다.

루트 디렉토리에 연결하기 위한 경로(Path)를 설정 해준다.



마찬가지로 루트 디렉토리의 urls.py파일에 polls의 경로(Path)를 연결해준다.



Django
include()를 만나게 된다면 URL은 그 시점까지 일치 하는 부분을 잘라내
여기서
include()함수는 다른 URLconf들을 참조할 수 있게 해준다.
남은 문자열 부분을 includeURLconf으로 전달 된다.

따라서 include()함수를 사용한다면, polls 앱 자체에 URLconf(polls/urls.py)가 존재하는 이상
어떤 디렉토리 경로라도 혹은 다른 root 경로에 연결하더라도 앱 디렉토리에 있는 코드는
정상적으로 작동 할 것 이다.

참고로 admin을 제외하고는 앱을 추가 할 때 마다 이 include()함수를 사용해줘야 한다.



그리고 코드를 저장 후, 서버를 가동해 확인해 보면 위와 같이 polls라는 앱에서
View에 작성한 코드가 정상적으로 작동하는 것을 확인 할 수 있다.


참고:


코드:

이 블로그의 인기 게시물

[ Web ] 웹 애플리케이션 아키텍처 (Web Application Architecture)

[ Web ] 서버 사이드(Sever Side) ? 클라이언트 사이드(Client Side)? 1 [서론, 클라이언트 사이드(Client Side)]

[ Web ] 웹 애플리케이션 서버 아키텍처의 정의 및 유형 ( Define and Types of Web Application Server Architecture )