Python 潮流周刊#38:Django + Next.js 构建全栈项目

△△请给“Python猫”加星标 ,以免错过文章推送

1992e42c43ce01add77f2494586a0cce.jpeg

你好,我是猫哥。这里每周分享优质的 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 个陷阱,同时介绍了主流的三方库的情况(例如 arrowpendulumDateTypeheliclockter),发现它们大多存在同样的问题。什么样才是更好的日期时间库?作者开源了一个库,试图解决文中的问题。

5、使用 Python 纠正语法的 4 种方法[8]

这里的“语法”指的是写作语法,不是编程语法。文章介绍了language-tool-pythonGramformerGingerpyaspeller 4 个库用于检查和自动纠正语法错误。

6、Python 调试技巧[9]

这是作者在 2023 PyCon Sweden 演讲的文字版,分享了他的调试思维、调试工具和技术,工具例如snooppdb/ipdbPuDBweb-pdbbirdseyeKolo 等等。

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] ,这篇文章是对它作的分析解读。解决方案中用到了不太常见的模块:structarrayheapq ,也用了上下文管理器和生成器等技术。

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)

17e6266ff3eaf99e7d72f66e687d3408.png

与其它模型的基准测试评分对比

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 套接字统计信息等。

4568025d3720cda81d0b85bdcdcd505c.png

10、urllib3:新版本支持在浏览器发起 HTTP 请求[27]

urllib3 发布了 2.2.0 版本,支持在Pyodide 运行时中使用!后者是用在浏览器中的 Python 解释器,也是PyScriptJupyterlite 框架的技术基础。这对 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 绘画,带你领略无限艺术可能。

9a39284a5e13ff27922124f54b57ea88.png

