Python猫 2024年07月09日
Python 潮流周刊#38:Django + Next.js 构建全栈项目
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本周刊分享优质的 Python、AI 及通用技术内容,涵盖全栈开发、性能优化、调试技巧、AI 绘画等领域。包括使用 Django 和 Next.js 构建全栈项目、用 Profila 分析 Numba 代码、Python datetime 标准库的陷阱、使用 Python 纠正语法、调试 Python 与 C 语言混合的项目等教程,以及 excelCPU、whenever、DeepSeek-Coder 等实用项目和资源。

**📚 文章&教程** - **全栈开发:** 本周刊分享了使用 Django 和 Next.js 构建全栈项目的教程,涵盖了餐厅菜单管理项目和仪表板项目的开发,并介绍了不同数据库的使用、表单筛选、Tailwind CSS 等技术。 - **性能优化:** 文章介绍了如何使用 Profila 库分析 Numba 代码的性能问题,并探讨了性能分析的局限性。 - **调试技巧:** 本周刊分享了 Python 调试技巧,包括调试思维、调试工具和技术,例如 snoop、pdb/ipdb、PuDB、web-pdb、birdseye、Kolo 等。 - **日期时间:** 文章分析了 Python datetime 标准库的 10 个陷阱,并介绍了主流的三方库情况,例如 arrow 、pendulum 、DateType、heliclockter 等。 - **语法纠正:** 文章介绍了使用 language-tool-python 、Gramformer 、Ginger 和 pyaspeller 4 个库来检查和自动纠正语法错误。 - **多语言调试:** 文章介绍了如何调试 Python 与 C 语言混合的项目,使用 GDB 来调试,定位和解决死锁问题。 - **动态规划:** 文章从常见编程问题出发,使用缓存、优化缓存、动态规划逐步深入,揭开动态规划的神秘面纱。 - **类型提示:** 文章探讨了什么时候应该避免使用类型提示,并列举了一些不推荐使用类型提示的原因。 - **LLM 运行:** 本周刊分享了在个人笔记本电脑上运行大语言模型的教程,介绍了在不同操作系统上运行 llama.cpp 的完整过程,包括选择和下载模型、提示词设置、使用 GBNF 语法格式化 LLM 输出、流式响应、多模态模型等。 - **语言解析器:** 本周刊介绍了如何使用 Python 和 Pylasu 实现语言解析器,并分享了相关的教程。

**📦 项目&资源** - **excelCPU:** 用 Excel 实现的 16 位 CPU 和相关文件,提供 16 位 CPU、16 个通用寄存器、128KB RAM 和 128x128 显示区域,使用 Python 进行编译。 - **whenever:** 万无一失的 Python 日期时间库,克服了标准库和其它三方库没有很好解决的一些问题。 - **DeepSeek-Coder:** 由一系列代码语言模型组成,每个模型都用 2T token 训练,提供多种型号尺寸,拥有高级代码补全能力。 - **fastcrud:** FastAPI 的异步 CRUD 操作,特性有:完全异步、SQLAlchemy 2.0、强大的 CRUD、动态构建复杂查询、高级 SQL 联结、基于偏移或光标的分页、模块化可扩展、自动生成接口。 - **leptonai:** 简化 AI 服务构建的 Pythonic 框架,让你轻松用 Python 代码构建 AI 服务。 - **gpt-newspaper:** 用 GPT 创建个性化报纸,由 6 个专业 agent 组成,支持搜索网络最新内容,聚合知名的新闻源。 - **apprise:** 纯 Python 开发的轻量型消息推送库,支持通过大多数服务发送通知,例如 Telegram、Discord、Slack、Amazon SNS、Gotify 等等等,支持短信、邮件、系统桌面等多种形式。 - **procrastinate:** 基于 PostgreSQL 的 Python 任务队列,提供 Django 集成,易于与 ASGI 框架一起使用。 - **flent:** 灵活的网络基准测试工具,可以同时运行多个 netperf/iperf/ping 实例并聚合结果,通过交互式 GUI 和可扩展的绘图功能展示数据。 - **urllib3:** 新版本支持在浏览器发起 HTTP 请求,支持在Pyodide 运行时中使用!后者是用在浏览器中的 Python 解释器,也是PyScript 和 Jupyterlite 框架的技术基础。 - **gnuplotlib:** 基于 gnuplot 的 numpy 绘图后端,将 Gnuplot 与 Numpy 结合,充分利用数据处理和绘图能力。 - **history_rag:** 用 RAG 搭建中国历史问答应用,支持“Milvus方案“(本地)和“Zilliz Cloud Pipelines方案”(云上),提供基于gradio的 Web UI 界面。默认使用 GPT4 模型,可轻松切换其它 LLM。

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。

