博客主页 所有文章 标签 技术支持 关于我
img

jacinli

Python / Web

jacinli

blog

Welcome


  • 博客主页
  • 所有文章
  • 标签
  • 技术支持
  • 关于我
  1. python 搜索模块解析

    (Module Resolution / sys.path 搜索机制)介绍当你运行:python a.pyPython 会依次在以下路径中查找模块:✅ 查找顺序是  sys.pathimport sysprint(sys.path)[ '', # 当前工作目录(或脚本目录) '/your/project/path', # 执行时添加的路径(如 PYTHONPATH) '/usr/local/lib/python3.x/site-pa...…

    2025-04-28
    python
    阅读全文 »

  2. cdn是什么?

    内容分发网络,Content Delivery Network介绍 CDN(Content Delivery Network)是一种将内容分发到靠近用户的边缘服务器,以加速访问速度、减少延迟、降低源站压力的网络系统。CDN 把网站的静态资源(如 HTML、JS、CSS、图片、视频等)缓存在全球各地的边缘节点服务器上,用户访问内容时,不再请求源站服务器,而是就近从边缘节点获取资源,实现更快加载。 图片、视频、CSS、JS、网页 文件下载、直播流媒体、API 返回结果(某些场景下) ...…

    2025-04-23
    网络
    阅读全文 »

  3. 邮件协议、签名与推送

    协议 协议 全称 作用 方向 端口 是否仍常用 SMTP Simple Mail Transfer Protocol 发送邮件 客户端 ➜ 邮件服务器;服务器 ➜ 服务器 25 / 465(SSL)/ 587(STARTTLS) ✅ 非常常用 POP3 Post Office Protocol v3 ...…

    2025-04-17
    工具使用
    阅读全文 »

  4. cloudfare+gmail 配置 smtp 邮箱

    这里介绍有一个域名后,不需要服务器,就可以实现 cloudfare+ gmail 的 邮箱收发。为什么还需要 gmail 的 smtp 功能,因为 cloudfare 默认只是对 email 进行转发,就是只能收邮件而不能发送邮件,故使用 gmail 的功能来进行代理 发送。标准的“发信 Gmail + 收信 Cloudflare Email Routing”配置,非常适合个人域名使用【因为可以有 200 个名称】!!!! 收信:Cloudflare MX 接收 + 转发 发信:Gma...…

    2025-04-16
    工具使用
    阅读全文 »

  5. rtmp 协议解析 1

    介绍📖 什么是 RTMP?RTMP协议(Real-Time Messaging Protocol,实时消息传输协议)是由Adobe公司(最初由Macromedia开发)设计的一种用于实时传输音频、视频和数据流的网络协议,主要用于直播和流媒体传输,最初是为了让 Flash Player 和 Flash Media Server 之间进行音视频和数据的实时传输。现在虽然 Flash 被淘汰了,但 RTMP 这个协议因为其简单、低延迟、稳定的特点,依然在直播领域广泛应用,比如 OBS 推流、斗鱼...…

    2025-04-07
    音视频
    阅读全文 »

  6. Git Flow 分支模型

    经典分支模型(Git Flow)由 Vincent Driessen 提出的 Git Flow 模型,是管理 main(或 master)和 dev 分支的经典方案: main 用于生产发布,保持稳定; dev 用于日常开发,合并功能分支(feature/*); 功能开发在 feature 分支进行,完成后合并回 dev; 预发布分支(release/*)用于测试,测试完成合并到 main 和 dev; 紧急修复分支(hotfix/*)从 main 拉出,修复后合并回 m...…

    2025-04-04
    Git
    阅读全文 »

  7. FastAPI-MCP

    介绍开源地址: https://github.com/tadata-org/fastapi_mcpFastAPI-MCP 是一个开源项目,旨在简化 FastAPI 应用与现代 AI 代理(如基于大语言模型的系统)之间的集成。它通过自动将 FastAPI 的所有 API 端点暴露为符合 Model Context Protocol(MCP)标准的工具,使得 AI 代理能够直接调用和理解这些接口,整个过程无需额外配置,极大地降低了开发者的集成难度。主要功能 零配置自动化:无需手动配置,Fas...…

    2025-04-01
    AI
    阅读全文 »

  8. Autogen参数说明

    UserProxyAgent用户user_proxy = UserProxyAgent配置说明:# 构造参数def __init__( self, name: str, is_termination_msg: Optional[Callable[[Dict], bool]] = None, max_consecutive_auto_reply: Optional[int] = None, human_input_mode: Literal["ALWAYS", ...…

    2025-03-28
    AI
    阅读全文 »

  9. Macbook配置开发环境

    博主是一名Python后端开发,有时候环境太多 需要配置太多,故做此文章环境Macbook ,请注意自己的是ARM 还是x86 结构Vscode/Cursor配置Python debug配置Debuglaunch.json{ "version": "0.2.0", "configurations": [ { "name": "Python: FastAPI", "type": "debugpy", ...…

    2025-03-24
    python
    阅读全文 »

  10. 点击劫持

    介绍🔐 什么是点击劫持(Clickjacking)?是一种攻击方式,攻击者在自己的网页中用 <iframe> 偷偷嵌入你的网站,然后诱导用户点击,从而在你的网站上执行操作。举个例子:• 你的网站是银行后台:https://bank.com/transfer• 攻击者在自己的页面里偷偷这样写:<iframe src="https://bank.com/transfer" style="opacity: 0; position: absolute; z-index: 999;...…

    2025-03-21
    网络
    阅读全文 »

  11. 跨站请求

    介绍跨站请求(Cross-Site Request)通常是指浏览器在访问一个网站时,向另一个域名的网站发送请求的行为。这个概念在 Web 安全中非常重要,尤其是在涉及到“跨站请求伪造(CSRF)”和“跨域资源共享(CORS)”时。✅ 原理: 用户登录了网站 A(比如网银),获得了身份 Cookie; 恶意网站 B 引导用户访问一个看不见的表单或图片链接; 浏览器默认会自动携带 Cookie 发起请求; 网站 A 接收到请求,并以为是用户主...…

    2025-03-20
    网络
    阅读全文 »

  12. 数据库预热

    介绍Database Warm-up🧠 一句话理解数据库是在应用启动阶段,提前建立数据库连接 或 执行轻量 SQL 操作,从而 加快首个请求的响应速度 的一种优化手段🎯 为什么需要数据库预热?当 FastAPI 或其他 Web 服务刚启动时:• 你虽然配置了数据库连接池(比如 SQLAlchemy、asyncpg);• 但其实它 并不会立即创建数据库连接;• 第一个真实的请求进来时,才会懒加载连接;• 这个首次 handshake 连接建立 + TLS 认证等操作,可能耗时 几百毫秒甚至几...…

    2025-03-16
    数据库
    阅读全文 »

  13. Python装饰器使用

    介绍🧠 什么是 Python 装饰器?装饰器(Decorator) 是一个函数,它可以在不修改原函数代码的前提下,增强或修改函数的行为。本质上,装饰器就是“函数的函数”。它常用于:• 代码复用(比如日志、性能统计、权限校验)• AOP 编程思想(面向切面编程)💡 常见应用场景 日志记录 性能测试 权限验证 缓存(如 LRU 缓存) 重试机制 Flask、Django 等框架中的路由注册、权限控制等 🧰 Pyt...…

    2025-03-15
    python
    阅读全文 »

  14. CORS与OPTIONS请求

    CORS🔥 什么是 CORS(跨域资源共享)? 跨域不是后端的问题,是浏览器出于安全策略主动拦截✅ 关键点:Access-Control-Allow-Origin 是谁给谁的?• 是后端响应头里给前端浏览器的• 告诉浏览器:✅ “我允许你这个来源访问我”• 如果没有这个头,或者值不对 —— 浏览器直接拦截,前端 JS 连响应内容都拿不到!🧠 浏览器执行流程: 🧾 浏览器发现请求是跨域的(不同域、端口、协议) 🔍 发起一个预检请求(OPTIONS 方法,只有复杂请求...…

    2025-03-10
    网络
    阅读全文 »

  15. Catch-All 路由

    介绍✅ 什么是 Catch-All 路由? Catch-All 路由 指的是:一个能匹配“任意路径”的通配型路由。它一般会使用 路径参数 path 类型,比如:@app.get("/{full_path:path}")async def fallback_handler(full_path: str): return {"msg": f"You visited: {full_path}"}这个 / 开头的 /{full_path:path},意思是:• 匹配任何以 / 开头的请求;...…

    2025-03-07
    接口设计
    阅读全文 »

  16. 5G-A技术

    最近的iOS 18.4 推送了 新功能,最引人注目的便是这个5G-A的这个功能,那什么是5G-A呢 ?目前北京 四环内 还是有能显示出5G-A标志的。5G-A🌐 一句话概括: 5G-A = 更快的速度 + 更低的延迟 + 更强的AI能力 + 更智能的网络✅ 5GA 是什么?5GA(5G Advanced)是 3GPP(全球通信标准组织)在Release 18中定义的5G演进技术标准,相较于当前的5G网络,5GA带来了更强的性能与智能化能力,主要体现在:📶 性能增强:• 速度更快:峰值下载...…

    2025-03-05
    网络
    阅读全文 »

  17. APScheduler解析

    异步IO 定时(协程)import asyncioimport loggingfrom apscheduler.schedulers.asyncio import AsyncIOSchedulerfrom apscheduler.triggers.cron import CronTriggerlogging.basicConfig(level=logging.INFO)logger = logging.getLogger(__name__)class ScheduleService: ...…

    2025-03-03
    python
    阅读全文 »

  18. 定时任务(python)

    介绍🧩 什么是“定时任务”?定时任务,就是按照设定的时间间隔或时间点自动执行某些操作。比如:• 每天早上8点发通知• 每隔10秒采集一次数据• 每小时清理一次缓存相关使用✅ 最简单的方式:while True + time.sleep()import timedef job(): print("执行任务")while True: job() time.sleep(10) # 每10秒执行一次✅ 优点:• 写法简单,不需要任何依赖• 控制力强❌ 缺点:• 会阻塞当前线程•...…

    2025-03-02
    python
    阅读全文 »

  19. 单例模式

    介绍✅ 一、什么是单例模式? 一个类在整个程序运行过程中,只能被创建一次实例,且这个实例是全局共享的。✅ 二、为什么要用单例模式?适用于那些:• 系统中只应该有一个实例存在的对象• 该对象需要被多个地方共享使用(比如:配置类、数据库连接池、线程池、缓存、日志器)相关模式实现⭐ 方式一:最经典的懒汉式(线程不安全)只有在第一次调用时才创建实例,之前不初始化。class Singleton: _instance = None def __new__(cls): if...…

    2025-03-01
    设计模式
    阅读全文 »

  20. 接口等幂处理

    介绍✅ 什么是等幂(Idempotency)? 等幂 无论这个操作被执行多少次,结果都是一样的,不会因为多次执行而产生副作用。通俗一点说:“点一次和点一百次,效果是一样的。”✅ 在接口中,什么是等幂操作?在 Web / API 开发中,一个 等幂操作的接口,意味着客户端(用户、服务、浏览器)多次请求同一个接口,结果不变,也不会影响系统的状态或数据重复修改。 操作 等幂性 原因 GET /user/123 ...…

    2025-02-26
    接口设计
    阅读全文 »


← 最近 2 / 4 更早 →
  • RSS

Copyright © jacinli 2025 Theme by leopardpan |

本站总访问量 次