Python 潮流周刊#38:Django + Next.js 构建全栈项目
△△请给“Python猫”加星标 ,以免错过文章推送
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,欢迎关注。
提醒:本期有赠书活动,详见文末;春节期间,本周刊预计停更一周,祝大家春节快乐!
🦄文章&教程
1、使用 Django、Django REST 和 Next.js 构建全栈项目[3]
Django 和 Nextjs 是后端和前端开发中非常强大 Web 框架,这篇教程用 Django 4.2 和 Next.js 13 开发了一个餐厅菜单管理项目。
2、使用 SQL、Node.js、Django 和 Next.js 构建仪表板项目[4]
比上一则分享更为全面的全栈项目教程,除了实现 CURD 操作,还涉及仪表板、表单筛选、Tailwind CSS、不同数据库的使用,以及分别使用 Node.js 和 Django 构建后端等内容。
3、用 Profila 分析你的 Numba 代码[5]
Numba 是提升 Python 代码性能的常见方案。作者开源了一个 Profila[6] 库,专用于分析 Numba 代码本身的性能问题,文章介绍了它的使用方法,以及关于性能分析的三点局限性。
4、Python datetime 标准库的 10 个陷阱[7]
作者分析了datetime
模块的 10 个陷阱,同时介绍了主流的三方库的情况(例如 arrow
、pendulum
、DateType
、heliclockter
),发现它们大多存在同样的问题。什么样才是更好的日期时间库?作者开源了一个库,试图解决文中的问题。
5、使用 Python 纠正语法的 4 种方法[8]
这里的“语法”指的是写作语法,不是编程语法。文章介绍了language-tool-python
、Gramformer
、Ginger
和 pyaspeller
4 个库用于检查和自动纠正语法错误。
6、Python 调试技巧[9]
这是作者在 2023 PyCon Sweden 演讲的文字版,分享了他的调试思维、调试工具和技术,工具例如snoop
、pdb/ipdb
、PuDB
、web-pdb
、birdseye
、Kolo
等等。
7、调试 Python 与 C 语言混合的项目[10]
调试很难,跨多语言调试更难。文章介绍了如何调试多语言问题,使用 GDB 来调试 Python+C 语言,定位和解决死锁问题,分享了一些调试的经验。
8、分析“使用 Python 和 2MB RAM 对一百万个 32 位整数进行排序”[11]
Guido 在 2008 年写了 Sorting a million 32-bit integers in 2MB of RAM using Python[12] ,这篇文章是对它作的分析解读。解决方案中用到了不太常见的模块:struct
、array
、heapq
,也用了上下文管理器和生成器等技术。
9、使用 Python + Pylasu 实现语言解析器[13]
如何用 Python 开发一个解析器?这篇教程用Pylasu
定义 AST,使用ANTLR
生成解析器,实现从 ANTLR 解析树到 Pylasu AST 的转换,最后构建出带 CLI 的玩具编程语言解析器。
10、动态规划不是黑魔法[14]
动态规划什么编程技术?相比其它方案,它的特点和优势是什么?文章从常见编程问题出发,使用缓存、优化缓存、动态规划逐步深入,揭开动态规划的神秘面纱。
11、什么时候应避免静态类型检查?[15]
Python 支持用类型提示,但这并不是强制的。事实上,有很多情况下并不建议使用类型提示。typing
模块的这篇文档列举了一些不推荐使用类型提示的原因。
12、实用指南:用 Python 运行开源的 LLM[16]
在个人笔记本电脑上如何运行大语言模型?这篇教程介绍了在不同操作系统上运行llama.cpp
的完整过程,例如选择和下载模型、提示词设置、使用 GBNF 语法格式化 LLM 输出、流式响应、多模态模型等。
🎁Python潮流周刊🎁每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)[17]
🐿️项目&资源
1、excelCPU:用 Excel 实现的 16 位 CPU 和相关文件[18]
才发布一周就已近 3K star 的火爆项目!CPU.xlsx
文件提供了 16 位 CPU、16 个通用寄存器、128KB RAM 和 128x128 显示区域。使用 Python 进行编译。(star 3K)
2、whenever:万无一失的 Python 日期时间[19]
前文提及过的日期时间库,克服了标准库和其它三方库没有很好解决的一些问题。
3、DeepSeek-Coder:让代码自己编写[20]
它由一系列代码语言模型组成,每个模型都用 2T token 训练,提供多种型号尺寸,拥有高级代码补全能力,在各项基准测试中表现亮眼。(star 4.3K)