?文章&教程

1、使用 Django、Django REST 和 Next.js 构建全栈项目
Django 和 Nextjs 是后端和前端开发中非常强大 Web 框架,这篇教程用 Django 4.2 和 Next.js 13 开发了一个餐厅菜单管理项目。Python 全栈项目的入门级教程。
2、使用 SQL、Node.js、Django 和 Next.js 构建仪表板项目
比上一则分享更为全面的 Python 全栈项目教程,除了实现 CURD 操作,还涉及仪表板、表单筛选、Tailwind CSS、不同数据库的使用,以及分别使用 Node.js 和 Django 构建后端等内容。
3、用 Profila 分析你的 Numba 代码
Numba 是提升 Python 代码性能的常见方案。作者开源了一个 Profila 库,专用于分析 Numba 代码本身的性能问题,文章介绍了它的使用方法,以及关于性能分析的三点局限性。
4、Python datetime 标准库的 10 个陷阱
作者分析了datetime 模块的 10 个陷阱,同时介绍了主流的三方库的情况(例如 arrowpendulumDateTypeheliclockter),发现它们大多存在同样的问题。什么样才是更好的日期时间库?作者开源了一个库,试图解决文中的问题。
5、使用 Python 纠正语法的 4 种方法
这里的“语法”指的是写作语法,不是编程语法。文章介绍了language-tool-pythonGramformerGingerpyaspeller 4 个库用于检查和自动纠正语法错误。
6、Python 调试技巧
这是作者在 2023 PyCon Sweden 演讲的文字版,分享了他的调试思维、调试工具和技术,工具例如snooppdb/ipdbPuDBweb-pdbbirdseyeKolo 等等。
7、调试 Python 与 C 语言混合的项目
调试很难,跨多语言调试更难。文章介绍了如何调试多语言问题,使用 GDB 来调试 Python+C 语言,定位和解决死锁问题,分享了一些调试的经验。
8、分析“使用 Python 和 2MB RAM 对一百万个 32 位整数进行排序”
Guido 在 2008 年写了 Sorting a million 32-bit integers in 2MB of RAM using Python ,这篇文章是对它作的分析解读。解决方案中用到了不太常见的模块:structarrayheapq ,也用了上下文管理器和生成器等技术。
9、使用 Python + Pylasu 实现语言解析器
如何用 Python 开发一个解析器?这篇教程用Pylasu 定义 AST,使用ANTLR 生成解析器,实现从 ANTLR 解析树到 Pylasu AST 的转换,最后构建出带 CLI 的玩具编程语言解析器。
10、动态规划不是黑魔法
动态规划什么编程技术?相比其它方案,它的特点和优势是什么?文章从常见编程问题出发,使用缓存、优化缓存、动态规划逐步深入,揭开动态规划的神秘面纱。
11、什么时候应避免静态类型检查?
Python 支持用类型提示,但这并不是强制的。事实上,有很多情况下并不建议使用类型提示。typing 模块的这篇文档列举了一些不推荐使用类型提示的原因。
12、实用指南:用 Python 运行开源的 LLM
在个人笔记本电脑上如何运行大语言模型?这篇教程介绍了在不同操作系统上运行llama.cpp 的完整过程,例如选择和下载模型、提示词设置、使用 GBNF 语法格式化 LLM 输出、流式响应、多模态模型等。
?Python潮流周刊?每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)

?️项目&资源

