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 VS. Flask, Pyramid
- 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에 안 썼다...프로그래머스에서 최빈값 찾기 풀었었는데 그때 힌트 보고 풀어서 그런가 지금 다시 떠올리려니 도저히 생각이 안 났다 그래서 전에 썼던 것도 보고 강의도 들었는데 강의 풀이가 넘 복잡...ㅠ 내일 맑은 정신으로 다시 한 번 봐야 할 것 같다