1월, 2020의 게시물 표시

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

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

[ Django, Python ] 이쯤에서 분석해 보는 Django 튜토리얼 예제 (①~④) ① : MVC패턴과 MVT패턴, Model View Template 그리고 URL 매핑

이미지
개요 1~4 정리라고 해봤자  결국 1~3 은 4 를 하기 위한 정말 튜토리얼이기 때문에 4 번만 정리하도록 하겠다 . 여기서 말하는 정리는 내용을 정리하겠다는 것이 아닌 내용 정리를 포함한 Model, View, Template의 코드  그리고  그 코드의 파일과 실제 브라우저 화면을 연결시켜 이미지화 시킬 것 이다 . 우선 Model, View, Template의 코드를 살펴보기 전에  MVT(Model View Template) 의 개념 부터 다시 한번 살펴보자 . 또한 튜토리얼에서 작성한 코드들은  아래의 링크에서 확인하길 바란다. https://github.com/Eluwing/python-django-Toy-Project/tree/master/start_django MVT(Model View Template)와 MVC(Model View Controller) 이전에 설명했었지만 다시 한번 언급하고 넘어가자 . 먼저 MCV(Model Controller View) 는  유저 인터페이스 (UI) 와  [1] 관심사 분리 (Separation of Concerns, SoC) 를  지원하는  독립된 어플리케이션 로직 으로 유명하며   현재 많이 사용되어지고 있다 . Controller 는 애플리케이션에 대한 모든 요청을 수신한 후 모델 (Model) 과 함께 작업하여  View 에 필요한 데이터를 준비 한다 . 그 후에 View 는 Controller 가 준비한 데이터를 사용하여  최종 응답 (Response) 을 생성해  사용자에게 보여준다 . MCV 에서 모델 (Model) 은 애플리케이션의 데이터 관리한다 . View 의 요청 (Request) 에 응답 (Response) 하고  Controller 의 명령에 응답하여 데이터를 갱신  한...

[ Django, Python ] 튜토리얼 예제로 살펴보는 Django 분석 ④ : 제너릭 뷰(Generic View)

이미지
・ 제너릭 뷰 사용하기 : 간결한 코드가 더 좋다 이전에 프로그래밍 했던 detail() 이라는 View 와 results() 라는 View 는 매우 짧으며 위에서 언급 했듯이 중복 된다 . 이러한 View 는 URL 에서 전달 된 매개 변수에 따라 데이터베이스에서 데이터를 가져오는 것과  템플릿을 로드하고 렌더링 된 템플릿을 리턴하는  기본 웹 개발의 일반적인 경우를 나타낸다 . Django 는 이런 매우 일반적인 경우를 위해 “ 제너릭 뷰 (Generic View)” 시스템이라는 숏컷 (Shut Cuts) 을 제공한다 . 이 제너릭 뷰 (Generic View) 는 일반적인 패턴을 추상화하여 앱을 작성하기 위해 Python 코드를 작성하지 않아도 된다 . 이전에 프로그래밍 했던 polls  앱을  제너릭 뷰 시스템을 활용해서 코드를 바꿔보자 . 변환을 위해서는 몇 가지 단계를 수행해야 한다 . ①     URLconf 를 변환 ②     불필요한 오래된 View 중 일부를 삭제 ③     Django 의 제너릭 뷰를 기반으로 새로운 뷰를 도입 그리고 공식 도큐먼트에서는 왜 처음부터 제너릭 뷰에 대해 설명하지 않았느냐라는  질문을 할 수 있는 독자들을 위해  아래와 왜 코드 셔플인가 ? 이름의 코멘트를 달아놨다 . 일반적으로 Django 앱을 프로그래밍 할 때 , (when writing a Django app) 제너릭 뷰가 문제에 적합한지 여부를 평가할 것이다 . (generic views are a good fit for your problem) 코드를 중간에서 다시 리팩토링하지 않고 처음부터 사용하게 될 것이다 . (you’ll use them from the beginning, r...