본문 바로가기

매일 TIL

(65)
[내일배움캠프 7-5일] context, 템플릿 필터, 템플릿 태그, 템플릿 상속, 커스텀 템플릿 context, 템플릿 변수 사용우선 원래 하던 방식으로 context를 사용하지 않고 만들어 봄.urls에서 hello 경로를 추가.views에서 함수형 view인 hello를 정의.hello.html 생성. 이번에는 views에서 context를 사용하고, html에서 변수를 가져와 사용하는 방식으로 해봄.context는 딕셔너리 형태로 구성.여기서 name이라는 키 값이 변수로 사용되는 것.html에서 템플릿 변수로써 name을 사용한다.형식은 {{ 변수이름 }}템플릿 필터 & 태그 사용views에서 특정 값이나 리스트를 변수에 저장하고, context에 딕셔너리 형태로 각각 name, tags, books를 저장.여기서 tags라는 리스트의 첫번째 인덱스 값인 python을 가져오기 위해 {{ t..
[내일배움캠프 7-4일] 파이썬 장고 실무 기초 초기설정1. python -m venv venv : 가상환경 생성2. source venv/Scripts/activate : 가상환경 활성화3. pip install django==4.2 : 장고 4.2버전 다운로드4. pip freeze > requirements.txt : 의존성을 텍스트로 기록해야 함requirements는 "내 프로그램은 이러한 버전들이 설치되어야 해." 라는 것을 알려주는 텍스트 파일이라고 생각하면 된다.프로젝트 생성1. django-admin startproject my_first_pjt : 프로젝트 생성1-2 gitignore 생성 : gitignore.io에서 macos, windows, django, visualstudiocode, pycharm2. cd my_first_..
[내일배움캠프 7-3일] SQL 5주차, 기술면접 피드백 SQL 5주차 과제문제 : 음식 타입별, 연령별 주문건수 pivot view 만들기 (연령은 10~59세 사이)SQL 기본구조 작성하기Pivot view 를 만들기 위해 필요한 데이터 가공하기Pivot view 문법에 맞추어 수정하기select cuisine_type,           max(if(age_range=10, cnt, 0)) "10대",           max(if(age_range=20, cnt, 0)) "20대",           max(if(age_range=30, cnt, 0)) "30대",           max(if(age_range=40, cnt, 0)) "40대",           max(if(age_range=50, cnt, 0)) "50대"from(select f...
[내일배움캠프 7-2일] SQL 4주차 4주차 과제문제 : 식당별 평균 음식 주문 금액과 주문자의 평균 연령을 기반으로 Segmentation 하기평균 음식 주문 금액 기준 : 5,000 / 10,000 / 30,000 / 30,000 초과평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상두 테이블 모두에 데이터가 있는 경우만 조회, 식당 이름 순으로 오름차순 정렬select restaurant_name,           case when avg_price 5000 then 'price_group1'                   when avg_price > 5000 and avg_price 10000 then 'price_group2'                   when avg_price > 10000 and avg_p..
[내일배움캠프 7-1일] 피보나치 수, SQL 3주차 피보나치 수https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr # 재귀# O(2^n)def solution_f(n): if n == 0: return 0 elif n == 1: return 1 else: return (solution(n-1) + solution(n-2)) % 1234567우선 재귀로 풀어봤다. 역시 시간초과.피보나치를 재귀로 구현하게 되면 O(2^n)의 시간복잡도를 가지게 됨.fi..
[내일배움캠프 6-5일] 최댓값과 최솟값, SQL 2주차 최댓값과 최솟값https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr갑자기 문제 난이도가 낮아졌다. 그렇지만 절대 하루에 코드카타 두개를 풀어선 안돼.그래서 두가지 방법으로 풀어봄. # max, min# O(n)def solution_min_max(s): s_lst = list(map(int, s.split())) answer = str(min(s_lst)) + " " + str(max(s_lst)) return answer첫번째는 max..
[내일배움캠프 6-4일] 신고 결과 받기, SQL 1주차 신고 결과 받기https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(id_list, report, k): # 중복되는 신고는 하나만 반영하기 위해 집합으로 변환 후, 다시 리스트로 변환 report = list(set(report)) # 해당 user가 누구를 신고했는지에 대한 report_dict report_dict = {user: [] for user in id_list} # 해당 user가 몇번 ..
[내일배움캠프 6-2일] 코드카타, RVC 음성합성 AI(1) 달리기 경주https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr푸는 법은 상당히 간단한 문제.callings 리스트를 돌면서 해당 이름과 앞사람 이름을 players 리스트에서 찾아 둘의 위치를 바꿔주면 된다. def solution_f(players, callings): # callings를 돌면서 for i in callings: # 지금 불린 선수의 인덱스 번호 저장 index_me = players.index..