两者设计思路不一样,不能直接套用
在传统的异常处理里面,不需要考虑这么多东西,避免心智负担
异常这种东西,如果处理不了,那就不要处理,就直接让它抛出,交给上一层
上一层决定是放弃,还是重试,又或者不处理
不行就直接 crash
例如打开文件时文件不存在,文件不存在不好处理,直接 crash 损失更小,避免错误执行
node.js 或者 python
这两个胶水语言非常适合写各种小玩具,因为库非常丰富,不被缺轮子折磨
而且有各种云函数平台适配,可以把小玩具部署到互联网
无源码只能逆向
静态就 IDA Pro ,静态反编译最好用
动态就 x64dbg ,或者选一个自己喜欢的也行
那个语言其实是翻译成 C 然后再调用 msvc 编译(好像是 vc6 来着)
逆向入门难度大,除非很有兴趣不然不建议做这个
自己玩玩没人管你,反正他们(来源)也不管这个,用来赚钱容易进去
LLM ?
不介意用反代+自己部署 UI 的话可以在 github 搜一下网站+反代,用反代转 API ,再找个兼容 OpenAI API 格式的 UI 就行
平台自带 UI 支持自定义 system prompt 的不多,基本没几个
随便选个智商在线的 LLM 就行,不需要特定模型,除非需要用图片来搜索才需要多模态的
这种一般用 Agent 实现,向 LLM 提问,然后 LLM 调用工具,查询数据库,再让 Agent 执行查询生成表格文件
要不先学一下设计模式,看看相关的书籍,再去积累经验
虽然先积累经验再学设计模式也可以,但这样容易一知半解,要花大量的时间才能学会,甚至可能没法用在下一个项目里
最好再选一个代码风格,然后去尝试遵守这个设定
设定一个合适的目标,然后再划定限制(可以做什么,不能做什么)
设计就是做出选择,什么需要(要做什么),什么不需要(不能做),不加以限制是学不会设计的,当然学任何东西都是一样的
可以自己写一个 middleware 捕获 request 放到 全局/模块/单例
例如我自己写的 middleware:
```python
import contextvars
import django.http
GLOBAL_REQUEST = contextvars.ContextVar("GLOBAL_REQUEST", default=None)
class GlobalRequest:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
global GLOBAL_REQUEST
GLOBAL_REQUEST.set(request)
return self.get_response(request)
# 用这个获取 request 实例
def get_request() -> django.http.HttpRequest:
return GLOBAL_REQUEST.get()
```
可以,get_search_results 参数 search_term 就是搜索框的内容(类型 str ),对 queryset 参数进行 filter 然后返回即可
排除的话,可以考虑用数据库的全文索引,实现简单,性能尚可
例如
```
def get_search_results(self, request, queryset, search_term):
if not search_term:
return super().get_search_results(request, queryset, search_term)
return queryset.filter(seo__search=search_term), False
#end get_search_results
```
```
class SearchLookup(models.Lookup):
lookup_name = "search"
def as_mysql(self, compiler, connection):
lhs, lhs_params = self.process_lhs(compiler, connection)
rhs, rhs_params = self.process_rhs(compiler, connection)
params = lhs_params + rhs_params
return "MATCH (%s) AGAINST (%s IN BOOLEAN MODE)" % (lhs, rhs), params
#end as_mysql
#end - SearchLookup
```
UDP 实现可靠数据传输协议( TCP 、QUIC )、UDP 实现 SSL ( QUIC )
实现语音流 /视频流协议
实现 DNS 协议