与其它模型的基准测试评分对比
4、fastcrud:FastAPI 的异步 CRUD 操作[21]
特性有:完全异步、SQLAlchemy 2.0、强大的 CRUD、动态构建复杂查询、高级 SQL 联结、基于偏移或光标的分页、模块化可扩展、自动生成接口。
5、leptonai:简化 AI 服务构建的 Pythonic 框架[22]
让你轻松用 Python 代码构建 AI 服务,主要特性:良好的抽象、仅需几行代码即可启动模型、内置常见模型(如 Llama、SDXL、Whisper 等)的示例、自动批处理、后台任务等。(star 1.9K)
6、gpt-newspaper:用 GPT 创建个性化报纸[23]
让 AI 根据你的个人品味和兴趣来策划选题、撰写、设计和编辑内容,由 6 个专业 agent 组成,支持搜索网络最新内容,聚合知名的新闻源。
7、apprise:几乎适用于所有平台的通知推送[24]
纯 Python 开发的轻量型消息推送库,支持通过大多数服务发送通知,例如 Telegram、Discord、Slack、Amazon SNS、Gotify 等等等,支持短信、邮件、系统桌面等多种形式。(star 9.7K)
8、procrastinate:基于 PostgreSQL 的 Python 任务队列[25]
一个基于 PostgreSQL 的分布式任务处理库,提供 Django 集成,易于与 ASGI 框架一起使用。支持异步、周期任务、重试、任意任务锁等功能。
9、flent:灵活的网络基准测试工具[26]
它可以同时运行多个 netperf/iperf/ping 实例并聚合结果,通过交互式 GUI 和可扩展的绘图功能展示数据,支持本地和远程主机,支持采集 CPU 使用率、WiFi、qdisc 和 TCP 套接字统计信息等。
10、urllib3:新版本支持在浏览器发起 HTTP 请求[27]
urllib3
发布了 2.2.0 版本,支持在Pyodide
运行时中使用!后者是用在浏览器中的 Python 解释器,也是PyScript
和 Jupyterlite
框架的技术基础。这对 Python 的前端开发有重大作用,未来可期。
11、gnuplotlib:基于 gnuplot 的 numpy 绘图后端[28]
Gnuplot
是一个强大的开源绘图工具,用于生成各种类型的二维和三维图表。这个项目将它与 Numpy 结合,充分利用数据处理和绘图能力。
12、history_rag:用 RAG 搭建中国历史问答应用[29]
RAG(检索增强生成)+向量数据库搭建一个中国历史知识问答应用,支持“Milvus方案“(本地)和“Zilliz Cloud Pipelines方案”(云上),提供基于gradio
的 Web UI 界面。默认使用 GPT4 模型,可轻松切换其它 LLM。
🐢赠书福利
不定期的福利活动,本期赠书 5 本《AI 绘画实战:Midjourney从新手到高手》,开奖时间 2 月 10 日(春节)。请给 Python猫公众号发送数字“8038”,获取抽奖小程序码。
这本书介绍了 Midjourney 绘画的各种使用方法与技巧,从基础理论到实战应用,一本书轻松玩转当下最火的 AI 绘画,带你领略无限艺术可能。
🐼欢迎订阅
-
微信公众号[30]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
-
博客[31] 及 RSS[32]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
-
邮件[33] 及 RSS[34]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
-
Github[35]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
-
Telegram[36]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
-
Twitter[37]:我的关注列表里有大量 Python 相关的开发者与组织的账号。
参考资料
[1]
投稿: https://github.com/chinesehuazhou/python-weekly
[2]
电报频道: https://t.me/pythontrendingweekly
[3]
使用 Django、Django REST 和 Next.js 构建全栈项目: https://dev.to/koladev/building-a-fullstack-application-with-django-django-rest-nextjs-3e26
[4]
使用 SQL、Node.js、Django 和 Next.js 构建仪表板项目: https://dev.to/andrewbaisden/a-day-in-the-life-of-a-developer-building-a-dashboard-app-with-sql-nodejs-django-and-nextjs-5en7
[5]
用 Profila 分析你的 Numba 代码: https://pythonspeed.com/articles/numba-profiling/
[6]
Profila: https://github.com/pythonspeed/profila
[7]
Python datetime 标准库的 10 个陷阱: https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/
[8]
使用 Python 纠正语法的 4 种方法: https://www.listendata.com/2024/01/4-ways-to-correct-grammar-with-python.html
[9]
Python 调试技巧: https://www.syntaxerror.tech/syntax-error-11-debugging-python/
[10]
调试 Python 与 C 语言混合的项目: https://developer.nvidia.com/blog/debugging-mixed-python-and-c-language-stack/
[11]
分析“使用 Python 和 2MB RAM 对一百万个 32 位整数进行排序”: https://www.bitecode.dev/p/analyzing-sorting-a-million-32-bit
[12]
Sorting a million 32-bit integers in 2MB of RAM using Python: http://neopythonic.blogspot.com/2008/10/sorting-million-32-bit-integers-in-2mb.html
[13]
使用 Python + Pylasu 实现语言解析器: https://tomassetti.me/implement-parsers-with-pylasu/
[14]
动态规划不是黑魔法: https://qsantos.fr/2024/01/04/dynamic-programming-is-not-black-magic/
[15]
什么时候应避免静态类型检查?: https://typing.readthedocs.io/en/latest/source/typing_anti_pitch.html
[16]
实用指南:用 Python 运行开源的 LLM: https://christophergs.com/blog/running-open-source-llms-in-python
[17]
Python 潮流周刊第一季精华合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly
[18]
excelCPU:用 Excel 实现的 16 位 CPU 和相关文件: https://github.com/InkboxSoftware/excelCPU
[19]
whenever:万无一失的 Python 日期时间: https://github.com/ariebovenberg/whenever
[20]
DeepSeek-Coder:让代码自己编写: https://github.com/deepseek-ai/deepseek-coder/
[21]
fastcrud:FastAPI 的异步 CRUD 操作: https://github.com/igorbenav/fastcrud
[22]
leptonai:简化 AI 服务构建的 Pythonic 框架: https://github.com/leptonai/leptonai
[23]
gpt-newspaper:用 GPT 创建个性化报纸: https://github.com/assafelovic/gpt-newspaper
[24]
apprise:几乎适用于所有平台的通知推送: https://github.com/caronc/apprise
[25]
procrastinate:基于 PostgreSQL 的 Python 任务队列: https://github.com/procrastinate-org/procrastinate
[26]
flent:灵活的网络基准测试工具: https://github.com/tohojo/flent
[27]
urllib3:新版本支持在浏览器发起 HTTP 请求: https://github.com/urllib3/urllib3/releases/tag/2.2.0
[28]
gnuplotlib:基于 gnuplot 的 numpy 绘图后端: https://github.com/dkogan/gnuplotlib
[29]
history_rag:用 RAG 搭建中国历史问答应用: https://github.com/wxywb/history_rag
[30]
微信公众号: https://img.pythoncat.top/python_cat.jpg
[31]
博客: https://pythoncat.top
[32]
RSS: https://pythoncat.top/rss.xml
[33]
邮件: https://pythoncat.substack.com
[34]
RSS: https://pythoncat.substack.com/feed
[35]
Github: https://github.com/chinesehuazhou/python-weekly
[36]
Telegram: https://t.me/pythontrendingweekly
[37]
Twitter: https://twitter.com/chinesehuazhou
如果你觉得本文有帮助
请慷慨分享和点赞,感谢啦!
相关文章:

