获得徽章 1
#青训营笔记创作活动#
2月8日
day22
实现思路:
1)利用 iframe 创建沙箱,取出其中的原生浏览器全局对象作为沙箱的全局对象
2)设置一个黑名单,若访问黑名单中的变量,则直接报错,实现阻止\隔离的效果
3)在黑名单中添加 document 字段,来实现禁止开发者操作 DOM
4)在黑名单中添加 XMLHttpRequest、fetch、WebSocket 字段,实现禁用原生的方式调用接口
5)若访问当前全局对象中不存在的变量,则直接报错,实现禁用三方库调接口
6)最后还要拦截对 window 对象的访问,防止通过 window.document 来操作 DOM,避免沙箱逃逸
2月8日
day22
实现思路:
1)利用 iframe 创建沙箱,取出其中的原生浏览器全局对象作为沙箱的全局对象
2)设置一个黑名单,若访问黑名单中的变量,则直接报错,实现阻止\隔离的效果
3)在黑名单中添加 document 字段,来实现禁止开发者操作 DOM
4)在黑名单中添加 XMLHttpRequest、fetch、WebSocket 字段,实现禁用原生的方式调用接口
5)若访问当前全局对象中不存在的变量,则直接报错,实现禁用三方库调接口
6)最后还要拦截对 window 对象的访问,防止通过 window.document 来操作 DOM,避免沙箱逃逸
展开
评论
点赞
#青训营笔记创作活动#
2月3日
day21
比方说一切正常,那服务端返回个200状态码,前端收到后,可以放心使用响应的数据。但如果服务端发现客户端发的东西异常,就响应个4xx状态码,意思是这是个客户端的错误,4xx里头的xx可以根据错误的类型,再细分成各种码,比如401是客户端没权限,404是客户端请求了一个根本不存在的网页。反过来,如果是服务器有问题,就返回5xx状态码。
2月3日
day21
比方说一切正常,那服务端返回个200状态码,前端收到后,可以放心使用响应的数据。但如果服务端发现客户端发的东西异常,就响应个4xx状态码,意思是这是个客户端的错误,4xx里头的xx可以根据错误的类型,再细分成各种码,比如401是客户端没权限,404是客户端请求了一个根本不存在的网页。反过来,如果是服务器有问题,就返回5xx状态码。
展开
评论
点赞
#青训营笔记创作活动#
2月1日
day20
无论你是前端还是后端,只要是一个合格的开发者,对于MySQL这个名词相信都不陌生,MySQL逐渐成为了最受欢迎的关系型数据库,无论你是大前端,亦或是Java、Go、Python、C/C++、PHP....等这些语言的程序员,对于MySQL是必然要掌握的核心技术之一,程序员不能没有MySQL,就像西方不能失去耶路撒冷一般。
2月1日
day20
无论你是前端还是后端,只要是一个合格的开发者,对于MySQL这个名词相信都不陌生,MySQL逐渐成为了最受欢迎的关系型数据库,无论你是大前端,亦或是Java、Go、Python、C/C++、PHP....等这些语言的程序员,对于MySQL是必然要掌握的核心技术之一,程序员不能没有MySQL,就像西方不能失去耶路撒冷一般。
展开
评论
点赞
#青训营笔记创作活动#
1月30日
day19
秒杀开始的时候生成一个新的JavaScript文件(文件名保持不变,只是内容不一样),更新秒杀开始标志为true,加入下单页面的URL及随机数参数(这个随机数只会产生一个,即所有人看到的URL都是同一个,服务器端可以用redis这种分布式缓存服务器来保存随机数),并被用户浏览器加载,控制秒杀商品页面的展示。
1月30日
day19
秒杀开始的时候生成一个新的JavaScript文件(文件名保持不变,只是内容不一样),更新秒杀开始标志为true,加入下单页面的URL及随机数参数(这个随机数只会产生一个,即所有人看到的URL都是同一个,服务器端可以用redis这种分布式缓存服务器来保存随机数),并被用户浏览器加载,控制秒杀商品页面的展示。
展开
评论
点赞
#青训营笔记创作活动#
1月29日
day18
交换机内部维护着一张MAC地址与网线端口的对应表。当接收到数据时,会将相应的端口号码和发送方MAC地址写入表中,这样就可以根据地址判断出该设备连接在哪个端口上了。而交换机可以不用进行广播,而是根据这些信息判断应该把数据转发到哪里。
1月29日
day18
交换机内部维护着一张MAC地址与网线端口的对应表。当接收到数据时,会将相应的端口号码和发送方MAC地址写入表中,这样就可以根据地址判断出该设备连接在哪个端口上了。而交换机可以不用进行广播,而是根据这些信息判断应该把数据转发到哪里。
展开
评论
点赞
#青训营笔记创作活动#
1月27日
day17
MySQL的索引机制中,有一点可谓是路人皆知,既默认使用B+Tree作为底层的数据结构,但为什么要选择B+树呢?有人会说树结构是以二分法查找数据,所以会在很大程度上提升检索性能,这点确实没错,但树结构有那么多,MySQL为什么不选二叉树、AVL树、红黑树或B树呢?
1月27日
day17
MySQL的索引机制中,有一点可谓是路人皆知,既默认使用B+Tree作为底层的数据结构,但为什么要选择B+树呢?有人会说树结构是以二分法查找数据,所以会在很大程度上提升检索性能,这点确实没错,但树结构有那么多,MySQL为什么不选二叉树、AVL树、红黑树或B树呢?
展开
评论
点赞
#青训营笔记创作活动#
1月25日
day16
无论是前端开发还是后台开发个人认为都不应该局限于自己所在的领域,多去突破舒适圈才能有所提升,孰虽然能生巧,但我们也要知道学而不思则惘,所以了解下和前端关联最深的服务端知识很有必要,而nodejs的出现可以说是使得前端开发去了解后台有了更为快捷的路径。
1月25日
day16
无论是前端开发还是后台开发个人认为都不应该局限于自己所在的领域,多去突破舒适圈才能有所提升,孰虽然能生巧,但我们也要知道学而不思则惘,所以了解下和前端关联最深的服务端知识很有必要,而nodejs的出现可以说是使得前端开发去了解后台有了更为快捷的路径。
展开
评论
点赞
#青训营笔记创作活动#
1月25日
day15
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来我们一起来看
1月25日
day15
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来我们一起来看
展开
评论
点赞
#青训营笔记创作活动#
1月23日
day14
相信大家在编写SQL时一定有一个困扰,就是明明记得数据库中有个命令/函数,可以实现自己需要的功能,但偏偏不记得哪个命令该怎么写了,这时只能靠盲目的去百度,以此来寻找自己需要的命令。
1月23日
day14
相信大家在编写SQL时一定有一个困扰,就是明明记得数据库中有个命令/函数,可以实现自己需要的功能,但偏偏不记得哪个命令该怎么写了,这时只能靠盲目的去百度,以此来寻找自己需要的命令。
展开
评论
点赞
#青训营笔记创作活动#
1月22日
day13
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍
1月22日
day13
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍
展开
评论
点赞
#青训营笔记创作活动#
1月20日
day12
HTTP —— HyperText Transfer Protocol,超文本传输协议。是当今互联网上应用最为广泛的一种网络协议,所有的 WWW(万维网) 文件都必须遵守这个标准。包括三个部分:超文本、传输、协议。
1月20日
day12
HTTP —— HyperText Transfer Protocol,超文本传输协议。是当今互联网上应用最为广泛的一种网络协议,所有的 WWW(万维网) 文件都必须遵守这个标准。包括三个部分:超文本、传输、协议。
展开
评论
点赞
#青训营笔记创作活动#
1月19日
day11
console 是我们开发中经常使用的功能,用来输出打印和调试开发,比较熟悉的有log、error、warn,这几个是常用的,但是如果你仅仅只是了解这几个那就挺可惜了,错过了那些有助于调高开发效率的功能,今天我们列举一些常用又可以提高开发效率的功能。
1月19日
day11
console 是我们开发中经常使用的功能,用来输出打印和调试开发,比较熟悉的有log、error、warn,这几个是常用的,但是如果你仅仅只是了解这几个那就挺可惜了,错过了那些有助于调高开发效率的功能,今天我们列举一些常用又可以提高开发效率的功能。
展开
评论
1
#青训营笔记创作活动#
1月18日
day10
为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而DB只承担数据落盘工作。
最简单的理解就是缓存是挡在 DB 前面的一层,为DB遮风挡雨。
架构中最经典的一句话:“没有什么是加一层不能解决的,如果加一层不行,就再加一层”。
1月18日
day10
为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而DB只承担数据落盘工作。
最简单的理解就是缓存是挡在 DB 前面的一层,为DB遮风挡雨。
架构中最经典的一句话:“没有什么是加一层不能解决的,如果加一层不行,就再加一层”。
展开
评论
1
#青训营笔记创作活动#
1月17日
day9
clamp() 函数的作用是把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用。它接收三个参数:最小值、首选值、最大值
1月17日
day9
clamp() 函数的作用是把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用。它接收三个参数:最小值、首选值、最大值
展开
评论
1