1、excelCPU:用 Excel 实现的 16 位 CPU 和相关文件
才发布一周就已近 3K star 的火爆项目!CPU.xlsx 文件提供了 16 位 CPU、16 个通用寄存器、128KB RAM 和 128x128 显示区域。使用 Python 进行编译。(star 3K)
2、whenever:万无一失的 Python 日期时间
前文提及过的日期时间库,克服了标准库和其它三方库没有很好解决的一些问题。
3、DeepSeek-Coder:让代码自己编写
它由一系列代码语言模型组成,每个模型都用 2T token 训练,提供多种型号尺寸,拥有高级代码补全能力,在各项基准测试中表现亮眼。(star 4.3K)
4、fastcrud:FastAPI 的异步 CRUD 操作
特性有:完全异步、SQLAlchemy 2.0、强大的 CRUD、动态构建复杂查询、高级 SQL 联结、基于偏移或光标的分页、模块化可扩展、自动生成接口。
5、leptonai:简化 AI 服务构建的 Pythonic 框架
让你轻松用 Python 代码构建 AI 服务,主要特性:良好的抽象、仅需几行代码即可启动模型、内置常见模型(如 Llama、SDXL、Whisper 等)的示例、自动批处理、后台任务等。(star 1.9K)
6、gpt-newspaper:用 GPT 创建个性化报纸
让 AI 根据你的个人品味和兴趣来策划选题、撰写、设计和编辑内容,由 6 个专业 agent 组成,支持搜索网络最新内容,聚合知名的新闻源。
7、apprise:几乎适用于所有平台的通知推送
纯 Python 开发的轻量型消息推送库,支持通过大多数服务发送通知,例如 Telegram、Discord、Slack、Amazon SNS、Gotify 等等等,支持短信、邮件、系统桌面等多种形式。(star 9.7K)
8、procrastinate:基于 PostgreSQL 的 Python 任务队列
一个基于 PostgreSQL 的分布式任务处理库,提供 Django 集成,易于与 ASGI 框架一起使用。支持异步、周期任务、重试、任意任务锁等功能。
9、flent:灵活的网络基准测试工具
它可以同时运行多个 netperf/iperf/ping 实例并聚合结果,通过交互式 GUI 和可扩展的绘图功能展示数据,支持本地和远程主机,支持采集 CPU 使用率、WiFi、qdisc 和 TCP 套接字统计信息等。
10、urllib3:新版本支持在浏览器发起 HTTP 请求
urllib3 发布了 2.2.0 版本,支持在Pyodide 运行时中使用!后者是用在浏览器中的 Python 解释器,也是PyScriptJupyterlite 框架的技术基础。这对 Python 的前端开发有重大作用,未来可期。
11、gnuplotlib:基于 gnuplot 的 numpy 绘图后端
Gnuplot 是一个强大的开源绘图工具,用于生成各种类型的二维和三维图表。这个项目将它与 Numpy 结合,充分利用数据处理和绘图能力。
12、history_rag:用 RAG 搭建中国历史问答应用
RAG(检索增强生成)+向量数据库搭建一个中国历史知识问答应用,支持“Milvus方案“(本地)和“Zilliz Cloud Pipelines方案”(云上),提供基于gradio的 Web UI 界面。默认使用 GPT4 模型,可轻松切换其它 LLM。

?赠书福利

不定期的福利活动,本期赠书 5 本《AI 绘画实战:Midjourney从新手到高手》,开奖时间 2 月 10 日(春节)。请给 Python猫公众号发送数字“8038”,获取抽奖小程序码。
这本书介绍了 Midjourney 绘画的各种使用方法与技巧,从基础理论到实战应用,一本书轻松玩转当下最火的 AI 绘画,带你领略无限艺术可能。

?欢迎订阅

本周刊已持续连载一年,更新内容接近 11 万字。希望周刊能成为你高质量的信息筛选器,成为你开阔视野的一扇明窗。目前已开通付费专栏,欢迎你来订阅:https://xiaobot.net/p/python_weekly

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python AI 全栈开发 性能优化 调试技巧 AI 绘画 Django Next.js Numba datetime 语法纠正 多语言调试 动态规划 类型提示 LLM 语言解析器 excelCPU whenever DeepSeek-Coder fastcrud leptonai gpt-newspaper apprise procrastinate flent urllib3 gnuplotlib history_rag
相关文章