We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OK!继续来分享上一周(月)接触到的一些讯息!本周将分享涉及 Uniapp 开发、WebChat 即时通讯、React 趋势图、JSON 超集 SuperJSON、云盘和临时点对点传输应用甚至零知识证明的学习资料等等。
Z-library 推出一个小活动,所有用户可以打开 zlib 首页(自己找,问我也行),点击首屏 banner 的 Gift inside ,找到 unwrap it 文字上面的小船图标,点击即可获取月会员兑换码。
笔者亲身验证,并且还因此在这里下载了一本书:《你好啊,区块链》。
ps:这本书在网上找不着资源,万能的 PDD 上要几百块钱呢。
介绍 | Vitesse uni-app: vitess-uni-app 是一个基于 Vue 和 uni-app 的开源模板,采用直观且可扩展的方式创建类型安全、高性能和生产级的跨端应用。你可以直接开始编写 .vue 文件,而无需从头开始配置。
Vue
uni-app
.vue
笔者最近接了一个小活,用 uniapp 创建安卓应用。当我用官网脚手架开发好功能之后,在打包安卓的时候却遇到各种问题,一些轻微的改动就会触发难以排查的失败。这让我非常沮丧,于是我搜索了相关的话题找到了这个脚手架,经过验证这个脚手架的功能非常完整,打包也没有任何问题。
最重要的是:vitesse-uni-app 充分拥抱开放生态,比如 VS Code 和 npm,希望能带给你更好的体验。
如果你想要有不错的 Uniapp 开发体验,那么可以考虑了解一下这个组件库:
Wot Design Uni | 一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。
笔者使用下来,感觉这个库的颜值和交互还是不错的。
react-trend 1.2.0 Demo 展示了一个极简的 React 趋势图组件,用户可以配置颜色、宽度、形状和圆角尺寸来渲染一个简单的趋势图。
源码地址如下:
unsplash/react-trend: 📈 Simple, elegant spark lines,这个组件已经稳定,不过维护人没有时间精力继续维护,并且建议用户自己通过源代码了解怎么如何搭建这个组件。
绘图工具通常很复杂、抽象、还沉甸甸的。它们需要专业知识,还得花不少时间。虽然你要为分析应用做丰富的数据可视化,这确实是必要的代价。但如果你只是需要一个能显示趋势的简单折线图呢?
毫无疑问,在时间和精力有限的情况下,这是一个极佳的趋势图组件选项。
molvqingtai/WebChat: 💬 Chat with anyone on any website. 是一个基于 webrtc 技术的匿名聊天 Chrome 插件,其提供了对同一站点的端对端加密通信,主要利用的技术栈如下:
某种意义上来说,我们可以参考这个作品,把端对端的加密通信用到自己的作品中去。这是一种技术,现在你只是缺少创意。
Ugly Avatar 是一个开源的漫画风头像生成应用,作者表示:这个项目是在“署名-非商业性使用 4.0 国际许可协议”下。也就是说,这个项目不能用于商业用途。我考虑了一段时间。如果你想在需要头像生成器的网站上使用它,那你可以随便用。但是,如果你用这段代码单独开发一个应用作为你的主要项目,我非常反对这样做。我不想有“有人复制了我的代码然后赚钱”的烦恼。
🤣,代码短小精悍,非常清晰地介绍了如何生成一个随机的头像,仅阅读这个代码也是一个不错的学习 svg 知识的机会。
flightcontrolhq/superjson: Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
如上所示,superjson是一个支持完备 JavaScript 对象类型 JSON 超集,以下是二者序列化和反序列化数据能力的对比表格:
superjson
string
number
boolean
null
Array
Object
undefined
bigint
Date
RegExp
Set
Map
Error
URL
如果你需要在某些场景下处理复杂 JavaScript 数据的序列化和反序列化的问题,这个库一定能帮助到你。
webrecorder/archiveweb.page: A High-Fidelity Web Archiving Extension for Chrome and Chromium based browsers! 是一个备份整理 web 页面的浏览器插件,可以用来在浏览器里直接运行的高保真互动式网页存档。
文叔叔 - 传文件,找文叔叔(大文件、永不限速) 是一个不需要登录的临时文件传输服务,单文件最大 5G,非常适合临时使用,另外支持客户端和小程序。
Send Anywhere - File transfer 是一款非常知名的跨平台文件传输工具,2012 年推出至今已经运营 10 年时间。
可以通过密匙、二维码、链接、邮件分享和下载文件。而且使用密匙传输时直接在两台设备间传输文件,不会存储在服务器上,更安全可靠。
如果愿意接受实时地传输,那么看起来比上面的临时云盘更好用,直接跳过第三方服务点对点传输更快。
但是临时云盘依然有意义,文件可以短暂保存在服务器上,我们可以先去做别的事情。
ZK101 - 零知识学习零知识 是一个致力于让零知识证明(Zero-Knowledge Proofs)变得易于理解和学习的开源教育平台。
realtime-ai/openai-realtime-webrtc-go: openai webrtc go : 使用 Go 语言实现的 OpenAI Realtime API WebRTC 客户端,支持实时语音交互。
独立开发者:
电影《误杀3》
周末和女朋友一起去看了电影《误杀3》,看的时候我就想到这种内容不可能在内地拍,因为很多场景根本没办法拍,那些行为很容易就会被控制,人们能做的事情只有相信大喇叭,亦或是用自己的脑子思考大喇叭所说的内容是否真实。
当你突破语言的限制,离开局域网把眼光放大到世界,使用另一种语言去获取信息和书籍,你才能够得到对事物更广阔的信息之源。
韩国空难 RIP
改变自己的第一步,不是洗心革面,来一次彻头彻尾的大改造,而是把以前想改变但半途而废的事做起来。比如把买了没读的书先看完,报了名没认真学的课去学一遍。
长期软件开发文摘(源自阮一峰周刊,推荐去关注一下):
有些领域的软件会持续运行几十年,比如发电厂、起搏器、飞机、桥梁、重型机械的软件。它们可能几年都不会改动,然后推出一个新的大版本。
如果一个软件的开发周期长达几十年,需要长期维护,那么最好做到下面几点。
(1)尽量减少依赖。
软件的依赖项越多,长期越难以维护。依赖包括开发时依赖和运行时依赖,都是越少越好。
现在,很多软件在运行时会调用云服务,这也不利于长期维护。
(2)完备的测试用例。
测试对于重构、删除/添加功能,会提供极大的帮助。当你中断3年后,重新开始开发,测试也会让你快速了解系统。
(3)减少复杂性。
复杂性是软件开发的头号敌人,会让最好的程序员和团队都铩羽而归。
由于熵增定律和人类行为,除非你有意识地遏制,否则复杂性总是会增加。
因此,你需要养成严格的开发习惯:尽早和频繁地重构,删除不必要的或重复的代码,花时间简化。
(4)编写简单无趣的代码。
代码越简单越好,重点是代码的运行逻辑要显而易见。你永远不会后悔编写了简单的代码。
那些看上去很聪明、很高深的代码,会让后期的调试和理解变得复杂。特别注意那些高性能代码,只有当你正确理解它们时,它们才有效。
另外,那些眼下时髦、被热炒的明星技术,如果没有得到充分验证,也需要规避。
你最好只使用至少有10年历史的可靠技术。有一条规则是,某项技术的寿命与它们当前的年龄成正比,即存在越久的东西越可能继续存在。
(5)日志、遥测和文档
如果软件不是持续更新,开发者的注意力就会转到其他地方,不会立即跟进,所以需要有日志和遥测,能把运行过程记录下来。
文档则可以帮助我们理解几年前、甚至十几年前,编写原始代码时的想法。可能的话,记录所有事物,不仅仅是代码,还有理念、想法和为什么。
(6)团队
团队人员变化是很常见的。在许多地方,在一个团队呆三年,就已经很久了。虽然你可以用良好的文档和出色的测试,来抵消这种人员变化,但这很困难。
软件长寿的最简单办法之一,就是让开发成员长期稳定,保持工作十年。这意味着,你必须给你的程序员提供良好待遇,否则人们会离开。
在某些地方,软件是外包公司或咨询顾问写的,他们将代码丢到你的系统中后离开。对于长期运行的软件,这是非常糟糕的安排。
(7)开源
让你的代码暴露在外界的眼光,是保持代码可靠的好方法。一个有趣的事实是,只有质量良好的代码,人们才愿意对外分享,也就是说,如果不开源,人们会愿意在组织内部接受质量更差的代码。
开源代码有更高的标准、更多的测试,这是让代码不过时的绝佳机制。
最近开始准备一直在找远程工作,如果大家有内推的话,欢迎联系我!
非常期待读者的点赞和支持,或多或少我都能从中得到鼓励❤️
好了,今天的分享就先到这里,大家下周见~
The text was updated successfully, but these errors were encountered:
No branches or pull requests
description: 本周将分享涉及 Uniapp 开发、WebChat 即时通讯、React 趋势图、JSON 超集 SuperJSON、云盘和临时点对点传输应用甚至零知识证明的学习资料等等。
cover: https://de4965e.webp.li/blog-images/2024/12/8adcc948997305e115d1c90d92f383f7.png
OK!继续来分享上
一周(月)接触到的一些讯息!本周将分享涉及 Uniapp 开发、WebChat 即时通讯、React 趋势图、JSON 超集 SuperJSON、云盘和临时点对点传输应用甚至零知识证明的学习资料等等。Z-Lib 月会员
Z-library 推出一个小活动,所有用户可以打开 zlib 首页(自己找,问我也行),点击首屏 banner 的 Gift inside ,找到 unwrap it 文字上面的小船图标,点击即可获取月会员兑换码。
笔者亲身验证,并且还因此在这里下载了一本书:《你好啊,区块链》。
ps:这本书在网上找不着资源,万能的 PDD 上要几百块钱呢。
Vitesse Uni App
介绍 | Vitesse uni-app: vitess-uni-app 是一个基于
Vue
和uni-app
的开源模板,采用直观且可扩展的方式创建类型安全、高性能和生产级的跨端应用。你可以直接开始编写.vue
文件,而无需从头开始配置。笔者最近接了一个小活,用 uniapp 创建安卓应用。当我用官网脚手架开发好功能之后,在打包安卓的时候却遇到各种问题,一些轻微的改动就会触发难以排查的失败。这让我非常沮丧,于是我搜索了相关的话题找到了这个脚手架,经过验证这个脚手架的功能非常完整,打包也没有任何问题。
最重要的是:vitesse-uni-app 充分拥抱开放生态,比如 VS Code 和 npm,希望能带给你更好的体验。
Wot Design Uni
如果你想要有不错的 Uniapp 开发体验,那么可以考虑了解一下这个组件库:
Wot Design Uni | 一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。
笔者使用下来,感觉这个库的颜值和交互还是不错的。
React-trend
react-trend 1.2.0 Demo 展示了一个极简的 React 趋势图组件,用户可以配置颜色、宽度、形状和圆角尺寸来渲染一个简单的趋势图。
源码地址如下:
unsplash/react-trend: 📈 Simple, elegant spark lines,这个组件已经稳定,不过维护人没有时间精力继续维护,并且建议用户自己通过源代码了解怎么如何搭建这个组件。
绘图工具通常很复杂、抽象、还沉甸甸的。它们需要专业知识,还得花不少时间。虽然你要为分析应用做丰富的数据可视化,这确实是必要的代价。但如果你只是需要一个能显示趋势的简单折线图呢?
毫无疑问,在时间和精力有限的情况下,这是一个极佳的趋势图组件选项。
WebChat
molvqingtai/WebChat: 💬 Chat with anyone on any website. 是一个基于 webrtc 技术的匿名聊天 Chrome 插件,其提供了对同一站点的端对端加密通信,主要利用的技术栈如下:
某种意义上来说,我们可以参考这个作品,把端对端的加密通信用到自己的作品中去。这是一种技术,现在你只是缺少创意。
ugly-face
Ugly Avatar 是一个开源的漫画风头像生成应用,作者表示:这个项目是在“署名-非商业性使用 4.0 国际许可协议”下。也就是说,这个项目不能用于商业用途。我考虑了一段时间。如果你想在需要头像生成器的网站上使用它,那你可以随便用。但是,如果你用这段代码单独开发一个应用作为你的主要项目,我非常反对这样做。我不想有“有人复制了我的代码然后赚钱”的烦恼。
🤣,代码短小精悍,非常清晰地介绍了如何生成一个随机的头像,仅阅读这个代码也是一个不错的学习 svg 知识的机会。
Superjson
flightcontrolhq/superjson: Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
如上所示,
superjson
是一个支持完备 JavaScript 对象类型 JSON 超集,以下是二者序列化和反序列化数据能力的对比表格:string
number
boolean
null
Array
Object
undefined
bigint
Date
RegExp
Set
Map
Error
URL
如果你需要在某些场景下处理复杂 JavaScript 数据的序列化和反序列化的问题,这个库一定能帮助到你。
archive web page
webrecorder/archiveweb.page: A High-Fidelity Web Archiving Extension for Chrome and Chromium based browsers! 是一个备份整理 web 页面的浏览器插件,可以用来在浏览器里直接运行的高保真互动式网页存档。
临时云盘
文叔叔 - 传文件,找文叔叔(大文件、永不限速) 是一个不需要登录的临时文件传输服务,单文件最大 5G,非常适合临时使用,另外支持客户端和小程序。
点对点临时传输
Send Anywhere - File transfer 是一款非常知名的跨平台文件传输工具,2012 年推出至今已经运营 10 年时间。
可以通过密匙、二维码、链接、邮件分享和下载文件。而且使用密匙传输时直接在两台设备间传输文件,不会存储在服务器上,更安全可靠。
如果愿意接受实时地传输,那么看起来比上面的临时云盘更好用,直接跳过第三方服务点对点传输更快。
但是临时云盘依然有意义,文件可以短暂保存在服务器上,我们可以先去做别的事情。
ZK101
ZK101 - 零知识学习零知识 是一个致力于让零知识证明(Zero-Knowledge Proofs)变得易于理解和学习的开源教育平台。
实时语音交互
realtime-ai/openai-realtime-webrtc-go: openai webrtc go : 使用 Go 语言实现的 OpenAI Realtime API WebRTC 客户端,支持实时语音交互。
笑
独立开发者:
电影《误杀3》
周末和女朋友一起去看了电影《误杀3》,看的时候我就想到这种内容不可能在内地拍,因为很多场景根本没办法拍,那些行为很容易就会被控制,人们能做的事情只有相信大喇叭,亦或是用自己的脑子思考大喇叭所说的内容是否真实。
当你突破语言的限制,离开局域网把眼光放大到世界,使用另一种语言去获取信息和书籍,你才能够得到对事物更广阔的信息之源。
言
韩国空难 RIP
改变自己的第一步,不是洗心革面,来一次彻头彻尾的大改造,而是把以前想改变但半途而废的事做起来。比如把买了没读的书先看完,报了名没认真学的课去学一遍。
长期软件开发文摘(源自阮一峰周刊,推荐去关注一下):
有些领域的软件会持续运行几十年,比如发电厂、起搏器、飞机、桥梁、重型机械的软件。它们可能几年都不会改动,然后推出一个新的大版本。
如果一个软件的开发周期长达几十年,需要长期维护,那么最好做到下面几点。
(1)尽量减少依赖。
软件的依赖项越多,长期越难以维护。依赖包括开发时依赖和运行时依赖,都是越少越好。
现在,很多软件在运行时会调用云服务,这也不利于长期维护。
(2)完备的测试用例。
测试对于重构、删除/添加功能,会提供极大的帮助。当你中断3年后,重新开始开发,测试也会让你快速了解系统。
(3)减少复杂性。
复杂性是软件开发的头号敌人,会让最好的程序员和团队都铩羽而归。
由于熵增定律和人类行为,除非你有意识地遏制,否则复杂性总是会增加。
因此,你需要养成严格的开发习惯:尽早和频繁地重构,删除不必要的或重复的代码,花时间简化。
(4)编写简单无趣的代码。
代码越简单越好,重点是代码的运行逻辑要显而易见。你永远不会后悔编写了简单的代码。
那些看上去很聪明、很高深的代码,会让后期的调试和理解变得复杂。特别注意那些高性能代码,只有当你正确理解它们时,它们才有效。
另外,那些眼下时髦、被热炒的明星技术,如果没有得到充分验证,也需要规避。
你最好只使用至少有10年历史的可靠技术。有一条规则是,某项技术的寿命与它们当前的年龄成正比,即存在越久的东西越可能继续存在。
(5)日志、遥测和文档
如果软件不是持续更新,开发者的注意力就会转到其他地方,不会立即跟进,所以需要有日志和遥测,能把运行过程记录下来。
文档则可以帮助我们理解几年前、甚至十几年前,编写原始代码时的想法。可能的话,记录所有事物,不仅仅是代码,还有理念、想法和为什么。
(6)团队
团队人员变化是很常见的。在许多地方,在一个团队呆三年,就已经很久了。虽然你可以用良好的文档和出色的测试,来抵消这种人员变化,但这很困难。
软件长寿的最简单办法之一,就是让开发成员长期稳定,保持工作十年。这意味着,你必须给你的程序员提供良好待遇,否则人们会离开。
在某些地方,软件是外包公司或咨询顾问写的,他们将代码丢到你的系统中后离开。对于长期运行的软件,这是非常糟糕的安排。
(7)开源
让你的代码暴露在外界的眼光,是保持代码可靠的好方法。一个有趣的事实是,只有质量良好的代码,人们才愿意对外分享,也就是说,如果不开源,人们会愿意在组织内部接受质量更差的代码。
开源代码有更高的标准、更多的测试,这是让代码不过时的绝佳机制。
最后
最近
开始准备一直在找远程工作,如果大家有内推的话,欢迎联系我!好了,今天的分享就先到这里,大家下周见~
The text was updated successfully, but these errors were encountered: