首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发必备之Chrome开发者工具(下篇)

在 Summary 窗格中,您可以看到事件的确切时间。 ? 页面完全加载时将触发 load。此事件显示在三个地方: Overview 窗格中的红色竖线表示事件。...导航时保留网络日志 默认情况下,每当您重新加载当前页面或者加载不同的页面时,网络活动记录会被丢弃。启用 Preserve log 复选框可以在这些情况下保存网络日志。...这消除了 HTTP 1 中的六个连接限制,并且可以通过单个连接同时传输多个资源。 至第一字节的漫长时间 又称:大片绿色 ? 等待时间长表示至第一字节的时间 (TTFB) 漫长。...客户端与服务器之间有许多点,每个点都有其自己的连接限制并可能引发问题。测试时间是否缩短的最简单方法是将您的应用置于其他主机上,并查看 TTFB 是否有所改善。 达到吞吐量能力 又称:大片蓝色 ?...注:如果您的应用检测到使用 JavaScript(如 Modernizr)的传感器加载,请确保在启用传感器模拟器之后重新加载页面。

1.7K111

浅谈前端各种模块化

每个文件都是一个独立的模块,文件内部定义的变量、函数和类等只在该文件内部有效。 每个模块都有自己的作用域,模块内部的变量、函数和类等只在该模块内部有效。...但同时也会影响页面加载速度,因此在浏览器端使用时需要注意。 导出和导入方式 在 CommonJS 规范中,一个模块可以通过 module.exports 或者 exports 对象来导出内容。...ESModule 模块化规范是一种静态的模块化方案,它允许开发者将代码分割成小的、独立的模块,每个模块都有自己的作用域。ESModule 规范是基于文件的,每个文件都是一个独立的模块。...在浏览器中,URL 解析规则是基于当前页面的 URL 进行解析;在 Node.js 中,URL 解析规则是基于当前运行脚本的路径进行解析。...加载方式 ESModule 规范是基于文件的,每个文件都是一个独立的模块。在浏览器中,可以使用 标签来加载 ESModule 模块。

