这款神器,能把 Python 代码执行过程看地一清二楚 (mp.weixin.qq.com)

【简介】

对于一些刚入门 Python 的朋友来说,代码稍微复杂些就难以搞懂代码内部到底是怎么运行的了,而且有时一运行就报错,难以一下发现错误,只会用 Print 去慢慢找异常的地方,效率很低下。

点击查看原文 >>

@code小生 2020-05-18 13:36 / 0个评论
赞过的人: @code小生
要不要再学学下面的文章?
以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
HTTPS通信过程分析 (l1n.wang)
为什么需要HTTPS?HTTP缺点: 1. 明文传输; 2.C/S两端不存在验证机制,无法确认对方身份,可能存在中间人攻击。
by @技术头条 2024-01-17 23:09 查看详情
团队管理过程的信息不对称 (hiwannz.com)
聊聊那些在工作中常见的“信息不对称”。虽然这个名词几乎每个人都听到过,但实际上我觉得还是可以按照“人员,角色,岗位”三个维度拆分成 5 种不同的信息不对称区别。
by @技术头条 2023-11-29 23:49 查看详情
记录一下当年把 FreeBSD 中 zlib 砍到只剩一份的过程 (blog.delphij.net)
软件项目中,实现同一功能的源代码只保留一份是一项十分重要的最佳实践,这种做法可以带来许多显而易见的好处。

FreeBSD 是一个有相当长历史的项目,而 zlib 是一个很常用的库,并且当时在整个系统中有多处不同的副本,因此我们希望这个迁移的过程尽可能平滑而尽量不要直接导致整个项目无法联编,或是需要长时间禁用某些模块的情况。
by @技术头条 2023-10-24 23:52 查看详情
代码变更风险可视化系统建设与实践 (tech.meituan.com)
本文整理自美团技术沙龙第77期《美团亿级流量系统的质量风险防控和稳定性治理实践》。文章第一部分介绍了软件系统风险与变更;第二部分介绍了代码变更风险可视化系统的能力建设;第三部分介绍了整个系统在美团内部实践落地的情况;最后是对未来的规划和展望。希望对大家能有所帮助或启发。
by @技术头条 2023-10-24 23:48 查看详情
Python源码剖析:深度探索Cpython对象 (www.52nlp.cn)
Python是一门备受推崇的脚本语言,以其简单的语法和全面的功能而著称,可快速实现各种业务。本文从 CPython 对象构造器入手,介绍了浮点数对象在 CPython 底层数据结构中的表现形式以及对象创建的过程。通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。
by @技术头条 2023-07-23 11:28 查看详情
低代码,想说爱你不容易 (blog.yuanpei.me)
当我了解了低代码和零代码的差异以后,我突然明白,我需要的其实是零代码,因为我希望那帮业务人员能自己搞定,这样就不用再来烦我,可经历这段时间的“低代码”,我清醒地认识到,这个想法根本不现实。
by @技术头条 2023-07-04 23:24 查看详情
聊一聊:Python和Golang的垃圾回收 (yance.wiki)
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。
by @技术头条 2023-07-04 23:14 查看详情
AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具 (soulteary.com)
本篇文章聊聊如何使用 GPT 快速完成一个开源小项目,解决实际的问题,顺手点亮 GitHub 上 Nginx 开源社区的贡献者图标。“Talk is Cheap,Show you the Code。
by @技术头条 2023-07-02 23:45 查看详情
一次「找回」TraceId的问题分析与过程思考 (tech.meituan.com)
用好中间件是每一个开发人员的基本功,一个专业的开发人员,追求的不仅是中间件的日常使用,还要探究这背后的设计初衷和底层逻辑,进而保证我们的系统运行更加稳定,让开发工作更加高效。结合这一主题,本文从一次线上告警问题出发,通过第一时间定位问题的根本原因,进而引出Google Dapper与MTrace(美团内部自研)这类分布式链路追踪系统的设计思想和实现途径,再回到问题本质深入@Async的源码分析底层的异步逻辑和实现特点,并给出MTrace跨线程传递失效的原因和解决方案,最后梳理目前主流的分布式跟踪系统的现状,并结合开发人员日常使用中间件的场景提出一些思考和总结。
by @技术头条 2023-07-02 23:39 查看详情