본문 바로가기

전체 글

(29)
Django 유저모델 커스터마이징시 발생하는 에러 ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'. HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'. auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'. HINT: Add or change a related_..
[Django] 클린 코스를 위한 테스트 주도개발 6장 - ERROR self.assertRegex(edith_list_url, '/lists/.+') AssertionError: Regex didn't match: '/lists/.+' not found in 'http://localhost:13015/' 99페이지 이후 이 오류를 계속 발생시킨다. 구글링하며 조사해본 결과 keys.ENTER를 실행하면 새로운 리스트가 생성되고 그 리스트에 해당하는 URL로 이동한 후 self.assertRegex(francis_list_url, '/lists/.+') 구문이 실행되어야 하는데 해당 URL로 이동하기 전에 위의 구문이 실행되기 때문에 오류가 발생해버린다. 즉, 웹에서 URL을 이동하는것보다 일찍 위의 구문이 실행되버리는 상황이 발생해버린다. 그렇기 때문에 모든 inputb..
[Django] 클린 코스를 위한 테스트 주도개발 5장 현재 내가 사용하고 있는 Django의 버전이 책에서 사용하고 있는 버전과 달라서 오류가 발생했다. 바로 render_to_string 함수와 csrf_token 문제인데.... 혹시 누군가 나와 똑같은 삽질(?)을 하고 있다면 이 글이 도움이 되길 바란다. 책의 버전은 render_to_string 함수를 사용하더라도 csrf_token 이 제대로 작동(?)된채로 값을 불러오고 저장할 수 있는데 지금 내가 사용하고 있는 버전에선 render_to_string 함수를 사용하면 csrf_token가 제대로 작동되지 않은채로 값이 불러와진다. 이 문제 때문에 마지막 assertEqual 부분에서 테스트코드가 계속 통과하지 못했다. 여기 를 참고하여 해결 할 수 있었다. render_to_string의 마지막..
[Python] 일급 함수(First Class Function) 1. 변수 등에 할당 가능 2. 함수 인수 전달 가능 3. 함수 결과로 반환 가능 위의 세가지 조건이 충족된다면 일급함수(First Class Function)이다. 1. 변수 등에 할당 가능 def factorial(n): if n == 1: return 1 return n*factorial(n-1) # 변수 할당 var_func = factorial print('1 -', var_func) print('2 -', var_func(5)) 결과값 1 - 2 - 120 위의 코드와 같이 함수를 정의한 후 변수(var_func)에 함수를 할당해서 여러가지 방식으로 사용 할 수 있습니다. 2. 함수 인수 전달 및 함수로 결과 반환(Higher-order Function = 고위함수) print('1 -', m..
BOJ-5397 문제풀이 1. vector 2개를 이용하면 쉽게 풀 수 있는 문제이다. 2. vector 하나는 왼쪽, 하나는 오른쪽에 위치한다고 생각하고 ""에 따라 왼쪽에서 오른쪽, 혹은 오른쪽에서 왼쪽으로 vector의 back에 존재하는 문자를 옮겨준다. 3. 위의 과정을 반복하고 첫번째 vector와 두번째 vector를 reverse한 결과를 출력한다. 4. 직접 그림을 그려보면서 생각하면 편함. 31분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #include #include us..
[C++] BOJ-2529 문제풀이 1. 기본적인 LIS(최장 증가 수열)를 찾는 문제이다. 2. 수열 v의 마지막 요소와 현재 입력받은 값을 비교하여 더 크면 v의 마지막에 넣고 그렇지 않으면 수열 v의 숫자들 중 가장 적당한 자리에 있는 숫자와 교체해준다. 3. 여기에서 적당한 자리라는 것은 만약 수열 v의 상태가 10, 30, 50 이고 현재 입력받은 값이 40이라면 50과 40을 교체한다. (이 문제는 수열 그 자체를 구하는것이 아니라 수열의 길이를 구하는것이기 때문에 이러한 방식으로 숫자를 교체해주어도 답을 출력하는데에 지장은 없다.) 38분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include #include #include..
[C++] BOJ-1826 문제풀이 1. 우선순위큐 한개와 pair형 배열변수 한개를 선언한다. 2. 주유소의 정보가 담겨있는 배열을 오름차순으로 sort한다. 3. 현재 가지고있는 연료의 양으로 최대로 갈 수 있는 거리까지의 주유소에서 넣을 수 있는 연료량을 모두 우선순위 큐에 넣는다. 4. 우선순위큐의 top에 있는 연료량이 제일 높을 것이므로 top을 트럭에 있는 연료량에 더해준다. 그리고 그때마다 1씩 카운트해준다. 5. 트럭에 있는 연료량이 도착범위를 넘어가거나 혹은 우선순위큐가 비어있으면 반복문을 종료한다. 6. 마지막으로 트럭에 있는 연료량이 마을에 도착하는데에 충분하다면 cnt를 출력하고 그렇지 않으면 -1을 출력한다. 1시간 26분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1..
[C++] BOJ-9576 문제풀이 1. pair형 배열변수에 신청서 정보를 넣고 bool 형 배열변수를 선언한다. 2. pair변수의 second의 크기에 따라 오름차순으로 정렬하되 만약 second의 크기가 같다면 first크기에 따라 내림차순으로 정렬을 해야한다. (그리디하게 문제를 해결해야 함) 3. 그 후 반복문을 통해서 만약 book 배열에 false로 남아있는 책 중 하나라도 학생이 원하는 책이 false라면 그 책을 true로 바꿔주고 다음 학생의 신청서로 넘어간다. p.s) 이 문제는 사실 정당성 증명을 하진 못했다. 그냥 뭔가 직관적으로 떠올라서 (왠지 이런 원리일 것 같은데..?) 그대로 구현해보니 정답이 떴다. 45분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ..