오늘의 학습 계획
_정규시간 전까지 코테 스프린트 프로그래머스 day1~da2
_내 분량 배분 받고 처리계획 세우기 : html 만들기 > api 교통정리 > api 구현 ( view > data > urls )
_처리 계획 들고 튜터님 조언 받기
_최대한 처리하기 (약간 빨리 하고, 집중해서 하고 느낌 유지)
기록하고 싶은 학습내용
_코테day1~day2
def solution(num1, num2):
if num1 == num2:
return 1
elif num1 != num2:
return -1
if문에서 else를 굳이 안 써도 되는구나... 엘스가 선택이라는 걸 이제 알았다 힝
그리고 이렇게 if만 2개 써도 된다.
def solution(num1, num2):
if num1 == num2:
return 1
if num1 != num2:
return -1
_장고 템플릿 문법 이용
django에서 CSS적용하는 방법
1. 스태틱 폴더 만들기 (template폴더와 비등한 위치에. 스태틱 폴더의 이름은 static)
2. CSS 적용하고자 하는 html 최상단에 {% load static %}
3. head 태그 안에 <link rel="stylesheet" href="{% static '이름.css'%}"> 넣어주기
4. static 폴더 안에 '이름.css' 파일 만들기
적용이 안된다면 서버 재실행.
오늘 막힌 코딩테스트
문제
_첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
시도
_ 이렇게 해보고 있다.
def solution(numer1, denom1, numer2, denom2):
mother = denom1 * denom2
son = numer1*denom2+numer2*denom1
answer = [son, mother]
return answer
그런데, 이렇게 만들어서 돌리면 '기약 분수로 나타냈을 때' 조건을 놓치게 된다.
어떻게 하면 son을 기약 분수로 바꿔줄 수 있지?
기약분수 = 분자와 분모의 공약수가 1 뿐이어서 더이상 약분할 수 없는 수. 흠...
해결
_
질문과 해결
Q. 헐!! 포크 해서 가져온 파일이 실행이 안된다 어떡하지?! ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
> 패키지를 설치하지 않아서 그렇다. 보통은 프로젝트를 공유할 때 requirements.txt 라는 메모장을 만들어 이 프로젝트에 쓰인 패키지들의 이름과 버전 목록을 함께 공유한다. 리콰이어먼츠 파일이 있는 것을 확인했다면,
pip install -r requirements.txt 해서 해당 파일에 메모된 모든 패키지를 설치한다.
Q.실수로 venv를 설치 안하고 requirements.txt를 설치했다 ㄷㄷ 이럴 때 단점은?
> 그냥 venv 없이 패키지를 설치하면 C드라이브에 글로벌 공간이 생성되고, 거기에 패키지가 설치된다. 그럴 경우 단점은
1. 내가 이 프로젝트를 만들기 위해 어떤 패키지를 썼는지 까먹게 되어서 타인과 공유할 때 뒤죽박죽이 된다.
2. 패키지에는 의존성 패키지라는 것이 있다. 이를테면 django를 깔면 장고만 깔리는 것이 아니라 거기에 따라오는 다른 패키지들이 있는데, 그 친구들이 django 3.0 버전에서만 통하거나 4.0 버전에서만 통하는 수가 있다. 그럴 경우 venv 없이 돌아다니면 requirements에 담겨 있는 기준을 삼아 세트로 움직일 수 없어 뒤죽박죽 엉망진창이 되고 만다. 따라서 프로젝트를 공유할 때 requirements.txt를 받았으면 무조건 새로 venv를 설치해 requirements.txt 기준 패키지를 깔아야 한다.
>그럼 실수로 venv 없이 설치한 패키지들을 삭제하려면 어떻게 해야 하나?
터미널에
pip freeze를 하면 현재 설치된 패키지 목록이 나온다.
pip freeze > (프리즈된 패키지들을 담을 임의의 메모장 이름) #이러면 임의의 메모장 안에 패키지들 이름이 모두 담김
pip uninstall -r (프리즈된 패키지들을 담을 임의의 메모장이름) -y #이러면 데스노트에 이름이 적힌 패키지들이 모두 삭제.
'About coding > Today I learned' 카테고리의 다른 글
2023년 04월 13일 TIL [#Django 입문_팀프로젝트_day4] (0) | 2023.04.14 |
---|---|
2023년 04월 12일 TIL [#Django 입문_팀프로젝트_day3] (0) | 2023.04.13 |
2023년 04월 10일 TIL [#Django 입문_팀프로젝트 시작] (0) | 2023.04.10 |
2023년 04월 07일 TIL [#Django 입문_5] (0) | 2023.04.09 |
2023년 04월 06일 TIL [#Django 입문_4] (0) | 2023.04.06 |