본문 바로가기

WIL&TIL90

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.
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.
20230419 TIL 알고리즘, 비트 쉬프트 연산 합성수 찾기 def solution(n): cnt = {} answer = n for i in range(1,n+1): for j in range(1, i+1): if i % j == 0: try: cnt[i] += 1 except: cnt[i] = 1 if cnt[i] 2023. 4. 19.
20230418 TIL DRF 시작 전 준비운동하기 - HTTP, 웹 Django 심화 1주 - HTTP, 웹의 동작 방식 이해하기 1주차 학습 목표 프론트엔드와 백엔드의 역할 HTTP 메시지의 구조 Request와 Response 메시지의 역할 HTTP의 상태코드의 역할 HTTP의 헤더의 역할 웹의 요청 흐름 State와 Stateless Restful한 API 설계 선발대 1주차 과제 - 타입별 메소드, 프로세스와 스레드 GitHub - saddeveloper99/SBD-assignments: advanced party assignments advanced party assignments. Contribute to saddeveloper99/SBD-assignments development by creating an account on GitHub. github.com.. 2023. 4. 18.
20230417 TIL __contains, :=, HTTP_REFERER 선발대 1주차 - 프로세스와 스레드 발표 피드백 주요 사항들 KPT 회고 발표 피드백 > KPT 회고 새롭게 알게된 점 1. Validation은 프론트와 백엔드에서 둘 다 해야한다. 2. Django에서 HTTP_REFERER 헤더에서 이전 페이지의 URL을 가져와 해당 URL로 redirect하는 코드 redirect(request.META.get('HTTP_REFERER', 'redirect_if_referer_not_found')) 3. __contains는 title 필드의 값에 'python'이 포함되어 있는지를 검사하는 필터 조건 python_posts = Post.objects.filter(title__contains='python') 4. := 연산자를 사용하면 input() 함수로 입력.. 2023. 4. 17.
WIL 20230410 ~ 20230416 - 장고 찍먹하기 장고 기초주차 Python Django 개인과제 해설 Django 기초 타입별 메서드 프로세스와 스레드 브랜치 보호(PR 동의 후 Merge하기) Python 코드 포맷터 - black, isort GIT hook (추가예정) 저번주 목표 1. 팀 프로젝트 이번 주차 메인은 누가 봐도 팀 프로젝트. 프로젝트 진행기간 동안에는 알고리즘 문제풀이 시간도 시간표에서 빠져있을 만큼 집중도를 요구하는 것 같다. 최우선 사항으로, 강의 복습과 동기들의 코드를 뜯어보며 최대한 장고 활용을 높여보자. 이번이 협업으로는 4번째, 발표까지 있는 프로젝트로는 2번째이다. 4번의 협업에서 배운 것들을 착실하게 활용해보는 것을 목표로 삼자. > 프론트는 힘들었지만.. 나름 맛있었다 2. 알고리즘? 팀원과 협의 후 결정 예정 >.. 2023. 4. 16.
20230414 TIL 장고 정리 및 팀프로젝트 마무리 django / db용어 정리(db용어는 거의 공통) RDBMS(RDB) : Relational DataBase Management system 관계형 데이터베이스를 지칭한다 (MySql, OracleDB) NoSql :Not Only Sql의 약자로 관계형 데이터베이스가 아닌 다른 형태 mongoDB등 Sql : Structured Query Language 데이터베이스의 CRUD를 위해 사용되는 언어 (장고에서는 ORM을 사용해서 Sql을 대체한다.) ex). # sql select from user ... # django from user.models import User User.objects.filter or User.objects.get Table : DB는 기본적으로 테이블로 이루어져 있으며.. 2023. 4. 14.
20230413 TIL - migrations gitignore하기, 코드 포맷터 프로젝트 진행 중 gitignore에 migrations를 추가했는데, 두개의 애플리케이션의 migrations 디렉토리는 디렉토리 안의 파일들중 __init__.py를 제외한 나머지 파일들에 .gitignore가 적용, 그런데 하나의 애플리케이션의 migrations 디렉토리는 __init__.py까지 모두 .gitignore가 적용된다. 분명 장고의 같은 디렉토리 안에 있는 애플리케이션인데 어떤건 추적하고, 어떤건 추적하지 않는지 이유를 알 수 없었다. 심지어 __pycache__도 마찬가지로 되는것도 있고 안되는 것도 있다... 찾아보니 원래 __init__.py는 깃에서 추적하는게 맞다고 하는데 확실한 정보인지는 모르겠다. __init__.py는 없으면 안되니까 폴더 안의 나머지 파일들을 .git.. 2023. 4. 14.
20230412 TIL - 깃 커밋 컨벤션, pull request에 관해 GIT 커밋들이 가독성이 떨어지는 문제 커밋메시지도 컨벤션을 정해놓으면 좋다. GIT Pull Request 관련 GIT공식 문서 팀 프로젝트에서 PR은 권한을 가진 사람 혼자 하는 것이 아니다. 팀원 모두가 PR내용에 대해 이해하고 있어야 하며, 내용에 대해 의견을 제시하는 것이 좋다. GIT 설정에서 approve(찬반투표) 를 받아야 pr가능하게 설정할 수 있다. 동의 후 PR하기 설정하는 법 https://codemte.tistory.com/68 선발대 1주차 - 타입별 메서드 타입별 메서드 메서드가 실패 시, 예외적인 상황에서 어떤 리턴값을 내는지도 알아야 한다. 문자열 메서드 count 문자열 내 특정 문자가 몇개나 있는지 세는 메서드 find 문자열 내에서 특정 문자 codemte.tisto.. 2023. 4. 13.