Hello,又到了每日掘金时间。酱酱们的每日掘金新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!
本文字数2300+,阅读时间大约需要 15分钟。
- 【本期每日掘金】亮点:
- 纯前端实现 Excel在线解析和预览(兼容APP、Web、小程序)
- 2023 Web框架性能报告
- 可在控制流中调用!React 新 hook 尝鲜
- 聊一聊系统重构
- 交易履约之产品中心实践
- Elasticsearch:高级数据类型介绍
- ……
筛选规则:文章发布时间在本期「酱酱们的每日掘金」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。
今日主理人|每日掘金
本期每日掘金由 帅气的法医 负责制作,法医是一个长期活跃于沸点的最佳摸鱼手,热爱Coding,喜欢分享,五湖四海皆兄弟,欢迎大家一起在沸点摸鱼,在掘金创作。
每日干货|每日掘金
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
最近接到了一个 Excel 在线预览的需求,在进行一些调研之后确认这个需求仅依靠纯前端技术就可以实现。这个需求仅仅是对基本的 Excel 表格数据进行预览,没有飞书、语雀、金山等在线文档一样复杂的编辑、保存、分享等功能,所以从头开始开发的难度其实不大。本文正是对这次需求开发的实现过程记录与技术总结。
这份报告的目的是查看实际数据,以更好地理解框架选择、性能和实际用户体验之间的关系。我们将尝试阐明以下几个关键问题:现代 Web 框架在实际使用和性能方面如何比较?框架选择是否会影响网站的核心 Web 基准?框架选择与 JavaScript 负载大小的相关性如何,并有什么影响?
在前文中,我们一直在回避讲解Zone和ZoneDelegate之间的区别。尤其在上篇文章讲API的时候,我甚至让大家把这两者当成一回事。其实这两者并不是完全相等的。单从Delegate这个单词你也能看出,虽然Zone和ZoneDelegate的API很像,但是真正干活的是ZoneDelegate。我简单节选几段Zone的源码,大家不难发现,大多数Zone的API都直接或间接通过代理中相对应的API完成的。
页面运行性能和用户体验的好坏,直接影响着用户操作的费力度,最终可能影响收益。因此我们一直很关注用户体验,提高页面性能,使得用户在访问页面时,更流畅,更稳定,更便捷,从而提高业务转化率。目前去哪儿衡量 web 页面性能的指标主要是 TTI、FCP 和首屏时间。其中 TTI 是与用户体验相关最重要的指标。 本文将着重讲述 React 各种渲染模式下 TTI 的时序分析及 React18 Streaming SSR 所带来的性能优化。
React 在之前的文档中提到了 Suspense for data fetching 的理念,虽然在新的文档中下线了,但还是有相关的请求库做了实现,比如 useSwr 和 useQuery。React 团队一直想对请求这件抽象且频繁的事情做更好的支持,因此有个新提案带来了新的 Hook ——
use。
我的webpack打包好像有点慢,而且还被领导发现了 在一个历史悠久的项目中,由于功能不断增加,代码变得越来越庞大和臃肿,项目依赖关系复杂,导致启动和打包项目的时间变得越来越长。
webpack构建这个项目可以有多慢呢? 大概就是我在这个构建项目的时间里,我可以“早餐、泡茶、WC”,等我做完这些事之后,它也就差不多构建完了
『后端』
【重构原因】 其实上面也提到过,这是一个综合因素,可能是各种各样的因素叠加,造成一个不得不重构的结果;下面,聊一聊我所碰到过的因素;要是没聊到的地方,也欢迎大家补充;第一个,可以归结为系统的稳定性或可用性:不管吹得怎么天花乱坠,你的系统总要可用吧,所以说可用和稳定是一个系统的最基本要求。开发一个需求还要全服务停用吗?业务量增长,系统还能抗下所有吗?那么问题来了,怎么保证可用和稳定?
最近一直在为系统的稳定性努力着,但凡线上有一些问题,都不轻易放过。尤其是在2023年,大环境不好的情况下,如果it团队系统稳定性都做的不好的话,很容易提桶走人的。事情是这样的,在2023年3月8日的晚上七点左右,调用B服务RPC接口的其他服务,都陆续开始报【接口调用超时异常】,B服务已经有一个多月没有上线过了,而出故障的时间当天,流量也没陡增。
打造科技统一的内外部产品供应链管理系统,支持业务发展及对外输出;核心职责包括建立产品管理标准、统一产品管理和提升产品管理效率。
本文提出了一个旨在帮助指导设计分布式计算系统各模块功能的原则,称之为端到端原则。该原则表明,考虑到在底层提供功能的成本,这些实现在系统底层的功能可能是多余的或没有提供什么价值。本文讨论的例子包括比特错误恢复、基于加密的安全、重复信息抑制、系统崩溃恢复以及交付确认,性能是当前在底层支持这些功能的唯一理由。
在我之前的文章 Elasticsearch:一些有趣的数据类型,我已经介绍了一下很有趣的数据类型。在今天的文章中,我再进一步介绍一下高级的数据类型,虽然这里的数据类型可能和之前的一些数据类型有所重复。即便如此,我希望能从另外的一个方面来描述这些数据类型。希望大家能在自己的应用中熟练地运用这些数据类型。
『移动端』
这是一份写给 Android工程师 的协程指南,希望在平静的2023,给大家带来一些本质或者别样的理解。
曾几何时,我们只需要简简单单的一行 Thread.currentThread().getStackTrace() 代码就可以轻轻松松的获取到当前线程的堆栈信息,从而分析各种问题。随着需求的不断迭代,APP 遇到的问题越来越多,卡顿,ANR,异常等等问题接踵而来,那么简简单单某个时刻的堆栈信息已经不能满足我们的需求了,我们的目光逐渐转移到了每个时刻的堆栈上,如果能获取一个时间段内,每个时刻的堆栈信息,那么卡顿,以及 ANR 的问题也将被解决。
当线上数据配置异常时,客户端代码未做好兜底走到异常分支就可能触发crash,如果在启动阶段就可能导致大面积的crash, 降低线上crash发生到修复期间的影响,熔断导致crash的业务逻辑,规避应用程序启动闪退导致的应用无法使用问题。
在前面文章《iOS底层之类的加载》中探索了类的加载流程,本篇将对
分类展开探索,从分类的结构到分类的加载流程,来探索分类的本质。
本文介绍了苹果 App Store 的新定价机制,是 App Store 在 15 周年之际推出的最重要价格升级。 文章通过“为什么,是什么,怎么办”的方法论,让读者从根本原理上理解新机制的意义、背后的原因以及应对方式。对苹果 App Store 新定价机制最全面和最详尽的解读,相信会让关注的苹果开发者能快速了解,所以本文力求让开发者们从容应对新的价格系统,并掌握 App Store 新定价机制。
📖 投稿专区|每日掘金
很久很久以前,我关注的一个游戏博主,发了一个游戏视频。然后我就见识到了什么叫,「游戏叫你一步噶,你绝对走不到第二步」。这个带那么点整蛊的性质的脑洞游戏,瞬间引起了我浓厚的兴趣。需要玩家克服大脑常规套路的惯性,那岂不是游戏处处是惊喜。不过,游戏的本质还是在于趣味性,玩家掌握了规律之后,还是可以通关的。等等,有没有无法通关的游戏?
工作流,即 Workflow,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
“千里之行,始于足下”,这两句话出自《道德经·第 64 章》,每个人小时候都会被问及:长大了想做什么?想成为什么样的人?我记得喜之郎之前有一则广告:长大后我要当太空人,爷爷奶奶可高兴了...每个孩子都梦想着自己长大能够成为警察、科学家、作家、医生......然而,当我们长大后,又有多少人能够实现自己的愿望呢?老子在道德经中点明了踏上成功之路的方法:千里之行始于足下。再类比到学习上来,难道不是这样吗?有了学习的目标还要有行动,立即开始就是迈向成功的第一步,也就是说要 “始于足下”。
👉 大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。