跳到主要内容

7 篇博文 含有标签「GitHub」

GitHub 平台和版本控制

查看所有标签

无人值守的AI编程:使用GitHub Copilot Agent进行内容迁移的体验

· 阅读需 7 分钟
Marvin Zhang
软件工程师 & 开源爱好者

引言

最近,我使用 GitHub Copilot Agent 成功将所有存档的markdown文章迁移到这个基于Docusaurus的博客,这个体验出乎意料地顺畅高效。最让我印象深刻的不仅是AI处理重复任务的能力,还有我能够引导它自主工作,而我可以专注于更高层次的决策。更令人着迷的是,我甚至可以在通勤或休息时用手机来审查和引导AI代理的工作。这次体验从根本上改变了我对AI辅助开发工作流的看法。

以下是迁移完成后的中英文博客展示:

图1:迁移效果一览(中文)

图2:迁移效果一览(英文)

斯坦福大学研究揭示AI对开发者生产力的真实影响:并非万能灵丹

· 阅读需 10 分钟
Marvin Zhang
软件工程师 & 开源爱好者

本文内容基于斯坦福大学研究员 Yegor Denisov-Blanch 在 AIEWF 2025 大会上的演讲,该研究分析了来自数百家公司的近10万名开发者的真实数据。感兴趣并有条件的可以去 YouTube 观看全部演讲内容。

最近,“AI将取代软件工程师”的论调甚嚣尘上。Meta的马克·扎克伯格(Mark Zuckerberg)甚至在今年年初表示,他计划在年底前用AI取代公司所有中级工程师。这种愿景无疑能鼓舞人心,但也给全球的技术决策者带来了压力:“我们离用AI取代所有开发者还有多远?”

斯坦福大学软件工程生产力研究团队的最新发现,为这个问题提供了一个更现实、更细致的答案。经过对近10万名软件工程师、600多家公司、数千万次提交以及数十亿行私有代码库数据的深入分析,这项大规模研究表明:人工智能确实可以提升开发者生产力,但它绝非一个“一劳永逸”的万能解决方案,其影响是高度情境化且充满细微差别的。虽然平均生产力提升了约20%,但在某些情况下,AI甚至可能适得其反,降低生产力。

Crawlab AI: 借助大语言模型 (LLM) 打造智能爬虫

· 阅读需 6 分钟
Marvin Zhang
软件工程师 & 开源爱好者

“如果我当年去问顾客他们想要什么,他们肯定会告诉我:一匹更快的马” -- 亨利•福特

前言

当我初入职场时,作为数据分析师的我,偶然体验到了网络爬虫(Web Crawler)自动化提取网页数据的能力,自此我一直对这个神奇的技术充满好奇。随着后来我不断钻研爬虫技术,逐渐了解到网络爬虫的核心技术,其中就包括网页解析(Parsing),即通过分析网页 HTML 结构而构建基于 XPath 或 CSS Selector 数据提取规则的过程。这个过程长期以来都需要人工介入,虽然对于爬虫工程师来说相对简单,但如果需要大规模抓取,这个过程是非常消耗时间的,而且随着网页结构变化会增加爬虫维护成本。本篇文章将介绍我开发的基于**大语言模型(LLM)**的智能爬虫产品:Crawlab AI。虽然它还处于早期开发阶段,但已经展现出强大的潜力,有望让数据从业者轻松获取数据。

相关工作

作为爬虫管理平台 Crawlab 的创始人,一直都热衷于让数据获取变得简单和轻松。跟数据从业者不断交流,我意识到智能爬虫(或通用爬虫)的大量需求,即不用人工编写解析规则就可以抓取任何网站的目标数据。当然,也不止我一个人在研究和试图解决这个问题:2020年1月,青南大佬发布了基于标点密度的通用文章解析库 GeneralNewsExtractor,可以 4行代码实现通用新闻爬虫;2020年7月,崔庆才大佬发布了 GerapyAutoExtractor,基于 SVM 算法实现了列表页数据抓取;2023年4月,我通过高维度向量聚类算法,开发了 Webspot,同样可以自动提取列表页。这些开源软件的主要问题在于,识别的精准度与人工编写的爬虫规则有一定差距。

此外,商业爬虫软件 Diffbot八爪鱼 通过自研的机器学习算法,也实现了部分通用数据抓取的功能。但可惜的是它们的使用成本相对较高。例如,Diffbot 的最低套餐就需要每月支付 299 美元的订阅费。

探索Crawlab:您的企业级爬虫管理新选择

· 阅读需 3 分钟
Marvin Zhang
软件工程师 & 开源爱好者

引言

