综合( 右侧选择分类 )
xiaozhi

15.JavaScript是如何工作的:深入类和继承内部原理+Babel和 TypeScript 之间转换

现在构建任何类型的软件项目最流行的方法这是使用类。在这篇文章中,探讨用 JavaScript 实现类的不同方法,以及如何构建类的结构。首先从深入研究原型工作原理,并分析在流行库中模拟基于类的继承的方法。 接下来是讲如何将新的语法转制为浏览器识别的语法,以及在 Babel 和 TypeScript 中使用它来引入ECMAScript 2015类的支持。最后,将以一些在 V8 中如何本机实现类的示例来
2530 人浏览
xiaozhi

14.JavaScript 是如何工作的:解析、抽象语法树(AST)+ 提升编译速度5个技巧

概述我们都知道运行一大段 JavaScript 代码性能会变得很糟糕。这段代码不仅需要通过网络传输,而且还需要解析、编译成字节码,最后执行。在之前的文章中,我们讨论了 JS 引擎、运行时和调用堆栈等,以及主要由谷歌 Chrome 和 NodeJS 使用的V8引擎。它们在整个 JavaScript 执行过程中都发挥着至关重要的作用。这篇说的抽象语法树同样重要:在这我们将了解大多数 JavaScrip
2291 人浏览
xiaozhi

13.JavaScript是如何工作的: CSS 和 JS 动画底层原理及如何优化它们的性能

概述你肯定知道,动画在创建引人注目的 Web 应用程序中扮演着重要的角色。随着用户越来越多地将注意力转移到用户体验上,商户开始意识到完美、愉快的用户体验的重要性,结果 Web 应用程序变得越来越重,并具有更动态交互的 UI。这一切都需要更复杂的动画,以便用户在整个过程中更平稳地进行状态转换。今天,这甚至不被认为是什么特别的事情。用户正变得越来越挑剔,默认情况下,他们期望的是具有高响应性和交互性的用
1939 人浏览
xiaozhi

12.JavaScript 是如何工作的:深入网络层 + 如何优化性能和安全

正如在上一篇关于渲染引擎的博客文章中提到的,我们认为优秀的 JavaScript 开发人员和杰出的 JavaScript 开发人员之间的区别在于,后者不仅理解语言的具体细节,而且理解其内部结构和周遭环境。讲一点历史49年前,一种叫做 ARPAnet 的网诞生了。它是一个早期的分组交换网络,也是第一个实现TCP/IP套件的网络。20年后,蒂姆·伯纳斯-李提出了一种“网状结构”的建议,这种结构后来被称
2226 人浏览
xiaozhi

11.JavaScript是如何工作的:渲染引擎和优化其性能的技巧

当你构建 Web 应用程序时,你不只是编写单独运行的 JavaScript 代码,你编写的 JavaScript 正在与环境进行交互。了解这种环境,它的工作原理以及它的组,这些有助于你够构建更好的应用程序,并为应用程序发布后可能出现的潜在问题做好充分准备。浏览器的主要组件包括:用户界面 (User interface):包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页
1941 人浏览
xiaozhi

10.JavaScript是如何工作的:使用 MutationObserver 跟踪 DOM 的变化

Web 应用程序在客户端变得越来越重,原因很多,例如需要更丰富的 UI 来容纳更复杂的应用程序提供的内容,实时计算等等。复杂性的增加使得在 Web 应用程序生命周期的每个给定时刻都很难知道 UI 的确切状态。而当你在搭建某些框架或者库的时候,甚至会更加困难,例如,前者需要根据 DOM 来作出反应并执行特定的动作。概述Mutation Observer API 用来监视 DOM 变动。DOM 的任何
2315 人浏览
xiaozhi

9.JavaScript是如何工作的:Web推送通知的机制

推送通知在移动端非常常见。在 Web 端,尽管开发人员对其功能的需求很高,但出于某些原因,推送通知被引入 Web 的时间比较晚。简介Web 推送通知允许用户在 Web 应用程序需要更新时选择是否接收更新消息,目的是在重新吸引用户群注意的更新信息通常是对用户来说有趣、重要、实时的内容。推送通知的基础是我们上一篇讲的 Service Workers。在这种情况下,使用 Service Worker 的
2012 人浏览
xiaozhi

8.JavaScript 是如何工作的:Service Worker 的生命周期及使用场景

你可能已经知道,渐进式Web应用程序只会越来越受欢迎,因为它们的目标是让Web应用程序用户体验更流畅,创建类似于原生应用程序的体验,而不是浏览器的外观和感觉。构建渐进式Web应用程序的主要要求之一是使其在网络和加载方面非常可靠——它应该在不确定或不存在的网络条件下可用。在这篇文章中,将深入探讨Service Workers:它们是如何工作,你应该关心什么。最后,还列出了 Service Worke
2380 人浏览
xiaozhi

7.JavaScript是如何工作的:Web Workers的构建块+ 5个使用他们的场景

这次我们会逐步讲解Web Workers,先说个简单的概念,接着讨论不同类型的Web Workers,他们的组成部分是如何一起工作的,以及不同场景下它们各自优势和限制。最后,提供5个正确使用Web Workers的场景。正如我们前面文章讨论的那样,你应该知道 JavaScript 语言采用的是单线程模型。然而,JavaScript 也为开发人员提供了编写异步代码的机会。异步编程的局限性以前的文章讨
1899 人浏览
xiaozhi

6.JavaScript是如何工作的:与 WebAssembly比较 及其使用场景

