Origin of Ray

一起探索互联网的秘密

用了这么久的JavaScript,才发现自己对JavaScript的事件循环机制一直有些误解。

第一,事件循环机制不是V8实现的,V8引擎只是负责JavaScript代码的编译,内存分配等。

第二,Chrome的事件循环机制是通过Web API实现的,Node则是libuv。

第三,Node11之前,Node的事件循环的原理与Chrome是不同的。

阅读全文 »

这个周的每日一题,做算法,要有想象力,要足够充分发掘已知条件。

阅读全文 »

今天的leetcode每日一题是一道中等难度的题目,但是题解的各种思路确实是很有新意,在这里记录一下。

每次遇到这种很有想象力的题解,都会让我感到非常快乐,它们只是使用了一些你早已熟练的方法,却能用的非常巧妙。

阅读全文 »

文件上传漏洞及其危害

文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。

由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。

阅读全文 »

Vue2时代的全局API全部都是挂载在Vue原型上的,所以任何对全局API的修改都会作用到所有的Vue实例。这可能是我们所不希望的,同时这种修改又是不可逆的。

所以为了应对这种情况,Vue3将全局API改造,引入了APP的概念,每个实例都是一个APP,全局API是作用在APP上的。

阅读全文 »

VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。

而子网也是通过路由器进行划分的一个个网络。

那二者的区别是什么呢?最本质上的区别就是,根据网络分层模型,VLAN主要用于划分数据链路层的广播域,而子网划分是通过IP地址在划分网络层,如果是用CIDR进行的子网划分,那么如果两个IP地址通过子网掩码计算出来的结果是相同的,那就是同一个子网。

阅读全文 »

这篇博客我们继续来看Vue3的一些新特性,包括Teleport,片段,触发组件选项。

大部分内容来自官方文档,对部分难理解的部分进行了解释与总结。

阅读全文 »

题目

给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。

连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。

请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。

阅读全文 »
0%