Hello 算法 1.1.0 TypeScript版面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 Unicode 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 postOrder(root.left); postOrder(root.right); list.push(root.val); } Tip 深度优先搜索也可以基于迭代实现,有兴趣的读者可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版面,这些字符集一般只定 义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言也存在多种字符集标准,如果 两台电脑安装的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常被用在各类安 全应用与协议中。 ‧ postOrder(root.left); postOrder(root.right); list.push(root.val); } � 深度优先搜索也可以基于迭代实现,有兴趣的同学可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其 中,不就可以解决跨语言环境和乱码问题了吗?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而 生。 Unicode 近一个世纪以来,哈希算法处在不断升级与优化的过程中。一部分研究人员努力提升哈希算法的性能,另一 部分研究人员和黑客则致力于寻找哈希算法的安全性问题。表 6‑2 展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 postOrder(root.left); postOrder(root.right); list.push(root.val); } Tip 深度优先搜索也可以基于迭代实现,有兴趣的读者可以自行研究。 图 7‑11 展示了前序遍历二叉树的递归过程,其可分为“递”和“归”两个逆向的部分。 1.“递”表示开启新方法,程序在此过程中访问下一个节点。 2.“归”表示函数返回,代表当前节点已经访问完毕。0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版面,這些字符集一般 只定義了特定語言的字元,無法在多語言環境下正常工作。另一方面,同一種語言存在多種字符集標準,如 果兩臺計算機使用的是不同的編碼標準,則在資訊傳遞時就會出現亂碼。 那個時代的研究人員就在想:如果推出一個足夠完整的字符集,將世界範圍內的所有語言和符號都收錄其 中,不就可以解決跨語言環境和亂碼問題了嗎?在這種想法的驅動下,一個大而全的字符集 Unicode 應運而 生。 Unicode 近一個世紀以來,雜湊演算法處在不斷升級與最佳化的過程中。一部分研究人員努力提升雜湊演算法的效能, 另一部分研究人員和駭客則致力於尋找雜湊演算法的安全性問題。表 6‑2 展示了在實際應用中常見的雜湊演 算法。 ‧ MD5 和 SHA‑1 已多次被成功攻擊,因此它們被各類安全應用棄用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的雜湊演算法之一,仍未出現成功的攻擊案例,因此常用在各類安 全應用與協議中。 postOrder(root.left); postOrder(root.right); list.push(root.val); } Tip 深度優先搜尋也可以基於迭代實現,有興趣的讀者可以自行研究。 圖 7‑11 展示了前序走訪二元樹的遞迴過程,其可分為“遞”和“迴”兩個逆向的部分。 1.“遞”表示開啟新方法,程式在此過程中訪問下一個節點。 2.“迴”表示函式返回,代表當前節點已經訪問完畢。0 码力 | 384 页 | 18.80 MB | 10 月前3
TypeScript Handbook(中文版)
当在类的构造函数中需要设 置 Object.setPrototypeOf 或 __proto__ 时, new.target 就派上用场了。 在NodeJS v4及更高版本中继承 Error 类就是这样的使用案例。 示例 class CustomError extends Error { constructor(message?: string) { super(message); 存在一些问题,这恰好说明了为什么用 let 语句来声明变 量。 除了名字不同外, let 与 var 的写法一致。 let hello = "Hello!"; 主要的区别不在语法上,而是语义,我们接下来会深入研究。 块作用域 当用 let 声明一个变量,它使用的是词法作用域或块作用域。 不同于使 用 var 声明的变量那样可以在包含它们的函数外访问,块作用域变量在包含它们 的块或 for 循环之外是不能访问的。 的文件。 你可以利用它们帮助 你快速上手。 识别库的类型 首先,我们先看一下TypeScript声明文件能够表示的库的类型。 这里会简单展示每 种类型的库的使用方式,如何去书写,还有一些真实案例。 识别库的类型是书写声明文件的第一步。 我们将会给出一些提示,关于怎样通过库 的使用方法及其源码来识别库的类型。 根据库的文档及组织结构不同,这两种方式 可能一个会比另外的那个简单一些。 我们推荐你使用任意你喜欢的方式。0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
let hello = "Hello!"; let 声明 变量声明 - 96 - 本文档使用 书栈网 · BookStack.CN 构建 主要的区别不在语法上,而是语义,我们接下来会深入研究。 当用 let 声明一个变量,它使用的是_词法作用域_或_块作用域_。 不同于使用 var 声明的变量 那样可以在包含它们的函数外访问,块作用域变量在包含它们的块或 for 循环之外是不能访问的。 使用过其它语言的话,你可能对这种语法已经很熟悉了。 在下一节,会介绍如何创建自定义泛型 像 Array一样。 上一节,我们创建了identity通用函数,可以适用于不同的类型。 在这节,我们研究一下函数本身的 类型,以及如何创建泛型接口。 泛型函数的类型与非泛型函数的类型没什么不同,只是有一个类型参数在最前面,像函数声明一样: 1. function identity (arg: 针对每种主要的库的组织模式,在模版一节都有对应的文件。 你可以利用它们帮助你快速上手。 首先,我们先看一下TypeScript声明文件能够表示的库的类型。 这里会简单展示每种类型的库的使 用方式,如何去书写,还有一些真实案例。 识别库的类型是书写声明文件的第一步。 我们将会给出一些提示,关于怎样通过库的_使用方法_及其_ 源码_来识别库的类型。 根据库的文档及组织结构不同,这两种方式可能一个会比另外的那个简单一 些。 0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript 类型系统仿TypeScript静态类型编程语言 23 基础框架:Antlr + LLVM 特性:int / float / boolean / string / array+常见基础控制语句 状态:开发中 我目前的研究方向 24 目标:基于静态分析寻找脆弱的Node.js代码 需要做的: 1. 改造TypeScript编译器 2. 搭建TypeScript静态分析框架 3. 设计实现基于静态污点分析的漏洞检测技术0 码力 | 25 页 | 1.27 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版第一 章内容。但是,当我们讨论某个数据结构或者算法的特点时,难以避免需要分析它的运行速度和空间使用情 况。因此,在展开学习数据结构与算法之前,建议读者先对复杂度建立起初步的了解,并且能够完成简单案例 的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做 呢? 1. 首先需要 我们一般使用二叉树的「链表表示」,即存储单位为结点 TreeNode ,结点之间通过指针(引用)相连接。本文 前述示例代码展示了二叉树在链表表示下的各项基本操作。 那能否可以用「数组表示」二叉树呢?答案是肯定的。先来分析一个简单案例,给定一个「完美二叉树」,将结 点按照层序遍历的顺序编号(从 0 开始),那么可以推导得出父结点索引与子结点索引之间的「映射公式」:设 结点的索引为 ? ,则该结点的左子结点索引为 2? + 10 码力 | 186 页 | 14.71 MB | 1 年前3
共 8 条
- 1













