Hello,又到了每天一次的下午茶时间。酱酱们的下午茶新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!
酱酱们的下午茶全新改版,欢迎大家多提宝贵意见!
本文字数 3600+,阅读时间大约需要 6 分钟。
- 【掘金酱的下午茶】亮点:
- 前端Vite的出现解决了什么?
- 虚拟滚动实现
- 小程序底层架构剖析
- 谈谈node架构中的线程进程的应用场景、事件循环及任务队列
- 速看!!剖析红包原理,教你抢红包的正确姿势 | 京东云技术团队
- Redis内存淘汰和过期删除策略原理分析
- ......
筛选规则:文章发布时间在本期「掘金酱的下午茶」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。
今日主理人|下午茶
本期每日掘金由 法医 负责制作。如有投稿文章,请私信👉 法医
每日干货|下午茶
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
在 ESM 出现之前,Javascript 是没有一个标准的模块方案。比如说
CJS
是用于 Node 服务端的模块化方案,AMD
是用于浏览器的模块化方案。为了解决这个模块共用性问题,出现了UMD
用于兼容这两种模块规范。鉴于上面共用性问题,实际开发中配置的打包方式,采用的还是 UMD 模式。因为这样可以避免打包而产生的规范问题,并且在 ESM 不能使用的情况下也会选择 UMD。
根据子孙元素的情况, 为祖先元素设置样式; 或者根据后面兄弟节点的情况, 为前面的兄弟节点设置样式; 这一类的需求是司空见惯的, 在早期我们往往都是需要借助
JS
来实现; 好在现在出现了:has()
, 终于可以不用JS
来实现该类需求咯, 当然实际上:has()
更为强大, 它可以让你根据页面任意元素的情况, 为页面任意样式设置样式, 那么下面开始...
虚拟滚动或者移动是指禁止原生滚动,之后通过监听浏览器的相关事件实现模拟滚动。所以虚拟滚动包含两部分内容
认证方式是浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法。
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,nodejs是单线程执行的,它基于事件驱动和非阻塞I/O模型进行多任务的执行。在理解Node.js的工作原理时,我们需要了解进程、线程、事件循环[1]以及消息队列[2]的概念,本篇文章就基于这几点去详细介绍,帮你慢慢理解node的工作原理。
『后端』
叮咚~,红包来了!相信大家一定在日常生活中抢过红包,但每次都和"手气最佳"无缘。因此,大家都很好奇后台是如何分配红包金额的,那么今天和大家聊一下红包背后的原理,以及如何抢红包才是正确姿势!
所谓数据淘汰是指在Redis内存使用达到一定阈值的时候,执行某种策略释放内存空间,以便于接收新的数据。内存可使用空间由配置参数
maxmemory
决定(单位mb/GB)。故又叫"最大内存删除策略",也叫"缓存删除策略"。
通过CompletableFuture可以将复杂的业务逻辑从Dubbo线程池(大小默认200)切换到用户自定义的业务线程来执行,提升Dubbo线程池请求的处理能力,同时增加自定义业务线程池,提升服务器的资源利用率。接下来我们来看下CompletableFuture怎么异步化Dubbo接口以及其原理。
资源共享指的是在一个 Context 中的创建的 Texture 资源可以被其他 Context 所使用。一般来讲只有相同
share group
Context 创建的 Texture 才可以被共享,而 Chromium 设计了一套允许不同share group
并且跨进程的 Texture 共享机制。
昨天晚上语雀发布了关于 10 月 23 日的故障公告,公告中关于故障的时间点梳理如下:
『移动端』
首先要了解一下
AGP
和ASM
,AGP
的全称是Android Gradle Plugin
,这是apk
和aar
打包在gradle
平台上开发的一款插件,简单来说你通过Android Studio
打出的apk
和aar
包都是由它完成的,AGP
还为其他的插件提供了transform
接口来实现JVM
字节码或者其他资源的处理;ASM
是处理JVM
字节码知名的库,它可以很简单的读取和修改JVM
字节码。
组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化,之前有比较系统的总结过相关文章,感兴趣的朋友,可以查看,点击直达;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别,基于最新的Api9 ,以及采用全新的ArkTs语言的开发方式,想实现组件化,就需要另谋途径。
在先前的一篇探讨了 Objective-C 类实现的文章中,忽略了一个有趣的细节:用于识别元类的函数的一个概念,即未实现的类。
私有远程库是为了防止别人访问,但是又能支持pod导入的一种很好的解决方案,一般公司项目或自己的私有项目模块采用这个方式可以实现组件化。
📖 投稿专区|下午茶
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。