likes
comments
collection
share

浅谈前端包管理工具、一亿数据,为什么nutsdb扛不住,而badgerdb可以? | 酱酱的下午茶第136期

作者站长头像
站长
· 阅读数 2

本文字数 1800+,阅读时间大约需要 6 分钟。

今日主理人|下午茶

每日干货|下午茶

主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。

『前端』

合理利用缓存,可以提高页面的打开速度,这句话是前端开发者耳熟能详的准则]

但具体缓存对页面性能有多大的影响呢?为了彻底弄懂浏览器缓存,就从动手验证这条准则开始吧

大家好,我是张添财。每次提及redux可能会有很多小伙伴头疼,究其原因redux的使用链路比较长。并且由于其灵活性较强,尤其进行模块化拆分后,我们看着那一堆的文件免不了要瑟瑟发抖。本文旨在帮助大家从头到尾深入探究redux,并且引入书店借书这个实际场景与加深大家的记忆。好了,嘿喂购,咱这就开始!

当下最火的包管理工具是pnpm,在其出现之前,前端最常用的包管理工具有两个 npm、yarn,那为什么会出现 pnpm 呢,以及 pnpm 的出现到底解决了哪些问题?

本文从一个典型的 Webpack+Babel 工程出发,找到构建产物体积变大的常见原因和对应的解决思路,减少项目代码构建后的体积

本文是对前端图片压缩、音视频疑难杂症的汇总,并且深入分析病症,本文将带你深入分析其原理、思考分析其问题、实践得出其解决方案。

『后端』

本次主要讲解什么是时间轮

小一个月没更新了,有各种各样的事啦,这一篇有点水吧。围绕两方面,开发组件更新以及IDEA插件的分享,题目和我一样水,有点像是日本轻小说取名了,整这么长。本篇的触动来源于,我今天偶然发现之前开源的组件库有3个star还有一个fork,有人在关注,那赶紧更新更新,同时也写一篇文章,说明说明。

为什么同样是一亿数据,nutsdb内存会不够用,而badgerdb却能cover得住呢? 顺便我们也可以从内存的角度来看,在大规模数据的背景下这两种架构的对应实现的表现如何。

1.代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适

2.凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦

3.线程池相对开发人员来说是个黑盒,运行情况不能及时感知到,直到出现问题

如果你有以上痛点,动态可监控线程池框架(DynamicTp)或许能帮助到你。

主要有一下xml文件占位符解析和Java的属性@Value的占位符解析配置这两种场景进行分析和实现解析,如下面两种案例。

『移动端』

synchronized是Java实现同步的一种机制,它属于Java中关键字,是一种jvm级别的锁。synchronized锁的创建和释放是此关键字控制的代码的开始和结束位置,锁是有jvm控制的创建和释放的,正是因为这一点,synchronized锁不需要手动释放,哪怕是代码出现异常,jvm也能自动释放锁。同时jvm也记录的使用锁的线程,以及哪些线程出现了死锁这非常有利于我们排查问题。

LeakCanary内部用到了Refercence及ReferenceQueue来实现对对象是否被回收的监听。这是LeakCanary的核心逻辑,因此在讲解LeakCanary之前,我们先来简单了解一下Refercence及ReferenceQueue。

📖 投稿专区|下午茶

大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。