博客园 - 野兽'
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=134373
2023-08-30T03:37:11Z
野兽'
https://www.cnblogs.com/ys-ys/
feed.cnblogs.com
https://www.cnblogs.com/ys-ys/p/11668981.html
HTML-Parser - 野兽'
背景:需求需要把 html 字符串转成 DOM 对象树或者 js 对象树,然后进行一些处理/操作。htmlparser 这个库还行,但是对 attribute 上一些特殊属性值转换不行,同时看了看`开标签语法`(syntax-start-tag:whatwg)、`html-attribute 的支持
2019-10-13T15:14:00Z
2019-10-13T15:14:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】背景:需求需要把 html 字符串转成 DOM 对象树或者 js 对象树,然后进行一些处理/操作。htmlparser 这个库还行,但是对 attribute 上一些特殊属性值转换不行,同时看了看`开标签语法`(syntax-start-tag:whatwg)、`html-attribute 的支持 <a href="https://www.cnblogs.com/ys-ys/p/11668981.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/11444290.html
Chrome 开发工具之 Application - 野兽'
Chrome 开发者工具有 Application 这么一个面板,主要作用是检查 web 应用加载的所有资源,包括 Manifest、Service Workers、Local Storage、Session Storage、IndexedDB、Web SQL(该标准早已废弃,被 IndexedDB
2019-09-01T15:38:00Z
2019-09-01T15:38:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】Chrome 开发者工具有 Application 这么一个面板,主要作用是检查 web 应用加载的所有资源,包括 Manifest、Service Workers、Local Storage、Session Storage、IndexedDB、Web SQL(该标准早已废弃,被 IndexedDB <a href="https://www.cnblogs.com/ys-ys/p/11444290.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/11336811.html
Chrome 开发工具之 Memory - 野兽'
开发过程中难免会遇到内存问题,emmm... 本文主要记录一下Chrome排查内存问题的面板,官网也有,但有些说明和例子跟不上新的版本了,也不够详细... !!! 多图预警!!! 简单的内存信息列表 如果只想查看当前浏览器的各个 tab 正在使用的内存量,则在 Setting - More Tool
2019-08-11T13:28:00Z
2019-08-11T13:28:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】开发过程中难免会遇到内存问题,emmm... 本文主要记录一下Chrome排查内存问题的面板,官网也有,但有些说明和例子跟不上新的版本了,也不够详细... !!! 多图预警!!! 简单的内存信息列表 如果只想查看当前浏览器的各个 tab 正在使用的内存量,则在 Setting - More Tool <a href="https://www.cnblogs.com/ys-ys/p/11336811.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/11221217.html
Huffman Tree (哈夫曼树学习) - 野兽'
WPL 和哈夫曼树 哈夫曼树,又称最优二叉树,是一棵带权值路径长度(WPL,Weighted Path Length of Tree)最短的树,权值较大的节点离根更近。 首先介绍一下什么是 WPL,其定义是树的所有叶结点的带权路径长度之和,称为树的带权路径长度,公式为 WPL = W1 * L1 +
2019-07-21T06:55:00Z
2019-07-21T06:55:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】WPL 和哈夫曼树 哈夫曼树,又称最优二叉树,是一棵带权值路径长度(WPL,Weighted Path Length of Tree)最短的树,权值较大的节点离根更近。 首先介绍一下什么是 WPL,其定义是树的所有叶结点的带权路径长度之和,称为树的带权路径长度,公式为 WPL = W1 * L1 + <a href="https://www.cnblogs.com/ys-ys/p/11221217.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/11185082.html
数据结构小记 - 野兽'
阅前:只是一篇随手的笔记(内容参考来源书籍:数据结构与算法、算法导论、算法精解、算法图解等书籍),帮助自己记录学习过程,顺便留些坑。 栈 遵循后进先出原则的有序集合。 生产: → +3 | 3 | → +2 | 2 | | 2 | | | → +1 | 1 | | 1 | | 1 | 消费: | 3
2019-07-14T10:09:00Z
2019-07-14T10:09:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】阅前:只是一篇随手的笔记(内容参考来源书籍:数据结构与算法、算法导论、算法精解、算法图解等书籍),帮助自己记录学习过程,顺便留些坑。 栈 遵循后进先出原则的有序集合。 生产: → +3 | 3 | → +2 | 2 | | 2 | | | → +1 | 1 | | 1 | | 1 | 消费: | 3 <a href="https://www.cnblogs.com/ys-ys/p/11185082.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10758450.html
浅入浅出Typescript Decorators - 野兽'
临时起的兴趣,想写一篇关于ts decorator的文章,就花小半天整理了一下... 这东西,在ES2017里好像也有... 文档的话看这里。 因为临时,就没想写太多文字介绍,带少许文字说明直接开撸代码吧。 本文通过ts编译后的decorator代码结合两个案例来解释一番装饰器是什么?能做什么?有什
2019-04-23T11:30:00Z
2019-04-23T11:30:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】临时起的兴趣,想写一篇关于ts decorator的文章,就花小半天整理了一下... 这东西,在ES2017里好像也有... 文档的话看这里。 因为临时,就没想写太多文字介绍,带少许文字说明直接开撸代码吧。 本文通过ts编译后的decorator代码结合两个案例来解释一番装饰器是什么?能做什么?有什 <a href="https://www.cnblogs.com/ys-ys/p/10758450.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10746176.html
使用 Jaeger 完成服务间的链路追踪 - 野兽'
世上本没有路,走的人多了,便变成了路 -- 鲁迅 本次讨论的话题就是需要在各个服务之间踏出条"路",让问题有"路"可循。 至于为什么用 jaeger... 这个支持多语言方案算么?遵循 opentracing 规范算么?开箱即用算么?还有更多其他方面的支持? 至于为什么遵循 opentracing
2019-04-21T10:54:00Z
2019-04-21T10:54:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】世上本没有路,走的人多了,便变成了路 -- 鲁迅 本次讨论的话题就是需要在各个服务之间踏出条"路",让问题有"路"可循。 至于为什么用 jaeger... 这个支持多语言方案算么?遵循 opentracing 规范算么?开箱即用算么?还有更多其他方面的支持? 至于为什么遵循 opentracing <a href="https://www.cnblogs.com/ys-ys/p/10746176.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10616016.html
MySql 踩坑小记 - 野兽'
MySql 踩坑一时爽,一直踩啊一直爽... 以下记录刚踩的三个坑,emmm... 首先是远程机子上创建表错误(踩第一个坑),于是将本地机器 MySql 版本回退至和远程一致(踩第二个坑),最后在第二个坑里踩到了第三个坑。 Sequelize 创建表报错 针对 Sequelize 创建表的时候,报错
2019-03-28T08:38:00Z
2019-03-28T08:38:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】MySql 踩坑一时爽,一直踩啊一直爽... 以下记录刚踩的三个坑,emmm... 首先是远程机子上创建表错误(踩第一个坑),于是将本地机器 MySql 版本回退至和远程一致(踩第二个坑),最后在第二个坑里踩到了第三个坑。 Sequelize 创建表报错 针对 Sequelize 创建表的时候,报错 <a href="https://www.cnblogs.com/ys-ys/p/10616016.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10598151.html
Redux 实现过程的推演 - 野兽'
这是一篇浅入浅出的 Redux 实现过程的推演笔记!正常来说应该是要从源码下手开始解析,这里是逆向推演,假如有需求是要这么一个东西,那么该如何从零开始实现? 通过该笔记,更多的是希望自己能够多熟悉从无到有的开发思维,而非源码解析这种从有到有的轮子思维。 Rudex 介绍 Rudex 介绍 首先确认目
2019-03-26T01:23:00Z
2019-03-26T01:23:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】这是一篇浅入浅出的 Redux 实现过程的推演笔记!正常来说应该是要从源码下手开始解析,这里是逆向推演,假如有需求是要这么一个东西,那么该如何从零开始实现? 通过该笔记,更多的是希望自己能够多熟悉从无到有的开发思维,而非源码解析这种从有到有的轮子思维。 Rudex 介绍 Rudex 介绍 首先确认目 <a href="https://www.cnblogs.com/ys-ys/p/10598151.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10333430.html
正则表达式的一些探索(偏JavaScript) - 野兽'
简单的探索下正则表达式的相关知识,首先先了解下正则表达式的引擎和匹配过程区别,再试着掌握如何在场景中编写正则表达式,再然后探索下根据上文已知的原理和编写过程怎么去优化正则表达式,最后给出一些js里正则相关的小扩展。 基础及原理简单介绍 了解一下正则表达式的正则引擎(正则表达式使用的理论模型是有穷自动
2019-01-29T04:02:00Z
2019-01-29T04:02:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】简单的探索下正则表达式的相关知识,首先先了解下正则表达式的引擎和匹配过程区别,再试着掌握如何在场景中编写正则表达式,再然后探索下根据上文已知的原理和编写过程怎么去优化正则表达式,最后给出一些js里正则相关的小扩展。 基础及原理简单介绍 了解一下正则表达式的正则引擎(正则表达式使用的理论模型是有穷自动 <a href="https://www.cnblogs.com/ys-ys/p/10333430.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10310838.html
近期遇到的计(算)算(法)题及解(JavaScript) - 野兽'
以下是近期遇到的三个计(算)算(法)题... 提到这些问题的时候简单理了下思路,后面又以JavaScript代码实现并顺便记个笔记... 至于是什么场景下遇到这些题的么... :) 问题一:从无序数组里取出M个值,总和为N,得出一个解即可 给出思路: 1. 递归直到长度为M为止,得出数组子集; 2.
2019-01-23T11:18:00Z
2019-01-23T11:18:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】以下是近期遇到的三个计(算)算(法)题... 提到这些问题的时候简单理了下思路,后面又以JavaScript代码实现并顺便记个笔记... 至于是什么场景下遇到这些题的么... :) 问题一:从无序数组里取出M个值,总和为N,得出一个解即可 给出思路: 1. 递归直到长度为M为止,得出数组子集; 2. <a href="https://www.cnblogs.com/ys-ys/p/10310838.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10266629.html
TCP/IP 笔记 - 安全 - 野兽'
安全:可扩展身份认证协议、IP安全协议、传输层安全、DNS安全、域名密钥识别邮件 任何由用户或以用户账号执行却违背了用户本身意愿的软件被称为恶意软件 网络安全是一门十分广泛及有深度的学识,而本书旨在了解TCP/IP协议族知识,所以书中只介绍了一些TCP/IP所使用的部分安全方案。并且对安全这块我也没
2019-01-14T14:55:00Z
2019-01-14T14:55:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】安全:可扩展身份认证协议、IP安全协议、传输层安全、DNS安全、域名密钥识别邮件 任何由用户或以用户账号执行却违背了用户本身意愿的软件被称为恶意软件 网络安全是一门十分广泛及有深度的学识,而本书旨在了解TCP/IP协议族知识,所以书中只介绍了一些TCP/IP所使用的部分安全方案。并且对安全这块我也没 <a href="https://www.cnblogs.com/ys-ys/p/10266629.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10266615.html
TCP/IP 笔记 - TCP保活机制 - 野兽'
TCP协议中不存在轮询机制,这意味着加入启动一个客户端进程,与服务器建立连接后,然后离开几小时、几天、甚至几个月,连接依然会保持着。理论上,中间路由器可以崩溃和重启,数据线可以断开再连接,只要连接两端的主机没有被重新启动(或者更改IP地址),那么它们仍会保持连接状态。 TCP保活机制 TCP保活机制
2019-01-14T14:54:00Z
2019-01-14T14:54:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】TCP协议中不存在轮询机制,这意味着加入启动一个客户端进程,与服务器建立连接后,然后离开几小时、几天、甚至几个月,连接依然会保持着。理论上,中间路由器可以崩溃和重启,数据线可以断开再连接,只要连接两端的主机没有被重新启动(或者更改IP地址),那么它们仍会保持连接状态。 TCP保活机制 TCP保活机制 <a href="https://www.cnblogs.com/ys-ys/p/10266615.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10266571.html
TCP/IP 笔记 - TCP拥塞控制 - 野兽'
拥塞控制是TCP通信的每一方需要执行的一系列行为,这些行为有特定算法规定,用于防止网络因为大规模的通信负载而瘫痪。其基本方法是当有理由认为网络即将进入拥塞状态(或已由于拥塞而出现路由丢包情况)时减缓TCP传输。TCP拥塞控制的关键点自傲与怎样准确的判断何时需要减缓且如何减缓TCP传输,以及何时恢复其
2019-01-14T14:53:00Z
2019-01-14T14:53:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】拥塞控制是TCP通信的每一方需要执行的一系列行为,这些行为有特定算法规定,用于防止网络因为大规模的通信负载而瘫痪。其基本方法是当有理由认为网络即将进入拥塞状态(或已由于拥塞而出现路由丢包情况)时减缓TCP传输。TCP拥塞控制的关键点自傲与怎样准确的判断何时需要减缓且如何减缓TCP传输,以及何时恢复其 <a href="https://www.cnblogs.com/ys-ys/p/10266571.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10266079.html
TCP/IP 笔记 - TCP数据流和窗口管理 - 野兽'
TCP流量控制机制通过动态调整窗口大小来控制发送端的操作,确保路由器/接收端消息不会溢出。 交互式TCP连接 交互式TCP连接指该连接需要在客户端和服务器之间传输用户输入信息,如按键操作、短消息、操作杆或鼠标操作。对于这些操作,如果用较小的报文段来承载信息,则传输协议需要耗费很高的代价;反之采用较大
2019-01-14T14:52:00Z
2019-01-14T14:52:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】TCP流量控制机制通过动态调整窗口大小来控制发送端的操作,确保路由器/接收端消息不会溢出。 交互式TCP连接 交互式TCP连接指该连接需要在客户端和服务器之间传输用户输入信息,如按键操作、短消息、操作杆或鼠标操作。对于这些操作,如果用较小的报文段来承载信息,则传输协议需要耗费很高的代价;反之采用较大 <a href="https://www.cnblogs.com/ys-ys/p/10266079.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10265254.html
TCP/IP 笔记 - 超时和重传 - 野兽'
TCP协议为了提供可靠的数据传输服务,会启动数据重传来解决下层网络层(IP)可能出现的数据包丢失。 超时重传介绍 TCP重传由两套独立机制来完成重传,基于时间的超时重传(RTO,TCP发送数据时会设置一个计时器,若至计时器超时仍未收到数据确认信息,则会引发相应的超时和计时器重传操作),基于确认信息的
2019-01-14T14:51:00Z
2019-01-14T14:51:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】TCP协议为了提供可靠的数据传输服务,会启动数据重传来解决下层网络层(IP)可能出现的数据包丢失。 超时重传介绍 TCP重传由两套独立机制来完成重传,基于时间的超时重传(RTO,TCP发送数据时会设置一个计时器,若至计时器超时仍未收到数据确认信息,则会引发相应的超时和计时器重传操作),基于确认信息的 <a href="https://www.cnblogs.com/ys-ys/p/10265254.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10264381.html
TCP/IP 笔记 - TCP连接管理 - 野兽'
TCP是一种面向连接的单播协议,在发送数据之前,通信双方必须在彼此建立一条连接;这与UDP的无连接不同,UDP无需通信双方发送数据之前建立连接。所有TCP需要处理多种TCP状态时需要面对的问题,比如连接的建立、传输、终止,以及无警告的情况下重新启动,这也是TCP与UDP之间的主要区别之一。 TCP连
2019-01-14T14:49:00Z
2019-01-14T14:49:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】TCP是一种面向连接的单播协议,在发送数据之前,通信双方必须在彼此建立一条连接;这与UDP的无连接不同,UDP无需通信双方发送数据之前建立连接。所有TCP需要处理多种TCP状态时需要面对的问题,比如连接的建立、传输、终止,以及无警告的情况下重新启动,这也是TCP与UDP之间的主要区别之一。 TCP连 <a href="https://www.cnblogs.com/ys-ys/p/10264381.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10264307.html
TCP/IP 笔记 - 传输控制协议 - 野兽'
与UDP不同,TCP提供面向连接的、可靠的、基于字节流的传输层协议,且提供差错纠正。 TCP传输的概念 对与分组丢失和比特差错的处理方法,最直接的方法是重发分组,直到它被正确接收。 这需要一种方法来判断: 1. 接收方是否已收到分组; 2. 接收方接收到的分组是否与之前发送方发送的一样,接收方给发送
2019-01-14T14:48:00Z
2019-01-14T14:48:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】与UDP不同,TCP提供面向连接的、可靠的、基于字节流的传输层协议,且提供差错纠正。 TCP传输的概念 对与分组丢失和比特差错的处理方法,最直接的方法是重发分组,直到它被正确接收。 这需要一种方法来判断: 1. 接收方是否已收到分组; 2. 接收方接收到的分组是否与之前发送方发送的一样,接收方给发送 <a href="https://www.cnblogs.com/ys-ys/p/10264307.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10263646.html
TCP/IP 笔记 - 域名解析和域名系统 - 野兽'
由于IP地址的烦琐导致的记忆和使用困难,互联网支持使用主机名称来识别包括客户机和服务器在内的主机。同时为了使用一系列协议,主机名称通过称为"名称解析"的过程转换成对应IP地址。 互联网中存在各种形式的名称解析,最普遍、最重要的一种采用分布式数据库系统是开发者所熟知的域名系统(DNS,Domain N
2019-01-14T14:47:00Z
2019-01-14T14:47:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】由于IP地址的烦琐导致的记忆和使用困难,互联网支持使用主机名称来识别包括客户机和服务器在内的主机。同时为了使用一系列协议,主机名称通过称为"名称解析"的过程转换成对应IP地址。 互联网中存在各种形式的名称解析,最普遍、最重要的一种采用分布式数据库系统是开发者所熟知的域名系统(DNS,Domain N <a href="https://www.cnblogs.com/ys-ys/p/10263646.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ys-ys/p/10263539.html
TCP/IP 笔记 - 用户数据报协议和IP分片 - 野兽'
关于本章中的IP分片部分,参考第五章IP分片头部知识点。需要注意的是,TCP有超时重传,UDP的超时重传则依赖上层应用程序实现。 用户数据报协议(UDP) UDP是一个简单的面向无连接、不可靠的数据报的传输协议(它把应用程序传给IP层的数据发送出去,但并不保证它们能够到达目的地)。它不提供差错纠正、
2019-01-14T14:46:00Z
2019-01-14T14:46:00Z
野兽'
https://www.cnblogs.com/ys-ys/
【摘要】关于本章中的IP分片部分,参考第五章IP分片头部知识点。需要注意的是,TCP有超时重传,UDP的超时重传则依赖上层应用程序实现。 用户数据报协议(UDP) UDP是一个简单的面向无连接、不可靠的数据报的传输协议(它把应用程序传给IP层的数据发送出去,但并不保证它们能够到达目的地)。它不提供差错纠正、 <a href="https://www.cnblogs.com/ys-ys/p/10263539.html" target="_blank">阅读全文</a>