본문 바로가기

분류 전체보기197

dotenv 설치 시 AttributeError, has no attribute 'read_dotenv' 1. AttributeError : module 'setuptools' has no attribute '_install_setup_requires' dotenv 설치 명령어 입력시 에러 발생 더보기 $ poetry add dotenv Using version ^0.0.5 for dotenv Updating dependencies Resolving dependencies... Package operations: 1 install, 0 updates, 0 removals • Installing dotenv (0.0.5) ChefBuildError Backend subprocess exited when trying to invoke build_wheel Traceback (most recent call las.. 2023. 4. 25.
20230424 TIL - 알고리즘 1. 문자열 정렬하기 더보기 1. isdigit() def solution(a): # # 리스트를 하나 만들어서 a문자열을 돌면서 문자열이 숫자인지 확인 # # 숫자라면 리스트에 int값으로 추가해주기 result = [] for i in a: if i.isdigit(): result.append(int(i)) # 정렬 return sorted(result) 2. isnumeric() > isdigit과의 차이점은 isdigit()은 0~9의 아라비아 숫자만을 판별(ex. ²도 가능) isnumeric()은 ½처럼 유니코드 기반의 모든 숫자가 들어간 문자열을 판별해줄 수 있다. def solution(a): answer = [] for i in my_string: if i.isnumeric() : ans.. 2023. 4. 24.
WIL 20230417 ~ 20230423 - DRF와 친해지길바래 장고 심화주차 Django 심화 1주차 정리 Customizing token claims Postman에서 토큰 인증 로그인이 안될 때 확인사항 Poetry설치하기 저번주 목표 1. 장고 실무 심화 주차 > 일요일 밤새서 완강까지는 완료했다. 여러번 더 들어봐야겠지만 그래도 한바퀴 완주했다는 사실이 힘이 되는 것 같다. 2. 알고리즘 > 하루에 조금씩 조금씩 풀어나가고 있다. 슬슬 1단계 문제들도 섞어서 풀어봐도 괜찮을 것 같다 3. 새로운 팀? > 팀편성이 다음주로 바뀌었기 때문에 이번주 목표로 이전 이번주 목표 1. 개인과제 > 사실상 이번 주의 메인디쉬인데, 추가 요구사항까지 모두 구현하는 것을 목표로 하자. 2. 새로운 팀 > 새로운 사람들과 친해지는 것은 늘 어렵지만, 친밀도와 프로젝트 완성도는.. 2023. 4. 24.
python poetry 설치 가이드 공식 설치 가이드 - poetry basic usage 이 게시글은 Windows, VSCode, bash터미널 기준으로 작성되었으며, 자세한 설치 방법은 공식문서를 참조할 것을 권장합니다. 1. 설치하기 터미널에 명령어 입력 - 설치 명령어는 환경마다 상이하니, 꼭 공식문서를 확인해보자. curl -sSL https://install.python-poetry.org | python # 또는 curl -sSL https://install.python-poetry.org | python3 성공적으로 설치가 되었다면, 터미널에 설치된 경로와, 해당 경로를 path에 추가하라는 문구가 나올 것이다. 해당 경로를 복사해주자. 2. 시스템 환경변수 설정 (1) windows 설정 - 시스템 환경 변수 편집 (2).. 2023. 4. 23.
Postman에서 토큰 인증 로그인(authentication)이 안될 때 token인증 방식에서 request.user를 받아오지 못할 때(= AnonymousUser로 찍힐 때) 확인해볼 사항들 1.토큰이 생성되는가? api/token/(혹은 jwt별 토큰 경로) 으로 요청을 보냈을 때, TokenObtainPairView에서 access토큰과 refresh토큰이 발급되는지 확인 2. authentication class와 Middleware가 잘 지정되어 있는가? #settings.py REST_FRAMEWORK = { "DEFAULT_AUTHENTICATION_CLASSES": ( "rest_framework_simplejwt.authentication.JWTAuthentication", ) } #settings.py MIDDLEWARE = [ ... "django.co.. 2023. 4. 23.
20230421 TIL - Customizing token claims, 알고리즘 Simple JWT token에 원하는 claims 넣기 Customizing token claims 알고리즘 배열에서 문자열 대소문자 변환하기 > 배열의 인덱스가 0또는 짝수면 소문자, 홀수면 대문자로 변환하기 def solution(strArr): return [strArr[i].lower() if i % 2 == 0 else strArr[i].upper() for i in range(len(strArr)) ] 원소들의 곱과 합 > 배열의 (모든 원소의 합의 제곱)과 (모든 원소의 곱)을 비교해 전자가 크면 1, 작으면 0을 반환하기 from functools import reduce def solution(num_list): return 0 if reduce(lambda x, y: x * y, nu.. 2023. 4. 21.
Drf simple JWT - Customizing token claims Drf simple JWT - Customizing token claims 장고 심화 강의를 듣던 중 강의 영상에 나온 공식문서와 현재의 공식문서가 다른 부분이 있어, 현재 공식문서의 방식으로 토큰을 커스터마이징 해보았다. ↓ 강의 영상 ↓ 현재 공식 문서 token claims Customizing에 관한 공식 문서 - Simple JWT Customizing token claims 1. serializer.py에 CustomTokenObtainPairSerializer생성 token에서 email 필드를 확인할 수 있도록 get_token() 메소드를 오버라이딩 해주었다. get_token() 메소드는 우리가 만든 CustomTokenObtainPairSerializer의 부모 클래스인 TokenOb.. 2023. 4. 21.
20230420 TIL 알고리즘 - k의 개수, 2차원으로 만들기 알고리즘 k의 개수 i부터 j까지 k가 몇개인지 찾는 문제 def solution(i, j, k): answer = 0 for l in range(i, j+1): a = [x for x in str(l)] if str(k) in a: answer += a.count(str(k)) return answer # i부터 j까지 for in range # 각각의 숫자 l에 대해 자릿수별로 분리한 문자열을 리스트에 담기 # ex) 13 => "13" => ["1", "3"] # k가 해당 리스트에 있는지 확인하여 count()만큼 수량 올리기 map과 lambda를 활용해보기 def solution(i, j, k): return sum(map(lambda x: str(x).count(str(k)), range(i.. 2023. 4. 20.
Serialization, Parse 2023. 4. 20.