Issue description Django Channels 對於不存在的路徑存取,全部會拋出錯誤,而不是一般性的警告處理,所以如果和我一樣在 Djangoo Channels 有裝上 Sentry ,而且伺服器在被惡意嘗試路徑時就會看到一堆 ValueError: No route found for path ‘…’. 的錯誤資訊,好處是知道被打了,壞處就是會噴錢(如果不是自己 Hosting)。
Fix it Make HandleRouteNotFoundMiddleware for this issue from datetime import datetime from logging import getLogger from django.urls.exceptions import Resolver404 logger = getLogger(file) class HandleRouteNotFoundMiddleware: def init(self, inner): self.inner = inner def call(self, scope): try: inner_instance = self.inner(scope) return inner_instance except (Resolver404, ValueError) as e: if 'No route found for path' not in str(e) and \ scope["type"] not in ['http', 'websocket']: raise e logger.
GIN What is it GIN 是一種 INDEX 可以幫助加速全文搜索的速度
GIN stands for Generalized Inverted Index. GIN is designed for handling cases where the items to be indexed are composite values, and the queries to be handled by the index need to search for element values that appear within the composite items. For example, the items could be documents, and the queries could be searches for documents containing specific words.
Normal SQL 在傳統 SQL 下可以用以下幾個步驟完成建立 GIN INDEX