28210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对号入座,快看看你的应用系统用了哪些高并发技术?

    目录 系统简介 ”武功秘籍” 总结 01 系统简介 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?...提升性能:在C端用户等待的感知的场景,需要多个微服务协作,如果串行RPC调用,耗时是每个服务耗时之和,可通过CompletableFuture实现RPC异步调用,当使用时汇总结果,提升系统的性能。...7、JVM调优 使用G1垃圾回收器,应用系统根据自己的业务情况配置JVM参数,常规4C8G通用配置可参考: -Xms4096m -Xmx4096m -XX:MaxMetaspaceSize=256m...10、数据异构 业务数据通常存储在支持事务的关系型数据库中,当在面对复杂查询场景时捉襟见肘,可将数据通过binlog异构到ES中,ES支持复杂场景的查询并且有较高的性能,轻松突破数据库单表数据量大及多表关联查询瓶颈...11、分库分表,数据库优化 分库和分表各抗什么? 分表:当一个表中的数据量过大时,会导致查询速度变慢、插入和更新操作效率下降等问题。通过分表,每个小表的数据量就相对较小,性能问题得以缓解。

    10010

    android基础知识

    这些数据可以在 onCreate() 或 onRestoreInstanceState() 中恢复。**调用时机**: Activity 可能被系统销毁时调用(例如屏幕旋转或内存不足时)。...每个 Activity 都有一个窗口,用于绘制用户界面。Activity 通常用于表示应用中的一个完整页面。...Fragment 有自己的生命周期,但受宿主 Activity 的生命周期影响。Fragment 通常用于模块化 UI 组件,可以在不同的 Activity 中重复使用。2....使用 Fragment 的场景1. 模块化 UI当你需要将 UI 分成多个模块,并且这些模块可以在不同的 Activity 中重复使用时,Fragment 是一个很好的选择。...复杂的用户界面当你需要构建复杂的用户界面时,Fragment 可以帮助你将界面分解为多个独立的组件,每个组件负责不同的功能。例如,一个复杂的设置页面可以使用多个 Fragment 来管理不同的设置项。

    9800

    测一测你对「Activity」的了解

    提到应用与用户的交互,最常见的是页面形式,对于单个页面,从实现上说会有很多元素,可归类为M(model)V(view)C(control),这些元素数据可以通过Activity进行集成管理,最终展示一个用户交互的页面...通常,应用中的一个Activity会被指定为主Activity,然后,每个Activity可以启动另一个Activity,以执行不同的操作。...2、Activity生命周期 Activity的生命周期直接影响到与用户的交互,因此生命周期很重要。当用户浏览、退出和返回到应用时,应用中的Activity会在其生命周期的不同状态间转换。...2、测试注意点 Activity是应用中每次用户互动的容器,因此测试应用的Activity时,可以关注以下测试点: 1)Activity相关的应用交互页面的数据、布局、网络请求等的展示响应的正确性; 2...)当屏幕在横向和纵向之间旋转时,是否会崩溃或丢失用户的进度; 5)用户将您的Activity放置在新的窗口环境中,例如画中画 (PIP) 或采用多窗口模式的环境,相关交互页面的展示; 6)当Activity

    89310

    这个月被「视频播放」坑惨了,曝光八大坑

    this),string id 为 video 组件 id、Object this 为当前页面/组件实例,在页面使用时 this 可以省略,但是切记在自定义组件中 this 不可省略,否则创建无效。...最后我采用的 js + css 的布局方式实现,先将数据源分为 2 个数组,然后才有 flex 流式布局实现了瀑布式布局。 2.2 视频权限的交互 在项目里面视频分为单个视频和视频专辑(多个视频)。...在这个项目中,视频分为单个视频和专辑(多个视频),如果是单个视频,播放完则考虑是否有推荐视频,有则播放推荐视频,没有则播放结束;如果是专辑,播放完单个视频后,会播放下一个视频,视频全部播放完毕则会考虑是否有推荐视频...三、八大坑 duration 属性在使用时要确保传的值和视频真实时长一致,否则会出现播放进度与实际不一致的情况; show-progress 属性在使用时,不管设置的值如何,只要视频宽度小于等于 240px...在自定义组件中通过 wx.createVideoContext(string id, Object this) 获取视频上下文对象时,切记别忽略 this(当前组件实例) ,否则创建无效,后面调 api

    2K10

    从 8 道面试题看浏览器渲染过程与性能优化

    在一个进程内部,要同时做多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程。 由于每个进程至少要做一件事,所以一个进程至少有一个线程。...以 Chrome 为例,它由多个进程组成,每个进程都有自己核心的职责,它们相互配合完成浏览器的整体功能, 每个进程中又包含多个线程,一个进程内的多个线程也会协同工作,配合完成所在进程的职责。...process 优点 由于默认 新开 一个 tab 页面 新建 一个进程,所以单个 tab 页面崩溃不会影响到整个浏览器。 同样,第三方插件崩溃也不会影响到整个浏览器。...渲染层合并,对于页面中 DOM 元素的绘制(Paint)是在多个层上进行的。...每个 GraphicsLayer 都有一个 GraphicsContext,GraphicsContext 会负责输出该层的位图,位图是存储在共享内存中,作为纹理上传到 GPU 中,最后由 GPU 将多个位图进行合成

    1.2K40

    作者学习完《浏览器基本原理与实践》后的 36 点总结

    this 的使用分为: 当函数最为对象的方法调用时,函数中的 this 就是该对象; 当函数被正常调用时,在严格模式下,this 值是 undefined,非严格模式下 this 指向的是全局对象 window...消息队列和事件循环:页面是怎么活起来的 每个渲染进程都有一个主线程,主线程会处理 DOM,计算样式,处理布局,JavaScript 任务以及各种输入事件; 维护一个消息队列,新任务(比如 IO 线程)添加到消息队列尾部...; 解决单个任务执行时长过久:JavaScript 通过回调功能来规避。...出栈;3、为每个 Token 创建一个 DOM 节点; JavaScript 文件和 CSS 样式表文件都会阻塞 DOM 解析; 渲染流水线:CSS 如何影响首次加载时的白屏时间?...:提供给 JavaScript 操作样式表能力,为布局树的合成提供基础样式信息; 在执行 JavaScript 脚本之前,如果页面中包含了外部 CSS 文件的引用,或者通过 style 标签内置了 CSS

    1.1K10

    高效快速地加载 AngularJS 视图|TW洞见

    也正是因此,才让人们感觉AngularJS工作方式与自己的期望的一致:因为在没有使用AngularJS之前,人们在开发一个 Web应用时,页面就是这样一个个组织的。...即使在以前,我们在提到性能的时候,自然会想到“缓存”。在以前,页面与页面之间的跳转使得每个页面都是相互独立的单位,因此页面内容的缓存只能有赖于浏览器了。...不过,即使有页面内的templateCache,页面模板在初次使用时还是需要从服务器加载,因此偶尔能见到一些视觉闪烁的情况,比如标签切换、页面跳转等。...; 发布时预读取所有模板的内容,并生成带版本号的templates.js,嵌入应用页面中; 在服务器上配置所有htm模板文件及templates.js的缓存策略为“允许缓存”; 用户首次使用应用时,集中所有网络带宽加载...,从浏览器缓存中加载templates.js; 再次发布应用时,修改templates.js 文件名中的版本号,嵌入页面中。

    1.2K70

    使用CSS提高网站性能的30种方法

    您可以在开发过程中使用任意数量的文件,但是要使用构建步骤来捆绑和缩小到单个样式表中。包括Sass预处理器或PostCSS导入插件在内的工具可以在一个命令中完成这项艰巨的工作。...浏览器可以使用硬件加速的GPU在自己的图层中渲染这些效果,这只会影响最终的合成渲染阶段。 通过使用将元素从页面流中取出,可以提高其他动画属性的性能位置:绝对。...异步加载剩余的CSS以避免阻塞页面的呈现。 下面的示例将剩余的CSS作为"打印"样式表,浏览器以较低的优先级异步加载。该加载代码在下载后将其切换回所有媒体的标准样式表。...更改任何子项的内容时,浏览器将不会重新计算该项目、列表中的其他项目或页面上的任何其他元素的大小或位置。渲染速度更快。 26.尝试渐进式渲染 渐进式呈现是一种为每个页面和组件定义单独样式表的技术。...每个样式表都是呈现阻止的,但每个文件不应超过几千字节。 较旧的浏览器可能会显示一个空白页面,直到所有CSS都加载完毕,但总体影响应该不会比一个大的呈现阻塞样式表更糟。

    3.5K20

    浏览器工作原理 - 页面循环系统

    样式计算 布局计算 CSS 动画 以上事件都是在主线程中执行的,所以在编写 Web 应用时,需要衡量这些事件所占用的时长,并想办法解决单个任务占用主线程过久的问题。...Chrome 中,定时器被嵌套调用 5 次以上,系统会判断该函数方法被阻塞了,如果定时器的调用时间间隔小于 4 ms,浏览器会将每次调用的时间间隔设置为 4 ms 所以对于实时性有较高要求的场景中就不适合用...setTimeout 未激活的页面,setTimeout 执行最小间隔是 1000 毫秒 目的是优化后台页面的加载损耗以及降低电量 延时执行时间有最大值 大部分浏览器以 32 个 bit 来存储延时值的...每个任务在执行过程中都有自己的调用栈,那么同步回调就是在当前主函数的上下文中执行回调函数,而异步回调是指在主函数之外执行,一般有两种方式: 把异步函数做成一个任务,添加到消息队列的尾部; 把异步函数添加到微任务队列中...微任务和宏任务是绑定的,每个宏任务在执行时,会创建自己的微任务队列 微任务的执行时长会影响当前宏任务的时长,要注意控制微任务时长 在一个宏任务中,分别创建一个用于回调的宏任务和微任务,无论什么情况下

    68850

    「技术架构」10个提升应用程序性能的倚天剑和屠龙刀

    缓存动态内容——许多Web应用程序为每个页面请求生成新的HTML。通过在短时间内缓存生成的HTML的一个副本,您可以显著减少必须生成的页面总数,同时仍然交付足够新鲜的内容来满足您的需求。...为了鼓励使用SSL/TLS, HTTP/2和SPDY(在下一篇技巧文章中描述)的作者设计了这些协议,使浏览器在每个浏览器会话中只需要一个连接。这大大减少了SSL开销的两个主要来源之一。...SPDY得到了广泛的支持,但是很快就会被弃用,取而代之的是HTTP/2。 SPDY和HTTP/2的关键特性是使用单个连接,而不是多个连接。单个连接是多路复用的,因此它可以同时携带多个请求和响应。...套接字分片为每个工作进程创建套接字侦听器,内核在套接字侦听器可用时将连接分配给它们。这可以减少锁争用,提高多核系统的性能。要启用套接字分片,请在listen指令上包含reuseport参数。...结论-性能提高10倍 任何一个web应用程序的性能改进都有很大的不同,实际的收益取决于您的预算、您可以投入的时间和现有实现中的差距。那么,如何为自己的应用程序实现10倍的性能改进呢?

    81050

    Elasticsearch 21道面试题

    删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更; 磁盘上的每个段都有一个相应的.del 文件。...每个分片返回各自优先队列中 所有文档的 ID 和排序值 给协调节点, 它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。...接下来就是取回阶段, 协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。每个分片加载并丰富文档,如果有需要的话,接着返回文档给协调节点。...多个内核提供的额外并发远胜过稍微快一点点的时钟频率。 如果你负担得起 SSD,它将远远超出任何旋转介质。 基于 SSD 的节点, 查询和索引性能都有提升。...此名称很重要, 因为如果节点设 置为按名称加入群集,则该节点只能是群集的一部分。 节点是属于集群一部分的单个服务器。它存储数据并参与群集索引和搜索功能。 索引就像关系数据库中的“数据库”。

    1.3K20

    从零复现Llama3代码库爆火,大神Kapathy一键三连,GitHub狂揽2k+

    火就火在,它教你从头用Meta开源的权重进行推理,详细解释和展开了注意力机制中多个头的矩阵乘法、位置编码以及所有中间层。 换句话说,他解释了每行代码都在干啥。...纳哥表示自己没搞分词器,推荐用Karpathy的现成简洁版BPE代码。 PS: “字节级(byte-level)”BPE算法,在UTF-8编码的字符串上运行,广泛应用于大模型分词。...Karpathy提供的这个代码库包含两个分词器,都能在给定文本上训练分词器的词汇表和合并规则、将文本编码为token、将token解码为文本。...使用复数的点积来旋转一个向量: 现在每个token的query元素都有一个复数(角度变化向量),可以将query向量(之前分成的对)转换为复数,然后通过点积根据位置旋转query向量。...对嵌入增量进行归一化处理,然后通过嵌入增量运行一个前馈神经网络。 在Llama3中,加载前馈权重并实现前馈网络。

    28310

    如何提高CSS性能

    CSS阻止渲染 当一个页面有CSS可用时,无论是内联还是外部样式表,浏览器都会延迟渲染,直到CSS被解析。这是因为没有CSS的页面通常是不可用的。...,浏览器将在不延迟页面渲染的情况下加载这种样式表。...首先,浏览器必须下载CSS文件来发现导入的资源,然后在渲染之前发起另一个请求来下载它。 如果你有一个包含@import url(import.css)的样式表;网络瀑布看起来像这样。 ?...在link元素中加载两个样式表,允许并行下载。 ? 使用高效的CSS动画 当你对页面上的元素进行动画处理时,浏览器经常要重新计算它们在文档中的位置和大小,从而触发布局。...如果你使用一个更具体的选择器,例如,在nav元素内的每个 上使用.nav-link,它就不会花时间去匹配页面上的每个 。

    2.2K30

    前端性能优化方案

    ,网站上的用户每个会话具有多个页面视图,并且许多页面都重复使用相同的脚本和样式表,则缓存的外部文件会带来更大的潜在利益。...优化资源加载 样式表位置 根据浏览器渲染的顺序,将CSS在中引入或者嵌入,相对于将CSS放到或者页面底部来说,可以使页面渲染速度加快,这对于页面内容比较丰富的网站或者网络链接较慢时相当重要...假如将样式表放置于底部,就会导致浏览器还未加载样式表就开始渲染页面,无法渐进式渲染页面而直接从无样式状态立即跳转到有样式状态,用户体验较差;此外有些浏览器可能会在CSS下载完成后才开始渲染页面,样式表放在下方会导致页面渲染推迟...优化网络请求 CDN CDN的全称是Content Delivery Network,即内容分发网络,CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发...当用户处于跨地域的多个位置时,对于服务器响应速度的感知是有差别的,用户访问网站的绝大部分时间都是处于下载静态资源状态的,将这些静态资源首先分发到CDN各服务器,可以大大缩短响应时间,CDN可以根据用户网络状态信息来选择网络跳数最少的服务器或响应最快的服务器来就近交予用户资源

    2.7K31

    操作系统-面试篇

    并行(parallelism):指严格物理意义上的同时运行,比如多核cpu,两个程序分别运行在两个核上,两者之间互不影响,单个周期内每个程序都运行了自己的指令,也就是运行了两条指令。...简化链接 简化加载: 虚拟内存还使得容易向内存中加载可执行文件和共享对象文件 加载器从不在磁盘到内存实际复制任何数据,在每个页初次被引用时,虚拟内存系统会按照需要自动的调入数据页。...通过虚拟地址的页面号,首先在快表中查询是否有该映射,查询不成功,在页表中找到该页对应的物理地址。 然后通过页物理地址+页偏移,得到真实的物理地址,页偏移又叫做页内地址。...简述页表 页表用于存储虚拟地址中的虚拟页面号和物理页面号的映射关系。 除此之外,有些页的读写有限制,页表也通过其他存储位,标记该页访问位,是否在内存中(可能被页面置换出去了)等等。...我们知道,在Linux下,线程有PCB,然后可以占用时间片去调度,但是在用户态线程中,该线程的执行不由内核做调度,由用户自己实现。

    68641

    Elasticsearch7学习笔记之Elasticsearch7面试题

    中的文档是不可变的,因此不能被删除或者改动以展示其变更 磁盘上的每个段都有一个相应的.del 文件。...每个分片返回各自优先队列中 所有文档的 ID 和排序值 给协调节点,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。...接下来就是取回阶段, 协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。每个分片加载并丰富文档,如果有需要的话,接着返回文档给协调节点。...0x13 Elasticsearch 中的集群、节点、索引、文档、类型是什么 集群是一个或多个节点(服务器)的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。...此名称很重要,因为如果节点设置为按名称加入群集,则该节点只能是群集的一部分。 节点是属于集群一部分的单个服务器。它存储数据并参与群集索引和搜索功能。 索引就像关系数据库中的“数据库”。

    88540

    微服务框架相关技术整理

    ,日志,流控策略等 聚合服务(Merge Service): 在某些客户端的需求中,需要从多个服务拉取数据,为了减少客户端的复杂度,以及加快客户端的访问速度,可以加一个聚合层,用来做聚合查询,在某些接口中可以把多个服务的数据一次性返回给客户端...提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中看到....,Eureka Server将会从服务注册表中把这个服务节点移除。...Dubbo,Thrift,GRPC,Hetty等.从目前技术的发展趋势来看,实现了RPC协议的应用工具往往都会附加其他重要功能 网络协议和网络IO模型对其透明: 既然RPC的客户端认为自己是在调用本地对象...每个对象都有自己独特的方法以及仅公开一个 URI 的 RPC 样式 Web 服务,URI 表示单个端点。

    1.9K10
    领券