减少 Webpack 编译构建时长、深入理解 go sync.Cond | 酱酱的下午茶第162期

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

  • 【本期酱的下午茶】亮点:
  • React处理大数据量场景实践
  • 为什么咱们都说 SELECT * 功率低?
  • Swift之struct二进制巨细剖析
  • Redis两层数据结构简介
  • ……

挑选规矩:文章发布时刻在本期「酱的下午茶」发布时刻的 1-3 天内,且契合社区引荐规范,也会同步发布在相关技能社群。

今日主办人|下午茶

本期每日由 丘山子 担任制造,需求投稿下午茶请私信我的助理 小岳 。

PS:主办人目前正在招募中,有感兴趣的掘友们能够联系Captain

每日干货|下午茶

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

『前端』

  • React处理大数据量场景实践

本文将要介绍一下 react 关于很多数据场景的处理。一般分为两种方案:

  • 虚拟列表(首要应用在长列表渲染)
  • 时刻分片(首要应用在点位渲染)

接下来将围绕以上两点进行讲解和实践

  • 怎么减少 Webpack 编译构建时长

本文将先介绍 Webpack 编译构建流程,了解编译构建首要耗时在哪些地方;然后介绍怎么搜集 Webpack 编译功能数据,以及运用东西剖析编译功能瓶颈;最终介绍几个有用减少编译构建时长的手法。

  • 纯前端完成对话式气泡小说,走出每个人的浪浪山

我假以小兔子的角色创立了今日这份代码——气泡式互动对话小说《兔兔说》,每个人都能续写自己的故事,走出自己的浪浪山。

  • 登高望远,一文回答 2023 年你最关心的前端热点问题

时光荏苒,这绝不平淡的 2022 年现已走上历史的黄页,新的一年也逐渐看不到故人回忆的光影。感谢你对前端技能范畴继续重视,咱们一向在这里等你。

『后端』

  • 为什么咱们都说 SELECT * 功率低?

无论在作业仍是面试中,关于SQL中不要用“SELECT *”,都是咱们听烂了的问题,虽然听烂了,但遍及了解仍是在很浅的层面,并没有多少人去追根究底,探究其原理。

  • 深化了解 go sync.Cond

在 go 的规范库中,供给了 sync.Cond 这个并发原语,让咱们能够完成多个 goroutine 等待某一条件满意之后再继续履行。
它需求合作 sync.Mutex 一同运用,由于 Cond 的 Wait 方法需求在 Mutex 的维护下才干正常作业。
关于条件变量,或许大多数人只是知道它的存在,但是用到它的估量屈指可数,由于许多并发场景的处理都能运用 chan 来完成,
而且 chan 的运用也更加简单。
但是在某些场景下,Cond 或许是最好的选择,本文就来评论一下 Cond 的运用场景,根本用法,以及它的完成原理。

  • Redis两层数据结构简介

Redis 的功能高的原因之一是它每种数据结构都是经过专门规划的,并都有一种或多种数据结构来支持,依赖这些灵活的数据结构,来提高读取和写入的功能。假如要了解 Redis 的数据结构,能够从两个不同的层面来评论它:

  • 第一个层面,是从运用者的视点,这一层面也是 Redis 暴露给外部的调用接口,比方:String, List, Hash, Set, Sorted Set
  • 第二个层面,是从内部完成的视点,归于更底层的完成,比方:dict, SDS, linkedlist, ziplist, quicklist, skiplist, intset

本文的要点在于评论第二个层面:

  • Redis 数据结构的内部完成
  • 这两个层面的数据结构之间的联系:Redis 怎么经过组合第二个层面的各种根底数据结构来完成第一个层面的更高层的数据结构
  • 派遣形式——从SLF4J说起

将某个通用处理方案包装成老练的东西包,是每一个技能建设作业者有必要思考且有必要处理的问题。本文从业内盛行的既有东西包下手,解析完成思路,沉淀一般方法。为技能建设的初学者供给一些实践思路的参阅。尤其是文中发起的“去中心化”的协作形式,和“要害链路+开发接口”的开发形式,具有必定的实际落地含义。当然本文内行文中,不可避免存在必定片面偏见性,读者可酌情阅读。

  • 初探范畴驱动规划(Domain Driven Design)

我个人在学习DDD的过程中,早期翻找各种材料的时分,看到了许多名词:战略规划、战术规划、聚合根、实体、值目标、边界上下文…这些繁多的名词定义合作上简直少的不幸的实战比如,让我在翻阅了很多材料之后仍然感觉无从下手。在盲人摸象式的探索和一些实践经历后,我发现仍是从开发人员最熟悉的代码层面做打破切入,才干敏捷让初次触摸的人员能够快速了解并上手DDD,所以这篇文章我决议直接从一些DDD的代码层面战术规划下手,一步一步窥探DDD带给咱们的启示。

『移动端』

  • 一文了解 Java 中 so 文件的加载原理

无论是 Android 开发者仍是 Java 工程师应该都有运用过 JNI 开发,但关于 JVM 怎么加载 so、Android 系统怎么加载 so,或许鲜有时刻了解。

本文经过代码、流程解说,带咱们快速了解其加载原理,扫清困惑。

  • Swift之struct二进制巨细剖析

跟着Swift的日渐老练和给开发过程带来的便利性及安全性,京喜App中的原生业务模块和根底模块运用Swift开发占比逐渐增高。本次评论的是struct对比Class的一些优劣势,要点剖析对包体积带来的影响及躲避办法。

  • Android进阶宝典 — 从IO到NIO机制的演进

其实IO操作相较于服务端,客户端做的并不多,根本的场景便是读写文件的时分会运用到InputStream或者OutputStream,然而客户端能做的便是发起一个读写的指令,真实的操作是内核层经过ioctl指令履行读写操作,由于每次的IO操作都触及到了线程的操作,因此会有功能上的损耗,那么从本篇文章开始,咱们将进入IO的世界,了解IO到NIO机制的演进,从底层重视序列化的原理。

趣味码上分享|下午茶

  • 码上精选,搜集优异的码上项目,供咱们一同学习:github.com/akira-cn/jc…
  • 码上游戏精选:g.jcode.pub/#/716133153…
作者 简介
清Acwing 大乱斗

减少 Webpack 编译构建时长、深入理解 go sync.Cond | 酱酱的下午茶第162期

投稿专区|下午茶

咱们能够在评论区引荐认为不错的文章,并附上链接和引荐理由,有机会登上下一期。文章创立日期有必要在近 1-3 天内;能够引荐自己的文章、也能够引荐他人的文章。