• 欢迎来到我的博客
  • [email protected]

CORS 和 CORB

CORS 和 CORB
作用差不多 出于安全考虑,阻止读取跨站请求的响应结果。 不同点 CORS 是针对 ajax 跨站请求的,而 CORB 是针对通过 img、script 等标签发起的跨站请求。 比如说,我通过 img 跨站请求了一个 url ,而在这个响应 headers 里面,声明这是一个文本文件,那么就会触发 CORB。 Cross-Origin Read Blockin……继续阅读 »

tianlan 4周前 (11-03) 87浏览 0评论 0个赞

结构型模式:门面模式、组合模式、流接口模式

结构型模式:门面模式、组合模式、流接口模式
门面模式 目的 避免让你阅读复杂的API 文档 降低耦合性 原理 把多个对象,封装到门面里 将被封装对象的多个方法,封装到门面的一个方法里。 从而,调用门面的一个方法=调用被封装对象的多个方法。 而且可以通过调用不同方法,来使用不同的被封装对象完成同一功能。 UML 组合模式 适用于 一组对象与该对象的单个实例的处理方式一致。 UML 流接口模式……继续阅读 »

tianlan 1个月前 (10-25) 67浏览 0评论 0个赞

访问者模式

访问者模式
目的 抽象说法 (访问者)表示一个作用于某对象结构中的各元素的操作。它允许在不改变各元素的类的前提下,定义作用于这些元素的新操作。 访问者模式属于【行为型】设计模式。 说得明白点 访问者模式可以让你将对象操作外包给其他对象。这样做的最主要原因就是关注(数据结构和数据操作)分离。但是被访问的类必须定一个契约接受访问者。 (详见例子中的 Role::accept……继续阅读 »

tianlan 1个月前 (10-24) 61浏览 0评论 0个赞

PHP执行过程中用户关闭浏览器会如何

PHP执行过程中用户关闭浏览器会如何
一般情况下,由于php脚本在服务器上执行,此时用户虽然关闭了浏览器,但是服务器端的php脚本仍然将执行. 但是如果php程序需要flush它的输出到buffer , echo(),print(),flush()等操作 发现并没有相应的连接,进程将会终止运行. 所以如果没有使用echo(),print(),flush()等操作 输出到 一个关闭的连接,那么就没……继续阅读 »

tianlan 1个月前 (10-23) 70浏览 0评论 0个赞

代理模式、装饰器模式、桥接模式

代理模式、装饰器模式、桥接模式
前言 之所以把这几个模式放在一起,是因为他们同属于【结构型】设计模式,并且也很相似,让人难以区分。 代理模式 这个不用多说,对【被代理对象】进行访问控制,或者对其功能进行增强(不改变类的情况下添加一些额外的功能)。 装饰器模式 动态地给【被装饰对象】添加一些额外的职责。 桥接模式 将抽象与实现分离,这样两者可以独立地改变。 区别 使用方式 // 代理模式……继续阅读 »

tianlan 1个月前 (10-21) 60浏览 0评论 0个赞

建造者模式

建造者模式
建造者模式 建造者是创建一个复杂对象的一部分接口  【new 需要的类】这个过程在建造者中完成 由 Director 中的 build() 来调用 Builder 中的各个建造方法,并且返回目标对象   ……继续阅读 »

tianlan 1个月前 (10-18) 87浏览 0评论 0个赞

静态工厂、简单工厂、抽象工厂、工厂方法

静态工厂、简单工厂、抽象工厂、工厂方法
前言 在学习设计模式的时候,各种工厂模式傻傻分不清让人头皮发麻,他们同属于【创建型】所以在这里小结一下。 学习参考:https://learnku.com/docs/php-design-patterns/2018 简单工厂 简单工厂模式是一个精简版的工厂模式。 它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可……继续阅读 »

tianlan 1个月前 (10-17) 74浏览 0评论 0个赞

获取当前 js 文件所在路径

获取当前 js 文件所在路径
//获取 dom 中所有 script let js_list = document.scripts; //这段代码得立即执行,以保证 js_list 中的最后一个元素,就是加载本JS的 script //获取当前 JS 的 src let now_js_src = js_list[js_list.length - 1].src; //……继续阅读 »

tianlan 2个月前 (09-30) 92浏览 0评论 0个赞