
45 episodes

捕蛇者说 pythonhunter
-
- Technology
-
-
4.4 • 26 Ratings
-
《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。
-
Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍
嘉宾
Messense
主播
laixintao
小白
Adam Wen
laike9m
链接
PyO3
PyO3 有哪些应用?
polars: Fast multi-threaded DataFrame library in Rust | Python | Node.js.
pydantic-core: Core validation logic for pydantic written in Rust.
cryptography: Python cryptography library with some functionality in Rust.
orjson: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
PyO3 前身:rust-cpython
Maturin: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
What Are Python Wheels and Why Should You Care?
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
Cython
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
Kiwi 浏览器 -
Ep 39. 和 Alex 聊聊向量数据库与职业规划
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
嘉宾
Alex
主播
小白
laike9m
时间轴
00:00:30 开场
00:00:59 嘉宾自我介绍
00:02:55 [第一部分]向量数据库 milvus 简介
00:07:35 向量数据库的「向量」代表什么以及其应用场景
00:14:16 原始数据到向量数据的转化
00:15:42 不同方式产生的向量数据格式是否相同、能否混用
00:19:04 milvus 存储向量数据的方式以及应用场景描述
00:25:59 怎样利用 milvus 进行向量数据查找
00:27:46 向量数据库存在的必要性
00:33:56 milvus 商业化道路讨论
00:41:57 [第二部分]嘉宾加入当前公司的契机是什么
00:52:54 在三类不同阶段的公司工作分别的工作体验是怎样的
00:53:41 小白:未融资的初创公司
00:57:39 Alex:已经融资进入正轨的创业公司
01:04:02 laike9m:Google
01:08:30 Alex:one more thing
01:12:13 好物分享
01:17:04 结语
相关链接
00:00:47 zilliz
00:00:53 milvus
00:04:26 milvus start history in github
00:06:04 Facebook(Meta) faiss
00:06:21 Elasticsearch
00:06:24 Lucene
00:06:47 Google scann
00:06:50 Microsoft DiskANN
00:09:11 Embedding 维基百科 | 国内网络中没有找到权威解释这里引用一篇博文 embedding 的原理及实践
00:10:03 以图搜图 | 百度搜图 | Google 的话在 goole.com 的搜索栏旁边有一个相机的图标点击就能使用
00:14:50 Hugging Face
00:14:58 towhee
00:36:22 Databricks
00:45:47 B站:李自然说
01:04:23 A career ending mistake
01:12:37 AnimeGANv2
01:14:48 nintendo switch sports
01:16:35 古明地觉-博客园 | 里面有公众号的图片 | 古明地觉-知乎 -
Ep 38. 和 Frost Ming 聊聊 PDM
PDM(Python Development Manager)是由 Frost Ming 开发的一款 Python 包管理工具。
本期由于一些技术原因,声音效果可能欠佳,还请各位听众见谅。
嘉宾
Frost Ming
主播
laike9m
laixintao
章节
00:00:19 PDM 介绍
00:03:13 Python 包管理的历史, pyproject.toml, lockfile
00:11:48 Wheel 格式, Python 打包和安装的过程
00:20:00 为什么用户应该选择 PDM?
00:36:15 为什么 PDM 2.0 不再默认开启 PEP 582
00:41:17 Python 虚拟环境有哪些缺陷
00:50:15 PDM 2.0 里的改进和新功能
1:04:38 开发 PDM 过程中值得一说的事
1:18:30 作为开源库维护者的经验
链接
PDM
Ep 15. 和 PyPA 的成员聊聊 Python 开发工作流
Python打包指南2021
What Are Python Wheels and Why Should You Care?
为什么选择 PDM
PDM 2.0 有什么新特性?
rich: a Python library for rich text and beautiful formatting in the terminal.
unearth: A utility to fetch and download python packages
用 PDM 解决数独问题
https://github.com/frostming/sodoku-solver -
Ep 37. 和 Gray 聊聊工程化学习(上)
本期是与 Gray 访谈的上期,我们聊了聊他的「工程化」学习
嘉宾
GrayCode
主播
Manjusaka
Adam Wen
laike9m
时间线
00:18 嘉宾介绍
02:15 Gray 在非洲做土木的经历
06:14 Gray 在转行时遇到的困难与挑战
09:49 怎么算工程能力
23:32 工程能力的一些表现是什么
33:40 我们如何选取一个合适的抽象度 -
Ep 36. 和 lepture 聊聊在日本的工作与生活
本期是 lepture 访谈的下期,于 2020 年末录制。我们聊了聊他的工作流,以及在日本工作与生活的体验。
嘉宾
lepture
主播
Adam Wen
laike9m -
Ep 35. 和 Gray 聊聊那些年遇到的神奇 Bug
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter
最近我们和 Gray 聊了聊 Debug,会分成上下两期,这一期我们主要聊了一些遇到的神奇 bug,以及解决的思路,下一期,我们会聊 debug 的一些工具。
嘉宾
Gray
主播
Manjusaka
laike9m
laixintao
时间线
03:02 Gray 遇到的 HTTP 下载文件的 bug
10:59 Xintao 遇到的 HTTP 跳转 HTTPS 问题
15:37 Manjusaka 遇到的 Python Asyncio 的问题
24:08 Laike9m: 不要浪费太多时间在一个 bug 上,即时寻求帮助
25:20 Xintao 语雀编辑器的一个神奇的 bug
33:40 监控的 P99 毛刺现象
35:30 uwsgi 中 hping3 信号丢失的一个bug
42:30 推荐 git 的 bisect 工具
44:52 laike9m 遇到的 latency 问题
52:43 有关 Python 的 malloc 的一个问题
57:24 Golang 1.12 内存泄漏?
60:00 Python 中 re.complie cache 的行为问题
链接
git bisect
Debug 一个在 uWSGI 下使用 subprocess 卡住的问题 | 卡瓦邦噶!
Customer Reviews
通往成为python 开发者的语音指引
干货很多,不同于一般的知识传播,有着更多更全面的内容,聊生活聊职场也都有涉及,还有更多好玩的东西也可以期待。
技术嘉宾的表达能力实在是需要好好提升一下
说几个很明显的问题。
首先是口齿不清,这是表达中的最基本的要求,说话发音要说的清晰,现在的情况是经常话说的含混不清,咬字吞音的情况很严重。
其次,如果一定要夹杂英文的话,要把读音搞清楚读对,要不然根本不知道在说什么。
第三,尽量把逻辑理清楚,尤其是说技术问题的时候,把前因后果和结论说清楚。
最后,做podcast至少把录音这个事情搞好,环境杂音和说话吐气到麦克风上的砰砰的声音都是可以避免的
支持
听了3期受益匪浅,虽然我用python少,但也能有很多收获,希望节目越办越好