본문 바로가기

Programming/Python169

[ Django ] Serializer / Form 장고를 사용하는 커뮤니티를 구경하다보면, Serializer 라는 단어를 정말 많이 볼 수 있다. 다름이 아니라 내가 계속 Serializer 와 Form 을 혼동하고 있는 것 같아서 그래서 포스팅을 결심했다. 정확히 이 둘을 정의해보자! Serializer Django 에서 흔히 사용되는 Form 과 상당히 유사한 개념으로, 유효성 검사를 자동으로 거쳐서 model 에서 필드를 읽어온다. Form 유효성 검사를 자동으로 거쳐 model 에서 필드를 읽어온다. django 에서 제공하는 기능인 Form 을 이용하면 우리는 수동으로 Form을 제작할 필요가 없다. 자, 여기까지 보면 그래서 대체 Form 과 Serializer 의 차이점이 뭔데? 하게 된다. Forn 은 HTML form 을 생성하는데, .. 2022. 4. 4.
[ Django ] django-debug-toolbar mime type 에러 해결 django-debug-toolbar 를 이용해 SQL 디버깅을 시도하고 있었다. https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#process Installation — Django Debug Toolbar 3.2.4 documentation Troubleshooting On some platforms, the Django runserver command may use incorrect content types for static assets. To guess content types, Django relies on the mimetypes module from the Python standard library, which.. 2022. 2. 25.
[ Python ] List Comprehension| 리스트 컴프리헨션 대괄호와 list()의 성능 차이 사실 이건 포스팅하기도 조금 민망할 정도로 짧긴한데, 이런건 내가 직접 실행해봐도 느낄 수 없는 부분이라 잊으면 그냥 그대로 내 손해다. 그래서 작성해본다. 리스트 컴프리헨션은 아래와 같다. a = [i for i in range(10)] b = list(i for i in range(10)) print(a) print(b) 리스트 내에서 for 나 if 문을 쓰는 것이다. 코드를 살펴보면 a 와 b 둘 다 같은 동작을 하고 있다. 실행 결과도 동일하다. 그렇지만 나는 앞으로 [식 for 변수 in 리스트] 의 형식을 써야겠다. 일단 둘은 같은 동작을 하지만 성능이 대괄호를 사용하는게 더 좋다고 한다. 심지어 list 방식은 C스타일이라 파이썬답지 않은 코드라고.. ㅎㅎ.. 일단 성능 면에서 더 우수하다.. 2021. 12. 16.
[ Python ] 파이썬 스케줄러 작성하기(APScheduler) - BlockingScheduler | 파이썬 반복 작업 수행 서버 위에서 항상 돌아가는 프로그램을 만드는 중이다. 해당 프로그램이 하위 프로세스를 만들어서 계속해서 어떤 동작을 수행 후 데이터를 출력하고 있다. 이때, while 문을 통해 해당 프로세스의 종료를 계속해서 확인하도록 작성했는데 이 while 문이 약간 불안하다고 하셨다. 휴지시간 없이 너무 cpu를 혹사시킬 것 같아 스케쥴러를 하나 두고 일정 시간동안 프로세스를 실행시키는 방식으로 바꿔보는 것은 어떠냐고 제안을 주셨다. 냉큼 받아들여서 바로 스케줄러를 작성해보고 있다. 생각보다 간단하고 강력한 것 같아 앞으로 여러곳에 써먹을 곳이 많을 것 같다. 이번 포스팅에서는 특정한 시간에 프로그램을 실행시키는 cron 이 아닌 일정 주기로 도는 interval 만 예시로 들 것 같다. 만약 특정 시간에 프로그.. 2021. 12. 14.