Skip to content

Instantly share code, notes, and snippets.

@allieus
allieus / README.md
Last active February 8, 2024 00:48
맥 개발 팩키지 설치
@allieus
allieus / README.md
Last active February 26, 2024 13:08
윈도우 기본 개발 프로그램 설치

윈도우 기본 개발 프로그램 설치

  • 아래 명령들에서 필요한 프로그램을 설치하는 명령만 복사해서 설치해주세요.

TL;DR

django-subdomains 라이브러리는 channels websocket URL 라우팅에 관여할 수 없습니다.

배경

웹소켓에서도 urlpatterns를 지정하고 URL 별로 다른 Consumer를 지정할 수 있는데요. 서브도메인 별로 다른 urlpatterns를 가지도록 할 수 있느냐. 이를 위해 django-subdomains 라이브러리를 사용할 수 있느냐가 주제였습니다.

django-subdomains 라이브러리는 장고 미들웨어를 통해, 요청 도메인별로 root urlconf를 다르게 설정해주는 기능을 합니다. channels에서 django-subdomains이 사용가능하느냐인데요. 결론적으로는 django-subdomains는 channels를 지원할 수 없습니다.

@allieus
allieus / README.md
Created September 29, 2020 06:13
Ignite2020 SessionDownloader (Python)
@allieus
allieus / README.md
Created August 4, 2020 01:30
장고 POST 요청에서 캐싱을 삭제하는 cache_page 장식자 예시

질문 요약) cache_page를 활용하여 뷰 캐싱을 했는 데, 해당 뷰에 대해 POST 요청이 올 때 관련 캐싱을 자동 삭제하고 싶으시다는 거죠?

답변

장고 기본의 cache_page 장식자는 GET/HEAD 요청에 대해서 캐싱 로직을 동작시키며, 그 이외의 요청 (POST, PUT 등) 에 대해서는 특별한 처리를 하지 않습니다.

cache_page 장식자는 timeout 이 지난 후에 expire 되며, expire time 전에 캐싱을 삭제할려면 low level cache api로 cache key 문자열을 직접 조합하여 삭제하여야만 합니다.

cache_page 장식자는 내부적으로 CacheMiddleware를 사용하며, CacheMiddleware에 주요 로직들이 구현되어있습니다. 다음과 같이 CacheMiddleware를 상속받아 POST 요청 시에 관련 캐시를 삭제토록 구현해볼 수 있습니다.

autoscale: true build-lists: true slidenumbers: true footer: Ask Company - me@askcompany.kr header: SeoulNamsanC B text: SeoulNamsanC L list: SeoulNamsanC L code: auto(42), D2Coding, line-height(1)

@allieus
allieus / README.md
Created July 15, 2020 13:37
apply 시에 예외가 발생하면, ???

실행결과

Series([], dtype: float64)

빈 DataFrame에는 빈 Series를 반환하며, 채워져있는 DataFrame에서는 ZeroDivisionError 예외가 발생합니다.

import requests
from bs4 import BeautifulSoup
def get_realtime_keyword_list():
html = requests.get('https://www.naver.com/').text
soup = BeautifulSoup(html, 'html.parser')
tag_list = soup.select('.PM_CL_realtimeKeyword_rolling .ah_item .ah_k')
keyword_list = [tag.text for tag in tag_list]
return keyword_list

pip의 경우

pip install 시, SSL 인증서 오류에 대한 대처

아래 코드로 pip 폴더를 생성하고

echo %APPDATA%\pip