《Google 如何消除代码审查的痛苦,获得 97% 的开发者满意度》
文章深入探讨了:
- Google’s guidelines for efficient code review(Google 的高效代码审查指南)
- Critique, their code review tooling, and AI-powered improvements(Critique、他们的代码审查工具和 AI 驱动的改进)
- Internal statistics on Google code reviews(关于谷歌代码审查的内部统计数据)
- Why Critique seems to be so loved by Googlers(为什么 Critique 如此受 Google 员工喜爱)
文章深入探讨了:
- Google’s guidelines for efficient code review(Google 的高效代码审查指南)
- Critique, their code review tooling, and AI-powered improvements(Critique、他们的代码审查工具和 AI 驱动的改进)
- Internal statistics on Google code reviews(关于谷歌代码审查的内部统计数据)
- Why Critique seems to be so loved by Googlers(为什么 Critique 如此受 Google 员工喜爱)
Engineerscodex
How Google takes the pain out of code reviews, with 97% dev satisfaction
A study of Google's code review tooling (Critique), AI-powered improvements, and recent statistics
pythoncat.top
聊聊技术周刊的变现 - 豌豆花下猫
👍26👏6😁4
#Python潮流周刊
🐬🐬第 30 期
🦄文章&教程
Python 非洲:致 Python 软件基金会的一封公开信
Django 5.0 发布了!
56 行代码用 Python 实现一个 Flex/Lex
如何在 FastAPI 正确地使用依赖注入?
为什么不应该在 Python 中过度使用列表解析式?
非类型化的 Python:曾经的 Python
用 django-watson 给 Django 项目添加全文搜索
解析 Celery 的扇出模式
Python Asyncio 的 7 个替代库
解密 CPython:当执行 a+b 时,背后发生了什么?
如何使用 Python 播放 GIF?
用 Python 开发一个微型的 REPL
🐿项目&资源
self-operating-computer:使多模态模型能够操作计算机
marko:具有高扩展性的 markdown 解析器
WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档
PyWxDump:获取微信账号信息、导出聊天记录
mlx:适用于 Apple 芯片的阵列框架
DSAlgo:数据结构和算法的面试题集锦
Python 在线编译器网站
aio-libs:65 个基于 Asyncio 的库/项目
kolo:查看 Django 应用的执行过程
dnsteal:DNS 渗透工具,通过 DNS 请求隐秘发送文件
github-trends:使用自定义卡片美化 GitHub 个人主页
Depix:还原打了马赛克的截图信息
👀 全文 👀 合集 🤝投稿 🐱频道
🐬🐬第 30 期
🦄文章&教程
Python 非洲:致 Python 软件基金会的一封公开信
Django 5.0 发布了!
56 行代码用 Python 实现一个 Flex/Lex
如何在 FastAPI 正确地使用依赖注入?
为什么不应该在 Python 中过度使用列表解析式?
非类型化的 Python:曾经的 Python
用 django-watson 给 Django 项目添加全文搜索
解析 Celery 的扇出模式
Python Asyncio 的 7 个替代库
解密 CPython:当执行 a+b 时,背后发生了什么?
如何使用 Python 播放 GIF?
用 Python 开发一个微型的 REPL
🐿项目&资源
self-operating-computer:使多模态模型能够操作计算机
marko:具有高扩展性的 markdown 解析器
WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档
PyWxDump:获取微信账号信息、导出聊天记录
mlx:适用于 Apple 芯片的阵列框架
DSAlgo:数据结构和算法的面试题集锦
Python 在线编译器网站
aio-libs:65 个基于 Asyncio 的库/项目
kolo:查看 Django 应用的执行过程
dnsteal:DNS 渗透工具,通过 DNS 请求隐秘发送文件
github-trends:使用自定义卡片美化 GitHub 个人主页
Depix:还原打了马赛克的截图信息
👀 全文 👀 合集 🤝投稿 🐱频道
👍4
强烈推荐这篇文章:《深入探索:AI 驱动的 PDF 布局检测引擎源代码解析》
系统的分析了最近很火的 PDF 转 Markdown 开源程序 Marker 的工作原理,比我想象的要复杂不少,用了好几个开源库。Marker 主要通过以下六个阶段来工作:
1. 准备阶段: 利用 PyMuPDF 工具,可以把各种格式的文档转换成 PDF 文件。
2. 文本识别(OCR): 使用 Tesseract 或 OCRMyPDF 进行文字识别;也可以选择用 PyMuPDF 进行基本的文字抓取。
3. 布局识别: 运用专门定制的 LayoutLMv3 模型 来识别文档中的表格、图表、标题、图说、页眉和页脚。
4. 列的检测和排序: 再用一个定制的 LayoutLMv3 模型来识别文档中的列,并按照正确的顺序(上到下,左到右)进行排列。
5. 公式/代码处理: 通过 Nougat 工具,把公式图片转换成对应的 latex 代码,并利用启发式方法准确识别和调整代码及表格内容。
6. 文本清理与优化: 使用定制的 T5ForTextClassification 模型进行文本清理,比如去掉不必要的空格和奇怪的字符,确保以一种保守且保留原意的方式进行优化。
借助这六个阶段,Marker 能够把任何文档转化为格式整洁的 Markdown 文件。
原文:Inside Marker: A Guided Source Code Tour for an AI-powered PDF Layout Detection Engine
以上转载自 X @宝玉
系统的分析了最近很火的 PDF 转 Markdown 开源程序 Marker 的工作原理,比我想象的要复杂不少,用了好几个开源库。Marker 主要通过以下六个阶段来工作:
1. 准备阶段: 利用 PyMuPDF 工具,可以把各种格式的文档转换成 PDF 文件。
2. 文本识别(OCR): 使用 Tesseract 或 OCRMyPDF 进行文字识别;也可以选择用 PyMuPDF 进行基本的文字抓取。
3. 布局识别: 运用专门定制的 LayoutLMv3 模型 来识别文档中的表格、图表、标题、图说、页眉和页脚。
4. 列的检测和排序: 再用一个定制的 LayoutLMv3 模型来识别文档中的列,并按照正确的顺序(上到下,左到右)进行排列。
5. 公式/代码处理: 通过 Nougat 工具,把公式图片转换成对应的 latex 代码,并利用启发式方法准确识别和调整代码及表格内容。
6. 文本清理与优化: 使用定制的 T5ForTextClassification 模型进行文本清理,比如去掉不必要的空格和奇怪的字符,确保以一种保守且保留原意的方式进行优化。
借助这六个阶段,Marker 能够把任何文档转化为格式整洁的 Markdown 文件。
原文:Inside Marker: A Guided Source Code Tour for an AI-powered PDF Layout Detection Engine
以上转载自 X @宝玉
👍5❤1
#Python潮流周刊
从 2023.05.13 到 2023.12.09,30 期周刊正好花了 210 天!我们分享了:
文章/教程:378 篇
项目/资源:270 个
播客/视频:54 则(有不少是视频列表)
热门讨论:20 个
为了方便老读者们回看及检索,也为了方便新关注的读者从第一季内容中寻宝,我把全部 30 期周刊的正文汇总成了一篇,共 6.2 万字:https://pythoncat.top/posts/2023-12-11-weekly
从 2023.05.13 到 2023.12.09,30 期周刊正好花了 210 天!我们分享了:
文章/教程:378 篇
项目/资源:270 个
播客/视频:54 则(有不少是视频列表)
热门讨论:20 个
为了方便老读者们回看及检索,也为了方便新关注的读者从第一季内容中寻宝,我把全部 30 期周刊的正文汇总成了一篇,共 6.2 万字:https://pythoncat.top/posts/2023-12-11-weekly
pythoncat.top
Python 潮流周刊第一季精华合集(1~30) - 豌豆花下猫
👍7
《十年开发一门编程语言》
作者开发了一门编程语言 Inko,文章分享了一些经验。
“多年来,Inko也发生了很大变化:曾经是一种逐渐类型化的解释型语言,现在它是静态类型的,并且使用LLVM编译成机器码。而且,Inko以前主要受到Ruby和Smalltalk的启发,但现在更接近于Rust、Erlang和Pony,而不是Ruby或Smalltalk。”
- Avoid gradual typing 避免渐进式类型化
- Avoid self-hosting your compiler
避免自行托管编译器
- Avoid writing your own code generator, linker, etc
避免编写自己的代码生成器、链接器等
- Avoid bike shedding about syntax
避免关于语法的无谓争论
- Cross-platform support is a challenge
跨平台支持是一个挑战
- Compiler books aren't worth the money
编译器书不值得花钱购买
- Growing a language is hard
发展一门语言很困难
- The best test suite is a real application
最好的测试套件是一个真实的应用程序
- Don't prioritize performance over functionality
不要将性能置于功能之上
- Building a language takes time
建立一种语言需要时间
作者开发了一门编程语言 Inko,文章分享了一些经验。
“多年来,Inko也发生了很大变化:曾经是一种逐渐类型化的解释型语言,现在它是静态类型的,并且使用LLVM编译成机器码。而且,Inko以前主要受到Ruby和Smalltalk的启发,但现在更接近于Rust、Erlang和Pony,而不是Ruby或Smalltalk。”
- Avoid gradual typing 避免渐进式类型化
- Avoid self-hosting your compiler
避免自行托管编译器
- Avoid writing your own code generator, linker, etc
避免编写自己的代码生成器、链接器等
- Avoid bike shedding about syntax
避免关于语法的无谓争论
- Cross-platform support is a challenge
跨平台支持是一个挑战
- Compiler books aren't worth the money
编译器书不值得花钱购买
- Growing a language is hard
发展一门语言很困难
- The best test suite is a real application
最好的测试套件是一个真实的应用程序
- Don't prioritize performance over functionality
不要将性能置于功能之上
- Building a language takes time
建立一种语言需要时间
🤔3👌1
#Python潮流周刊
🐬🐬第 31 期
🦄文章&教程
- PEP-738:将 Android 添加为第 3 层支持的平台
- 深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读
- 现实世界的 match/case
- pytest 守护进程:提升 10 倍本地测试迭代速度
- 使用 Python 88 行代码写一个简易的 Android AI 程序
- 在 Python 中不需要这些无谓的操作
- 为什么要用“if TYPECHECKING”?
- 对比 SQLALchemy 与 Django ORM
- Python \_\_init\_\_.py 的最佳实践
- Mojo:来自一位 Python 研究员的观点
- Python 中的简单 HTTP 状态码
- CPython 开发实战:实现 None 感知运算符 ?. 和 ??
- 代码的运行多于被阅读
🐿项目&资源
- magic-animate:使用扩散模型的时间一致的人像动画
- phpy:连通 Python 和 PHP 的生态系统
- insanely-fast-whisper:快到极致的 Whisper
- coffee:使用 AI 将 UI 的构建和迭代速度提高 10 倍
- FastUI:更快构建更好的 UI
- mistral-src:Mistral AI 7B v0.1 模型的参考实现
- netchecks:查验网络运行条件的工具
- Pearl:Meta 推出的强化学习 AI 代理库
- gpt-fast:简单高效的 PyTorch 原生 Transformer 文本生成
- The-Grand-Complete-Data-Science-Materials:数据科学的视频和材料
- awesome-LLMs-In-China:中国的大模型
- msgspec:高性能的序列化和校验库
🐢播客&视频
- PSF 官宣一档播客节目:Python 的隐藏人物
- Talk Python To Me #442 使用 msgspec 作超高速的消息解析
- DjangoCon US 2023 的视频列表,60 个视频
👀全文 👀合集 🤝投稿 🐱频道
🐬🐬第 31 期
🦄文章&教程
- PEP-738:将 Android 添加为第 3 层支持的平台
- 深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读
- 现实世界的 match/case
- pytest 守护进程:提升 10 倍本地测试迭代速度
- 使用 Python 88 行代码写一个简易的 Android AI 程序
- 在 Python 中不需要这些无谓的操作
- 为什么要用“if TYPECHECKING”?
- 对比 SQLALchemy 与 Django ORM
- Python \_\_init\_\_.py 的最佳实践
- Mojo:来自一位 Python 研究员的观点
- Python 中的简单 HTTP 状态码
- CPython 开发实战:实现 None 感知运算符 ?. 和 ??
- 代码的运行多于被阅读
🐿项目&资源
- magic-animate:使用扩散模型的时间一致的人像动画
- phpy:连通 Python 和 PHP 的生态系统
- insanely-fast-whisper:快到极致的 Whisper
- coffee:使用 AI 将 UI 的构建和迭代速度提高 10 倍
- FastUI:更快构建更好的 UI
- mistral-src:Mistral AI 7B v0.1 模型的参考实现
- netchecks:查验网络运行条件的工具
- Pearl:Meta 推出的强化学习 AI 代理库
- gpt-fast:简单高效的 PyTorch 原生 Transformer 文本生成
- The-Grand-Complete-Data-Science-Materials:数据科学的视频和材料
- awesome-LLMs-In-China:中国的大模型
- msgspec:高性能的序列化和校验库
🐢播客&视频
- PSF 官宣一档播客节目:Python 的隐藏人物
- Talk Python To Me #442 使用 msgspec 作超高速的消息解析
- DjangoCon US 2023 的视频列表,60 个视频
👀全文 👀合集 🤝投稿 🐱频道
👍7❤2
Python为什么系列有幸被 @Barret_China 大佬推荐,推特才一天时间就近 10 万+了!
第一次亲身感受这么猛的流量热度,建立3年的项目也终于从900star突破到了1.3K!说起来Python潮流周刊的star数已过940,我有预感要在2024年到来之际,同时完成首个1K和双1K成就啦!加油,再接再厉!
Python周刊:https://github.com/chinesehuazhou/python-weekly
Python为什么:https://github.com/chinesehuazhou/python-whydo
第一次亲身感受这么猛的流量热度,建立3年的项目也终于从900star突破到了1.3K!说起来Python潮流周刊的star数已过940,我有预感要在2024年到来之际,同时完成首个1K和双1K成就啦!加油,再接再厉!
Python周刊:https://github.com/chinesehuazhou/python-weekly
Python为什么:https://github.com/chinesehuazhou/python-whydo
👍24❤4🥰2
Python潮流周刊🐍 pinned «#Python潮流周刊 从 2023.05.13 到 2023.12.09,30 期周刊正好花了 210 天!我们分享了: 文章/教程:378 篇 项目/资源:270 个 播客/视频:54 则(有不少是视频列表) 热门讨论:20 个 为了方便老读者们回看及检索,也为了方便新关注的读者从第一季内容中寻宝,我把全部 30 期周刊的正文汇总成了一篇,共 6.2 万字:https://pythoncat.top/posts/2023-12-11-weekly»
#Python潮流周刊
🐬🐬 第 32 期 🐬🐬
🦄文章&教程
+ 在并行程序中实际最多能用多少个 CPU?
+ 你的 Python 包都装到哪了?
+ 移除 CPython 中的私有 C API 函数
+ Python 小陷阱:复制列表时的问题
+ 取消 Asyncio 任务的最佳实践
+ Python 项目中的配置:没有魔法,只是必要的实践
+ 优化 Python 的 Flask、Django 和 FastAPI 程序
+ 为什么 Python、Go 和 Rust 都不支持三元运算符?
+ Python 中的“key”参数的关键
+ 从 Python 数据类中消除状态突变方法
🐿️项目&资源
+ feedi:打造个人的新闻聚合阅读器
+ generative-ai-python:用 Google AI SDK,开发 Gemini 和 PaLM 应用
+ python-guide-for-javascript-engineers:开源电子书《JavaScript工程师的Python指南》
+ sqlmap:SQL 注入和渗透测试工具
+ TikTokDownloader: TikTok 和抖音数据采集工具
+ Osprey:通过视觉指导微调实现对像素的理解
+ django-cast:基于 Django 和 Wagtail 的博客/播客项目
+ Qexo:快速、强大且漂亮的 Hexo 编辑器
+ project-based-learning:精选的基于项目的教程列表
+ Amphion:用于音频、音乐和语音生成的工具包
🐢播客&视频
+ PyConChina 2023 的演讲视频
+ Episode #184:PyCoder's Weekly 的 2023 年总结
+ Requests vs Httpx vs Aiohttp 该选哪一个呢?
👀全文 👀合集 🤝投稿 🐱频道
🐬🐬 第 32 期 🐬🐬
🦄文章&教程
+ 在并行程序中实际最多能用多少个 CPU?
+ 你的 Python 包都装到哪了?
+ 移除 CPython 中的私有 C API 函数
+ Python 小陷阱:复制列表时的问题
+ 取消 Asyncio 任务的最佳实践
+ Python 项目中的配置:没有魔法,只是必要的实践
+ 优化 Python 的 Flask、Django 和 FastAPI 程序
+ 为什么 Python、Go 和 Rust 都不支持三元运算符?
+ Python 中的“key”参数的关键
+ 从 Python 数据类中消除状态突变方法
🐿️项目&资源
+ feedi:打造个人的新闻聚合阅读器
+ generative-ai-python:用 Google AI SDK,开发 Gemini 和 PaLM 应用
+ python-guide-for-javascript-engineers:开源电子书《JavaScript工程师的Python指南》
+ sqlmap:SQL 注入和渗透测试工具
+ TikTokDownloader: TikTok 和抖音数据采集工具
+ Osprey:通过视觉指导微调实现对像素的理解
+ django-cast:基于 Django 和 Wagtail 的博客/播客项目
+ Qexo:快速、强大且漂亮的 Hexo 编辑器
+ project-based-learning:精选的基于项目的教程列表
+ Amphion:用于音频、音乐和语音生成的工具包
🐢播客&视频
+ PyConChina 2023 的演讲视频
+ Episode #184:PyCoder's Weekly 的 2023 年总结
+ Requests vs Httpx vs Aiohttp 该选哪一个呢?
👀全文 👀合集 🤝投稿 🐱频道
❤7
Python 社区中有不少优秀的技术周刊,这里把本周内发布的周刊汇集起来,供诸位 Pythonista 们丰富阅读。
时间:2023.12.18-2023.12.24
Python 潮流周刊#32:打造个人的新闻聚合阅读器
Python Weekly - Issue 631
Awesome Python Weekly 🐍 Issue 395 - Where Have You Installed Your Python Packages?
Pycoders Weekly Issue #608 (Dec. 19, 2023)
Django News - Understand Django - Dec 22nd 2023
Data Science Weekly - Issue 526
🐱频道 @pythontrendingweekly
时间:2023.12.18-2023.12.24
Python 潮流周刊#32:打造个人的新闻聚合阅读器
Python Weekly - Issue 631
Awesome Python Weekly 🐍 Issue 395 - Where Have You Installed Your Python Packages?
Pycoders Weekly Issue #608 (Dec. 19, 2023)
Django News - Understand Django - Dec 22nd 2023
Data Science Weekly - Issue 526
🐱频道 @pythontrendingweekly
👍13❤1🤩1
#Python潮流周刊
🐬🐬 第 33 期 🐬🐬
🦄文章&教程
+ Flask 已死,FastAPI 是未来
+ Python + Flask 打造属于自己的 RSS 安全信息流
+ Microdot:又一个 Python Web 框架
+ 周末 AI 项目:在 2004 年的诺基亚 9500 上运行 7B 大型语言模型
+ Python Asyncio 之常见的三个坑
+ Bash、Lua、Python 和 Rust 的梦幻岛冒险
+ YAML、Python 和 Holy Graal
+ “Python -m”:最酷的 Python 标记,真的值得更多关注
+ Python CI 的初学者指南
+ Python Type Hints 简明教程(基于 Python 3.12)
+ Pyinstaller EXE 被检测为病毒?解决方案和替代方案
+ Fontimize 简介|精确字体子集,仅使用你网站的字符
+ GH- 113464:copy-and-patch 的 JIT 编译器
+ 消失的隐喻:Zip 和 Paste
+ 40 亿个 IF 语句
🐿️项目&资源
+ nicegui:使用 Python 开发 Web 用户界面
+ csvkit:用于转换和处理 CSV 的命令行工具
+ evue:基于 html/css 的高性能 GUI 框架
+ JARVIS:自己的个人语音助手
+ Gooey:只需一行即可将几乎任何 Python 命令行程序转换为完整的 GUI 程序
+ mod:Mojo 的包管理器工具
+ canopy:由 Pinecone 提供支持的 RAG 框架和上下文引擎
+ toogether-backend:Django REST 社交约会 APP 项目
+ DouyinLiveRecorder: 可循环值守和多人录制的直播录制软件
+ StreamDiffusion:用于实时交互式生成的管道级解决方案
+ sqlglot:SQL 解析器和转译器
+ texify:输出 LaTeX 和 Markdown 的数学 OCR 模型
+ talebook:一个简单的在线版个人书库
🐢播客&视频
+ 为什么 Python, Go, Rust, Kotlin 没有三元运算符?
👀阅读全文 🤝投稿
🐱频道 @pythontrendingweekly
🐬🐬 第 33 期 🐬🐬
🦄文章&教程
+ Flask 已死,FastAPI 是未来
+ Python + Flask 打造属于自己的 RSS 安全信息流
+ Microdot:又一个 Python Web 框架
+ 周末 AI 项目:在 2004 年的诺基亚 9500 上运行 7B 大型语言模型
+ Python Asyncio 之常见的三个坑
+ Bash、Lua、Python 和 Rust 的梦幻岛冒险
+ YAML、Python 和 Holy Graal
+ “Python -m”:最酷的 Python 标记,真的值得更多关注
+ Python CI 的初学者指南
+ Python Type Hints 简明教程(基于 Python 3.12)
+ Pyinstaller EXE 被检测为病毒?解决方案和替代方案
+ Fontimize 简介|精确字体子集,仅使用你网站的字符
+ GH- 113464:copy-and-patch 的 JIT 编译器
+ 消失的隐喻:Zip 和 Paste
+ 40 亿个 IF 语句
🐿️项目&资源
+ nicegui:使用 Python 开发 Web 用户界面
+ csvkit:用于转换和处理 CSV 的命令行工具
+ evue:基于 html/css 的高性能 GUI 框架
+ JARVIS:自己的个人语音助手
+ Gooey:只需一行即可将几乎任何 Python 命令行程序转换为完整的 GUI 程序
+ mod:Mojo 的包管理器工具
+ canopy:由 Pinecone 提供支持的 RAG 框架和上下文引擎
+ toogether-backend:Django REST 社交约会 APP 项目
+ DouyinLiveRecorder: 可循环值守和多人录制的直播录制软件
+ StreamDiffusion:用于实时交互式生成的管道级解决方案
+ sqlglot:SQL 解析器和转译器
+ texify:输出 LaTeX 和 Markdown 的数学 OCR 模型
+ talebook:一个简单的在线版个人书库
🐢播客&视频
+ 为什么 Python, Go, Rust, Kotlin 没有三元运算符?
👀阅读全文 🤝投稿
🐱频道 @pythontrendingweekly
❤3😁2
Python 社区中有不少优秀的技术周刊,这里把上周内发布的周刊汇集起来,供诸位 Pythonista 们丰富阅读。
时间:2023.12.25 - 2023.12.31
Python 潮流周刊#33:FastAPI 很好,Flask 也没死,它们都有未来
Awesome Python Weekly 🐍 Issue 396 - My proof-of-concept record type
Python Hub Weekly Digests Python Hub Weekly Digest for 2023-12-24
Pycoders Weekly Issue #609 (Dec. 26, 2023)
Django News - No news means more articles! - Dec 29th 2023
Data Science Weekly - Issue 527
🐱频道 @pythontrendingweekly
时间:2023.12.25 - 2023.12.31
Python 潮流周刊#33:FastAPI 很好,Flask 也没死,它们都有未来
Awesome Python Weekly 🐍 Issue 396 - My proof-of-concept record type
Python Hub Weekly Digests Python Hub Weekly Digest for 2023-12-24
Pycoders Weekly Issue #609 (Dec. 26, 2023)
Django News - No news means more articles! - Dec 29th 2023
Data Science Weekly - Issue 527
🐱频道 @pythontrendingweekly
❤1