- 博客(78)
- 资源 (3)
- 收藏
- 关注
原创 PyCharm 的替换功能小技巧---使用正则替换
比如在写爬虫中的header的参数时,我们从抓包软件中复制过来,一个参数一个参数的去加引号和逗号比较麻烦,比如:这是原来的参数:q=0.9这是添加引号和逗号后变成合规的参数:q=0.9"
2025-11-23 16:35:09
284
原创 Centos7下WireGuard的部署
功能实现方式多用户每个 Peer 独立密钥 + 内网 IP多出口 IP策略路由 + iptables MARK + 多路由表安全性WireGuard(现代加密)✅性能极低开销,适合游戏/高清视频。
2025-11-19 08:20:56
605
原创 iptables 规则的重要性
即使 CentOS 7 的防火墙(firewalld)是关闭的,这些 iptables 规则仍然需要设置。原因如下:“关闭防火墙”通常指 这只是停用了 firewalld 服务,但 Linux 内核的 netfilter(即 iptables 所操作的底层框架)始终在运行。PPTP VPN 的正常工作依赖两个核心功能: 数据包转发和协议放行:允许 GRE 协议(PPTP 控制通道用 TCP 1723,数据通道用 GRE 协议 47)通过。 由这些规则实现:
2025-11-18 19:35:35
425
原创 高考志愿填报辅助系统
高考志愿填报辅助系统是一个专为高考学生、教师和教育机构设计的综合性平台,旨在提供全面的高校招生信息查询、志愿填报分析、AI智能问答等功能,帮助学生科学合理地进行高考志愿填报决策。高中学生:查询高校专业信息、进行志愿填报规划高中教师:管理学生信息、为学生提供志愿填报指导教育机构:进行数据分析、辅助决策支持。
2025-11-17 19:25:44
1460
4
原创 Django 缓存详解与应用方法
缓存层级适用场景推荐度底层 API缓存查询结果、计算结果⭐⭐⭐⭐⭐视图缓存匿名用户静态页面⭐⭐⭐模板片段局部动态内容⭐⭐⭐⭐站点缓存完全静态网站⭐⭐。
2025-11-14 14:27:12
726
原创 Centos环境中Django项目中gunicorn的配置和使用
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin #这个也很重要,检查有没有存在。export PATH=$path:/usr/local/python3/bin #新增的,添加gunicorn的目录位置。最后修改/etc/nginx/nginx.conf中的user root,权限问题。worker_tmp_dir = "/dev/shm" # 使用内存文件系统。
2025-11-14 09:13:28
710
原创 Django中QuerySet 的惰性加载
行为是否触发数据库查询❌ 否.filter()❌ 否list(qs)✅ 是qs.count()✅ 是(但只执行轻量查询)Django 的 QuerySet 惰性加载机制是其高效 ORM 的核心特性之一,合理利用可以显著优化 Web 应用性能。
2025-11-11 10:15:03
234
原创 django中request.GET.urlencode的使用
urlencode() 是 QueryDict 类的一个方法,它将查询参数编码为 URL 查询字符串格式,即 key1=value1&key2=value2 的形式。:request.GET 是一个类似字典的对象(QueryDict类型),用于访问 URL 查询字符串中的参数。:无需手动列出每个可能的筛选参数,urlencode() 会自动包含当前请求中的所有 GET 参数。:使用这个语法后,导出的数据会完全匹配用户当前看到的筛选结果,保证了用户体验的一致性。
2025-11-05 16:31:48
283
原创 什么是正向组合?
类型是否允许反向示例是否正向组合正向组合❌ 不允许化学+生物 ✅,生物+化学 ❌✅ 推荐所有排列✅ 允许化学+生物、生物+化学❌ 会重复自组合❌ 通常不允许化学+化学❌ 特殊情况才用✅正向组合 = 保持顺序 + 不回头 + 无重复如果你要做“三科组合”,比如化学+生物+思想政治['化学+生物+思想政治', '化学+生物+地理', '化学+思想政治+地理', '生物+思想政治+地理']依然是严格正向!
2025-10-24 08:08:36
239
原创 Redis安装
将redis-5.0.4.tar.gz上传至/home/(帐户名称)/soft。完全按照主节点流程,redis.conf配置文件修改,除以下两点,其它相同。启动顺序为先启动主节点,再启动从节点,每台节点分别运行,如下命令。进入/home/(帐户名称)/soft目录,创建配置文件中对应的目录。创建配置文件中对应的目录。所有节点哨兵配置相同。
2025-10-17 08:07:31
469
原创 document.getElementById(‘xxx‘) 获取到的 DOM 元素对象,有哪些常用属性?
data-*返回的是一个DOM 元素对象它像一个“遥控器”,通过它的属性读取/修改内容(控制状态(.checked.disabled改变样式(.style操作类名(.classList获取尺寸(它不是有属性,而是它返回的“元素”有属性。
2025-09-29 13:47:43
308
原创 ajax() 回调函数参数详解
回调函数第1个参数第2个参数第3个参数beforeSendxhrsettingssuccessdatatextStatusxhrerrorxhrtextStatuscompletexhrtextStatus$.ajax第1格永远放xhr第2格永远放settingstextStatus第3格放或xhr你不能说“我要第3格的东西”,然后只开一个格子——你开的第一个格子,永远是第1格。位置决定内容,名字只是标签。
2025-09-29 10:34:33
356
原创 ajax回调钩子的使用简介
回调触发条件是否可取消请求常见用途beforeSend发送前✅ 可通过取消设置头、验证、显示加载success成功(2xx)❌ 不可取消更新 UI、处理数据error失败(网络/4xx/5xx)❌ 不可取消错误提示、日志complete结束(成功或失败)❌ 不可取消隐藏加载、清理statusCode按状态码❌ 不可取消精细化错误处理。
2025-09-29 10:31:17
840
原创 ajax与jQuery是什么关系?
AJAX 是一种技术概念(异步通信),jQuery 是一个 JavaScript 库,它封装了 AJAX 操作,让使用更简单。AJAX是“打电话”这个行为jQuery 的$.ajax()是“智能手机的拨号APP”,让你拨号更快、更方便✅AJavaScriptandXML(异步 JavaScript 和 XML)🌐 它不是语言、不是库,而是一种技术思想“在不刷新页面的情况下,与服务器交换数据并更新部分网页内容”(原生浏览器 API)// 原生 AJAX(繁琐)xhr.send();
2025-09-26 16:02:07
1214
原创 JavaScript 和 jQuery 到底是什么关系?
jQuery 是 JavaScript 的一个“增强工具包”就像“智能手机” 和 “手机APP”的关系:JavaScript 是操作系统(基础能力),jQuery 是一个超级APP,让某些操作变得更简单。特性JavaScriptjQuery类型编程语言第三方库是否必须✅ 浏览器内置❌ 需手动引入语法动画需 CSS 或 requestAnimationFrame.fadeIn().slideUp()AJAXfetch()或$.ajax()$.get()$.post()链式调用。
2025-09-26 15:51:01
494
原创 jQuery中$.ajax方法怎么用?
问答$.ajax()是干什么的?发送异步请求,与服务器通信常用参数有哪些?urltypedatasuccesserror和$.post()有什么区别?$.ajax()更灵活,功能更全必须用 jQuery 吗?是的,这是 jQuery 的方法🎯一句话总结$.ajax()是前端与后端“悄悄对话”的工具,让你在不刷新页面的情况下,发送数据、获取结果、更新界面。
2025-09-25 18:37:36
481
原创 JavaScript中document.querySelectorAll用法
问题回答是页面查找吗?✅ 是的,它是 JavaScript 中最常用的页面元素查找方法之一它属于什么?DOM(文档对象模型)操作,是 JavaScript 操作网页的核心能力怎么用?传入一个 CSS 选择器字符串,比如.class#id等返回什么?一个包含所有匹配元素的列表(NodeList)中的All就表示“所有”,如果你只想找第一个,可以用。
2025-09-25 14:54:54
426
原创 什么是生成器表达式?
生成器表达式(Generator Expression)是一种内存高效的“惰性”数据生成方式,它不会立即创建整个列表,而是在需要时逐个产生值。“节省内存的列表推导式”。列表推导式:一创建就计算所有值,比如会立刻生成 100 万个数字并存入内存。生成器表达式:只在你“要取值的时候”才一个一个计算,用完就丢,不占内存。项目内容名称生成器表达式(Generator Expression)语法(表达式 for 变量 in 可迭代对象 if 条件)返回值生成器对象(generator)特点。
2025-09-24 20:42:54
405
原创 什么是三元表达式?
三元表达式(Ternary Operator)是一种简洁的语法,用于根据一个条件的真假,从两个值中选择一个。条件表达式(Conditional Expression)或内联 if(inline if)。项目内容名称三元表达式 / 条件表达式作用根据条件选择两个值中的一个语法值A if 条件 else 值B优点简洁、适合简单赋值缺点复杂逻辑会降低可读性使用场景变量赋值、默认值、简单判断🎯一句话记住:“如果条件成立就用 A,否则用 B” —— 三元表达式就是这句话的代码版。
2025-09-24 20:13:19
1022
原创 set集合与list列表的区别
问答set和list最大区别是什么?set无序、去重、查找快;list有序、可重复、支持索引什么时候用set?去重、成员检测、集合运算什么时候用list?保持顺序、允许重复、需要索引哪个查找更快?set远快于list。
2025-09-24 10:06:55
443
原创 slugify的使用
Slug是指:一段简洁、可读、只包含字母、数字、连字符()的短字符串,常用于 URL、文件名或数据库标识。slugify(text,max_length=50, # 最大长度separator='-', # 分隔符(可用 '_')lowercase=True, # 是否转小写word_boundary=False, # 是否只保留单词边界save_order=False # 是否保留原始顺序slugify。
2025-09-23 16:36:18
373
原创 requests的用法和属性
类别关键点请求方法getpostputdelete等常用参数paramsheadersjsondatatimeout响应属性.text.json().headers异常处理try-except捕获Timeout等高级用法Session保持会话状态requests库简洁、强大、易用,是 Python 爬虫、API 调用、自动化测试等场景的首选工具。
2025-09-23 10:56:42
779
原创 什么是推导式(Comprehension)
问题回答什么是推导式?一种用简洁语法快速创建列表、集合、字典或生成器的方式。推导式是 Python 的“语法糖”,能让代码更简洁、更易读,是 Python 开发者的必备技能。
2025-09-23 10:29:50
323
原创 request 的属性和方法
问题回答是什么意思?判断请求路径是否以某个字符串开头,是字符串方法,常用于中间件放行 API 或静态资源。request的一级属性下面还有属性吗?✅有!很多属性本身是“对象”或“字典”,它们有自己的属性和方法。比如等。如何理解这种“属性的属性”?把request当作一个容器,里面装的不只是值,还有“功能对象”(如 session、user、GET/POST),它们可以进一步展开使用。🧠建议:在开发时,可以使用print()或logging。
2025-09-19 08:51:59
184
原创 OA ⇄ CRM 单点登录(SSO)实现说明
3. OA 从自己的会话中取出用户名,拼装参数 `username|ts|nonce`,使用共享密钥 `SSO_SHARED_SECRET` 生成签名 `sig`,并重定向到 CRM 的 `/oa/sso/login/`。- URL:`oa/oa/urls.py` 添加 `path('crm/sso/redirect/', account.crm_sso_redirect, name='crm_sso_redirect')`<li><a href="/crm/sso/redirect/?
2025-09-18 19:36:06
424
原创 为什么用 $.post 而不用 $.ajax?
特性$.post$.ajax是否快捷方式✅ 是❌ 否是否支持.fail()✅ 支持✅ 支持是否可配置超时❌ 不直接支持✅ 支持代码简洁性✅ 高❌ 较啰嗦适用场景简单 POST 请求复杂请求内部实现调用$.ajax底层实现。
2025-09-17 14:59:24
882
原创 单点登录(SSO)协议与实现理论详解
sig | string | HMAC-SHA256签名 | "abc123..." |1. **安全性高**:使用 HMAC-SHA256 签名确保消息完整性。- **HMAC-SHA256 数字签名**:确保消息完整性和身份验证。- **共享密钥**:OA 和 CRM 系统预先配置相同的密钥。- **会话隔离**:使用不同的 Cookie 名称避免冲突。- **HMAC-SHA256**:业界标准的消息认证码算法。- **缓解**:使用 HTTPS 加密传输,签名验证完整性。
2025-09-10 08:44:12
966
原创 使用 Conda 安装 xinference[all](详细版)
pip install "xinference[all]" --no-deps # 跳过已安装的依赖。conda env create -f xinference_env.yaml # 从文件恢复。conda env export > xinference_env.yaml # 导出配置。conda --version # 应输出 conda 版本(如 24.1.2)# 创建名为 xinference_env 的环境,指定 Python 3.11。# 再安装 xinference[all]
2025-08-09 14:56:02
1196
原创 centos7.9 GCC4.8升级到9.3
更新 libstdc++ 动态库要升级libstdc++.so.6。把下载的libstdc++.so.6.0.26 cp 到 /usr/lib64/安装完成后,需要启用新版本的 GCC。# 更新lib libstdc++.so.6.0.26。# 替换系统中的/usr/lib64。1、安装 SCL 仓库。2、修改为阿里云的源。3、安装 gcc 9。
2025-08-08 08:46:54
459
原创 Odoo 18 的目录结构说明
├── odoo/ # Odoo 框架核心代码(Python 源码)├── custom_addons/ # (建议)存放自定义模块的目录(需手动创建)├── addons/ # 官方核心模块(如销售、采购、库存等)├── filestore/ # 文件存储(附件、图片等,自动生成)├── enterprise/ # (仅企业版)官方企业版私有模块。- 命令行工具(用于模块管理、数据库备份等)
2025-07-30 16:44:15
897
原创 gunicorn的部署和配置
python3 -m gunicorn --config gunicorn.conf.py 项目名.wsgi:application。worker_class = "sync" # Python 3.11的同步性能已经很好。export PATH=$path:/usr/local/python3/bin #新增的。最后修改/etc/nginx/nginx.conf中的user root,权限问题。worker_tmp_dir = "/dev/shm" # 使用内存文件系统。# 文件上传大小限制。
2025-07-15 10:20:14
984
原创 gunicorn: command not found的解决
export PATH=$PATH:/usr/local/bin # 临时生效。运行 Gunicorn,应该用普通用户 + Systemd 托管。如果 Python 是系统全局安装的,可能需要。)管理 Python 依赖,避免系统污染。安装了 Gunicorn,但仍然出现。直接调用 Python 模块,避免。命令,可以找到它的安装位置:bash。命令没有被添加到系统的。的安装路径并手动运行。(Windows)或。(但生产环境不建议用。:建议使用虚拟环境(
2025-07-15 09:50:23
435
原创 Dify 导航栏菜单角色权限控制实现详细总结
Dify智能体平台通过角色权限系统实现了导航菜单的动态展示。在app-context.tsx中定义了isCurrentWorkspaceEditor和isCurrentWorkspaceDatasetOperator等角色判断变量,在header/index.tsx中根据这些变量条件渲染"工作室"、"知识库"等菜单项。为防止URL越权访问,在路由页面组件内增加了自动跳转逻辑,并采用i18n实现国际化支持。该系统确保了owner/admin/editor能看到高级功能,
2025-06-24 13:04:03
808
原创 /var/lib/docker/overlay2目录过大怎么办
│ ├── merged/ # 联合挂载后的完整视图(容器运行时可见)│ ├── diff/ # 该层新增/修改的文件(如安装的软件)├── l/ # 硬链接目录(缩短长层ID的引用)├── <layer-id> # 镜像层或容器层目录(核心数据)│ └── lower # 指向父层(依赖的下层镜像)按层存储镜像的每一层内容(如基础系统、安装的软件、配置文件等)。
2025-06-23 17:22:55
845
【数据库技术】Redis常用命令手册:涵盖Key管理与五大数据类型操作指南
2025-10-17
搭建LVS集群实战负载均衡-随堂笔记.doc
2019-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