Skip to main content

11月19日内容汇总

· 11 min read
加菲猫

🌟 AI 相关

Transformer模型--模型架构

使用 Redis 构建轻量的向量数据库应用:图片搜索引擎(一)

⭐️ Golang 相关

【升职加薪秘籍】我在服务监控方面的实践(4)-日志监控

Go语言微服务框架重磅升级:dubbo-go v3.2.0 -alpha 版本预览

一文告诉你让SSH 变好用的正确姿势!

腾讯重复造轮子?我们真的需要这么多RPC框架吗

学习gorm系列七:如何高效建立数据库连接

Vite 5.0 正式发布

Git常用命令思维导图

实战:Nacos配置中心的Pull原理,附源码

Kubernetes - CRI 概述

解密defer语句:避免踩坑,掌握延迟执行的正确姿势

提升应用性能:Go中的同步与异步处理

Prometheus 14 点实践经验分享

老后端被借调去写Java了,含泪总结的Java多线程编程基础

史上最全の图论圣经: 涵盖所有「存图方式」与「最短路算法」

HBase详细介绍及原理解析!

微服务框架之争:Quarkus 即将替代Spring Boot

关系代数、SQL语句和Go语言示例

K8S 和 容器中的退出状态码含义,看你知道几个

Unix 编程艺术名句摘录

从4万行代码降到1.8万,腾讯视频竟然用DDD做架构重构

Web 实时消息推送的 7 种实现方案

最新进展:Go arena 手动管理内存,鸽了!

微服务不香了?单体化改造为我们节省上万核 CPU!

Golang 编译速度为什么这么快

写出高质量代码的秘诀:Golang中的测试驱动开发(TDD)

实战!接口中的大事务,该如何进行优化

用了这么多年Docker,殊不知你还有这么多弯弯绕!

Kubernetes上生产环境后,99%都会遇到这2个故障

Go语言爱好者周刊:第 204 期 —— Go 14 周年

📒 前端相关

前端基建有哪些?大小公司偏重啥

不是吧?async/await异常捕获你还在用try-catch~

IntersectionObserver:实现滚动动画、懒加载、虚拟列表

Introducing GPTs。OpenAI 正在推出一种新的定制版本的 ChatGPT—— GPTs。用户可创建专门用途的 GPT,无需编程知识,方便在日常生活、工作或学习等各种场景中使用,甚至可以和他人分享。用户可以在 chat.openai.com/create 上进行创建试用。ChatGPT Plus 和企业版用户今天就可以试用,包括 Canva 和 Zapier AI Actions。此外,本月晚些时候,OpenAI 将推出 GPT 商店,展示被认证的开发者的作品。在未来几个月,GPT 使用者也将有机会通过使用频率赚钱。OpenAI 表示,GPT 的所有措施都考虑到了隐私和安全,用户完全可以控制自己的数据。此外,开发者也可以将 GPT 连接到真实世界,定义自定义动作,连接到数据库,插入电子邮件,或者使用购物助手等。企业版用户也可以部署仅限内部的 GPT,满足特定使用场景,部门或具有专有数据集的需求。

Vue design patterns guide。Vue是一个流行的用于构建用户界面的渐进式JavaScript框架。与其他的全功能框架不同,Vue被设计为可逐步采用,这意味着其入门易如jQuery,但与现代化工具和支持库结合使用时,有潜力支持复杂的应用程序。理解和利用Vue的模式可以大大帮助编写清晰、高效和可维护的代码。本站将详细讲解Vue的特定模式和行为,包括可组合函数、脚本设置、状态管理、提供/注入、动态组件等概念。无论你是初学者,还是希望更好地理解一些有用的模式,这里都能提供帮助。

Github 推出新的字体。

Rust 在 nightly 版本中通过并行前端技术加速编译过程。Rust 编译器的前端现在可以使用并行执行功能,以大大缩短编译时间。用户可以通过使用 - Z threads=8 选项在夜间编译器上尝试此功能。这项功能现在还处于实验阶段,预计将在 2024 年的稳定版编译器中进行发布。通过使用 Rayon 实现细粒度的并行任务,新的前端可以并行执行许多编译任务。用户可以通过 - Z threads 选项打开多线程模式。测试结果表明,编译时间可以减少多达 50%,但结果取决于代码的特性和构建配置。尽管并行前端运行在单线程模式下,编译时间一般仅慢 0% 到 2%。因此,用户应几乎不会注意到增加的延迟。此外,Rust 编译器的实现遵循 jobserver 协议,将创建的线程数量限制在内核数量以内,因此不会出现效率低下的情况。

《你为什么需要 React Query》。 文章主要讨论了 React Query 的实用性和特性,反驳了一些声称不需要 React Query 进行数据获取的观点。作者认为,尽管像 fetch-in-useEffect 这样的标准例子看似简单,但在处理边界情况和状态管理时,会引入诸多复杂性和问题。反观 React Query,它能解决这些问题并简化开发。优点包括自动防止竞态条件,免费获得加载、数据和错误状态,显然分离没有数据的状态,根据需要获取前一个类别的数据或错误等。作者最后挑战读者在下一个项目中尝试使用 React Query,他认为这不仅可以使代码更加易于维护和扩展,而且可以提供更强大的功能。

《re-re-reselct - 简化 React 状态管理》。 Causal 博客文章介绍了他们设计和实现的状态管理解决方案——Causal Selectors。文章先分析了管理复杂网页应用中状态数据的挑战,然后解释了两种类型的 Causal Selectors —— 叶子选择器和组合选择器的工作原理。文章还阐述了它们如何优化性能,减少不必要的重渲染,并与React进行整合。但新框架的初步效果并不理想,所以他们通过优化选择器的性能和订阅管理,最终使其性能回到原始水平,同时使状态管理更容易使用。他们计划完成所有组件的迁移,缓存拓扑排序以增加速度,并将状态从Redux移出,以便更好地管理后端查询的状态。

《利用 NextJS、Trigger.dev 和 GPT4 打造一款简历制作工具》。 本文教你如何使用 NextJS、Trigger.dev、Resend 和 OpenAI 创建一个简历生成器。内容包括基本信息(如名字、姓氏以及最后工作的地方),生成和创建 PDF, 最后发送给你的邮箱。我们使用 NextJS 创建一个简单的表单,使用 react-hook-form 进行字段验证和表单信息保存,利用 NextJS 提供的路由处理网络请求。我们利用 Trigger.dev 进行后台任务处理,例如用 ChatGPT 生成内容,创建 PDF 和通过邮件发送。然后通过 OpenAI 构建 ChatGPT,通过 jsPdf 库创建 PDF,最后通过 Trigger.dev 的 Resend 集成包实现邮件发送。 完整的源代码可以在 Github 上找到。

《React 设计模式》。 本文介绍了 React 设计模式,包括容器和演示模式,钩子组件组合,使用 Reducer 的状态管理,使用 Provider 的数据管理,使用 HOCs(高阶组件)进行组件增强,复合组件,属性组合,受控输入以及使用 fowardRefs 管理自定义组件等。通过运用这些设计模式和最佳实践,可以提升代码质量,推动团队协作,并让你的应用变得更加可扩展、灵活、可维护。

MDH 前端周刊第 113 期:Angular.dev & 17、pacquet、设计模式、Rust Prettier 悬赏