Python 潮流周刊#38:Django + Next.js 构建全栈项目
△△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,…...

Jenkins升级后,构建任务配置界面重复错位
最近我把公司的Jenkins服务升级到了最新版本,升级完成后,点了一下构建任务,发现能够构建成功,就以为顺利完成升级了,下班走了,结果第二天,进入构建任务配置界面发现,界面一团乱麻&am…...
Python基础学习 -07 运算符
Python 运算符 运算符用于对变量和值执行操作。 Python 在以下组中划分运算符: 算术运算符赋值运算符比较运算符逻辑运算符身份运算符成员运算符位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算: 运算符名称实例加x y-…...
Nim游戏
文章目录 题目描述输入格式输出格式 结论程序代码 题目描述 给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问…...
Pytorch: torch.linspace等间隔数值函数
torch.linspace 是 PyTorch 提供的一个用于生成等间隔数值的函数。具体而言,torch.linspace 会在指定的区间内生成指定数量的等间隔数值。 torch.linspace(start, end, steps100, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#x…...
【C++】案例:数列求和 与 条件筛选
1.数列求和 题目: 设计一个程序,要求对数列2471116……n的前n项求和, 例如输入3,输出13; 输入6,输出62。 答案: #include <iostream>int main() {int n;std::cout << "请输入一个正…...

问题:下列哪些属于历史文化资源的特征( ). #学习方法#学习方法
问题:下列哪些属于历史文化资源的特征( ). A、稀缺性 B、脆弱性 C、可再生性 D、多样性 参考答案如图所示...

大数据 - Spark系列《四》- Spark分布式运行原理
Spark系列文章: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 🍠…...

Java使用规范
1.关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中的所有字母都是小写 2.保留字 java保留字:现有Java版本尚未使用,但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…...
Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录
Debian11系统默认没有安装SSH服务,如需要开启远程登录则需要安装相应的服务。 确保你已经登录到Debian系统,并具有root用户或sudo特权。 打开终端,并使用以下命令安装OpenSSH服务器软件包: sudo apt update sudo apt install ope…...
Linux下对线程的理解(上)
1、线程的概念 要理解线程首先要理解页表和进程地址空间,我是这样子理解的,1、进程地址空间是进程访问资源的窗口。2、页表是规定进程地址空间中哪些属于进程。3、合理的使用进程地址空间页表可以对资源进行划分。而如何理解进程呢?进程是接受…...

【蓝桥杯】环形链表的约瑟夫问题
目录 题目描述: 输入描述: 输出描述: 示例1 解法一(C): 解法二(Cpp): 正文开始: 题目描述: 据说著名犹太历史学家 Josephus 有过以下故事&a…...
深度学习本科课程 实验1 Pytorch基本操作
一、Pytorch基本操作考察 1.1 任务内容 使用 𝐓𝐞𝐧𝐬𝐨𝐫 初始化一个 𝟏𝟑 的矩阵 𝑴 和一个 𝟐𝟏 的矩阵 𝑵,对两矩阵…...

大数据分析|设计大数据分析的三个阶段
文献来源:Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接:链接:https://pan.baidu.com/s/1…...

华为机考入门python3--(7)牛客7-取近似值
分类:数字 知识点: str转float float(str) 向上取整 math.ceil(float_num) 向下取整 math.floor(float_num) 题目来自【牛客】 import math def round_to_int(float_num): # 如果小数点后的数值大于等于0.5,则向上取整…...
C# Avalonia 11.0.6 绘图
在 Avalonia 11.0.6 中,Render 方法是被标记为 sealed 的,意味着不能直接在子类中重写这个方法。这样的设计可能是为了确保一致性和避免误用。 如果你需要在 Avalonia 中进行自定义的绘图操作,可以使用 DrawingContext,但是需要通…...

使用java -jar命令运行jar包提示“错误:找不到或无法加载主类“的问题分析
用maven把普通java项目打包成可运行的jar后,打开cmd用java -jar运行此jar包时报错: 用idea运行该项目则没有问题 。 其实原因很简单,我们忽略了2个细节。 java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定的目录中寻找的。我…...

Tomcat组件架构与数据流
一、背景与简介 Tomcat我们都知道是一个开源的、实现了大部分Java EE、Servlet、JSP规范的Servlet容器, 允许我们将实现了Serlvet接口的Web程序war包进行部署运行。 但是你有对Tomcat做过细致的学习么? 我相信大部分同学和我一样,之前也是只会进行简单使用&#x…...

AES算法:数据传输的安全保障
在当今数字化时代,数据安全成为了一个非常重要的问题。随着互联网的普及和信息技术的发展,我们需要一种可靠的加密算法来保护我们的敏感数据。Advanced Encryption Standard(AES)算法应运而生。本文将介绍AES算法的优缺点、解决了…...

前端小案例——动态导航栏文字(HTML + CSS, 附源码)
一、前言 实现功能: 这案例是一个具有动态效果的导航栏。导航栏的样式设置了一个灰色的背景,并使用flex布局在水平方向上平均分配了四个选项。每个选项都是一个li元素,包含一个文本和一个横向的下划线。 当鼠标悬停在选项上时,选项的文本颜色…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
Android多媒体——音/视频数据播放(十八)
在媒体数据完成解码并准备好之后,播放流程便进入了最终的呈现阶段。为了确保音视频内容能够顺利输出,系统需要首先对相应的播放设备进行初始化。只有在设备初始化成功后,才能真正开始音视频的同步渲染与播放。这一过程不仅影响播放的启动速度,也直接关系到播放的稳定性和用…...

STM32CubeMX-H7-19-ESP8266通信(中)--单片机控制ESP8266实现TCP地址通信
前言 上篇文章我们已经能够使用串口助手实现esp8266的几种通信,接下来我们使用单片机控制实现。这篇文章会附带教程,增加.c和,.h,把串口和定时器放到对应的编号,然后调用初始化就可以使用了。 先讲解,然后末尾再放源码…...
C#调用Rust动态链接库DLL的案例
C#调用Rust动态链接库DLL的案例 项目概述 这是一个演示C#调用Rust动态链接库DLL的项目,包含: C#主程序 (Program.cs)Rust动态链接库 (rust_to_csharp目录) 使用C#创建一个net9的控制台项目,不使用顶级语句 dotnet new console --framewo…...
【Unity】R3 CSharp 响应式编程 - 使用篇(二)
一、通用的事件监听用法 using System;using R3;using UnityEngine;namespace Aladdin.Standard.Observable.Common{public class CommonObservable : MonoBehaviour{// 默认会调用1次public SerializableReactiveProperty<int> serializableReactiveProperty;…...

模块缝合-把A模块换成B模块(没写完)
把MLP Head替换为KAN 1.在model文件下新建一个python文件 2.把 模块文件里的整个KAN代码复制到新的python文件中 3.在开头导入 from model.KAN(新建文件名) import KAN(新建文件中的类名) 4.sys.path.append(r"D: Icode(Kansformer"…...