这次将讲解 WebAssembly 是如何工作的,更重要的是,它是如何在性能方面与JavaScript进行比较的:加载时间、执行速度、垃圾收集、内存使用、API开放平台、调试、多线程和可移植性。首先,让我们看看WebAssembly做什么首先,我们有必要了解一下asm.js。2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C
1847 人浏览
xiaozhi

5.JavaScript是如何工作: 深入探索 websocket 和HTTP/2与SSE +如何选择正确的路径

文章底部分享给大家一套 react + socket 实战教程这一次,我们将深入到通信协议的领域,映射和探讨它们的属性,并在此过程中构建部分组件。快速比较WebSockets和 HTTP/2。最后,我们分享一些关于如何选择网络协议的方法。简介如今,功能丰富、动态 ui 的复杂 web 应用程序被认为是理所当然。这并不奇怪——互联网自诞生以来已经走过了漫长的道路。最初,互联网并不是为了支持这种动态和
1842 人浏览
xiaozhi

4.JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式

通过第一篇文章回顾在单线程环境中编程的缺陷以及如何解决这些缺陷来构建健壮的JavaScript UI。按照惯例,在本文的最后,分享5个如何使用async/ wait编写更简洁代码的技巧。为什么单线程是一个限制?在发布的第一篇文章中,思考了这样一个问题:当调用堆栈中有函数调用需要花费大量时间来处理时会发生什么?例如,假设在浏览器中运行一个复杂的图像转换算法。当调用堆栈有函数要执行时,浏览器不能做任何
1637 人浏览
xiaozhi

3.JavaScript如何工作:内存管理+如何处理4个常见的内存泄漏

本中,我们将讨论另一个重要主题——内存管理,这是由于日常使用的编程语言越来越成熟和复杂,开发人员容易忽视这一问题。我们还将提供一些有关如何处理JavaScript中的内存泄漏的技巧,在SessionStack中遵循这些技巧,既能确保SessionStack 不会导致内存泄漏,也不会增加我们集成的Web应用程序的内存消耗。概述像 C 这样的编程语言,具有低级内存管理原语,如malloc()和free
1931 人浏览
xiaozhi

2.JavaScript是如何工作的:深入V8引擎&编写优化代码的5个技巧

概述JavaScript引擎是执行 JavaScript 代码的程序或解释器。JavaScript引擎可以实现为标准解释器,或者以某种形式将JavaScript编译为字节码的即时编译器。以为实现JavaScript引擎的流行项目的列表:V8 — 开源,由 Google 开发,用 C ++ 编写Rhino — 由 Mozilla 基金会管理,开源,完全用 Java 开发SpiderMonkey — 
1695 人浏览
xiaozhi

1.JavaScript是如何工作的:引擎,运行时和调用堆栈的概述!

本文是旨在深入研究JavaScript及其实际工作原理的系列文章中的第一篇:我们认为通过了解JavaScript的构建块以及它们是如何工作的,将能够编写更好的代码和应用程序。我们还将分享构建SeStHealsStad时使用的一些经验法则,这是一个轻量级的 JavaScript 应用程序,必须保持健壮和高性能以保持竞争力。如GitHut 统计数据所示,在GitHub中的活动存储库和总推送方面,Jav
2050 人浏览
cheng

C语言中#ifdef,#ifndef和#endif的作用

1、用于注释掉一段代码我们自己编写程序的时候,需要看到一系列的调试代码,但是发给客户的时候,客户可不希望看到什么什么OK的代码,所以我们希望能很容易地注释掉这段代码。这时需要用到预处理指令 #ifdef 和 #endif :#include<stdio.h> #defineCONFIG_DEBUG intmain(){ FILE*fp; fp=fopen("D:\\D
2361 人浏览
php

PHP中的替代语法(冒号、endif、endwhile、endfor)

我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如:<?phpif(empty($GET_['a'])):?> <fontcolor="red">空的</font> <?phpendif;?>对于相当一部分PHP爱好者来说根本没见过,这些是什么东西呢?其实这些都是PHP流程控制的替
2349 人浏览
php

Yii2的where方法使用大全

PHP工程师说白了也是CURD工程师,所做的工作无非是各种业务的CURD,掌握各种where的使用,MM再也不用担心我的程式会被攻击了~Yii中,使用where方法是非常频繁的,而且where方法本身的使用技巧比较的多,在这里我梳理了一些常用的,以便于以后工作中的随时查阅的需要,也希望能帮助到查阅此文的你,也欢迎各位的补充,不足之处希望指出!还是从简入深吧!ps:这里的数据表是进行模拟的。1)简单
2624 人浏览
hangge

SpringBoot - 路径映射(实现不通过Controller直接访问模版页面)

假设一个使用了Thymeleaf模板引擎的Spring Boot项目,可能有一些模版页面不需要通过控制器加载数据,只需要直接跳转展示。 过去使用SpringMVC时,如果访问一个页面,必须要写相应的Controller类。而SpringBoot要实现这个需求只需要直接在MVC配置中重写addViewControllers方法配置映射关系即可,不需要在写相应的Controller类。(1)假设
2866 人浏览
hangge

SpringBoot - 整合Thymeleaf模板引擎(附样例)

一、基本介绍1,什么是 ThymeleafThymeleaf是新一代的Java模版引擎,类似于Velocity、FreeMarker等传统Java模版引擎。Thymeleaf的主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中正确显示,并且可以作为静态原型,让开发团队能更容易地协作。Thymeleaf能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymele
2106 人浏览