<오늘 한 일>
- 파이썬 장고 기초 강의 1주차 및 숙제
- 자료구조/알고리즘 강의 1주차
- 1-4강까지 수강함!
- 예제: 최댓값 구하기
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
answer = array[0] # 배열의 첫 번째 값인 3을 answer에 넣음
for i in array: # 배열의 값들을 하나씩 불러옴
if i > answer: # i는 배열의 0번째, 1번째, 2번째, ... 값들이 들어옴
answer = i # 두 값을 비교해서 큰 값이 answer에 업데이트 됨
return answer # for문이 다 돌면 answer에는 배열의 가장 큰 값이 저장돼 있음
result = find_max_num(input)
print(result)
# 출력화면
# 6
- 저번 주 알고리즘 실시간 특강 때 풀었던 문제라 쉽게 풀 수 있었다 ㅎㅎ 본의 아니게 복습했네
<오늘 새롭게 배운 것>
- 웹의 동작 순서 및 개념
- 용어 정리
- 클라이언트: 요청을 보내는 곳
- 서버: 요청을 받아서 응답해 주는 곳
- API: 데이터를 주고 받는 방식을 정한 것
- 웹의 동작 구조
- 페이지를 받는 경우: HTML, CSS, Javascript가 적절하게 섞여있는 페이지를 받는 경우. 구글, 네이버 같은 페이지를 보는 경우라고 보면 됨
- 데이터만 받는 경우: 페이지나 화면은 크게 필요없고, '데이터'만을 받고 싶은 경우. 데이터베이스에서 자료를 가져오거나 다른 사람이 만든 데이터를 가져올 때 사용함
- Python의 Web Framework
- 프레임워크는 개발을 도와주는 하나의 틀이라고 보면 됨
- 최소한의 기능만 제공하는 형태와 이미 많은 기능들을 제공하고 있는 형태가 있음
- 전자는 flask, pyramid 같은 프레임워크고, 후자는 django 같은 프레임워크임
- Django 알아보기
- MVT 패턴
- M (Model): 데이터베이스의 모델(ORM), 저장되고 사용되는 데이터의 형태
- T (Template): 사용자한테 보여지는 부분, 화면
- V (View): 실질적으로 프로그램이 동작하는 부분, url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
- ORM이란?
- Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와줌
- 예제:
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
<느낀 점>
- 오늘 뭔가 이미지 때문인가 TIL이 길어서 뭐 많이 한 것처럼 보인다
- 근데 오늘 오전에는 노트북 드라이버 업데이트 때문에 시간 보냈고 업데이트 하고 나니까 자기맘대로 비행기모드가 켜졌다 꺼졌다 해서 그거 해결하느라 또 시간을 보냈다
- 오늘 사실 알고리즘 1-5강까지 들었는데 최빈값 찾기 문제가 너무 복잡해서 재수강 해야 할 것 같아서 TIL에 안 썼다...프로그래머스에서 최빈값 찾기 풀었었는데 그때 힌트 보고 풀어서 그런가 지금 다시 떠올리려니 도저히 생각이 안 났다 그래서 전에 썼던 것도 보고 강의도 들었는데 강의 풀이가 넘 복잡...ㅠ 내일 맑은 정신으로 다시 한 번 봐야 할 것 같다
<내일 목표>
- 페어 프로그래밍 잘하기 (9:00 ~ 12:00 팀원들과 페어 프로그래밍 스케줄 있음)
- 장고 기초 강의 2주차 다 듣기
- 알고리즘 1주차 다 듣기