- 博客(178)
- 收藏
- 关注
原创 celery 如何调试
摘要:本文介绍了现代 Celery 任务的 4 种调试方式:1) 通过 apply_async 参数实现任务级别调试;2) 启动 worker 时使用 DEBUG 日志和跟踪选项;3) 在配置中设置任务追踪和异常处理;4) 开发环境使用 eager 模式同步执行任务。文章推荐开发时开启 eager 模式快速调试,生产环境使用 --traceback 和 DEBUG 日志级别,并指出这些方法比传统的 debug 参数更有效。
2025-11-20 14:00:38
230
1
原创 django 部署
本文摘要总结了Django应用的两种部署方式。原生部署使用systemd配置文件管理Gunicorn服务,注意preload和reload参数不能同时设置。Docker部署提供了完整的Dockerfile和docker-compose配置,包含用户权限、日志目录等细节处理。同时介绍了Nginx的Docker安装方法,包括目录挂载和证书配置。最后提示了容器运行的基本原理(需保持进程运行)以及Gunicorn和Nginx配置的注意事项,包括连接转发问题的解决方案(需替换回环IP为主机IP)。
2025-11-10 17:01:19
762
原创 Django 测试样例
本文展示了一个Django测试案例,用于验证按时间范围筛选工单修改记录的功能。测试案例包含四种时间范围:当天、本周、本月和上月。通过创建不同时间点的测试数据(当天、本周一、本月1号和上月数据),测试验证了API能正确返回对应时间范围内的记录,并排除不符合条件的数据。测试方法包括验证返回状态码、结果标志和数据内容准确性,确保接口能按预期返回"Today's Ticket"、"This Week's Ticket"等特定时间段的工单记录。测试覆盖了边界条件,如周初和月初的数据处理。
2025-11-10 16:59:47
299
原创 DRF生命周期
自定义 DRF ListAPIView 响应样式 在 Django REST Framework 中,可以通过多种方式自定义 ListAPIView 的返回样式: 自定义分页响应 - 继承 PageNumberPagination 重写 get_paginated_response 方法 class CustomPagination(PageNumberPagination): def get_paginated_response(self, data): return Response({ 'succes
2025-11-10 16:56:24
872
原创 不让Django DRF ListAPIView 类进行2次查询
Django REST Framework 的 ListAPIView 默认会执行两次 SQL 查询(获取数据和计算总数)。本文提供四种优化方法: 禁用分页(pagination_class = None)可完全移除总数查询 使用 LimitOffsetPagination 或 CursorPagination 并优化查询 手动覆盖 paginate_queryset 方法避免 count 查询 使用 values() 或 iterator() 优化大数据量查询 重点适用于: 不需要分页的场景 大数据量下的
2025-11-10 16:55:22
307
原创 django 接口校验器
摘要:为提高接口参数校验复用性,提出多方案实现策略:1)校验器注册中心集中管理通用规则;2)组合校验器构建校验链;3)领域对象封装校验逻辑;4)配置化校验支持动态规则。采用策略、组合等设计模式,支持规则继承与上下文适配,实现高效校验逻辑复用。方案覆盖从基础类型检查到复杂业务规则验证,提供Python示例代码,适用于多接口共享校验场景,可显著减少重复代码。
2025-11-10 16:54:24
726
原创 vscode 终端进程“/sbin/nologin”启动失败(退出代码: 1)。
原因是因为默认vscode container 使用default 这个用户进行登陆。而这个default 是使用shell 的(在/etc/passwd中配置)。我们要修改vscode 行为,添加默认的bash 终端启动和登陆用户。
2024-07-27 11:33:14
754
1
原创 为什么我的pytest提示导入失败,pytest的搜索路径和导入模式
本文总结了pytest测试框架的几个关键使用要点:1)测试文件发现规则,支持test_.py或test.py文件中以test开头的方法或Test类中的test方法;2)基于目录的测试包发现,建议每个测试目录添加__init_.py文件以确保正确的相对路径引用;3)导入模式选择,prepend和append决定测试路径在sys.path中的插入位置。这些最佳实践可帮助开发者更好地组织测试代码并解决模块导入问题。官方文档提供了更详细的说明和示例。
2024-06-26 21:20:03
827
原创 android so载入过程
bionic, find_library,find_libraries dl_dopen,load_library. efl .so
2024-03-08 16:12:45
1593
原创 英语中疑问句
.t say that如果你知道电影院的规则,你可以用 yes 或 no 开头,然后加上一个简短的解释,比如“Yes, you can. The theater has no restriction on bringing your own food.”或者“No, you can’t. The theater doesn’t allow you to bring your own food.”
2023-12-17 19:22:17
312
原创 sqlalchemy auto map ValueError: Invalid isoformat string: ‘xxxx‘
我们用python 读取 现有数据时候,经常用到auto map 来帮我们自动完成ORM。但是有时候像日期这种东西。数据库里面可能不是标准的iso 格式。导致sqlalchemy 报 ValueError: Invalid isoformat string: ‘xxxx’
2023-11-05 22:32:14
804
原创 数据库中的时间django转换成None
数据库中使用的是datetime[64] 的格式。精确的毫秒了。django默认的使用的是datetime.datetime.fromisoformat转换的。转换不了。
2023-11-05 22:30:37
806
原创 完全搞懂pandas 的to_sql
to_sql 最终调用到 SQLAlchemyEngine 的 insert_records然会调用 SQLTable 的insert函数。
2023-09-11 23:42:49
626
原创 httpx 返回都是乱码问题,非编码问题。
因为python 的requests 不能使用抓http2 的报文。所以看了一些httpx的使用。但是发现httpx 不能自动解压,text打印出来的都是乱码。一开始以为是编码格式的bug ,但是使用chardet 确认了确实是utf-8.然后怀疑是压缩的问题。先去官网搜了一些文档。经过我的测试发现只要把,br 删了 httpx 就能自动解压了。或者是新标准的问题,暂时也没深入研究http2,先记录下来把。文档说会自动帮忙解压。然后只能看看报文头的压缩关键字了。
2023-07-09 21:35:08
798
1
原创 ssh 端口转发
让你完全搞懂ssh端口转发。图文并茂,受益匪浅。在local_server上开启本地转发模式之后。ssh_server就会出现2端的TCP链接。然后所有发向9527端口TCP数据会被ssh_server 转发到目标机器的23端口上。整个过程对于用户来说是透明的。就相当于9527和23直接进行TCP链接。本地转发的精髓在于一开始组网的时候local_server-》ssh_server -》remote_server_ip 这条单向流量是可以导通的,没有防火墙的阻挡的。不然只能gg。
2023-07-01 13:43:19
558
原创 联通GPON/4+1+WIFI 管理员密码
光功率区间 https://www.right.com.cn/forum/thread-6675985-1-1.html。如果不行就只能重置路由器了,重置前一定要记录好上行的宽带设置。逻辑ID,iptv账号密码。版本设置界面http://192.168.1.1/hidden_version_switch.gch。配置光猫教程 https://zhuanlan.zhihu.com/p/450698488。管理员登录界面http://192.168.1.1/cu.html。
2023-06-25 10:46:49
13835
原创 访问 virtualbox中的mysql
在 mysql.user 中存储这用户可访问的的host地址select user,host from user;
2023-05-01 19:01:36
372
1
原创 python 中如何用父类的元类(metaclass)创建所有父类的子类
方法创建的,且这些被创建的类都是自定义metaclass的实例,同时自定义的metaclass是type的子类。所以这些被创建的类同时也是type的实例。你可以看到整个继承链中,如果子类没有定义metaclass,所有的类都是最顶层父类的metaclass 的’当你弄懂下面两这句话证明你已经解锁前置科技。我们创建一下代码验证。
2022-10-23 12:11:14
885
原创 linux静态连接
从文本到代码到机器指令可分为propressing >compilation->assembly->linking四个步骤。他们像流水线一样从上一步取结果处理完输出给下一步。每一个过程都有特定的软件来实现。如propressing 是gcc -E 变成file.i文件。compilation 是gcc -S 变成file.s文件。assembly 是gcc -c 或者as 变更file.o文件。assembly 是ld 变成file文件。经过前三步文件已经变成二进制文件了。
2022-10-08 15:07:05
3289
原创 【c++】开发环境的搭建
c++ 的linux下直接开发比较方便。只要不是精简的系统都自带gcc 的开发套件。而在windows 下默认是没有开发环境的。所以windows 下的c++开发有以下几种方法。其中第三种方法引入了llvm生态。它可以自由替换你想用的前后端所以是一类方法的总称。......
2022-08-08 00:11:24
401
原创 linux系统软件安装
1.RedHat系列(Redhat、Centos、Fedora等): 例如 Sudo yum install java-1.8.0-openjdk2.Debian系列(Debian、Ubuntu等): 例如sudo apt-get install java-1.8.0-openjdk
2022-08-07 22:56:56
134
原创 python中的包和模块
.py结尾的文件就是module,目录就是packageimportimport moduleimport package.modulefrom package import modulefrom . import modulefrom .package import modulefrom ..package import module上面是几种导入示例,虽然写了package 和module 但是请记住 import 实际导入的是对象。module也是对象#名如module的对象&l
2022-05-15 13:53:52
293
原创 fabric 命令行操作自动化例子
from fabric import Connectionfrom fabric import taskfrom invoke.watchers import Responder ,StreamWatcherfrom invoke.exceptions import UnexpectedExitimport loggingimport timeimport paramikoimport tracebackimport ioimport osfrom datetime import dat
2022-05-14 22:42:52
605
原创 python IDE 环境不能语法检测 Import “frida“ could not be
python和语法提示器找不到。下面是vscode 中pylance的提示的设置。{ "python.autoComplete.extraPaths": [ //python 的额外paths "D:\\project\\reverse\\.env", ], "python.analysis.extraPaths": [ //pylance 解析额外import 路径 //理论上支持conda ,可能是bug或者路径问题导致不支持,
2022-03-16 11:01:24
1312
原创 vscode 自动化
vscde 是一个轻便,强大的工具,他的强大在于自定义。今天就记录和分享一些通过vscde lunch.js和task.js进行自动化操作的方法.vscode下面的lunch.js是干什么的呢? 这个文件本质是当你按下debugging键时,vscode 该如何运转。{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes.
2022-02-20 23:22:10
926
原创 爱的台阶之危险流浪者
城市夜晚灯火阑珊。熙熙攘攘的街道上,人们三五成群的走在路灯射下的光幕中。汽车一辆一辆驶过,开普勒效应让人烦躁。不远处的楼宇中,我正在音乐中的躁动。扭动着身体,就像婴儿吸取着奶水,蜜蜂采夺着花蜜。时间很快被拨动到深夜。因为明天还要上该死的班。所以我不得不把开至最大声的音响关闭,按压按钮的一瞬间,世界突然寂静,客厅钟表的滴答声,路上车的呼啸声犹如一直锋利的矛从我的耳朵一路刺穿到我的大脑,顿时我就像死机一呆木在哪里,片刻后,我被垃圾短信声拉回到现实。好了该睡觉了。关灯~。平躺在床上,城市余辉洒在床边,紧闭双眼,
2021-05-09 19:05:20
481
3
原创 django REST framework
code = TestModel.objects.get(name='ls')codes = TestModel.objects.all()前端写入测试frontend_data = { 'name':'ModelSeril', 'code':"""print('frontend test')""", 'created_time':'2107-12-16'}test1 = TestSerilThree(data=frontend_data)if test1.is_v..
2021-01-05 22:34:35
155
原创 android 当服务器
android 当服务器有3种方法:1 装一个类似postmarketOS的linux操作系统, 不用android/linux ,postmarketOS 是一个基于Alpine Linux开发的linux 发行版,旨在为老的android 手机提过可跟新的系统2 termux , Aid Learning 这样的linux 模拟环境3 linux deploy 这样的容器方法装linux......
2020-12-28 22:58:18
2786
1
原创 c++ 为什么会有头文件
突然脑子里蹦出一个问题,为什么c++ 会有头文件怎么个东西,而诸如java,python就没有这玩意呢,是不是历史遗留问题呢。我先以函数定义来看看c++的语法吧。我们先写两个cpp,man.cpp中引用了add.cpp中add函数//add文件int add(int x, int y){ return x + y;}//main文件#include <iostream...
2020-03-05 02:28:00
1649
原创 flex和absolute的巧妙碰撞
在学习flex布局时,发现一个很奇妙的特性记录一下。<html><head><style type="text/css">.div{ margin: 0% 0% 0% 0%; padding: 0% 0% 0% 0%; }body{ position:absolute; top: 50px;}.outer{ ...
2019-10-07 22:46:33
4146
原创 vscode 如何默认打开anaconda powershell terminal
ctrl+shift+p打开palette面板搜索open user setting(JSON)打开setting文件,添加下面代码{ "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "terminal.integr...
2019-08-13 17:07:07
6780
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