Hello,又到了每日掘金时间。酱酱们的每日掘金新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!
本文字数2100+,阅读时间大约需要 15分钟。
- 【本期每日掘金】亮点:
- 一个有意思的CSS图片hover效果
- Webpack5源码」make阶段(流程图)分析
- 前端自动化测试 —— Jest 测试框架应用
- 浅析micro-app
- 带你深入理解 CSR,SSR,SSG 等常用渲染模式
- 关于组件化链路设计的分享
- ……
筛选规则:文章发布时间在本期「酱酱们的每日掘金」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。
今日主理人|每日掘金
本期每日掘金由 帅气的法医 负责制作,法医是一个长期活跃于沸点的最佳摸鱼手,热爱Coding,喜欢分享,五湖四海皆兄弟,欢迎大家一起在沸点摸鱼,在掘金创作。
每日干货|每日掘金
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
整体实现其实并不困难,难点其实是创意,可惜的是平时接触的还是太少😥。下面总结一下实现要点:提到切割,可以想到镂空,进而可以想到遮罩,分割成
n*n块,其实就是遮罩背景的平铺,旋转的矩形其实就是两个互相垂直的线性渐变重叠而成,CSS 变量的过渡动画需要用到CSS @property特性,兼容性其实就取决于CSS @property了,这是CSS Ho
- 由于
webpack5整体代码过于复杂,为了减少复杂度,本文所有分析将只基于js文件类型进行分析,不会对其它类型(css、image)进行分析,所举的例子也都是基于js类型
在软件测试中,自动化测试指的是使用独立于待测软件的其他软件来自动执行测试、比较实际结果与预期并生成测试报告这一过程。在测试流程已经确定后,测试自动化可以自动执行的一些重复但必要的测试工作。也可以完成手动测试几乎不可能完成的测试。对于持续交付和持续集成的开发方式而言,测试自动化是至关重要的。
Micro App 的核⼼功能在CustomElement基础上进⾏构建,CustomElement⽤于创建⾃定义标签,并提供了元素的渲染、卸载、属性修改等钩⼦函数,我们通过钩⼦函数获知微应⽤的渲染时机,并将⾃定义标签作为容器,微应⽤的所有元素和样式作⽤域都⽆法逃离容器边界,从⽽形成⼀个封闭的环境。
近期的工作涉及到了
CSR,SSR,SSG,这篇文章旨在总结和归纳这些渲染模式。SPA、MPA、SSR和CSR这几个词可能在你的工作生涯中经常出现,网上相关文章也很多。如果你对这些概念感到模糊或完全不了解,希望本文能帮助你理解这些渲染模式。
『后端』
提高代码代码可读性、复用性、可扩展性,从而提高开发体验和效率是基础素养。减少重复代码,对重复代码进行抽象、下沉,遵守设计原则,应用设计模式,都有一个共同的目的:发现变化,封装变化,提高代码的可复用性,减少需求变化影响的范围,从而使软件、系统、云服务、网站等能够可控的修改与升级,具有更长的生命周期。
在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。总结了大概有如下几条建议
对于
Java程序员来说,要了解Java语言的基本概念和核心特性,包括面向对象编程、集合框架、异常处理、多线程等等。可以通过阅读Java的官方文档、教程、参考书籍或在线资源来学习。
iKV 推出了名为“partitioned-raft-kv”的新实验性功能,该功能采用一种新的架构,不仅可以显著提高 TiDB 的可扩展性,还能提升 TiDB 的写吞吐量和性能稳定性。
在小米内部,我们使用 RocketMQ 来为各种在线业务提供消息队列服务,比如商城订单、短信通知甚至用来收集 IoT 设备的上报数据,可以说 RocketMQ 的可用性就是这些在线服务的生命线。作为软件开发者,我们通常希望服务可以按照理想状态去运行:在没有Bug的前提下,系统可以提供正常的服务能力。
『移动端』
本文从ViewTraversals三大流程和事件分发讲起,结合使用和体验,重点剖析RecyclerView的回收复用机制。全篇将以LinearLayoutManager为例,围绕RecyclerView.Adapter日常重写的几个经典方法展开,讲清RV的缓存机制
本文中我们可以回顾一下ViewPager的用法,Fragment的懒加载用法,重要的是可变 ViewPager 的情况下如何操作。那么在实际开发的过程中,我们其实可以区分场景,如果是静态的ViewPager,数量不可变的,可以直接用简单的数据适配器来实现,而如果是可变的ViewPager,大家可以区分三种情况来使用,都是可行的。
LiveData ,是我们退回到 2017 年才需要的东西。观察者模式,的确简化了我们的工作方式,但 RxJava 等选项,对于当时的初学者来说实在是太复杂了。因此 Architecture Components 团队创建了 LiveData :这是个非常 “有主见的” 可观察数据持有者类,并且是专门为 Android 设计的。它保持简单明了,这让它易于上手,建议是将 RxJava 用于更复杂的 响应流 案例,以充分利用这两者之间的整合。
QQLeakChecker是OOMDetector中用于检测内存泄露的库,目前只可检测真机运行时的内存泄漏,模拟器暂不支持,为了避免内存访问冲突,扫描过程需要挂起所有线程,整个过程会卡住程序1-2秒。因为扫描过程较为耗时,占用的内存较大,建议在App的测试阶段使用,与自动化测试结合可快速高效的发现泄漏问题
RxSwift是一个基于响应式编程的Swift框架,它提供了一种简洁而强大的方式来处理异步和事件驱动的编程任务。在RxSwift中,核心流程包括观察者、可观察序列和订阅。
📖 投稿专区|每日掘金
👉 大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。