12 2018 档案

摘要:php代码示例 function PostFile(file, i, t) { console.log(1); var name = file.name, //文件名 size = file.size, type = file.type, //总大小shardSize = 2 * 1024 * 10 阅读全文
posted @ 2018-12-20 15:14 飞翔的贺兰猪 阅读(711) 评论(0) 推荐(0)
摘要:首先我们要理解一下快速排序的原理:找到当前数组中的任意一个元素(一般选择第一个元素),作为标准,新建两个空数组,遍历整个数组元素, 如果遍历到的元素比当前的元素要小,那么就放到左边的数组,否则放到右面的数组,然后再对新数组进行同样的操作, 不难发现,这里符合递归的原理,所以我们可以用递归来实现。 使 阅读全文
posted @ 2018-12-19 01:14 飞翔的贺兰猪 阅读(152) 评论(0) 推荐(0)
摘要:基本思想: 直接插入排序的基本思想是 : 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了 阅读全文
posted @ 2018-12-19 01:08 飞翔的贺兰猪 阅读(160) 评论(0) 推荐(0)
摘要:它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。 阅读全文
posted @ 2018-12-19 01:02 飞翔的贺兰猪 阅读(133) 评论(0) 推荐(0)
摘要:算法说明: 冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。 阅读全文
posted @ 2018-12-19 00:58 飞翔的贺兰猪 阅读(218) 评论(0) 推荐(0)
摘要:举个例子,游戏中玩家推倒了一个boss,会按如下概率掉落物品:10%掉武器 20%掉饰品 30%掉戒指 40%掉披风。现在要给出下一个掉落的物品类型,或者说一个掉落的随机序列,要求符合上述概率。 一般人会想到的两种解法 第一种算法,构造一个容量为100(或其他)的数组,将其中10个元素填充为类型1( 阅读全文
posted @ 2018-12-19 00:53 飞翔的贺兰猪 阅读(4785) 评论(0) 推荐(1)
摘要:preg_match('/\/(?P<name>\w+\.(?:png|jpg|gif|bmp|mp4))$/i', $url,$matches); 阅读全文
posted @ 2018-12-18 12:00 飞翔的贺兰猪 阅读(1343) 评论(0) 推荐(0)
摘要:代理模式(Proxy Pattern) : 给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式 模式动机: 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用 阅读全文
posted @ 2018-12-18 01:30 飞翔的贺兰猪 阅读(172) 评论(0) 推荐(0)
摘要:迭代器模式:迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。 UML类图: 角色: Iterator(迭代器):迭代器定义访问和遍历元素的接口 ConcreteIterat 阅读全文
posted @ 2018-12-17 09:25 飞翔的贺兰猪 阅读(161) 评论(0) 推荐(0)
摘要:/** * @param string $url * @param array $url_param * @param array $body_param * @param bool $is_post * @return mixed */ /** * @param string $url * @pa 阅读全文
posted @ 2018-12-15 17:36 飞翔的贺兰猪 阅读(132) 评论(0) 推荐(0)
摘要:把咖啡做成一个单独的类,其他的咖啡,比如牛奶咖啡,甜味咖啡,我们只对材料单独包装成一个类 详解 1》对于饮品,我们直接继承Beverage类,直接把报价写进饮品类里面; 2》而对于一些需要添加调味品的特殊饮品,我们做累加操作。比如,我想要杯奶咖啡,则 总价=咖啡价+奶价 3》这样不同的饮料就很容易知 阅读全文
posted @ 2018-12-13 17:59 飞翔的贺兰猪 阅读(198) 评论(0) 推荐(0)
摘要:什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static。 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 阅读全文
posted @ 2018-12-13 14:04 飞翔的贺兰猪 阅读(578) 评论(0) 推荐(0)
摘要:命令链模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他处理程序。 命令链模式可以使用在用户登陆注册的时候处理不同角色用户的业务逻辑,与变量值 定义多 阅读全文
posted @ 2018-12-13 11:20 飞翔的贺兰猪 阅读(399) 评论(0) 推荐(0)
摘要:单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new简历实例对象的方法。那么注册树模式想解决的问题是什么呢?首先我们看一下上面两种模式的局限: 首先,单例模式创建唯一对象的过程,本身还有一种判断,需要判断对象是否存在。每次创建实例对象都需要判断。 其次,工厂模式更 阅读全文
posted @ 2018-12-13 10:33 飞翔的贺兰猪 阅读(135) 评论(0) 推荐(0)
摘要:单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模式至少拥有以下三种公共元素: 1. 它们必须拥有一个构造函数,并且必须被标记为private2. 它们拥有一个保存类的实例的静态成员变量3. 它们拥有一个访问这个实例的公共的静态方法 三 阅读全文
posted @ 2018-12-13 10:14 飞翔的贺兰猪 阅读(102) 评论(0) 推荐(0)
摘要:工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。 通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。假设不使用工厂模式:那么很多地方调用类a,代码就会这样子创建一个实例:new a 阅读全文
posted @ 2018-12-12 14:56 飞翔的贺兰猪 阅读(213) 评论(0) 推荐(0)
摘要:OPP(面向过程) 优点:调用的时候不需要实例化,不消耗资源,性能比面向对象高 缺点:没有面向对象易维护、易复用、易扩展 . OOP(面向对象) 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点:性能比面向过程低 OOP 阅读全文
posted @ 2018-12-12 14:28 飞翔的贺兰猪 阅读(1316) 评论(0) 推荐(0)
摘要:抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。 2 .抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽 阅读全文
posted @ 2018-12-12 12:10 飞翔的贺兰猪 阅读(169) 评论(0) 推荐(0)
摘要:1.适配器模式: 能够将截然不同的函数接口封装成统一的API 2.实际应用举例,PHP的数据库操作有mysql, mysqli, pdo3种。能够用适配器模式统一成一致。相似的场景还有cache适配器,就是将memcache,redis,file,apc等不同的缓存函数统一成一致的 3.以下的样例能 阅读全文
posted @ 2018-12-12 11:36 飞翔的贺兰猪 阅读(147) 评论(0) 推荐(0)
摘要:策略模式(Strategy pattern)是行为类模式中的一个类型。行为类模式用来说明一个应用是如何运作的。 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 根据情况传入特定的参数,执行特定的算法,返回特定的数据。 封装:把行为用接口封装起来 阅读全文
posted @ 2018-12-12 10:57 飞翔的贺兰猪 阅读(138) 评论(0) 推荐(0)
摘要:php总共包括3个模块: php内核,zend引擎,php扩展层。 内核: 用于处理请求,文件流,错误处理等相关处理 zend引擎: 将源文件转换成机器语言(实际上是字节码opCode),然后再zend虚拟机上运行(这个跟java虚拟机是类似的) 扩展层是一组函数、类库和流, php使用它们来执行一 阅读全文
posted @ 2018-12-11 17:22 飞翔的贺兰猪 阅读(125) 评论(0) 推荐(0)
摘要:接口其实是一种规范,在结构中规定一些方法,但不用实现,目的是想让一个类来继承并实现它,严格来说不是继承,就是一个类来实现它。接口中除了方法声明外,还可以有常量 //随意写一个接口 //下面这个类用于实现上面的接口 也就是说接口规定方法名称,具体如何实现,就是子类的事情。如在实际开发中,可能想规定每个 阅读全文
posted @ 2018-12-11 17:13 飞翔的贺兰猪 阅读(214) 评论(0) 推荐(0)
摘要:观察者模式(Observer),当一个对象状态发生改变时,依赖它的对象全部会收到通知,并自动更新。 【观察者模式的优点和缺点】 观察者模式的优点: 1.观察者和主题之间的耦合度较小;2.支持广播通信; 观察者模式的缺点: 由于观察者并不知道其它观察者的存在,它可能对改变目标的最终代价一无所知。这可能 阅读全文
posted @ 2018-12-11 17:00 飞翔的贺兰猪 阅读(137) 评论(0) 推荐(0)
摘要:1、域名解析 域名解析的过程: 1).查询浏览器自身DNS缓存 2).若上面没有查找到,则搜索操作系统自身的dns缓存 3).若上面没有找到,则尝试读取hosts文件 4).若上面没有找到,向本地配置的首选DNS服务器发送请求 5).win系统 如果上面没有找到,操作系统查找NetBIOS name 阅读全文
posted @ 2018-12-11 15:27 飞翔的贺兰猪 阅读(166) 评论(0) 推荐(0)
摘要:原型模式(Prototype Pattern):与工厂模式类似,都是用来创建对象的。利用克隆来生成一个大对象,减少创建时的初始化等操作占用开销 (一)为什么需要原型模式 1,有些时候,我们需要创建多个类似的大对象。如果直接通过new对象,开销很大,而且new完还得进行重复的初始化工作。可能把初始化工 阅读全文
posted @ 2018-12-11 15:09 飞翔的贺兰猪 阅读(158) 评论(0) 推荐(0)
摘要:1、模式定义 在了解数据映射模式之前,先了解下数据映射,它是在持久化数据存储层(通常是关系型数据库)和驻于内存的数据表现层之间进行双向数据传输的数据访问层。 数据映射模式的目的是让持久化数据存储层、驻于内存的数据表现层、以及数据映射本身三者相互独立、互不依赖。这个数据访问层由一个或多个映射器(或者数 阅读全文
posted @ 2018-12-11 14:28 飞翔的贺兰猪 阅读(288) 评论(0) 推荐(0)
摘要:首先需要解释的是什么是守护进程。 守护进程就是在后台一直运行的进程。比如我们启动的httpd,mysqld等进程都是常驻内存内运行的程序。 针对需求进行分析: 需求:有一个常驻队列messageQueue(假设在redis内存中),这个队列会有可能有请求不定期的往队列中增加元素。同时我们要求在队列中 阅读全文
posted @ 2018-12-11 11:40 飞翔的贺兰猪 阅读(3623) 评论(0) 推荐(0)
摘要:守护进程:是在后台一直运行的特殊进程,独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 1、基本概念 进程 每个进程都有一个父进程,子进程退出,父进程能得到子进程退出的状态。 进程组 每个进程都属于一个进程组,每个进程组都有一个进程组号,该号等于该进程组组长的PID 2、守护编程要点 阅读全文
posted @ 2018-12-11 11:37 飞翔的贺兰猪 阅读(381) 评论(0) 推荐(0)
摘要:composer安装php rabbitmq包 新建composer.json文件,composer install 安装 创建config.php文件 创建消费者 rabbit_consumer.php,注意具体文件引用的路径 创建生产者 rabbit_pulisher.php 首先运行消费者 p 阅读全文
posted @ 2018-12-11 11:01 飞翔的贺兰猪 阅读(208) 评论(0) 推荐(0)
摘要:下载composer 将composer.phar文件移动到bin目录以便全局使用composer命令 切换国内源 阅读全文
posted @ 2018-12-11 10:31 飞翔的贺兰猪 阅读(106) 评论(0) 推荐(0)
摘要:1.安装elarge: wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm 安装各种依赖: yum -y inst 阅读全文
posted @ 2018-12-10 12:18 飞翔的贺兰猪 阅读(307) 评论(0) 推荐(0)
摘要:RabbitMQ PHP扩展安装 # 安装rabbitmq-c依赖包 yum install libtool autoconf # 安装rabbitmq-c ( 最好下载 0.5的,0.6安装可能会报错) # 版本下载:https://github.com/alanxz/rabbitmq-c/rel 阅读全文
posted @ 2018-12-07 17:19 飞翔的贺兰猪 阅读(1538) 评论(0) 推荐(0)
摘要:相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 一、基本概念 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数 阅读全文
posted @ 2018-12-07 00:31 飞翔的贺兰猪 阅读(498) 评论(0) 推荐(0)
摘要:# 查看mysql5.7初始密码 grep 'temporary password' /var/log/mysqld.log # 登入后第一步修改密码 alter user root@localhost identified by 'Taozhuzhu!@#123'; 阅读全文
posted @ 2018-12-06 17:09 飞翔的贺兰猪 阅读(268) 评论(0) 推荐(0)
摘要:个人觉得步骤比较详细,不一定要所有的都执行一遍。 1、yum安装epel-release第三方软件包 2、要验证EPEL仓库是否建立成功 3、安装php5.6.31 4、设置时区 5、设置php-fpm运行用户组 6、安装nginx 7、启动nginx 8、启动php-fpm 9、安装mysql5. 阅读全文
posted @ 2018-12-06 16:15 飞翔的贺兰猪 阅读(145) 评论(0) 推荐(0)
摘要:一.安装 crontabs服务并设置开机自启: 二.设置用户自定义定时任务: 可以看到: 即: 分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令1每隔30分钟root执行一次updatedb命令: */30 * * * * roo 阅读全文
posted @ 2018-12-06 16:08 飞翔的贺兰猪 阅读(813) 评论(0) 推荐(0)
摘要:server.php client.html 阅读全文
posted @ 2018-12-06 16:03 飞翔的贺兰猪 阅读(246) 评论(0) 推荐(0)
摘要:<a id="copy" onClick="copyUrl2()">内容</a> <script> function copyUrl2(){ var Url2=document.getElementById("copy").innerText; var oInput = document.creat 阅读全文
posted @ 2018-12-06 15:57 飞翔的贺兰猪 阅读(465) 评论(0) 推荐(0)