티스토리 뷰
01 | 스프링부트
- 빌드 방법
- 정적 컨텐츠, MVC와 템플릿 엔진, API
정적 컨텐츠의 경우 브라우저에서 url 을 호출하면 컨트롤러를 찾고, 여기에서 정적 컨텐츠는 컨트롤러가 없기에 정적 컨텐츠라고 서버에서 판단하여 이를 그대로 브라우저에 렌더링 한다.
MVC는 model, view, controller 이다. (장고에서는 view 가 controller 와 같은 역할을 하고, view 를 템플릿이라고 칭하기에 조금 헷갈렸다.) 브라우저에서 url을 호출하면 톰캣 내장 서버가 controller 를 찾고 이가 있으면 view resolver 를 이용하여 view 즉 html 을 찾아 렌더링 한다.
API 역시도 브라우저에서 url을 호출하면 톰캣 내장 서버가 controller 를 찾는다. 여기서 MVC와의 차이점은 API는 controller 위에 annotation으로 ResponseBody 가 있기에 이가 API 를 요청하는 것임을 서버가 인식하고 HttpMessageConverter 를 이용하여 반환한다.
02 | 알고리즘
# 모순된 경우는 없다.
m1,d1,m2,d2 = map(int,input().split())
weekdays = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
def cal_days(m,d):
weekdays = [0,31,28,31,30,31,30,31,31,30,31,30,31]
days = 0
for i in range(1,m):
days += weekdays[i]
days += d
return days
result_days = cal_days(m2,d2)-cal_days(m1,d1)
while result_days<0:
result_days+=7
print(weekdays[result_days%7])
저번 글에서 왜 while 문을 마지막에 써야하는지 이해가 안간다고 했는데, 음.. 예시를 들어 생각해보자면
2월 2일에서 2월 1일로 간다고 하면, -1 이기에 이를 절댓값으로 치환하면 1이 된다. 그렇기에 월요일인 2월 2일에 1을 더해 2월 1일은 화요일이 된다. 그러나, 사실 2월 1일은 2월 2일의 하루 전이기에 월요일이 맞다. 그렇기에 요일이 변하지 않고 양수로 만들기 위해서 7을 지속해서 더해주면 된다.
n = int(input())
locations = [0]*201
#0부터 100은 -100~-1 / 101은 0 / 102부터 201 까지는 1~100
def move(x,d,n):
if d=="L":
dir_num = -1
else:
dir_num = 1
locations[n]+=1
for i in range(x):
n += dir_num
locations[n]+=1
return n
now = 101
locations[now]+=1
for i in range(n):
x,d = input().split()
x = int(x)
now = move(x,d,now)
before=False
cnt=0
for i in range(len(locations)):
if locations[i]>=2:
if before:
cnt+=1
else:
before = True
else:
before = False
print(cnt)
어제부터 계속 붙잡고 있는 문제인데, 예제 거의 대부분을 통과하는데 몇개만 통과를 못해서 애를 먹고 있다 ...
내일까지 더 고민 해봐야겠다 ....
03 | 학교수업 - 운영 체제
프로세스
스레드
04 | 학교수업 - 데이터사이언스
pandas 기본
wine data 분석
선형회귀
t-test
'TIL - 2022' 카테고리의 다른 글
[TIL 011] 20220318 (0) | 2022.03.19 |
---|---|
[TIL 010] 스프링부트 - 회원 도메인과 레포지토리 만들기 (0) | 2022.03.19 |
[TIL 008] 20220313 (0) | 2022.03.14 |
[TIL 007] 20220308 (0) | 2022.03.09 |
[TIL 006] 20220305 (0) | 2022.03.05 |