Hello,又到了每日掘金时间。酱酱们的每日掘金新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!
本文字数3700+,阅读时间大约需要 15分钟。
- 【本期每日掘金】亮点:
- 一文全面解读 Chrome 117 Beta 新特性来啦
- 让我摸个鱼吧!纯JS复刻B站首页头图 - 海洋视差效果
- 带你搞定低代码跨Iframe拖拽辅助线
- 实现小红书响应式瀑布流
- 优化重复冗余代码的8种方式
- ……
筛选规则:文章发布时间在本期「酱酱们的每日掘金」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。
今日主理人|每日掘金
本期每日掘金由 帅气的法医 负责制作,法医是一个长期活跃于沸点的最佳摸鱼手,热爱Coding,喜欢分享,五湖四海皆兄弟,欢迎大家一起在沸点摸鱼,在掘金创作。
每日干货|每日掘金
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
谷歌
Chrome 117 Beta版本新增了 CSS 网格子网格(subgrid)、入场和出场动画支持,以及 CSS、数组分组、迭代器辅助功能等功能。
最近发现 B 站的首页头图的交互效果非常有趣,如下图所示,当鼠标在画面中左右滑动时,海洋生物会栩栩如生地动起来,这可比刷视频得劲多了啊
之前我们用插件化的方式开发了拖拽通用库,并且基于这个库实现了拖拽排序,换个思路轻松搞定 的效果和穿梭的拖拽排序,轻松拿捏的效果,本文将基于这个库在实现一个目前低代码项目中广泛使用的
跨 Iframe 拖拽辅助线插件,效果图先呈上
瀑布流布局,不管是在pc端还是手机端都很常见,但是我们通常都是列固定。今天来实现一下小红书的响应式瀑布流。后面有完整代码。
在我们开发网站和应用程序的过程中,经常会遇到各种莫名其妙的错误。错误原因也五花八门,可能是浏览器兼容问题,可能是代码里面没做兜底,也可能是后端接口挂掉了等等错误,这些错误可能会直接影响到用户的使用体验,所以监控线上错误变得特别重要。
『后端』
日常开发中,我们经常会遇到一些重复代码。大家都知道重复代码不好,它主要有这些缺点:可维护性差、可读性差、增加错误风险等等。最近呢,我优化了一些系统中的重复代码,用了好几种的方式。感觉挺有用的,所以本文给大家讲讲优化重复代码的几种方式。
据QuestMobile报告显示,移动互联网已经进入了下半场,在使用人数和使用时长方面已经没有明显增长,互联网已经流量趋于饱和。作为广告投放主要阵地,由于互联网平台流量红利逐渐消退,越来越多的广告企业和从业者开始探索精细化营销的新路径,取代以往的全流量、粗放式的广告轰炸。精细化营销意味着要在数以亿计的人群中优选出那些最具潜力的目标受众,这无疑对提供基础引擎支持的数据仓库能力,提出了极大的技术挑战。
HashMap内部的bucket数组长度一直都是2的整数次,这样的优点是:第一,可以通过(table.length - 1) & key.hash()这样的位运算快速寻址,第二,在HashMap扩容的时候可以保证同一个桶中的元素均匀地散列到新的桶中,具体一点就是同一个桶中的元素在扩容后一半留在原先的桶中,一半放到了新的桶中。
如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万级别,并且有些大V粉丝数量能够达到上亿级别。而这些粉丝列表数据目前全都存储在Mysql库中,然后通过业务对象ID进行分库分表,所有的粉丝列表数据分布在16个分片的256张表中。同时为了方便查询粉丝列表,同一个业务对象的所有粉丝都会路由到同一张表中,每个表的数据量都能够达到 2 亿+。
伴随物流行业的迅猛发展,一体化供应链模式的落地,对系统吞吐、系统稳定发出巨大挑战,库存作为供应链的重中之重表现更为明显。
『移动端』
自 2019 年三星发布了第一台(柔宇不算) Galaxy Z Fold 之后,Android 厂商们都陆续跟进了各自的可折叠方案,之后折叠屏手机市场一直保持快速增长,例如 2023 年上半年整体销量 227 万台,同比增长 102.0%。虽然对比上半年手机总体出货量 1.3 亿台只能算是零头,但是不可否认,如今开发者的 App 遇到可折叠手机的概率并不低,特别这部分用户大概率还属于「高产值」用户。
- 我们介绍了如何配置应用以获得最佳性能。发现性能问题后,首先要检查的是在启动发布模式和R8优化功能后问题是否依然存在。 然后介绍了一些常见的错误及修复方法:
remember {}、LazyList key、derivedStateOf {}、延迟读取、向后写入和基本配置文件。
本文中讨论的leak主要应用于Android中常见的组件被持有未释放情况(大部分情况下是子线程处理业务后更新UI),至于资源未关闭等问题不在讨论范围中
我相信大多数人听过惰性集合(
lazy collections),但是却很少用到。惰性集合与常规集合功能类似,但它改变了map、filter和reduce等高阶函数的处理方式。在某些情况下利用惰性集合可以提高应用的性能。
WKWebView是UIKit框架中的一个视图组件,用于在iOS应用中显示Web内容。相比于旧版的UIWebView,WKWebView具有更好的性能、更低的内存占用以及更多的现代Web功能。它采用了WebKit引擎,能够渲染HTML、CSS和JavaScript,同时还支持与Web内容的交互。
📖 投稿专区|每日掘金
👉 大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。