05 2019 档案

摘要:1.ECMAScript3中定义了变量可分为原始值和引用值。 原始值:是保存在栈(stack)中的简单数据段;也就是说他们的值是直接存储在变量访问的位置。 引用值:是保存在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),该指针地址->指向存储对象的内存处。 使用typeo 阅读全文
posted @ 2019-05-31 18:10 王默默 阅读(1621) 评论(0) 推荐(0)
摘要:观察者模式 1:观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。 2:场景:一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻 阅读全文
posted @ 2019-05-26 22:25 王默默 阅读(347) 评论(0) 推荐(0)
摘要:适配器模式 将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 阅读全文
posted @ 2019-05-26 22:11 王默默 阅读(297) 评论(0) 推荐(0)
摘要:1.注册模式: 注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。 阅读全文
posted @ 2019-05-26 21:13 王默默 阅读(1005) 评论(0) 推荐(0)
摘要:单例模式 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。 单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下3个特点: 1.只 阅读全文
posted @ 2019-05-26 20:53 王默默 阅读(292) 评论(0) 推荐(0)
摘要:1.策略模式:是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。 实现步骤: 1.定义抽象类(定义所有子类必须要实现的共同抽象方法) 2.定义具体策略类(具体实现父类的共同方法) 3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法) 目的;根据不同渠道实现不通 阅读全文
posted @ 2019-05-26 20:36 王默默 阅读(234) 评论(0) 推荐(0)
摘要:1.创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。 这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(S 阅读全文
posted @ 2019-05-26 20:10 王默默 阅读(1915) 评论(0) 推荐(0)
摘要:在 PHP 5.3 之前,__autoload 函数抛出的异常不能被 catch 语句块捕获并会导致一个致命错误(Fatal Error)。 尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_register() 函数。 spl_autoload_re 阅读全文
posted @ 2019-05-26 16:36 王默默 阅读(1269) 评论(0) 推荐(0)
摘要:1. __construct 具有构造函数的类会在每次创建新对象时先调用此方法;初始化工作执行。2. __desstruct 对象的所有引用都被删除或者当对象被显式销毁时执行。3.__call()在对象中调用一个不可访问方法时,__call() 会被调用。4.__callStatic()在静态上下文 阅读全文
posted @ 2019-05-26 15:54 王默默 阅读(5831) 评论(0) 推荐(0)
摘要:1.public定义的类或方法;任何类的实例都可以访问 2.private定义的属性和方法;只能该类内部使用;如果子类要访问父类的private属性;必须实现__set()和__get()方法; 3.protected定义的属性和方法;该本类和子类或者父类内部使用。实例对象不可以访问; 输出: 阅读全文
posted @ 2019-05-26 15:14 王默默 阅读(227) 评论(0) 推荐(0)
摘要:1.抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。 使用工厂模式的好处是 阅读全文
posted @ 2019-05-25 23:56 王默默 阅读(263) 评论(0) 推荐(0)
摘要:cookie 和session 的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多 阅读全文
posted @ 2019-05-25 22:57 王默默 阅读(1589) 评论(0) 推荐(0)
摘要:1.use的用法 2.序列号函数unserialize的新增了过滤功能 3.通过define定义常量数组 define("GREETING","Hello you! How are you today?",TRUE); echo constant("greeting"); //返回常量的值 4.三目 阅读全文
posted @ 2019-05-22 22:00 王默默 阅读(476) 评论(0) 推荐(0)
摘要:索引是查询优化最主要的方式; 查询方式: 一种是:全表扫描; 一种是:利用数据表上建立的所以进行扫描。 如:对表中name字段建立索引;则按照表中name字段进行索引排序,并为其建立指向数据表中记录所在位置的“指针”。 Mysql索引根据用途分为: 1.普通索引:列值可以取空值或重复值。创建使用关键 阅读全文
posted @ 2019-05-22 20:08 王默默 阅读(12889) 评论(0) 推荐(1)
摘要:近半年来努力付出,项目终于要正式结项了,团队4人经历了很多困难,加班加点,最终完成了!剩下的时间将总结一下在该项目中用到知识和遇到问题。今天就从swoole说起!项目中实现异步大文件传输的功能,在服务端使用了swoole,可以高效方便的实现,很多的项目其实也在用到swoole,突然间觉得swoole 阅读全文
posted @ 2019-05-20 22:26 王默默 阅读(852) 评论(0) 推荐(0)
摘要:TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数 阅读全文
posted @ 2019-05-20 22:22 王默默 阅读(740) 评论(0) 推荐(0)
摘要:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。 应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。 消息传递:指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用 阅读全文
posted @ 2019-05-20 22:10 王默默 阅读(11018) 评论(0) 推荐(1)
摘要:一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,Roc 阅读全文
posted @ 2019-05-20 21:45 王默默 阅读(7657) 评论(0) 推荐(2)
摘要:在秒杀、抢火车票等地方,我们通常用遇到这样高并发的问题,下面我提供了四种解决方案:1、使用文件锁$fp=fopen("order.lock","r");if(flock($fp,LOCK_EX)){//..处理订单的代码flock($fp,LOCK_UN);}fclose($fp);———————— 阅读全文
posted @ 2019-05-20 21:25 王默默 阅读(785) 评论(0) 推荐(0)
摘要:QPS:即服务器每秒request请求或者查询的数量,在互联网领域,值每秒的响应response的请求数 常用的性能测试工具 :ab、wrk、http_load、web bench 、 siege、Apache jmeter 优化方案: WEB服务器负债均衡: nginx配置: 阅读全文
posted @ 2019-05-20 21:14 王默默 阅读(1275) 评论(0) 推荐(0)
摘要:在理解php-fpm之前,我们要先搞清楚几个关键词以及他们之间的关系:CGI FastCGI:(Fast Common Gateway Interface),即快速通用网关接口,是一种让交互程序与Web服务器通信的协议。它是CGI的增强版本 php-fpm php-cgi. CGI:(Common 阅读全文
posted @ 2019-05-20 20:56 王默默 阅读(261) 评论(0) 推荐(0)
摘要:strlen和mb_strlen都是用于获取字符串长度的; strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数, 如果是多字节码编码,如gbk和utf8,使用strlen得到的不是字符的个数,而是该字符的总字节数, 可以使用mb_strlen获取其字符个数,使用mb_strlen要 阅读全文
posted @ 2019-05-17 17:43 王默默 阅读(532) 评论(0) 推荐(0)
摘要:构造方法,是一个特殊的方法: 1,名字是固定的:_ _construct; 2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用。 3,该方法主要的目的是为了在new一个对象的时候,给该对象设置一些“初始值”(初始化工作); 4,构造方法的参数没有规定,通常是根据实际的需要来定义, 阅读全文
posted @ 2019-05-17 17:28 王默默 阅读(1800) 评论(0) 推荐(0)
摘要:一个项目刚开始的时候是为了实现基本功能,随着版本和功能的迭代,大数据和高并发成了软件设计必须考虑的问题! 本质很简单,一个是慢,一个是等。 两者是相互关联的,因为慢,所以要等,因为等,所以慢,解决了慢,也就解决了等,解决了等,也就解决了慢。 关键是如何解决慢和等, 核心 一个是短,一个是少,一个是分 阅读全文
posted @ 2019-05-17 08:20 王默默 阅读(1148) 评论(0) 推荐(0)
摘要:1.查询优化 1)保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SE 阅读全文
posted @ 2019-05-17 08:07 王默默 阅读(11580) 评论(1) 推荐(0)
摘要:一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为google被墙,我们需要vpnFQ才能访问google.com。Virtual Private Network虚拟专用网络(VPN)的功能是:在公用网络上建立专用网络,进行加密通讯。 vpn对于“我们”来说, 阅读全文
posted @ 2019-05-15 09:01 王默默 阅读(4320) 评论(0) 推荐(0)