본문 바로가기
반응형

분류 전체보기128

Django SQL performance checking & Slack notification django 에서 한 view 내에서 사용되는 쿼리의 성능 체크를 라이브에서 하고 싶을 때 간단하게 signal callback 을 이용하여 쿼리타임을 계산하고, 일정 threshold 값 이상인 경우 슬랙 노티를 보내는 기능을 구현한다. import requests from django.db import connection @receiver(request_finished) def monitor_db_connection(sender, **kwargs): def send_slack_message(query, timer): slack_message = { 'channel': '#{channel_name}', "text": '*Elapsed Time*\n{} sec\n*Query*\n```{}```'.form.. 2020. 12. 9.
NoReverseMatch at / 'djdt' is not a registered namespace -- Django debug toolbar urls 에 아래 코드를 삽입한다. if settings.DEBUG: import debug_toolbar urlpatterns.append(url(r'^__debug__/', include(debug_toolbar.urls))) 2020. 12. 9.
Error installing sass: Failed to build gem native extension (mac os High Sierra) 현재 macos 가 high sierra 인 경우, gem install이 종종 되지 않는 경우가 있다. 해당 링크에서 내용을 확인할 수 있다. gem install sass 명령어 실행시 아래와 같은 에러가 나오는 경우, Building native extensions. This could take a while... ERROR: Error installing sass: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.13.1/ext/ffi_c /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./.. 2020. 12. 9.
Dictionary List 를 key에 따라 sort 하기 dic_list = [ {'name': 'kim', 'age': 30}, {'name': 'kim', 'age': 23}, {'name': 'lee', 'age': 11}, {'name': 'park', 'age': 25}, ] sorted_list = sorted(dic_list, key=lambda data: (data['name'], data['age'])) name 으로 먼저 정렬 하고, 그 다음 기준인 age에 따라 정렬 나이가 많은 순으로 하고 싶으면 -data['age'] 로 사용 2020. 12. 2.
Ubuntu 16.04 & Python 3.6 사용할 때 mysqldb, uwsgi 에러 발생시 해결 sudo apt-get install python3.6-dev libmysqlclient-dev pip install mysqlclient pip install uwsgi 참고자료: github.com/openai/gym/issues/757 2020. 11. 27.
특정 포트를 점유중인 프로세스 종료하기 netstat -vanp tcp | grep {port} # 결과: tcp4 0 0 *.{port} *.* LISTEN 131072 131072 {pid} 0 0x0000 0x00000006 kill -9 {pid} 2020. 11. 27.
반응형