Python 潮流周刊#14:Lpython 高性能编译器、Python 与 JavaScript 实现互通
△点击上方“Python猫”关注 ,回复“1”领取电子书
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,本期分享的全部是英文材料。(标题取自其中两则分享,不代表全部内容都是该主题,特此声明。)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
周刊已开通 Telegram 频道,欢迎加入:https://t.me/pythontrendingweekly
🦄文章&教程
1、LPython:新颖、高性能、适用于多平台的 Python 编译器[1]
最新发布的一个Python 编译器(当前为 alpha 版本),目标是打造高性能的 Python。可以将带有类型提示的 Python 代码编译为优化的机器代码,支持提前编译(AOT)与即时编译(JIT),支持与 CPython 互操作,支持多种后端,例如 LLVM、C、C++、WASM、Julia 和 x86。
2、Cython 3.0.0 的文档[2]
Cython 是一门专用于提升 Python 性能的编程语言,最近从 0.29.x 版本直接升到了 3.0.0 版本,带来了大量的问题修复以及新特性,这份 changelog 文档非常丰富。(附一篇详解历时五年的 Cython3.0 都发生了哪些变化 ,总结了这个版本的几项较大的变化点。)
3、Python 中使用 Pandas 和 NumPy 计算变异系数[3]
变异系数(Coefficient of Variation,CoV)是一种统计量,用于评估数据集相对于其均值的相对变异性或离散程度。文章介绍了变异系数的公式、解释、意义和实际用途,以及如何用 Pandas 和 Numpy 来计算变异系数。
4、Jupyter 中的生成式 AI[4]
Jupyter Notebook 也支持 AI 功能了,目前免费提供。官博这篇教程指导了如何在聊天界面使用 Jupyter AI 完成各项任务。支持来自 AI21、Anthropic、AWS、Cohere、HuggingFace Hub 和 OpenAI 的大语言模型。
5、Python 中的结构化模式匹配[5]
Python 3.10 版本的模式匹配语法,你用过了么?这篇文章探究了这种语法的相关要素(基本结构、每种模式的演示),也思考了是否真必要用模式匹配语法替换elif
。
6、使用 Rich 的 Inspect 查看 Python 对象属性[6]
Rich 是一个在终端使用富文本和美观样式的库(本期周刊的“项目&资源”中有介绍),这篇文章介绍了它的 inspect() 函数,可以查看 Python 对象的属性以及可用的 API。

7、Python 包版本控制的怪癖[7]
一个冷门话题,讨论了 Python 包的版本号。我才知道 Python 包版本命名竟有 6 个组成部分!文章大部分内容是对 PEP-440(版本标识和依赖规范)[8] 的介绍与解读,最后也介绍到了 Wheel 包的版本命名规则。
8、文件 I/O 并发编程的模式[9]
使用并发编程来提升文件 I/O 操作的性能,具体有哪些使用手段呢?文章介绍了四种模式(单线程、线程池/进程池、批处理任务、在进程池中使用线程池),并讨论了该如何选择更合适的模式。
9、如何高效地阅读 Python 代码?[10]
对于所有程序员来说,阅读代码都是一项必备能力。但是,如何高效地阅读与理解别人的代码呢?这篇文章介绍了一些阅读策略与技巧,同时站在阅读者的视角,也有助于我们写出更具可读性、可理解性的代码。
10、如何在 Python 中用 JPype 与 Pyjnius 调用 Java 代码?[11]
Java 和 Python 各有优点,如何能将它们结合起来呢?这篇文章介绍了如何用 JPype 和 Pyjnius 等方式来调用 Java,同时指出实现方案所面临的挑战和限制。
11、如何在 Python 中调用 JavaScript 代码?[12]
文章介绍了 PythonMonkey[13] 库的用法,实现在 Python 中加载与运行 JavaScript 代码,以及在 Python 中使用 WASM。(附作者的其它文章:使用 WebAssembly 在 Python 中执行 Rust 代码[14] 、使用 WebAssembly 在 Python 中调用 C 函数[15])
12、使用 Textual 构建 ChatGPT TUI 应用程序[16]
本期周刊有好几则内容与 Textual[17] 相关!与图形用户界面(GUI)相比,文本用户界面(TUI)响应更快、系统要求更低和更易自动化。这篇文章使用 Textual 构建了一个 ChatGPT 对话工具。
13、Python 中的向量数据库入门[18]
如何在 Python 中使用当前热门的向量数据库呢?这篇文章介绍了使用 10 多种数据库来索引及搜索向量数据,包括 ClickHouse、OpenSearch、pgVector、Pinecone、Redis 等等。
14、CPython 的编译过程是怎样的?[19]
CPython 是 Python 官方的解释器实现,这篇长文介绍了它的编译过程,包括语法解析、抽象语法树、字节码、pyc 解析等内容。
15、介绍新开源的 Python 调试器 pdbp (Pdb+)![20]
作者指出了 Python 内置的 pdb 与其它调试器(如 ipdb、pdbpp)的缺点,介绍了他开发的 pdbp 所作的修复和改进,以及简单的入门使用。这个库依赖项很少,功能强大,值得一试。
🎁Python潮流周刊🎁已免费发布了 14 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly[21]
🐿️项目&资源
1、PyFlo:一个很有趣的 Python 入门教学网站[22]
这个网站非常惊艳,推荐大家去体验下!主页是一幅学习线路图,画了不同的学习分支和内容分类,还有几个编程项目挑战,点击每个节点则跳转到对应内容的页面。(借鉴此网站的创意,开发面向中文读者的教学网站,应该会挺有趣)

