수많은 데이터를 한꺼번에 추가하려면 어떻게 해야 할까요? 특히 queryset의 성능을 실험할 때 거대한 데이터를 넣어야 할 일이 의외로 있는데요. 매 루프마다 create를 호출하면 상당히 느릴 겁니다. 이 때, 쓸 수 있는 것은 bulk_create입니다. 말 그대로, 일정 묶음 단위로 추가를 할 수 있습니다. 자세한 것은 문서를 보시면 되겠습니다. 이 글에서는 간단하게 bulk_create가 무엇인지 정도만 짚고 넘어갑니다. 예제의 모델들은 아래와 같이 정의되어 있습니다. 먼저 Profile의 user는 django의 기본 모델인 User의 fk입니다. 다음에 blocked는 block 유저를 관리하기 위한 m2m field입니다. 실제로 postgres 디비에는 block 유저를 관리하는 mapp..
전체 글 검색 결과
안녕하세요. 이번 시간에는 git stash apply와 git stash pop의 차이에 대해 알아봅시다. 먼저 apply에 대해 알아봅시다. 1.txt에 있는 6과 7을 제거하고, 3과 8 사이에 9를 추가하겠습니다. 그리고 이 변경 사항을 stash 해 보겠습니다. list를 보면 stash@{0}이 있는데요. 1.txt에 있는 6과 7을 제거하고 3과 8사이에 9를 추가한 변경 내역을 의미합니다. 실제로, 이 변경이 맞는지 show 명령어로 확인해 봅시다. 정확히 맞네요. 이제, stash apply를 해 보겠습니다. 그러면 1.txt가 변경되었다는 내역이 다시 로컬에 반영이 됩니다. 그리고 나서 다시 git stash list를 입력해 보겠습니다. 봤더니, 아직도 stash@{0}에 대한 정보가..
안녕하세요. 이번 시간에는 git stash에 대해 간단하게 알아보겠습니다. git stash는 변경 사항을 어딘가에 저장할 수 있는 명령어입니다. 더 정확하게 말하면, 현재 working directory의 상태를 어딘가에 저장하고 싶어요. 그리고 변경 상태를 clean하게 만들고 싶어요. 이럴 때 쓰일 법 합니다. 쉽게 말하면, 내 작업 디렉토리의 변경 사항을 임시로 어딘가에 저장하고, 나중에 꺼내올 때 쓰입니다. 상황으로 설명해 보겠습니다. 제 test 브랜치에는 1.txt와 2.txt가 있습니다. 이 1.txt에서 8, 9라는 것을 추가했습니다. 그러고 나서, git stash를 입력해 봅시다. 그러면, 8과 9가 추가된 상태는 어딘가에 저장되게 됩니다. 그리고 1.txt는 아래와 같이 변하게 됩..
안녕하세요. 이번 시간에는 python parameter의 default value와 설정할 때 주의해야 할 점이 없는지 알아봅시다. 먼저 default value는 argument를 넘겨받지 않았을 때 대신할 값을 의미합니다. 위 프로그램을 봅시다. x가 있고, test라는 이름을 가진 keyword argument가 있습니다. test=?? 꼴로 붙어있는 것을 볼 수 있을 텐데요. 이 ??를 디폴트 값이라고 이야기 합니다. 저는 이 디폴트 값을 list로 설정했는데요. 실행 결과를 볼까요? 실행 결과를 보았더니, [1], [1, 2]가 떨어집니다. 예상하지 못했던 결과인데요. 왜 그렇게 되었는지 문서를 보면서 차근차근 보도록 하겠습니다. default value는 함수가 define 될 때 생성됩니다..
오늘은 간단하게 함수의 정의에서 흔히 볼 수 있는 *args와 **kwargs에 대해 간단하게 알아보겠습니다. 먼저 *args는 positional arguments들을 받는 무언가를 의미합니다. 그리고 positional arguments는 문서에 따르면 keyword 인자가 아닌 것을 의미합니다. 무슨 이야기인지 모르겠으니, 예제를 한 번 봅시다. 하나는 1과 3을, 다른 하나는 1, 3, 7, 13을 인자로 넘겨줍니다. 함수 a는 args에 있는 모든 원소를 출력하는데요. 어떤 값들이 출력되는지 보겠습니다. 1과 3을 인자로 가지는 함수 a를 호출했을 때에는 1, 3이 출력됩니다. 그리고 1, 3, 7, 13을 인자로 가지는 함수 a를 호출했을 때에는 1, 3, 7, 13이 출력됨을 알 수 있어요...
최근댓글