Origin of Ray

一起探索互联网的秘密

简介

ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Symbol的原因。

ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。

Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

阅读全文 »

前段时间做了个油猴插件,把项目组常用的项目在不同环境的url给整理一下,方便使用。
最近又被各个项目在各个环境的db配置搞得有点烦,就想着把db的配置也放进脚本里,但是这些db配置中还有些敏感的信息,贸然放进去可能会有安全的问题,为了研究一下TamperMonkey的安全性,就研究了下TamperMonkey的文档以及它的一点原理。

阅读全文 »

Blob是什么

Blob(Binary Large Object)表示二进制类型的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。Blob 通常是影像、声音或多媒体文件。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据。

image-20200724202124460

如你所见,myBlob 对象含有两个属性:size 和 type。其中 size 属性用于表示数据的大小(以字节为单位),type 是 MIME 类型的字符串。Blob 表示的不一定是 JavaScript 原生格式的数据。比如 File 接口基于 Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。

阅读全文 »

记录一下在使用elementUI时遇到的坑。

elementUI有的事件命名容易让人产生疑惑,如handleSizeChange,handleCLose等。

阅读全文 »

什么是DOM

DOM就是文档对象模型,什么是文档对象模型?这就需要好好说说了。

HTML的文档document页面是一切的基础,没有它dom就无从谈起。

当创建好一个页面并加载到浏览器时,DOM就悄然而生,它会把网页文档转换为一个文档对象,主要功能是处理网页内容。

在这个文档对象里,所有的元素呈现出一种层次结构,就是说除了顶级元素html外,其他所有元素都被包含在另外的元素中。

阅读全文 »

尤雨溪发表了名为 Vue3.0 Updates 的主题演讲,对 Vue3.0 的更新计划、方向进行了详细阐述(感兴趣的小伙伴可以看看完整的 PPT),表示已经放弃使用了 Object.defineProperty,而选择了使用更快的原生 Proxy !!

这将会消除了之前 Vue2.x 中基于 Object.defineProperty 的实现所存在的很多限制:无法监听 属性的添加和删除数组索引和长度的变更,并可以支持 MapSetWeakMapWeakSet

阅读全文 »

webpack的核心概念

  • Entry: 入口,webpack执行构建的第一入口,可以抽象理解为input
  • Module: 模块, 在webpack里面一切皆是模块,一个模块对应一个文件,webpack会从配置的Entry开始,递归找到所有依赖的模块。
  • Chunk:代码块, 一个chunk是由多个模块组合而成,用于代码合并与分割。
  • Loader: 模块转换器,用于将模块的元内容按照需求转换成新内容。
  • Plugin: 扩展插件,在webpack构建流程中的特定时机会广播对应的事件,插件可以监听这些事件,在特定的时机做对应的事情。
阅读全文 »

最近在看Azure文档的时候,被文档中的许多概念搞得非常困惑,就去查看了一些官方文档,算是一个临时的理解和总结。

阅读全文 »

今天来聊一道简单却十分巧妙的算法问题:算出一共有几个和为 k 的子数组。

那我把所有子数组都穷举出来,算它们的和,看看谁的和等于 k 不就行了。

关键是,如何快速得到某个子数组的和呢,比如说给你一个数组 nums,让你实现一个接口 sum(i, j),这个接口要返回 nums[i..j] 的和,而且会被多次调用,你怎么实现这个接口呢?

因为接口要被多次调用,显然不能每次都去遍历 nums[i..j],有没有一种快速的方法在 O(1) 时间内算出 nums[i..j] 呢?这就需要前缀和技巧了。

阅读全文 »

什么是sql注入

原理

​ sql注入的原理是将sql代码伪装到输入参数中,传递到服务器解析并执行的一种攻击手法。也就是说,在一些对server端发起的请求参数中植入一些sql代码,server端在执行sql操作时,会拼接对应参数,同时也将一些sql注入攻击的“sql”拼接起来,导致会执行一些预期之外的操作。

阅读全文 »
0%