首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
1
订阅
pacexy
更多收藏集
微信扫码分享
微信
新浪微博
QQ
107篇文章 · 0订阅
传说中图片防盗链的爱恨情仇
我们先来了解了解防盗链的原理,在 http 协议中,如果从一个页面跳到另一个页面,header字段里面会带个 Referer。图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。 如果盗用网站是 https 的 协议,而图片链接是 http 的话,则从 http…
前端网页如何打开一个PC本地应用
设想一个场景,当我们在浏览一个网页并且需要下载某个资源时,你的电脑可能经常会跳出一个提示框,询问你是否需要打开“迅雷”。当我们点击“是”,则会唤醒该本地应用进行下载任务。 本文针对Windows系统和MacOS系统进行讨论。 在薄荷FE的日常开发中,因为需要与app频繁交互,a…
React干货:SPA单页如何规划路由、设计Store、划分模块、按需加载
本 Demo 并不采用 CSS Module 来进行 css 模块化,因为编译之后可读性不好,而且增加复杂度和编译时间。使用统一的 css 命名空间约定,我们也可以很简单的防止 css 命名冲突。 使用 Typescript 意味着使用强类型,我们把业务实体中 TS 类型定义分…
在阿里我是如何当面试官的
由于疫情关系,最近在掘金看到很多同学的工作情况内心还是蛮触动的(降薪、变相裁员、辞退等)。可能这并不是当下一个普遍的现象,但仍然使我感受到前端这碗青春饭不好混。于此同时联系我内推的同学很多都处于待业状态,能感受到他们内心的迷茫和焦灼。于是内心一直有声音督促我,赶紧写点面试相关的…
大佬,JavaScript 柯里化,了解一下?
柯里化, 即 Currying 的音译。 Currying 是编译原理层面实现多参函数的一个技术。 在说JavaScript 中的柯里化前,可以聊一下原始的 Currying 是什么,又从何而来。 在编码过程中,身为码农的我们本质上所进行的工作就是——将复杂问题分解为多个可编程…
前端想要了解的Nginx
~* \.(js|css|png|jpg|gif)$ 是匹配以相关文件类型然后单独处理。 = 表示精确匹配。只有请求的url路径与后面的字符串完全相等时,才会命中(优先级最高)。 ^~ 表示如果该符号后面的字符是最佳匹配,采用该规则,不再进行后续的查找。 ~ 表示该规则是使用正…
为什么视频网站的视频链接地址是blob?
自从HTML5提供了video标签,在网页中播放视频已经变成一个非常简单的事,只要一个video标签,src属性设置为视频的地址就完事了。由于src指向真实的视频网络地址,在早期一般网站资源文件不怎么通过referer设置防盗链,当我们拿到视频的地址后可以随意的下载或使用(每次…
惰性求值——lodash源码解读
lodash受欢迎的一个原因,是其优异的计算性能。而其性能能有这么突出的表现,很大部分就来源于其使用的算法——惰性求值。 本文将讲述lodash源码中,惰性求值的原理和实现。 以下是How to Speed Up Lo-Dash ×100? Introducing Lazy E…
手写一个Promise/A+,完美通过官方872个测试用例
本文会讲解另一种更现代的异步实现方案:Promise。Promise几乎是面试必考点,所以我们不能仅仅会用,还得知道他的底层原理,学习他原理的最好方法就是自己也实现一个Promise。
柯里化与反柯里化
由于是延迟计算结果,所以要对参数进行记忆。 这里的实现方式是采用闭包。 当执行var add = currying(...)时,add变量已经指向了next方法。此时,allArgs在next方法内部有引用到,所以不能被GC回收。也就是说,allArgs在该赋值语句执行后,一直…