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

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

[ Django, Python ] 튜토리얼 예제로 살펴보는 Django 분석 ① : Path() 함수

이 위의 사진의 문자열이 나타난 시점에서는

Path() 함수에서 필수 매개변수인 routeview,
그리고 선택적 매개변수인 kwargsname가 브라우저에 전달된 것 이다.


공식 Django 도큐먼트에서는 Path()함수를 위와같이 설명하고 있다.
그럼 이 4개의 인수를 살펴보자.

Path() : route 매개변수

route 매개변수는 URL 패턴을 가진 문자열이다.
Request가 처리 될 때, Django에서는 urlpatterns의 첫 번째 패턴부터 시작해
일치하는 패턴을 찾을 때 까지 요청된 매개변수 URL와 패턴을 리스트의 순서대로 비교한다.


위의 사진은 실제 패턴들을 나타낸다.

하지만 위의 패턴들은 GET 이나 POST의 매개 변수들, 혹은 도메인 이름을 
검색하지 않는다. 

예를 들어, https://www.example.com/myapp/요청(Request)된 경우
URLconf는 오직 myapp/ 부분부터 바라 본다.

따라서 https://www.example.com/myaap/?page=3와 같은 요청에도

URLconf는 동일하게 myapp/ 부분부터 신경 쓰게 된다.



Path() : view 매개변수
Django에서 url()에서 일치하는 패턴을 찾으면
HttpRequest 객체를 첫번째 매개변수로 넣고, 경로(path)를 일치한 패턴의 url값을 키워드 매개 변수(keyword arguments)로 사용하여, 지정된 View() 함수를 호출 한다.

Path() : kwargs 매개변수
Kwargsview 함수나 메소드에 추가 인수를 전달하는 역할을 한다.
하지만 이번 튜토리얼에서는 사용하지 않는다.

Path() : name 매개변수
URL에 이름을 지으면 템플릿을 포함한 어느 계층이건 간에 참조가 가능하다.
이 강력한 기능을 이용하면 단하나의 파일만 수정해도 프로젝트 내의
모든 URL패턴을 바꿀 수 있도록 도와 준다.




참고

첫 번째 장고 앱 작성하기, part 1 :

django.urls functions for use in URLconfs :

Django 2.0 url() to path() cheatsheet :

이 블로그의 인기 게시물

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

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

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