开源热榜 20240704
开源软件连锁、爆炸式的增长,间接带来了现在软件领域的百花齐放。当然,任何事物都是有它的两面性,不足的方面也有,其中之一就是目前让大家倍感焦虑的:人才需求的急剧变化。希望技术产生的问题能最终通过更新的技术或非技术的手段最终得以解决。
发现现在Github Trending有了较多的变化,不再是每天每种类型(趋势、语言等)固定25条,连更新时间似乎都在变化了。
很久没写一篇完整的热榜了,总是没时间用人话写,经常一个还没写完,又到下一天,翻篇了,这似乎不是个好生意……😂😂😂
今日福利:
下文中的新的接近真人语音的开源 TTS 在线体验官网; 第一个号称不输 GPT-4o 的免费开源模型Moshi,从0开发,6个月,8个人,来自法国Kyutai公司,在线申请网址:https://moshi.chat/?queue_id=talktomoshi
仓库:microsoft/generative-ai-for-beginners
点评: 经常上榜的,微软的云倡导者们开源的一门课程,18节生成式AI的初学者课程,意在帮助初学者了解并开始构建生成式AI应用。除此以外,微软的相关团队还制作了不少其他课程,如机器学习、数据科学、AI、网络安全、Web开发、物联网、XR开发等初学者课程,感兴趣的可以继续探索。https://microsoft.github.io/generative-ai-for-beginners/
仓库:fishaudio/fish-speech
点评: 国内Fish Audio团队开源的全新的 TTS 解决方案,支持中英日语。估计是因为TTS领域对数据、算力等的要求相对较低,研究又相对成熟,所以这个领域最近涌现出很多国人团队的惊艳项目,如之前介绍过的:ChatTTS等项目。假以时日,当我们克服了算力瓶颈,相信一定会有更多更好的项目涌现!
在线体验官网:https://fish.audio
快去看看除了丁真、郭德纲、单田芳老师,还有哪些你爱的声音吧!想象一下:如果上课时,套个橡皮小美女脸,再把小老头的声音实时转换成AD学姐、邓紫棋、芙宁娜等的声音,边讲边舞(扭),学生们会不会更爱听呢?艾玛,画面太美,不敢想象……😍😍😍
也有人做了本地体验包,虽说项目对硬件的要求已经进一步降低了,但还是有相当要求:GPU 内存: 4GB (用于推理), 16GB (用于微调)。个人预测,到年底,应该有不少不需要GPU,普通PC就能推理的模型面世。
仓库:joschan21/digitalhippo
点评: 面向数字产品的现代全栈式电子商务市场,用Next.js 14的App Router、tRPC、TypeScript、Tailwind和Payload等技术构建。
作者在致谢中尤其提到了Payload(payloadcms/payload)内容管理系统,这也是一个开源的项目,号称“构建现代后端 + 管理 UI 的最佳方式。没有黑魔法,全是 TypeScript,并且完全开源,它既是一个应用程序框架,又是一个无头 CMS。”
如果学生利用这些开源项目来开发传统的、没有特殊定制的毕设系统,真的会越来越省事。不过国外的CMS,关注点跟国内的有很大不同,这些国外的CMS,更适合用来接海外的单子。
功能特点包括:从头开始构建的完整市场、美观的登录页和产品页面、完整的管理仪表板、用户可以购买也可以销售产品、本地持久化的购物车、使用Payload进行认证、可以自托管、使用 shadcn-ui 的现代UI设计、用户注册和购买后可收到精美电子邮件、管理员可以对产品进行验证审核、完全用 TypeScript 编写等等。
仓库:folke/tokyonight.nvim
点评: 这个叫“东京之夜.nvim”的开源项目,是用 Lua 为 Neovim 编辑器设计的主题,有浅色和深色的,支持 lsp、treesitter 和大量插件,为这些插件提供一致的配色方案。从 Visual Studio Code 的 TokyoNight 主题移植而来。它不仅支持 Neovim,还提供了 Kitty、Alacritty、iTerm 和 Fish 等工具的额外主题。
特点:
支持 Neovim 0.9.0 版本的最新特性。 包含终端颜色配置。 支持所有主流插件。
仓库:Asabeneh/30-Days-Of-Python
点评: 按照作者说的:《Python 编程挑战 30 天》是一份在 30 天内逐步学习 Python 编程语言的指南。这项挑战实际可能需要 100 多天,请按照自己的节奏进行,YT上的一些视频可能也有帮助。
每天的课程都包含了不同的主题,涵盖了从基础概念到高级应用的各个方面。挑战以易于理解的解释、实际示例和大量实践练习为特点,鼓励学习者通过每天的学习逐步掌握Python。这个30天的进度,对于学习过其它编程语言的人还好,但对于纯编程小白还是有难度的。
《XX天精通YY》的书名,在我大学时代起,就经久不衰了,它充分反映了:无助的人们,对于极速获取知识和Power的不切实际的渴望,老实说,比起靠吃药丸逆天改命的神话还是要现实很多了 😄😄😄
第1天:介绍 - 了解Python的基础知识,包括环境设置、Python Shell的使用、基本语法、数据类型、以及如何进行代码注释。 第2天:变量和内置函数 - 学习如何在Python中使用变量和内置函数来执行基本操作。 第3天:运算符 - 探索Python中的各种运算符,包括算术、比较和逻辑运算符。 第4天:字符串 - 深入了解字符串的使用方法和操作。 第5天:列表 - 掌握列表的创建、访问和修改等操作。 第6天:元组 - 学习元组的特性以及与列表的区别。 第7天:集合 - 了解集合的概念和在Python中的使用。 第8天:字典 - 学习字典的使用方法,包括键值对的存储和访问。 第9天:条件语句 - 探索如何使用条件语句来进行决策和控制程序流程。 第10天:循环 - 学习不同类型的循环结构,包括for和while循环。 第11天:函数 - 了解如何定义和使用函数来组织代码。 第12天:模块 - 学习如何导入和使用Python模块来扩展功能。 第13天:列表推导式 - 掌握列表推导式的使用,以更简洁的方式创建列表。 第14天:高阶函数 - 学习高阶函数的概念和应用。 第15天:Python类型错误 - 了解常见的Python类型错误及其解决方法。 第16天:Python日期时间 - 探索Python中日期和时间的处理。 第17天:异常处理 - 学习如何处理程序中的错误和异常。 第18天:正则表达式 - 深入了解正则表达式的使用,以进行复杂的文本模式匹配。 第19天:文件处理 - 学习如何在Python中读写文件。 第20天:Python包管理器 - 了解如何使用Python包管理器来安装和管理第三方库。 第21天:类和对象 - 探索面向对象编程的基本概念,包括类的定义和对象的创建。 第22天:网络爬虫 - 学习如何使用Python进行网页数据的抓取。 第23天:虚拟环境 - 了解虚拟环境的概念,以及如何在Python中创建和管理虚拟环境。 第24天:统计 - 学习Python中的统计分析方法。 第25天:Pandas - 探索Pandas库,用于数据处理和分析。 第26天:Python网络应用 - 学习如何使用Python构建网络应用。 第27天:Python与MongoDB - 了解如何将Python与MongoDB结合使用,进行数据存储和查询。 第28天:API - 学习API的基础知识,以及如何在Python中使用API。 第29天:构建API - 学习如何设计和构建自己的API。 第30天:总结 - 对整个30天挑战进行回顾和总结。🧡🧡🧡 快乐编码 🧡🧡🧡
仓库:public-apis/public-apis
点评: APILayer 提供了一个方便的开源仓库,可以帮助开发者轻松找到各种免费的公共API,并且集成到自己的产品中。
网页提供了 APILayer 提供的API列表,内容是相当……的多,你要开发啥网络功能/服务,可以先看看这边有没有可以白嫖的。
个人如果有公共 API 想要发布的,可以通过Postman的 API 网络(Run in Postman)进行发布。
仓库:immich-app/immich
点评: 之前介绍过的,功能丰富的高性能、自托管照片和视频管理解决方案。
仓库:facebook/react-native
点评: 之前介绍过的,React Native是一个由Facebook发起的开源项目,允许开发者使用React框架来构建iOS和Android平台的移动应用。它的核心理念是“一次学习,随处编写”,意味着你只需掌握这一套技术,就能在多个平台上开发应用。
仓库:laravel/laravel
点评: PHP仍是当今最主要的Web网站开发语言之一,而 Laravel 是一个著名的 PHP Web 应用框架,基于MIT许可,2011年创建,语法丰富、优雅,号称是“给Web艺术家们的PHP框架”👍。为你的下一个伟大构想奠定了基础,让你无需为细枝末节的事情操心,就能尽情创造。Laravel 易于使用,功能强大,为构建大型、健壮的应用程序提供了所需的工具。
优点:
Laravel 简化了许多Web项目中的常见任务,如:
简单快速的路由引擎 强大的依赖注入容器 多种后端支持的会话和缓存存储 直观的数据库对象关系映射(ORM) 数据库无关的架构迁移 强大的后台任务处理 实时事件广播
学习 Laravel:
Laravel 拥有所有现代网页应用框架中最全面、最详细的文档和视频教程库,使您能够轻松开始使用这个框架。
如果你不想阅读,Laracasts也可以提供帮助。Laracasts 包含数千个视频教程,涵盖 Laravel、现代 PHP、单元测试和 JavaScript 等多个主题。
仓库:restic/restic
点评: restic 是一个快速、高效、安全的备份程序。它支持主流操作系统(Linux、macOS、Windows)以及一些较小的系统(FreeBSD、OpenBSD),可惜的是,目前似乎只有命令行方式,这对于大多数不熟悉命令行方式的人来说,不够友好。采用BSD 2-Clause许可。
在线文档:https://restic.readthedocs.io/en/latest
支持多种存储后端,用于存放备份数据:
本地目录 通过 SSH 的 sftp 服务器 HTTP REST 服务器 Amazon S3 OpenStack Swift BackBlaze B2 Microsoft Azure Blob Storage Google Cloud Storage 通过 rclone 支持的其他服务
restic 的设计遵循以下原则:
易用性:备份应简单无障碍,否则用户可能忽略它。 速度:备份速度应只受限于网络或硬盘带宽,确保能每天备份。 可验证性:备份的目的是恢复,restic 允许用户轻松验证数据可恢复。 安全性:使用密码学保证数据的机密性和完整性。 效率:随着数据增长,新快照应只占用实际增量的存储空间。
可复现构建
从 0.6.1 版本开始,restic 的每个版本发布的二进制文件都是可复现的:https://reproducible-builds.org
仓库:vercel/next.js
点评: Next.js 是一个用于服务器端渲染(SSR)和静态站点生成(SSG)的 React 开源框架,由 Vercel 公司开发和维护。它提供了一种简单的方式来创建 React 应用程序,并允许开发者利用SSR和SSG的优势来提高应用程序的性能和用户体验,以构建高品质的Web应用。Next.js扩展了React的最新特性,并集成了基于Rust的JavaScript工具,提供了快速构建的能力,有很多开源项目都是基于它开发的。
主要特点:
零配置:Next.js 提供了一种简单的方式来开始一个新的 React 项目,无需进行复杂的配置。它内置了许多最佳实践和默认设置,使得开发者可以专注于编写代码,而不是配置工具。 自动代码分割:Next.js 自动将应用程序代码分割成小的块,使得用户只需加载当前页面所需的代码,从而提高应用程序的性能。 服务器端渲染和静态站点生成:Next.js 支持服务器端渲染和静态站点生成,这使得应用程序的页面可以在服务器端渲染,或者提前生成静态 HTML 文件,从而提高页面加载速度和搜索引擎优化(SEO)。 API 路由:Next.js 允许开发者编写 API 路由,使得可以在同一个项目中同时处理前端和后端逻辑,简化了开发流程。 内置 CSS 和 Sass 支持:Next.js 支持 CSS Modules 和 Sass,使得可以轻松地管理和组织样式文件。 插件和中间件支持:Next.js 允许开发者使用各种插件和中间件来扩展应用程序的功能,例如身份验证、数据库集成等。 灵活的路由系统:Next.js 提供了一个灵活的路由系统,使得可以轻松地管理页面之间的导航和数据传递。
仓库:BLAKE3-team/BLAKE3
点评: BLAKE3 密钥散列函数的 Rust 和 C 官方实现,Python等语言的实现也都有。按照官方的说法:
BLAKE3不是密码哈希算法,因为它设计得非常快,而密码哈希应该慢。
如果你需要存储密码哈希或从密码派生密钥,我们推荐使用Argon2。
特点:
速度极快:比MD5、SHA-1、SHA-2、SHA-3和BLAKE2都要快得多。 安全性高:与MD5和SHA-1不同,BLAKE3是安全的,并且像SHA-2一样,能够抵御长度扩展攻击。 高度可并行化:可以在任意数量的线程和SIMD通道上并行化,因为它内部采用了Merkle树结构。 支持验证流和增量更新:同样因为内部的Merkle树结构。 同时是一个伪随机函数(PRF)、消息认证码(MAC)、密钥派生函数(KDF)和可扩展输出函数(XOF),以及一个常规的散列函数。 单一算法,无变体:在x86-64和更小的架构上都表现出色。
下图是 2019 年 Cascade Lake-SP 8275CL 服务器 CPU 上 16 KiB 输入的基准测试示例,这处理速度,遥遥领先啊👍👍👍。
好啦,今天我们又学习了一些新的东西,晚上睡觉可以更安稳了🤣