🐼欢迎订阅

  • 微信公众号[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

4459d4378b61007c5e4bd1db10f7bc55.gif

如果你觉得本文有帮助

请慷慨分享点赞,感谢啦

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/668730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源软件全景解析:驱动技术创新与行业革新的力量

目录 什么是开源 开源的核心 开源软件的特点 为什么程序员应该拥抱开源 1.学习机会: 2.社区支持: 3.提高职业竞争力: 4.加速开发过程: 5.贡献和回馈: 开源软件的影响力 开源软件多元分析: 开源…

蓝桥杯刷题day06——平均

1、题目描述 有一个长度为n 的数组(n 是 10 的倍数),每个数ai都是区间 [0,9] 中的整数。 小明发现数组里每种数出现的次数不太平均,而更改第i 个数的代价为bi, 他想更改若干个数的值使得这10 种数出现的次数相等&…

YOLOv8改进 | 检测头篇 | 重参数化检测头RepHead解决困难样本检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是RepHead,该检测头为我独家全网首发,该检测头由重参数化模块组成,加大对于特征学习的能力,却可以不增加GFLOPs(仅仅略微提升)从而不影响模型的推理速度和性能,保持较高的FPS能力,牺牲了少量GFLOPs的情况下确提高了模型的特征提…

LeetCode--代码详解 292.Nim游戏

292.Nim游戏 题目 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。你们轮流进行自己的回合, 你作为先手 。每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写…

(2)(2.13) Rockblock Satellite Modem

文章目录 前言 1 支持的MAVLink命令信息 2 设置 3 使用方法 4 数据成本 5 参数 前言 !Note 该功能仅适用于 ArduPilot 4.4 或更高版本,并且要求飞行控制器支持 LUA 脚本(LUA Scripts)。 RockBLOCK 卫星调制解调器可实现与 ArduPilot 飞行器的全球…

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式 基础(持续更新~)

具体操作: day2: 作用: 出现跨域问题 配相对应进行配置即可解决: IDEA连接的,在url最后加参数?useSSLfalse注意链接密码是123(docker中mysql密码) 注意,虚拟机中设置的密码和ip要和主机上…

专业排版设计软件:QuarkXPress 2024 for mac中文激活版

QuarkXPress 2024 for Mac是一款功能强大、易于使用、高质量输出的专业排版软件。无论您是出版业的专家还是初学者,都可以通过QuarkXPress 2024轻松创建出令人惊叹的出版物。 软件下载:QuarkXPress 2024 for mac中文激活版下载 QuarkXPress 2023 for Mac…

Unity3d Cinemachine篇(完)— TargetGroup

文章目录 前言使用TargetGroup追随多个模型1. 创建二个游戏物体2. 创建TargetGroup相机3. 设置相机4. 完成 前言 上一期我们简单的使用了ClearShot相机,这次我们来使用一下TargetGroup 使用TargetGroup追随多个模型 1. 创建二个游戏物体 2. 创建TargetGroup相机 3…

vue 下载二进制文件

文章目录 概要技术细节 概要 vue 下载后端返回的二进制文件流 技术细节 import axios from "axios"; const baseUrl process.env.VUE_APP_BASE_API; //downLoadPdf("/pdf/download?pdfName" res .pdf, res); export function downLoadPdf(str, fil…

react-virtualized实现行元素不等高的虚拟列表滚动

前言: 当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。 需求:通过虚拟加载,优化页面渲染速度 优点&#xff1…

rust嵌入式开发之RTICvsEmbassy

RTIC和Embassy是目前rust嵌入式开发中比较热门的两个框架。本来呢,针对RTIC的移植已经完成了一小半,但在移植过程中感受到了RTIC的不足,正好跳出来全面考察下embassy,本文就是根据目前的尝试结果做个对比总结。 RTIC和Embassy是两…

Codeforces Round 651 (Div. 2)C. Number Game 博弈 奇偶数 偶数的表示

Submission #244500083 - Codeforces 题目: 思路: 此题要从奇偶性上入手。(注意除的是奇因数,即一个奇数。我想成质数了) 1.当A选手开局是1时,A败。 2.当A选手开局是2和奇数时,A必胜。&…

Golang context 万字解析实现原理

Golang:context基于go1.21版本 Context 是什么Context 的功能应用场景源码分析1.10 Context核心结构1.1Err错误2 .1 emptyCtx 3.1 Background() 和 TODO()4.1.1 cancelCtx4.1.2 Deadline 方法4.1.2 Done 方法4.1.2 Err 方法4.1.2 Value 方法 4.2 WithCancel() 和 Wi…

vue2 el-table新增行内删除行内(两种写法)里面第一个是树组件,第二个是数字组件,第一个数组件只能勾选最后一个节点

第一种 <template><div class"time_table"><div style"margin-bottom: 10px"><el-button click"addRowFn">新增</el-button></div><el-form ref"costForm" :model"formData">&l…

备战蓝桥杯---搜索(剪枝)

何为剪枝&#xff0c;就是减少搜索树的大小。 它有什么作用呢&#xff1f; 1.改变搜索顺序。 2.最优化剪枝。 3.可行性剪枝。 首先&#xff0c;单纯的广搜是无法实现的&#xff0c;因为它存在来回跳的情况来拖时间。 于是我们可以用DFS&#xff0c;那我们如何剪枝呢&#…

Http请求Cookie失效问题

Http请求Cookie失效问题记录 一、问题现象 在开发功能的过程中&#xff0c;业务依赖cookie进行取之&#xff0c;项目进行交互时会对前端http请求携带的cookies进行解析操作&#xff0c;但在自测调试对过程中出现账户的授权失效的报错问题。 二、问题排查 用arthas进行代码方…

React16源码: React中event事件监听绑定的源码实现

event事件监听 1 &#xff09;概述 在 react-dom 代码初始化的时候&#xff0c;去注入了平台相关的事件插件接下去在react的更新过程绑定了事件的操作&#xff0c;在执行到 completeWork 的时候对于 HostComponent 会一开始就先去执行了 finalizeInitialChildren 这个方法位置…

鸿蒙应用/元服务开发-窗口(Stage模型)设置悬浮窗

一、设置悬浮窗说明 悬浮窗可以在已有的任务基础上&#xff0c;创建一个始终在前台显示的窗口。即使创建悬浮窗的任务退至后台&#xff0c;悬浮窗仍然可以在前台显示。通常悬浮窗位于所有应用窗口之上&#xff1b;开发者可以创建悬浮窗&#xff0c;并对悬浮窗进行属性设置等操…

使用网关过滤器,根据业务规则实现微服务动态路由

文章目录 业务场景拦截器实现Spring Cloud Gateway介绍 业务场景 我们服务使用Spring Cloud微服务架构&#xff0c;使用Spring Cloud Gateway 作为网关&#xff0c;使用 Spring Cloud OpenFeign 作为服务间通信方式作为网关&#xff0c;主要作用是鉴权与路由转发。大多数应用场…

3d网上虚拟现实展厅让汽车零部件厂商脱颖而出

在这个信息爆炸的时代&#xff0c;如何让自己的产品在众多竞争者中脱颖而出?让我们为您揭示一个秘密武器——汽车线上3D云展示软件。 想象一下&#xff0c;一辆外观炫酷、性能卓越的红色汽车&#xff0c;通过这款3D云展示软件&#xff0c;呈现在潜在客户的眼前。那流线型的车身…