Vite如何使用Rollup进行构建、Vue3的hooks、钉钉ANR治理最佳实践| 酱酱的下午茶第 142 期

1,210 阅读6分钟

Hello,又到了每天一次的下午茶时间。酱酱们的下午茶新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!

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

  • 【本期掘金酱的下午茶】亮点:
  • Vite 是如何使用 Rollup 进行构建的
  • 【vue3】写 hook 三天,治好了我的组件封装强迫症
  • ElasticSearch 性能优化实践(JVM 调优+ES 调优)
  • 如何快速实现 BitSail Connector?
  • Flutter 学习过程中不容错过的项目进阶实践
  • 钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花
  • 手绘新年贺卡之人间皆安
  • ……

筛选规则:文章发布时间在本期「掘金酱的下午茶」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。

今日主理人|下午茶

本期每日掘金由 战场小包 负责制作。如有投稿文章,请私信 👉 战场小包

PS:主理人目前正在招募中,有感兴趣的掘友们可以联系Captain

每日干货|下午茶

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

『前端』

马上进入 2023 年了,这一年我们经历了很多有酸甜苦辣,但是并不妨碍我们用崭新的自己来面对新的一年,所以我用 css 画了一辆喜庆的车车来让人们驶入 2023

我们都知道,Vite 在生产环境中,会使用 Rollup 进行构建,那么 Vite 是如何做到的呢?本文将讲述,从执行  vite build  到输出构建产物,这期间到底发生了什么?

  1. 柯里化可以让我们给一个函数传递较少的参数得到一个记住某些固定参数的新函数
  2. 这是对函数的一种“缓存”
  3. 使函数变得更加灵活、颗粒度更小
  4. 可以把多元函数转换成一元函数,可以组合使用函数产生更强的功能

前言中说到重复造轮子的组件,除开一些毫无必要的重复以外,有一些功能组件确实需要封装一下,比如说,一些需要请求后端字典到前端展示的下来选择框,点击之后要展示 loading 状态的按钮,带有查询条件的表单,这些非常常用的业务场景,我们就可以封装成组件,但是封装成组件就会遇到前面说的问题,每个人的使用习惯和封装习惯不一样,很难让每个人都满意,这种场景,就可以让 hook 来解决。

本文实现了一个简单的树形案例。实际在业务当中,情况要复杂非常之多。这里的小实例只是给大家一些灵感,笔者也希望可以得到大家的指正,

『后端』

对公司的 ELK 日志系统做过性能优化,也对 SkyWalking 使用的 ES 存储进行过性能优化,在此做一些总结。本篇主要是讲 ES 在 ELK 架构中作为日志存储时的性能优化方案。

通常情况下栈溢出可能造成的后果有两种,一类是本地提权另一类则是远程执行任意命令,通常 C/C++并没有提供智能化检查用户输入是否合法的功能,同时程序编写人员在编写代码时也很难始终检查栈是否会发生溢出,这就给恶意代码的溢出提供了的条件,利用溢出,攻击者可以控制程序的执行流,从而控制程序的执行过程并实施恶意行为,而微软的 DEP 保护机制则可使缓冲区溢出失效,不过利用 ROP 反导技术依然是可被绕过的,接下来将具体分析如何利用 ROP 技术绕过 DEP 保护机制。

本文面向 BitSail 的 Connector 开发人员,通过开发者的角度全面的阐述开发一个完整 Connector 的全流程,快速上手 Connector 开发。

本文主体内容分两部分:第一部分谈及 golang 最常用的互斥锁 sync.Mutex 的实现原理;第二部分则是以 Mutex 为基础,进一步介绍读写锁 sync.RWMutex 的实现原理.

MYSQL 数据备份相信大家都很熟悉,听过、见过、玩过,我们这次就来对 MYSQL 备份做一个介绍

『移动端』

上一篇 Flutter 项目中我们没有使用任何状态管理框架,直接 setState 和 StatefulWidget 一把梭完成了整个项目。本项目呢我们也来学习 Flutter 的状态管理以及 Flutter 项目的分层。

本文从官方耗电计算、自定义耗电检测两个出发,从而实现一种 app 耗电的定位的方案。

本文为《钉钉 ANR 治理最佳实践》系列文章首篇《定位 ANR 不再雾里看花》,主要介绍了钉钉自研的 ANRCanary 通过监控主线程的执行情况,为定位 ANR 问题提供更加丰富的信息。

把这件事交给机器去做就是我们的终极目的。其实这件事情整体做下来更像是运维的工作,但是呢,作为一个开发工程师我学(卷)一点运维的内容不过分吧。整体内容围绕 Jenkins + Docker 来进行阐述,如有纰漏或错误,还请各位帮忙斧正。

本篇会用更少的代码以及更多的思考来具体描述我们是如何落地 Flutter 多引擎渲染组件开发工具链的。

趣味码上掘金分享|下午茶

作者简介
叶一一手绘新年贺卡

手绘新年贺卡之人间皆安 - 码上掘金 (juejin.cn)

📖 投稿专区|下午茶

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