文章目录
- 每日一句正能量
- 前言
- GitCode成立背景
- 如何使用GitCode
- [如何把你现有的项目迁移至 GitCode?](#如何把你现有的项目迁移至 GitCode?)
- 热门开源项目推荐
-
- [actions-poetry - 管理 Python 依赖项的 GitLab CI/CD 工具](#actions-poetry - 管理 Python 依赖项的 GitLab CI/CD 工具)
- [Spider - 网络爬虫框架](#Spider - 网络爬虫框架)
- [s3sync - 一个用于同步 Amazon S3 存储桶的工具](#s3sync - 一个用于同步 Amazon S3 存储桶的工具)
- 后记
每日一句正能量
没有目标的人永远为有目标的人去努力。
前言
在当今快速发展的信息技术时代,开源运动已成为推动技术创新和知识共享的重要力量。开源项目以其开放性、协作性和透明性,吸引了全球数以百万计的程序员和开发者的积极参与。随着开源程序的蓬勃发展,程序员们不再只是技术的使用者,更是创新的贡献者和传播者。
开源社区像一个巨大的宝藏,蕴藏着无限的潜力和可能性。在这里,无论是资深的开发者还是刚刚起步的编程新手,都能找到适合自己的位置,贡献自己的智慧和力量。开源项目覆盖了从操作系统、编程语言、数据库、Web框架到人工智能、机器学习、大数据等各个技术领域。
不同的人对开源项目的关注点各不相同。有的人关注项目的活跃度和社区的活跃性,有的人关注项目的技术前瞻性和创新性,还有的人关注项目的应用广泛性和实用性。但无论如何,我们都能在开源社区中找到自己感兴趣的项目,并在参与中不断学习和成长。
为了让更多的开发者了解和加入到开源项目中来,我们特别举办"热门开源项目推荐"活动。在这里,我们邀请每一位对开源充满热情的程序员,推荐你感兴趣的热门开源项目。让我们共同分享、交流和探讨,发现那些值得关注和参与的开源项目,探索开源世界的无限可能。
无论你是开源项目的维护者、贡献者还是初学者,都欢迎你加入我们的推荐活动,分享你的观点和经验。让我们一起推动开源文化的发展,促进技术的创新和进步,为构建一个更加开放、协作和共享的技术世界贡献力量。
GitCode成立背景
当前,开源已成为全球技术创新和产业发展的重要模式,几乎所有的互联网企业都在使用开源技术。在此趋势下,我国逐渐成为全球开源生态的重要力量,伴随着开源被首次写入国家"十四五"规划,中国开源也正在步入快速发展阶段。
在此背景下,中国专业 IT 开发者社区 CSDN 于 2020 年正式推出全新升级的开源项目托管平台 GitCode(gitcode.net),基于全球知名代码托管平台 GitLab 搭建而成,具备优越的 Git 仓库管理功能。
如何使用GitCode
那么,怎么更好使用 GitCode,帮助你的开源项目托管和运营,也让你的用户们更快捷地体验和使用?
使用 GitCode 推出的 GitHub 加速服务,让你快速获得关注项目的最新版本。
作为目前全球最大的代码托管平台,GitHub 是广大开源爱好者首选的开源社区,但国内用户时常无法访问或访问速度过慢,一定程度上影响了其开源热情。
为方便国内开发者快速获取 Github 开源项目,GitCode 推出了 GitHub 同步功能------GitHub 加速计划,即通过 mirror 镜像仓库来同步 GitHub 上的开源项目,以解决国内用户访问 GitHub 速度较慢的问题,从 GitCode Mirrors 镜像仓库 Clone 项目可提升近 50 倍的速度。
以下为使用 GitCode 镜像服务的具体操作步骤:
-
访问 GitCode(https://gitcode.net/)并登录你的 CSDN 账号。
-
在导航上点击"新建项目",如下图所示。
-
选择"导入项目",如下图所示。
-
根据项目来源平台,有两种方式实现项目导入,如下图所示。
(1)一是"从 URL 导入仓库"。首先,填写项目地址,完成信息填写后点击"新建项目",随后等待 GitCode 拉取项目源码(注:如果你导入的是私有项目,需填写你在项目原平台的账密),如下图所示。
此外,"从 URL 导入仓库" 支持以同样的方式导入其他平台的代码仓库。
(2)二是从"GitHub"中直接导入。只需填写你的"GitHub 个人访问密钥"并验证,待通过后,你将看到自己在 GitHub 上的所有项目,可选择全部导入或选择部分项目导入,如下图所示。
5、在项目导入成功之后,点击【项目设置-仓库-镜像仓库】,设置"镜像仓库"信息,具体设置方法请参考 GitCode 帮助文档(https://docs.gitcode.com/),如下图所示。
如何把你现有的项目迁移至 GitCode?
秉承"创新、开放、协作、共享"开源价值观的 GitCode,致力于为大规模开源开放协同创新助力赋能,因此为方便开发者进行项目迁移,GitCode 提供了以下三种方式,用户可根据自身情况进行选择。
- 通过 URL 直接导入项目,具体操作方法可见上一部分(暂不支持批量导入)。
- 新增 GitCode 的 Remote,然后 Push,前提是要有一个 CSDN 账号,且本地有要备份的项目 Git 仓,具体操作步骤如下:
(1)访问 GitCode(https://gitcode.net/)并登录你的 CSDN 账号;
(2)在导航上点击新建项目;
(3)选择创建空白项目,如下图所示;
(4)填写项目名称,如下图所示;
(5)填写完毕后,点击"新建项目"并跳转到项目页;
(6)根据项目页提示中的【推送现有 Git 仓库】部分,推送本地代码仓,如下所示。
推送现有的Git仓库
shell
cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitcode.net:xiongjiamu/mytestrepo.git
git push -u origin --all
git push -u origin --tags
- 除了以上两种方式,用户还可以通过命令行新建并推送。前提要有一个 CSDN 账号和本地有要备份的项目 Git 仓,此外还需设置 GitCode 的 SSH KEY(注:关于如何创建 SSH KEY,可参考 GitCode 帮助文档 https://gitcode.net/gitcode/help-docs/-/wikis/docs/ssh#rsa-ssh-密钥)。具体操作步骤如下。
(1)登录 GitCode 并设置好 SSH KEY;
(2)进入到本地的 Git 仓;
(3)在命令行中输入如下命令,注意,需要将 替换成你的 CSDN ID;
(4)等待推送完成(注:这种方式推送至 GitCode 的项目默认为私密项目,可前往【项目设置-常规设置-可见性,项目功能,权限】中将项目可见性改为公开),如下图所示。
除此之外,如果你有需要 GitCode 官方镜像的开源项目、或者对官方镜像项目有意见或反馈,可以前往 https://gitcode.net/codechina/mirrors-settings/-/issues中提交 issue,GitCode 将针对用户的意见反馈逐条完善。
热门开源项目推荐
GitCode上面热门的开源项目非常多,笔者这里只推荐自己在生活和工作中用到的,其它的就需要读者根据自己的需要去官网上查阅了。
actions-poetry - 管理 Python 依赖项的 GitLab CI/CD 工具
actions-poetry 是一个由 Gabriel Batista 开发的 GitLab CI/CD 动作库,它使得在 GitLab 持续集成中管理和安装 Python 项目的依赖变得极其简单和高效。通过充分利用 Poetry 的功能,actions-poetry 可以帮助开发者在构建、测试和部署过程中确保 Python 环境的一致性。
项目概述
actions-poetry 是一个基于 GitHub Actions 构建的工具,但它可以无缝地与 GitLab CI/CD 系统配合工作。它的核心目标是简化 Python 项目的依赖管理,特别是当你的项目需要跨多个平台或环境进行构建时。使用 actions-poetry,你可以轻松地在 CI/CD 管道中执行以下操作:
- 安装和更新项目依赖(包括开发依赖)
- 创建和推送 PyPI 发行版
- 为不同的 Python 版本运行测试
技术分析
actions-poetry 基于 Poetry,一个强大的 Python 包和项目管理工具。Poetry 提供了一种声明式的项目配置方式,能够自动解决依赖冲突并创建隔离的虚拟环境。将这种能力与 GitLab CI/CD 结合,actions-poetry 实现了以下关键功能:
- 自动化依赖管理:通过解析 pyproject.toml 文件,actions-poetry 自动安装指定的依赖版本,并且可以在构建环境中锁定这些版本。
- 平台兼容性:支持在多种操作系统上运行,如 Linux、macOS 和 Windows,确保代码在不同平台上的一致性。
- 可定制化:允许用户自定义步骤,如设置 Python 版本、添加额外的安装命令或者运行测试脚本。
- 安全更新:可以自动化检查并更新项目依赖,确保项目始终使用最新且安全的软件包。
应用场景
无论你是个人开发者还是团队协作,actions-poetry 都能提高你的开发效率。具体应用包括:
- 在每次提交时自动运行测试,确保代码质量。
- 自动打包并发布到 PyPI,简化版本控制和部署流程。
- 在多平台上验证代码,确保兼容性和一致性。
- 保护项目免受已知漏洞影响,通过定期更新依赖实现。
特点
- 易用性:只需在 .gitlab-ci.yml 中引入 actions,无需深入了解 CI/CD 的复杂性。
- 灵活性:允许自定义 Poetry 命令,满足特定需求。
- 高效性:通过缓存机制减少不必要的重复下载,加快构建速度。
- 社区支持:作为开源项目,actions-poetry 收到了社区的积极贡献和反馈,持续优化和完善。
项目地址
Spider - 网络爬虫框架
项目简介
Spider 是一个轻量级的爬虫框架,它以其简洁的API和高效的爬取能力吸引着开发者。该项目旨在让初学者能够快速上手,同时也为有经验的爬虫开发者提供了灵活的定制空间。通过使用Spider,你可以轻松构建复杂的爬虫系统,从网页中提取所需的数据,无论是用于数据分析、信息监控还是自动化任务。
技术分析
- 基于异步IO:Spider 利用了Python的asyncio库,实现了非阻塞的网络请求,大大提高爬虫的速度和效率。
- 模块化设计:各个组件如下载器、解析器等都是可插拔的,方便用户根据需求自由组合或扩展。
- 内置中间件支持:提供了一系列默认的中间件处理机制,包括重试策略、IP代理池、Cookie管理等,提升爬虫的健壮性。
- 易于使用:简单的接口设计使得开发者可以专注于业务逻辑,无需过多关注底层实现。
应用场景
- 数据分析:从互联网抓取大规模数据,进行统计分析和挖掘。
- 网站监控:监控特定网站的内容更新,及时获取重要信息。
- 自动化任务:例如价格跟踪、新闻聚合、社交媒体信息抓取等。
- 学术研究:收集并分析公开的网络数据以进行科学研究。
项目特点
- 易学易用:对新手友好,只需要基本的Python知识就能入门。
- 高效稳定:基于异步IO,能处理大量并发请求,同时具有良好的异常处理机制。
- 高度可定制:丰富的中间件和扩展接口,可根据不同场景灵活定制。
- 社区支持:活跃的开发团队和社区,遇到问题时能得到及时帮助。
项目地址
s3sync - 一个用于同步 Amazon S3 存储桶的工具
项目简介
s3sync 是一款简单易用的命令行工具,它可以帮助您轻松地将本地文件与 Amazon S3 存储桶进行双向同步。
使用场景
- 需要备份大量数据到云端,并且需要实时更新备份。
- 在多个服务器之间共享文件,但又不想手动上传或下载文件。
功能特性
- 双向同步:s3sync 支持在本地文件系统和 Amazon S3 存储桶之间进行双向同步。
- 快速同步:通过比较文件的 CRC32 校验码,s3sync 只会上传或下载发生变化的文件,大大提高了同步速度。
- 自动重试:如果网络连接不稳定导致传输失败,s3sync 将自动重新尝试上传或下载操作。
- 支持多线程:s3sync 支持多线程上传或下载文件,从而提高同步效率。
- 支持通配符:您可以使用通配符(如 * 和 ?)指定需要同步的文件或目录。
安装与使用
安装 s3sync 很简单,只需要执行以下命令即可:
python
pip install git+https://gitcode.com/ms4720/s3sync.git
使用 s3sync 的基本语法如下:
python
s3sync [options] source_path destination_path
其中,source_path 是本地文件系统的路径,destination_path 是 Amazon S3 存储桶的路径。更多信息请参考官方文档。
项目地址
下面根据star数列出Java、C++、Python排名前三的项目,其它的去官网上面查看(https://gitcode.net):
Java项目
-
jeecg/jeecg-boot
- 项目概述:基于代码生成器的低代码平台,提供前后端分离架构。
- 技术分析:使用SpringBoot 2.x,Ant Design & Vue,Mybatis-plus,Shiro,JWT。
- 应用场景:适用于需要快速开发和高度可定制化业务逻辑的企业级应用。
- 特点:通过代码生成器减少手写代码,提高开发效率。
- 安装与使用 :访问官网(http://www.jeecg.com/)获取详细信息。
- 项目地址 :jeecg-boot
-
jenkins-zh/jenkins-open-tutorial
- 项目概述:Jenkins中文社区录制的Jenkins完全系列视频教程。
- 技术分析:可能包含Jenkins的安装、配置、插件使用等。
- 应用场景:适合需要学习Jenkins持续集成的开发者和团队。
- 特点:提供中文视频教程,易于理解。
- 安装与使用 :访问B站视频地址(https://www.bilibili.com/video/BV1fp4y1r7Dd)学习。
- 项目地址 :Jenkins中文视频教程
-
mindspore/akg
- 项目概述:AKG(Auto Kernel Generator)是深度学习网络中的操作符优化器。
- 技术分析:自动融合具有特定模式的操作符。
- 应用场景:深度学习网络的优化,提高计算性能。
- 特点:自动化优化,提高深度学习网络的执行效率。
- 安装与使用:根据项目文档进行安装和使用。
- 项目地址 :mindspore/akg
C++项目
-
openeuler/openeuler-advisor
- 项目概述:openEuler的自动化维护工具集合。
- 技术分析:可能包含自动化脚本和工具,用于系统维护和更新。
- 应用场景:适用于openEuler操作系统的维护和升级。
- 特点:自动化工具,简化系统维护流程。
- 安装与使用:根据项目文档进行安装和使用。
- 项目地址 :openeuler-advisor
-
MegEngine
- 项目概述:MegEngine是一个快速、可扩展、易于使用的深度学习框架。
- 技术分析:支持自动求导,适用于机器学习和深度学习任务。
- 应用场景:AI研究和开发,支持GPU加速。
- 特点:性能优异,易于使用,支持多种硬件平台。
- 安装与使用:根据项目文档安装并进行模型训练。
- 项目地址 :MegEngine
-
DI-engine
- 项目概述:OpenDILab Decision AI Engine。
- 技术分析:可能包含分布式强化学习、多智能体强化学习等。
- 应用场景:决策AI领域,如自动驾驶、游戏AI等。
- 特点:针对复杂决策场景的AI引擎。
- 安装与使用:根据项目文档进行安装和使用。
- 项目地址 :DI-engine
Python项目
-
python120
- 项目概述:包含120个Python爬虫实例,覆盖多种网站和最新框架。
- 技术分析:使用Python语言,涉及网络请求、数据解析和存储等技术。
- 应用场景:适合学习Python爬虫技术,或进行数据抓取任务。
- 特点:实例丰富,覆盖面广,更新频率快。
- 安装与使用:根据项目文档指导安装依赖并运行实例。
- 项目地址 :python120
-
csdn-datav
- 项目概述:CSDN开源的数据可视化平台。
- 技术分析:可能使用JavaScript和数据可视化库,如D3.js等。
- 应用场景:数据展示,适合需要数据可视化功能的产品或服务。
- 特点:开源,易于集成到现有系统。
- 安装与使用:根据项目文档进行安装和配置。
- 项目地址 :CSDN数据可视化
-
mindspore/akg
- 项目概述:AKG是深度学习网络中的操作符优化器。
- 技术分析:自动融合具有特定模式的操作符。
- 应用场景:深度学习网络的优化,提高计算性能。
- 特点:自动化优化,提高深度学习网络的执行效率。
- 安装与使用:根据项目文档进行安装和使用。
- 项目地址 :mindspore/akg
后记
随着开源热门项目推荐活动的圆满结束,我们见证了开源社区中热情的火焰和创新的精神。开源,作为一种文化和运动,已经深入到软件开发的每一个角落,成为推动技术进步和知识共享的强大动力。
在这次活动中,我们收到了来自不同背景、不同领域的程序员们推荐的众多热门开源项目。这些项目不仅展示了开源技术的多样性和创新性,更体现了开源社区的活力和包容性。从基础工具到前沿技术,从小型项目到大型框架,每一个推荐都是对开源精神的一次致敬。
通过这次活动,我们希望更多的人能够认识到开源项目的价值和意义。开源项目不仅是技术实现的平台,更是思想交流、知识共享的社区。在这里,每个人都可以是学习者,也可以是贡献者;每个人都可以是问题的提出者,也可以是解决方案的创造者。
我们鼓励每一位程序员,无论你是资深专家还是新手入门,都能积极参与到开源项目中来。因为开源不仅是一种选择,更是一种态度,一种对技术热爱、对知识渴望、对创新追求的态度。
最后,我们再次感谢所有参与推荐活动的程序员们,是你们的分享和推荐让这次活动如此丰富多彩。让我们期待在未来的日子里,开源社区能够涌现出更多的优秀项目,吸引更多的开发者加入,共同创造一个更加开放、协作、创新的技术世界。开源,因你而精彩!
转载自:https://blog.csdn.net/u014727709/article/details/139694009
欢迎 👍点赞✍评论⭐收藏,欢迎指正