2、Pandas Tutor:可视化 Pandas 执行过程的网站[23]
你或许已知道 Python Tutor[24],它是一个提供了在线交互式 Python 编程环境的教学工具。这里介绍的 Pandas Tutor 也是类似的网站,它允许在浏览器中编写 Pandas 代码,并可视化数据的转换过程。(附一篇文章,两位作者介绍了他们将 Pandas Tutor 移植到 Pyodide [25] 的工作,以便大规模推广数据科学的教学)
3、ploomber-sql:使用 SQL 和 Jupyter 开发端到端的应用[26]
这是托管在 Read The Docs 上的一个教学课程,介绍了如何使用 SQL 和 Jupyter 作数据分析,包含操作数据库、高级查询技术、数据可视化(seaborn、plotly、ggplot)、项目打包部署与监控等章节。它出自于开源项目 ploomber[27] (star 3.1K),后者是一个快速构建数据管道的项目。
4、memray:Python 的内存分析器[28]
这是周刊第 12 期[29]介绍过的 pystack 的姊妹项目,可以跟踪 Python 代码、C/C++ 扩展模块和 Python 解释器本身中的内存分配,支持本机模式与实时查看模式,可生成多种类型的报告。提供了 Pytest 插件 pytest-memray[30],可以在运行测试套后查看内存报告。(star 11K)
5、textual-paint:终端中的 MS Paint[31]
MS Paint 是微软公司开发的一款简单的图像编辑软件。这个项目是 MS Paint 风格的 TUI 图像编辑器,支持在终端中打开与保存图像、MS Paint 中的所有工具、调色板、画笔预览等等功能。
6、rich:在终端中提供富文本和美观的样式[32]
Rich 让终端不再单调,可以绘制漂亮的表格、进度条、markdown、源代码语法高亮以及栈回溯信息等。(star 44.2K)下面这张效果图,囊括了它的主要特色:
7、json-lineage:支持解析大型 JSON 文件的工具[33]
这是用 Rust 开发的 JSON 解析库,主要解决大文件无法加载到内存的痛点,通过将 JSON 转化成 JSONL 格式,解决内存消耗问题。测试表明,处理一个 500MB 文件,Python 标准库要用 2GB 内存,但这个库仅需 1.5MB,而且速度差异很小。
8、PythonMonkey:嵌入到 Python VM 中的 JavaScript 引擎[34]
前文已出现过 PythonMonkey,它将 Mozilla 的 SpiderMonkey JavaScript 引擎嵌入到 Python 虚拟机中,利用Python 引擎提供 JS 主机环境。这个项目的目标包括在 Python 中调用 JavaScript 库和在 JavaScript 中调用 Python 库,如果能有效打通这两种语言的生态,前途不可估量!
9、cudf:GPU 数据帧库[35]
cuDF 基于 Apache Arrow 列式内存格式构建,是一个 GPU DataFrame 库,用于加载、连接、聚合、过滤和以其它方式操作数据。提供了类似 pandas 的 API,无需了解 CUDA 编程的细节。(star 5.8K)
10、distill-sd:更小更快的 Stable Diffusion[36]
对 Stable Diffusion 作“知识蒸馏”后的小型化版本,可生成与 SD 质量相当的图像,同时速度更快、空间占用更少。
11、HQTrack:高质量追踪视频中的任何事物[37]
一个对视频中对象作高性能跟踪和分割的框架,由视频多目标分割器(VMOS)和掩模优化器(MR)组成,可以同时跟踪多个目标物体并输出准确的物体掩模。
12、awesome-mlops:很棒的 MLOps 工具精选列表[38]
一个 awesome 系列的 MLOps 精选列表,包含各种各样的项目/工具,以及文章、书籍、活动、播客和网站等等资源。
🐢播客&视频
1、Talk Python To Me #425:终极的 Python 内存分析器 Memray[39]
本期的“项目&资源”介绍了 Memray,这里的播客节目邀请了两位嘉宾深入聊了这个项目。
🐱赞助&支持
如果你觉得周刊有价值,请随意赞赏[40] 或 买杯咖啡[41] 进行支持!
如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~
🐼欢迎订阅
微信公众号[42]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
博客[43] 及 RSS[44]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
Github[45]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
邮件[46]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
Telegram[47]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
Twitter[48]:我的关注列表里有大量 Python 相关的开发者与组织的账号。
参考资料
[1]
LPython:新颖、高性能、适用于多平台的 Python 编译器: https://lpython.org/blog/2023/07/lpython-novel-fast-retargetable-python-compiler/
[2]Cython 3.0.0 的文档: https://cython.readthedocs.io/en/latest/src/changes.html
[3]Python 中使用 Pandas 和 NumPy 计算变异系数: https://www.marsja.se/coefficient-of-variation-in-python-with-pandas-numpy/
[4]Jupyter 中的生成式 AI: https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862
[5]Python 中的结构化模式匹配: https://www.tartley.com/posts/structured-pattern-matching-in-python/
[6]使用 Rich 的 Inspect 查看 Python 对象属性: https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/
[7]Python 包版本控制的怪癖: https://sethmlarson.dev/pep-440
[8]PEP-440(版本标识和依赖规范): https://peps.python.org/pep-0440/
[9]文件 I/O 并发编程的模式: https://superfastpython.com/file-io-concurrent-patterns/
[10]如何高效地阅读 Python 代码?: https://mostlypython.substack.com/p/reading-code?nthPub=581
[11]如何在 Python 中用 JPype 与 Pyjnius 调用 Java 代码?: https://www.askpython.com/python/examples/call-java-using-python
[12]如何在 Python 中调用 JavaScript 代码?: https://dev.to/willp/call-javascript-code-in-python-551a
[13]PythonMonkey: https://github.com/Distributive-Network/PythonMonkey
[14]使用 WebAssembly 在 Python 中执行 Rust 代码: https://medium.com/@willkantorpringle/executing-rust-in-python-using-webassembly-d361eb5583da
[15]使用 WebAssembly 在 Python 中调用 C 函数: https://medium.com/@willkantorpringle/calling-c-function-from-python-using-webassembly-63a305248951
[16]使用 Textual 构建 ChatGPT TUI 应用程序: https://chaoticengineer.hashnode.dev/textual-and-chatgpt
[17]Textual: https://github.com/Textualize/textual
[18]Python 中的向量数据库入门: https://code.dblock.org/2023/06/16/getting-started-with-vector-dbs-in-python.html
[19]CPython 的编译过程是怎样的?: https://dev.to/cwprogram/a-tour-of-cpython-compilation-cd5
[20]介绍新开源的 Python 调试器 pdbp (Pdb+)!: https://dev.to/mintzworld/the-new-pdbp-pdb-python-debugger-2blc
[21]https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly
[22]PyFlo:一个很有趣的 Python 入门教学网站: https://pyflo.net/
[23]Pandas Tutor:可视化 Pandas 执行过程的网站: https://pandastutor.com/
[24]Python Tutor: https://pythontutor.com/
[25]Pandas Tutor 移植到 Pyodide : https://blog.pyodide.org/posts/pandastutor/
[26]ploomber-sql:使用 SQL 和 Jupyter 开发端到端的应用: https://ploomber-sql.readthedocs.io/en/latest/index.html
[27]ploomber: https://github.com/ploomber/ploomber
[28]memray:Python 的内存分析器: https://github.com/bloomberg/memray
[29]第 12 期: https://pythoncat.top/posts/2023-07-22-weekly
[30]pytest-memray: https://github.com/bloomberg/pytest-memray
[31]textual-paint:终端中的 MS Paint: https://github.com/1j01/textual-paint
[32]rich:在终端中提供富文本和美观的样式: https://github.com/Textualize/rich
[33]json-lineage:支持解析大型 JSON 文件的工具: https://github.com/Salaah01/json-lineage
[34]PythonMonkey:嵌入到 Python VM 中的 JavaScript 引擎: https://github.com/Distributive-Network/PythonMonkey
[35]cudf:GPU 数据帧库: https://github.com/rapidsai/cudf
[36]distill-sd:更小更快的 Stable Diffusion: https://github.com/segmind/distill-sd
[37]HQTrack:高质量追踪视频中的任何事物: https://github.com/jiawen-zhu/HQTrack
[38]awesome-mlops:很棒的 MLOps 工具精选列表: https://github.com/kelvins/awesome-mlops
[39]Talk Python To Me #425:终极的 Python 内存分析器 Memray: https://talkpython.fm/episodes/show/425/memray-the-endgame-python-memory-profiler
[40]赞赏: https://img.pythoncat.top/wechat_code.png
[41]买杯咖啡: https://www.buymeacoffee.com/pythoncat
[42]微信公众号: https://img.pythoncat.top/python_cat.jpg
[43]博客: https://pythoncat.top
[44]RSS: https://pythoncat.top/rss.xml
[45]Github: https://github.com/chinesehuazhou/python-weekly
[46]邮件: https://pythoncat.substack.com
[47]Telegram: https://t.me/pythontrendingweekly
[48]Twitter: https://twitter.com/chinesehuazhou
如果你觉得本文有帮助
请慷慨分享和点赞,感谢啦!
相关文章:

