《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。
The podcast 捕蛇者说 is created by pythonhunter. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
本期播客探讨了独立开发者在推出 App 和 SaaS 产品时面临的推广与销售挑战。
相较于 SaaS,App 的渠道分发更为复杂,需要通过应用商店的审核流程。在推广方面,由于国内用户更倾向于使用移动设备,且很多平台限制 URL 链接,App 的推广相对容易,而 SaaS 则更依赖于搜索引擎优化。付费转化上,App 的买断模式更容易被用户接受,而 SaaS 的订阅模式更符合其对持续维护的需求。嘉宾们最后建议开发者根据目标用户(是否熟悉 URL 和电脑操作)以及产品类型来选择适合的 App 或 SaaS,并探讨了更灵活的付费模式,如按年买断。
本期节目探讨了独立开发者选择开发 App 还是 SaaS 的利弊。我们从多个角度进行了深入分析,包括开发效率、跨平台能力、所需设备、维护成本等。下期节目中我们会从产品发布和推广的角度进行比较,敬请期待。
总结起来:SaaS 在开发效率和资源模板方面更具优势,但在移动端的应用受到限制;而 App 开发则更依赖于特定的平台和设备,维护成本可能因操作系统更新和与其他应用的兼容性问题而上升。最终的选择还是要根据开发者的技术背景、目标用户和市场定位来决定。
本期节目,我们和前 React 团队工程师 Mengdi 聊了聊大公司非业务部门的困境。
众所周知,非业务部门由于不产生营收,常常成为公司降本增效的牺牲品。这一切的根源究竟如何,是否如表面看上去这么简单?
本期我们将一探究竟,并从中得出一个嘉宾和主播都非常认可的结论。
这里是广告
Clicknow 是主播 laike9m 开发的一款 Mac AI 搜索软件。一键划词的 AI(联网)搜索带给你准确、即时、丰富的信息,大幅提升工作、学习和研究的效率,从此再也不用在不同 App 之间切换。支持任何语言,可用来做翻译/总结。无需 API key,提供免费试用。
Clicknow 还支持一些贴心的小功能:比如拼写检查、添加日历、计算器、航班追踪等。
本期节目,我们第二次请到了高天,和他聊了聊成为 Python 核心开发者以及在 B站做 up 主的经历和感悟。
Python 开发
技术内容创作
工作与生活平衡
Make it work, then make it beautiful, then if you really, really have to, make it fast. 90 percent of the time, if you make it beautiful, it will already be fast. So really, just make it beautiful!
本期节目我们请到了继续和 Yuchen 聊聊 Cloudflare,以及他主导并开源网络框架 Pingora
Pingora 是一个使用 Rust 开发的框架,可以让开发人员在上面实现自定义服务器。Pingora 的开发是基于 Cloudflare 多年的经验和需求,他们发现在代理中需要大量的业务逻辑代码而不是配置,并且用 Lua 或编写配置也不理想。此外,我们讨论了 Pingora 的开发过程中涉及的技术决策和挑战,以及 Cloudflare 的文化和招聘情况。
00:03 Cloudflare Pingora 项目开发背后的故事与原因
04:53 以 Lua 嵌入 Nginx 的 openresty 为基础的强大编程工具
08:47 Lua 的特点和局限性分析
13:03 Nginx 的 C 开发和 Lua 维护的困难性及 ARM 上的问题
16:10 Indrax 架构的问题和需要解决的挑战
22:25 大家决定用 Rust 语言重新开发的决策过程
24:47 对于使用 Rust 语言开发的经验和公司中的实践
27:07 Rust 语言的开发和 API 设计
30:32 流量迁移和切换效果评估
32:53 开发速度改进和问题处理的讨论
37:15 Pingora 框架的开源故事及其 API 设计和扩展性
40:36 关于开源的讨论和决策过程,Rust 语言的优势以及担忧的原因
44:22 Nginx 的发展历程以及与 F5 的关系变动
46:06 Pingora 开源项目及其童话般的发展故事
50:18 Cloudflare 文化和招聘情况讨论
53:40 Cloudflare:科技领域无可匹敌的压倒性存在
本期节目我们请到了 Cloudflare 的 Yuchen,和大家聊了聊 Cloudflare 这家神奇的公司,以及它为什么被称为『赛博佛祖』。
laike9m 来到了新加坡!我们和 二分电台 的 2BAB 和 代码之外 的勾股在现场录制了一起节目,和 laike9m 畅聊了有关新加坡和加州的方方面面。
音频处理:西市独柳工作室 https://xishiduliu.com/
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
时间线:
参考链接:
代码之外:https://bento.me/beyondcode
音频处理:西市独柳工作室 ( https://xishiduliu.com/ )
本期节目中,图拉鼎讲述了最近几年做独立开发的经历,良渚文化村吸引独立开发者聚集的原因,以及疯狂星期四的起源和发展。我们着重聊了聊为什么他会想到注册一个美国公司,以及所需的资质和流程。还聊到了微软/Google 对开发者的支持,以及独立创造者在产品开发中的作用和优势。
本期节目中,图拉鼎分享了他的独立开发经验。从 Ubuntu Tweak 到 MarkMark,他鼓励更多人加入独立开发行列。我们聊到为什么他和其它一些独立开发者不约而同地选择 Python 作为后端语言。图拉鼎还分享了获取技术信息及避免踩坑的方法。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期前半段内容(CPython 优化)较为硬核,如果你想直接听后半段(大厂编译器组的工作),可以直接跳到 00:38:50
播客封面来自Anime Girls Holding Programming Books
PyO3 有哪些应用?
PyO3 前身:rust-cpython
Maturin: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
PEP 517 – A build-system independent format for source trees
Ruff: An extremely fast Python linter, written in Rust.
typos: Source code spell checker
ChatGPT 写的 Rust 调用 Python C-API 的例子
use std::os::raw::{c_char, c_int};
use std::ffi::CString;
use libc::{c_double, c_void};
#[link(name = "python3.8")]
extern "C" {
fn Py_Initialize();
fn Py_Finalize();
fn Py_BuildValue(format: *const c_char, ...) -> *mut c_void;
}
fn main() {
unsafe {
// 初始化 Python 解释器
Py_Initialize();
// 构建一个 Python 元组对象,并打印它
let x = 1.23 as c_double;
let y = 4.56 as c_double;
let format = CString::new("dd").unwrap().as_ptr();
let result = Py_BuildValue(format, x, y);
let s = CString::from_raw(result as *mut c_char).into_string().unwrap();
println!("{}", s);
// 关闭 Python 解释器
Py_Finalize();
}
}
pyo3-ffi: Python-API bindings for the PyO3 ecosystem
在 PyO3 里通过 allow_threads
关掉 Python GIL
pybind11 — Seamless operability between C++11 and Python
CFFI: C Foreign Function Interface for Python. Interact with almost any C code from Python, based on C-like declarations that you can often copy-paste from header files or documentation.
zig cc: a Powerful Drop-In Replacement for GCC/Clang
wechatpy: 微信公众平台第三方 Python SDK
OrbStack: Fast, light, simple Docker & Linux on macOS
FancyWM - a dynamic tiling window manager for Windows 10/11
CSAPP: Computer Systems: A Programmer's Perspective
APUE: Advanced Programming in the UNIX® Environment
提到的读书撕书的灵感来自于:李敖先生
吴恩达 prompt engineering 课程:
ChatGPT Prompt Engineering for Developers
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
PDM(Python Development Manager)是由 Frost Ming 开发的一款 Python 包管理工具。
本期由于一些技术原因,声音效果可能欠佳,还请各位听众见谅。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
最近我们和 Gray 聊了聊 Debug,会分成上下两期,这一期我们主要聊了一些遇到的神奇 bug,以及解决的思路,下一期,我们会聊 debug 的一些工具。
Gray
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期我们和 lepture 聊了聊他的两个项目:Typlog 和 Authlib。lepture 分享了他作为个人开发者的一些经验。本期于 2020 年录制,有些信息可能已经过时。关于这两个项目的情况请以官网为准。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
P.S. 本期播客埋了一个音乐相关的彩蛋。
P.P.S 李辉两次提到的「稿税」应为「版税」。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
Hey,各位听众,本期我们邀请到的两位嘉宾的团队也在寻找优秀的工程师一起工作,如果你感兴趣,欢迎通过邮件与他们联系
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
[23]: https://www.douban.com/search?q=%E5%8D%81%E4%B8%89%E9%82%80
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
时间轴:
资料:
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期嘉宾:
本期是去年七月份录制的一期。四位主播聚在一起,聊聊他们最近的生活,以及对未来的打算。失踪主播小白康复归来,让我们撒花🎉🎉🎉!
本期资料链接:
节目中关于 Cyberbrain 的一些描述已经过时,故补充在这里:
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期是个人知识管理体系系列的最后一期。我们讨论了关于“输出”的方方面面,包括输出的目的、方式、工具、意义,以及一些实用的关于写作的建议。欢迎收听。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
上一期的节目中我们和佳圆讨论了如何获取知识,如何预处理知识。在本期的节目中我们主要讨论如何将这些知识转化成自己理解的东西,介绍了一些内化的工具和方法,如何更有效率地复习自己的知识等。
如果您喜欢本期节目,欢迎关注捕蛇者说,我们本系列下一期节目将介绍如何将知识输出。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
几个搜索 GitHub stars 的小工具
[29]: https://www.listennotes.com/zh-hans/
主题演讲和闪电演讲征稿时间:
2020 年 10 月 29 日 - 2020 年 11 月 7 日(实际截止日期可延后)
会议举办时间:
2020 年 11 月 28 日 - 11 月 29 日
您可以投稿时长为 45 分钟的主题演讲,或者时长为 10 分钟的闪电演讲,根据您自己评估的内容所需时间来决定。需要注意的是,议题分享时间包含 Q&A 时间。
欢迎通过下面的链接报名参加我们的主题演讲 / 闪电演讲:https://jinshuju.net/f/zWuGxB
在线预览: http://www.minkoder.com/viztracer/result.html
系列介绍文章:
01:14:46 opensource.org
Hi 大家好,这一期我们请到了 Teahour 的主播 Terry,跟我们聊了一些和程序员相关的话题,比如远程工作、创业、招聘、播客、跨界、Ruby 社区等等。
Teahour 是一档面向程序员的高质量播客,欢迎大家收听:https://teahour.fm/
本期分成上下两期,这是下期。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期嘉宾:
本期主持:
章节
相关链接
Hi 大家好,这一期我们请到了 Teahour 的主播 Terry,跟我们聊了一些和程序员相关的话题,比如远程工作、创业、招聘、播客、跨界、Ruby 社区等等。
Teahour 是一档面向程序员的高质量播客,欢迎大家收听:https://teahour.fm/
本期分成上下两期,这是上期。
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
本期嘉宾:
本期主持:
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
laike9m
题图来源:BigStockPhoto.com
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
[32]: https://music.163.com/#/song?id=28267550
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
--
这一期 laike9m 做客牛油果烤面包播客,一起聊了聊世界第一编程语言 Python 的前世今生。
嘉宾:laike9m
主播:斯图亚特、Vindy、Cat Chen
剪辑:王立冰
图片截取自 Image by Gerd Altmann from Pixabay 片头片尾音乐: Courante 1st Cello Suite Exzel Music Publishing (freemusicpublicdomain.com) Licensed under Creative Commons: By Attribution 3.0 http://creativecommons.org/licenses/by/3.0/
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
Hi 大家好,这一期信涛和 Luke 聊了有关 Lint 的话题,包括 Flake8,如何使用 CI 等。
时间轴:
相关资料:
![赞助logo][18]
__init__
中定义的参数属于 class 参数还是对象参数?__init__
方法中调用 dataclasses 的 __init__
方法?[18]: https://i.typlog.com/pythonhunter/8402665400_0989685.jpg
本期节目较长且信息量巨大,大家可以酌情分多次来听。
本期结尾有彩蛋,会是什么呢?大家敬请期待吧😂
[26]: https://blog.blanc.site/
[25]: https://www.kawabangga.com/
本期中的问题可在这里找到: https://ama.pythonhunter.org/
01:49:40 关于「unbound method 在 Python 3 中为什么会取消」的讨论。
关于 unbound method 取消的原因,我没找到官方的解释,很多人说是为了简化语言,因为区分 function 和 unbound method 意义不大。然后我们关于 @staticmethod
那里说错了。@staticmethod
在 Python 3 里还是需要的,因为只有你在 MyClass.some_method
才是和 @staticmethod
等价,然而很多时候我们需要在 instance 上调用,这时候还是需要 @staticmethod
。
[16]: https://www.python.org/dev/peps/pep-0572/
时间线:
资料:
由于我们主播的知乎账号被封禁,所以以后的更新不会再发布到知乎上,请您留意。
推荐您使用泛用型客户端订阅我们的播客。也欢迎您关注我们的Twitter,加入我们的telegram群组和其他听众一起聊天,我们的twitter是 @pythonhunter_, telegram群组的链接是: https://t.me/joinchat/Dm8lIVjvCo9_-6YZYLycEw 我们下期再见。
本期由 Ryoma Han 同学剪辑,在此特别致谢
Xiang Zhang,目前中国唯一一位 CPython 核心开发者
sys._getframe
gc.get_objects
gc.freeze()
Hi!本期我们请到了稀有的 Lisp 程序员 David,来和我们聊一聊函数式编程的一些概念,Common Lisp 的特点,如何入门函数式编程。
本期音频由 laixintao 剪辑,第一次剪辑请大家包涵,如果音频有问题可以在评论或者 telegram 群提出。
本期主持:
时间点:
勘误:
本期主持:
播客中提到的内容:
En liten tjänst av I'm With Friends. Finns även på engelska.