浏览器并发数量限制

一. 前言

事情是这样的, 为了测试fastapi的并发请求处理, 写了简单的前端脚本测试

{
    console.time('total');
    const urls = Array(4).fill('http://127.0.0.1:8000/test'),
    tasks = urls.map(url => fetch(url).then(r => r.json()).then(data => data));
    await Promise.allSettled(tasks);
    console.timeEnd('total');
}

http://127.0.0.1:8000/test, 在服务器端, 设置每个请求需要等待1秒.

阅读全文 »

MySQL Connector的问题

一. 前言

python中操作MySQL的包有很多, 以下是相对常见的.

库名称 扩展功能 适用场景
PyMySQL 基础连接池 通用中小型项目
mysql-connector 官方支持/事务管理 需要官方驱动保障的场景
mysqlclient 高性能 C 扩展 对性能要求极高的 OLTP 系统
SQLAlchemy ORM/多数据库支持 复杂业务逻辑/需要快速开发的项目
DBUtils 连接池管理 高并发数据库访问优化
阅读全文 »

Python和JavaScript的异步

一. 前言

一般而言, 对于并发, 这是很多人编程道路上一道比较难跨过的坎.

并发编程常见的问题:

  • 竞态(Race, 即不同的进程/线程访问同一个内存地址上的变量)
  • 代码复杂度的增加
  • 资源的管理
  • 调试困难

python中提供了三种并发方式:

  • 多进程(thread)
  • 多线程(process)
  • 协程(异步, async)
阅读全文 »

关于Serverless搭建静态博客的折腾

一. 前言

Gridea静态个人博客的搭建 | Lian中对于如何使用gridea配合GitHub pages搭建serverless静态博客进行简单的介绍, 但和各种博主或者up主介绍的各种花里胡哨的文章或者视频一样, 只说了如何怎么做, 但是关键的很多的细节基本没有提及, 当然还有更多的问题没有提及.

1.1 前提

本文仅讨论的是免费, 傻瓜式的个人静态博客搭建, 对于自行租赁服务器和使用大量命令行实现, 暂不在讨论的范围.

阅读全文 »

Python序列化操作

一. 前言

在使用sklearnCalifornia_housing数据集进行测试时发现数据无法下载.

from sklearn.datasets import fetch_california_housing

housing = fetch_california_housing(download_if_missing=True)
urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed>
阅读全文 »

浙大deepseek - "大先生"页面逆向

本文仅作为web安全的记录, 为了避免侵犯浙大的权益, 所有涉及crash的代码都会进行打码处理, 也不会给出具体的crash代码.

浙大的服务器已经做升级, 在登陆请求时会同时返回一个model token, 这个token作为请求数据时的检验, 所以已经无法通过伪造信息的方式实现对话.

相关代码将完全放出, 仅作为学习交流使用.

阅读全文 »

Python HTTP请求库系列

一. 前言

国之大事, 在祀与戎.

python大事, 在爬虫与ai.

HTTPX

pythonHTTP的请求第三方包颇多, 最近玩了一下的niquests后发现自己已经用过了好几个类似的, 以下对主要的进行简单整理.

阅读全文 »