Python 潮流周刊#14:Lpython 高性能编译器、Python 与 JavaScript 实现互通
△点击上方“Python猫”关注 ,回复“1”领取电子书 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,本期分享的全部是英文材料。(标题取自其中两则分享,不代表全部内容都是该主题,特此声明。…...

JVM深入 —— JVM的体系架构
前言 能否真正理解JVM的底层实现原理是进阶Java技术的必由之路,Java通过JVM虚拟机的设计使得Java的延拓性更好,平台无关性是其同时兼顾移动端和服务器端开发的重要特性。在本篇文章中,荔枝将会仔细梳理JVM的体系架构和理论知识,希…...

dialog => :before-close的属性应用
在element-ui里面关闭弹窗的时候before-close会触发。 也就是点击X的时候回触发before-close这个属性, 代码实例: <el-dialogtitle"新增用户":visible.sync"dialogVisible"width"50%":before-close"handleClose"> handleClose…...

<van-empty description=““ /> 滚动条bug
使用 <van-empty description"" /> 时,图片出现了个滚动条,图片可以上下滑动。 代码如下: <block wx:if"{{courseList.length < 0}}"><van-empty description"" /> </block> <…...
使用swiper实现图片轮播功能
swiper中文官网地址:在这里 官网介绍:Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。 按照使用方法下载指定版本的swiper文件; 需要用到的文件有swiper-bundle.js和swiper-bundle.css文件,还需要引入map文件,不然会有警告提示; 准备工作:…...

Qt应用开发(基础篇)——时间类 QDateTime、QDate、QTime
一、前言 时间类QDateTime、QDate、QTime、QTimeZone保存了Qt的时间、日期、时区信息,常用的时间类部件都会用到这些数据结构,常用概念有年、月、日、时、分、秒、毫秒和时区,时间和时区就关系到时间戳和UTC的概念。 UTC时间,又称…...

Modbus TCP转Profinet网关modbus tcp转以太网
大家好,今天我们来聊一聊如何使用捷米特的Profinet转modbusTCP协议转换网关在博图上进行非透传型配置。 1, 首先,我们需要安装捷米特JM-TCP-PN的GSD文件,并根据现场设备情况配置modbusTCP地址。然后,在博图中添加该GSD文件&#x…...
笔记 | P4387 【深基15.习9】验证栈序列 题解
题解 问题描述 给出两个序列 pushed 和 poped,分别表示入栈和出栈操作的顺序。我们需要判断给定的出栈序列是否可能对应于给定的入栈序列。如果可能,则输出 “Yes”;否则,输出 “No”。 解题思路 读取输入:读取询问…...
PyTorch中nn-XXX与F-XXX的区别
nn.XXX与F.XXX PyTorch中torch.nn**(以下简写为nn)中的模块和torch.nn.functional(以下简写为F)**中的模块都提供了常用的神经网络操作,包括激活函数、损失函数、池化操作等。它们的主要区别如下: nn中的…...

zookeeper集群和kafka的相关概念就部署
目录 一、Zookeeper概述 1、Zookeeper 定义 2、Zookeeper 工作机制 3、Zookeeper 特点 4、Zookeeper 数据结构 5、Zookeeper 应用场景 (1)统一命名服务 (2)统一配置管理 (3)统一集群管理 (4&a…...

第4集丨Vue 江湖 —— 计算属性
目录 一、基本使用1.1 在computed中定义1.1.1 案例1.1.2 控制台调用getter1.1.3 控制台中的data和computed 1.2 缓存效果1.3 完整写法1.3.1 案例1.3.2 效果图 1.4 简写形式 二、案例的其他实现2.1 methods实现2.2 插值语法实现 三、体会计算属性的好处3.1 复杂任务时3.2 使用计…...

Docker 容器化学习
文章目录 前言Docker架构 1、 docker安装2、启动docker服务3、设置docker随机器一起启动4、docker体验5、docker常规命令5.1、容器操作docker [run|start|stop|restart|kill|rm|pause|unpause]docker [ps|inspect|exec|logs|export|import] 5.2、镜像操作docker images|rmi|tag…...

springboot第34集:ES 搜索,nginx
#用search after解决深分页性能问题 #第一页 GET /bank/_search {"size": 10,"sort": [{"account_number": {"order": "asc"}}] }#第二页 GET /bank/_search {"size": 10,"sort": [{"account_numb…...

微信小程序中的分包使用介绍
一、分包的好处 可以优化小程序首次启动的下载时间 在多团队共同开发时可以更好的解耦协作 主包:放置默认启动页面/TabBar 页面,公共资源/JS 脚本 分包:根据开发者的配置进行划分 限制:所有分包大小不超过 20M,单…...

【云原生】K8S二进制搭建二:部署CNI网络组件
目录 一、K8S提供三大接口1.1容器运行时接口CRI1.2云原生网络接口CNI1.3云原生存储接口CSI 二、Flannel网络插件2.1K8S中Pod网络通信2.2Overlay Network2.3VXLAN2.4Flannel 三、Flannel udp 模式的工作原理3.1ETCD 之 Flannel 提供说明 四、vxlan 模式4.1Flannel vxlan 模式的工…...
【iOS】—— 离屏渲染
文章目录 离屏渲染UIView和CALayer关系GPU屏幕渲染有两种方式:产生离屏渲染的原因:既然离屏渲染这么耗性能,为什么有这套机制呢?什么情况会离屏渲染?既然离屏渲染这么不好,为什么我们还要强制开启呢?如何避免离屏渲染?…...

基于人工智能的中医图像分类系统设计与实现
华佗AI 《支持中医,永远传承古老文化》 本存储库包含一个针对中药的人工智能图像分类系统。该项目的目标是通过输入图像准确识别和分类各种中草药和成分。 个人授权许可证 版权所有 2023至2050特此授予任何获得华佗AI应用程序(以下简称“软件”)副本的人免费许可,可根据以…...

spring security + oauth2 使用RedisTokenStore 以json格式存储
1.项目架构 2.自己对 TokenStore 的 redis实现 package com.enterprise.auth.config;import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis…...

css position: sticky;实现上下粘性布局,中间区域滚动
sticky主要解决的问题 1、使用absolute和fixed中间区域需要定义高度2、使用absolute和fixed底部需要写padding-bottom 避免列表被遮挡住一部分(底部是浮窗的时候,需要动态的现实隐藏) <!DOCTYPE html> <html lang"en"&…...

解密HTTP代理爬虫中的IP代理选择与管理策略
在当今数据驱动的世界中,HTTP代理爬虫作为一项重要的数据采集工具,其成功与否往往取决于IP代理的选择与管理策略。作为一家专业的HTTP代理产品供应商,我们深知IP代理在数据采集中的重要性。在本文中,我们将分享一些关于HTTP代理爬…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...