22.09.22(목) Today I Learned

정형빈·2022년 9월 22일
0

TIL

목록 보기
16/71

9/22 오늘의 시간표

09:00 ~ 10:00 [특강] 장고 입문 가이드
10:00 ~ 11:00 [특강] 장고 입문 가이드
11:00 ~ 12:00 [실시간] 아침 발제
12:00 ~ 13:00 [원격] 파이썬 장고 실무 기초
13:00 ~ 14:00 점심식사
14:00 ~ 15:00 [원격] 파이썬 장고 실무 기초
15:00 ~ 16:00 [원격] 파이썬 장고 실무 기초
16:00 ~ 17:00 [원격] 파이썬 장고 실무 기초
17:00 ~ 18:00 [원격] 파이썬 장고 실무 기초
18:00 ~ 19:00 저녁식사
19:00 ~ 20:00 [원격] 파이썬 장고 실무 기초
20:00 ~ 21:00 [원격] 파이썬 장고 실무 기초

드디어 오늘부터 대망의 장고를 배우는 날이다. 처음 캠프를 시작할때부터 아니 그 이전 캠프를 신청할때부터 이야기를 들어왔던 장고이고 앞으로 내 주특기가 될 분야이다. 그래서인지 긴장도 많이 되지만 빨리 해보고싶은 마음이 더 큰 것 같다.

장고 입문 가이드 특강

- 강민철 튜터님

장고를 본격적으로 배워보기 전 튜터님이 우리의 이해를 돕기 위해 입문 가이드 특강을 열어주셨다. 프레임워크와 장고에 대해서 설명해 주셨고 장고의 구조? 원리?에 대한 부가 설명과 가상환경에 대한 설명이 매우 유익했다. 핵심 내용만 가볍게 요약하자면

Framework

  • 웹 프레임워크 또는 웹 어플리케이션 워크라고 불리며 동적인 웹 페이지나, 웹 어플리케이션, 웹 서비스 개발 보조용으로 만들어지는 어플리케이션 프레임워크의 일종
  • 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로 통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함

쉽게말해서 웹 서비스를 쉽게 만들어주는 기계라고 튜터님은 표현해주셨고 내부 구조를 들여다보기 보다는 사용법을 익히는 것을 우선시 하라고 말씀해주셨다.

Django

  • Python기반의 웹 프레임워크
    • Flask도 마찬가지로 Python을 기반으로하는 웹 프레임워크지만 Django가 좀 더 기능이 많고 사용법이 복잡하다. 실제로 웹 서비스를 만들때 대부분은 Flask보다는 Django를 많이 사용한다고 한다.
  • MVT(Model->Views->Template)의 흐름으로 구성되어있다.

Django의 핵심 요소

  • 데이터베이스 관리
    • 객체 관리
  • 인증
    • 회원 가입
    • 회원 탈퇴
    • 로그인/로그아웃
    • 회원 정보 수정
  • 요청에 대한 응답을 하기까지
    • Request 가공
    • Response 가공

가상환경

  • 가상환경 == 통
    • 가상환경이란 자신이 원하는 Python 환경을 구축하기 위해 필요한 패키지를 담아 놓는 통 혹은 바구니라고 할 수 있다.
  • 프로그램을 통해서 패키지를 설치하는 방법도 있지만 Git Bash를 통해 명령어로 직접 패키지를 인스톨하는 방법도 있다.
    • 패키지설치 = $ pip install <패키지 이름>
    • 패키지 제거 = $ pip uninstall <패키지 이름>
    • 설치된 패키지 이름 및 버전 조회 = $ pip freeze!
    • 설치된 패키지들의 목록을 requirements.txt로 내보내기 = $ pip freeze > requirements.txt
    • requirements.txt 안에 적힌 파일 설치하기 = $ pip install –r requirements.txt

장고 원격 강의 발제

늘 그래왔던 것처럼 새로운 프로그램이 시작되어 발제시간이 있었다. 그리고 이번 발제를 통해 캠프 시작부터 한달가량 이어졌던 팀편성에 변동이 있었다. 기존 팀원들도 정말 좋은 분들이었지만 아무래도 다양한 사람들과 다양한 분야에서 협업을 해보는 것이 이 캠프에 참가한 의의라고 생각해서 새로운 팀원틀과 새롭게 시작해보기로 하겠다.

용어 정리 - 클라이언트 / 서버 / API

  • 클라이언트 : '요청을 보내는 곳'. 주로 '나', '내 컴퓨터' 혹은 '크롬'을 클라이언트라고 한다.
  • 서버 : '요청을 받아서 응답 해 주는 곳' 우리가 인터넷에서 웹페이지, 로그인등의 행동을 하고 난 후에 이루어지는 많은 과정들을 처리 해 준다.
  • API : 데이터를 어떻게 주고 받자! 라고 정한 약속

웹의 동작 구조

  • 페이지를 받는 경우 : HTML, CSS, Javascript가 적절하게 섞여있는 페이지를 받는 경우이다. 우리가 흔히 접속하는 구글, 네이버 등등의 페이지를 보는 경우가 포함되어 있다.
  • 데이터만 받는 경우 : 페이지나 화면은 크게 필요 없고, '데이터' 만을 받고 싶은 경우도 있다. 데이터 베이스에서 자료를 가져오거나, 다른 사람이 만든 데이터를 가져 올 때의 경우가 포함되어있다.

이후에는 파이썬 기본문법과 오늘 아침에 특강으로 배운 웹 프레임워크와 Django vs Flask 비교가 있었기 때문에 따로 정리하지는 않겠다.

마지막으로 실제로 장고를 이용해 홈페이지를 만드는 연습을 해보았다. 생각보다 HTML작업과 많이 큰 차이가 있지는 않아서 금방 따라할 수 있었다. 다만 사용하는 원리는 아직 잘 모르기때문에 다음강의를 들으면서 잘 따라가 봐야할 것이다.

오늘 할 일을 마치며

기다리던 장고를 배우는 날이었는데 아직 초반부분이라 당연한 것일 수도 있지만 그렇게 어렵지는 않아서 금방 보고 따라할 수 있었다. 내일부터는 일일 할당량을 다 채우면 다음 것까지 선행학습을 해 보아도 괜찮을 것 같다는 생각이 들었다.

profile
스파르타 내일배움캠프 3기 수강생 정형빈

0개의 댓글