在现代的数据驱动时代,获取和管理网上信息变得至关重要。为企业和开发者提供强大支持的,Crawlab出现了,它是一个企业级的爬虫管理平台,特点是开箱即用。无论您的团队规模大小,Crawlab都能为您提供专业和高效的爬虫管理解决方案。

核心功能

Crawlab的核心功能包括分布式系统管理、爬虫任务管理和调度、文件编辑、消息通知、依赖管理、Git集成以及性能监控等多方面。其中,它的分布式节点管理让爬虫程序能够在多台服务器上高效运行。再也不用担心手动上传、监控和部署的麻烦,Crawlab将这一切全部自动化,确保您能轻松调度爬虫任务,并实时查看爬虫程序的运行状态以及任务日志。

爬虫列表

特色亮点

特别值得一提的是,Crawlab提供在线编辑爬虫代码的功能,支持主流编程语言高亮显示,让您轻松调试爬虫程序。此外,它还提供了Crontab风格的定时任务设置,让您能在指定时间自动执行爬虫任务,极大提高了工作效率。

代码编辑

实战数据分析: 开源的自动化数据探索神器 Rath

· 阅读需 5 分钟
Marvin Zhang
软件工程师 & 开源爱好者

引子

探索性数据分析(Exploratory Data Analysis,EDA)是数据分析师或数据科学家面对数据集(Dataset)时经常需要完成的任务。利用 Pandas、Seaborn 之类的 Python 工具可以很轻松的完成单变量分析(Univariate Analysis)、双变量分析(Bi-variate Analysis)、多变量分析(Multi-variate Analysis),但使用这些它们做数据探索不仅有一定技术门槛,而且还需要人工编写脚本来进行数据操作和分析。本篇文章将介绍一个非常酷的自动化数据探索开源工具 Rath,可以自动化的完成 EDA,成为数据分析界的 Autopilot 或 Copilot。

Rath

安装 Rath

由于 Rath 还在高速迭代中,文档也不是很齐全,要较快的体验只能到官网提供的演示网址

不过,如果会一些前端技术的话,还是可以本地安装,只是步骤稍微繁琐一些。

在开始之前,保证你安装了 Node.js 16 以及 Yarn。

实战数据分析: 利用开源项目 Superset 搭建自助数据分析平台

· 阅读需 7 分钟
Marvin Zhang
软件工程师 & 开源爱好者

引子

数据分析(Data Analytics)以及商业智能(Business Intelligence)是很多企业实现数字化战略的重要业务模块。我们之前在《浅谈数据:数据领域需要掌握些什么?》中介绍过数据领域中不可获取的部分,也就是架构流程方面的软件工具辅助服务。本文将介绍的数据分析开源平台 Apache Superset 就能提供这样的服务。本文将简单介绍如何安装部署以及使用 Superset。

Superset Official Site

Superset 简介

Superset 是 Apache 基金会孵化的开源自助数据分析平台,可以看成开源版的 Power BITableau,不过 Superset 的交互界面仅限于 Web。整个系统基于 Python Flask,集成了 MySQL、Postgres、SQL Server 等主流关系性数据库,以及 ElasticSearch、ClickHouse、Snowflake 等现代数据库。前端可视化分析界面跟 Power BI 和 Tableau 非常类似,操作也相对简便。因此,如果需要搭建一个类似 Power BI 或 Tableau 这样的企业级数据分析平台,在不氪金的情况下,Superset 是个非常不错的选择。

Superset Dashboard

实战 CI/CD:微软加持的 GitHub Actions,怎么用才香?

· 阅读需 6 分钟
Marvin Zhang
软件工程师 & 开源爱好者

引子

GitHub Actions 是 GitHub 官方推出的 CI/CD 工作流(Workflow)服务,旨在减轻开源贡献者们运维负担,让云原生 DevOps 赋能开源社区。如果您不知道什么是 CI/CD、DevOps,请参考笔者之前在夜幕团队公众号写的文章《用开源软件轻松打造企业级DevOps工作流》。笔者的开源项目,例如 CrawlabArtiPub,都集成了 GitHub Actions。作为开发贡献者,我认为 GitHub Actions 不仅好用,而且是真香免费(这是最主要的)。希望很多不了解如何将 GitHub Actions 运用在自己的开源项目的开发者,可以从本文中得到灵感。

从官方文档开始

对于 GitHub Actions 不熟悉的朋友,我强烈推荐你先阅读 GitHub Actions 官方文档,这里有视频介绍快速开始例子、概念、原理等等。如果把文档研究透了,再结合自己平时运用 CI/CD 的经验,应该可以很轻松的在 GitHub 上做 DevOps。本文所用到的相关代码,都可以在官方文档上找到对应的参考指南。

GitHub Actions Docs

思路

先理清一下我们想要实现什么:用 GitHub Actions 来运行仓库中的爬虫获取每日 GitHub Trending