自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 php测试题(三)

1.完成手机号所属运营商的判断题目: 使用正则表达式匹配11位手机号,用于区分该手机号所归属的运行商,并显示(如:输入13621160211,则显示“移动)”。代码如下://防乱码符header("content-type:text/html;charset=utf-8");//移动号段$cmcc = array(134,135,136,137,138,139,14

2016-11-14 11:08:15 415

原创 观察者模式的熟练使用

header("content-type:text/html;charset=utf-8");#===================定义观察者、被观察者接口============interface ITicketObserver //观察者接口{    function onBuyTicketOver($sender, $args); //得到通知后调用的方法}inte

2016-11-14 11:01:19 316

原创 php测试题(二)

1.一个字符串$str="aaaabsfdsfavdchjs",找出第一个唯一存在的字符。//写一个字符串$str="aaaabsfdsfavdchjs";//echo $str;die;//把字符串转换成数组$item=str_split($str);//print_r($item);die;//计算数组中每个字母的个数$a=array_count_value

2016-11-12 09:48:40 429

原创 php测试题(一)

题目:生日“1994/8/8” 结果 “22岁”;header("content-type:text/html;charset=utf-8");function diffDate($date1,$date2){    if(strtotime($date1)>strtotime($date2)){  //strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间

2016-11-12 09:30:39 426

原创 php测试题

1. 写一个函数getMax($a, $b, $c),要求传入三个数字,在该函数中用最少的代码来返回最大值;function GetMax($arr){    $max = 0;    for($i=0; $i        if(is_numeric($arr[$i]) && $arr[$i] > $max) $max = $arr[$i];    }    echo

2016-11-12 09:16:00 321

原创 大小写转换,去除连字符

题目:字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。//防止乱码符header("content-type:text/html;charset=utf-8");//定义一个变量$str$str = "open_door";//截取字符串$exe = explode("_",$str);//

2016-11-12 08:48:18 670

原创 图片轮播图

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">      *{ margin: 0; padding: 0;} ul{ list-style: none;} #view{ position: relative; width: 388px; height: 280px; margin-left:32

2016-11-10 08:00:46 335

原创 字符串反转 转换大小

案例描述:字符串1:Swift NSLayoutConstraint字符串2:Tfiws TNIartsnOctuoyalsn按上边字符串1转换到字符串2 的规律,编写一个字符串处理函数。<?php header('content-type:text/html;charset=utf-8'); $str = "Swift NSLayoutConstraint"; e

2016-11-09 20:27:13 326

原创 MySql分区表

MySql分区表传统的分库分表都是在应用层实现,拆分后都要对原有系统进行很大的调整以适应新拆分后的库或表,比如实现一个SQL中间件、原本的联表查询改成两次查询、实现一个全局主键生成器等等。而下面介绍的MySQL分区表是在数据库层面,MySQL自己实现的分表功能,在很大程度上简化了分表的难度。介绍    对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表实现。也

2016-11-09 13:56:33 581

原创 laravel之ajax搜索

laravel之ajax搜索

2016-11-08 16:53:35 745

原创 8个最好用的H5页面制作工具

8个最好用的H5页面制作工具1.Page页面制作工具-----------来自M1云端市场部这款工具是梅花网新推出的,针对集客营销的H5页面制作工具。这款工具拥有丰富的模板和插件,能够在较短的时间内做出美观又简洁的H5页面。   另外,这款工具搭配了表单以及客户管理系统等功能,能够快速的完成一次完整的营销活动,更为重要的是,这样一款工具竟然是免费的,不得不说是业内良心。2.易企

2016-11-07 11:08:25 21525 1

转载 java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

package com.cplatform.movie.back.test;     import java.io.BufferedReader;    import java.io.DataOutputStream;    import java.io.InputStreamReader;    import java.net.HttpURLConnection;    import java.

2016-11-07 09:59:48 1914

原创 MySQL函数全部

前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根

2016-11-04 09:30:25 403

原创 Redis之List 列表类型

在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4294967295。从元素插入和删除的效率视角来看,如果我们是在链表的两头

2016-11-03 21:19:29 300

原创 Redis之Set 集合类型

在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的。换句话说,如果多

2016-11-03 19:20:49 372

原创 Redis之对key的操作

命令时间复杂度命令描述返回值del keyO(N)在key存在时删除key被移除key的数量dump keyO(N)序列话给定key,并返回被序列化的值 exists keyO(1)检查给定key是否存在若key存在,返回1,否则返回0。expire key secondsO(1)为给定key设

2016-11-03 13:57:04 545

翻译 Linux之crontab命令详解

1.命令格式:crontab [-u user] filecrontab [-u user] [ -e | -l | -r ]2.命令功能:通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。3.命令参数

2016-11-03 09:08:53 1226

原创 Redis之Sorted-sets 有序集合类型

Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的。在Sorted-Set中添加、

2016-11-03 08:43:06 402

原创 Redis之String 字符串类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。命令原型时间复杂度命令描述返回值append key valueO(1)如果该

2016-11-02 18:44:12 523

原创 开发者日常使用的 Git 命令

这些命令分四种类型:①不需要和其他开发者协作的独立开发者,会经常用到 git init、git show branch、git commit 等命令;②需要和其他人协作的开发者,会常用到 git clone、git push、git pull、git format patch 。③在项目中负责接收其他开发者发来更新的核心开发者,会常用到 git am、git pull、git format p

2016-11-02 16:18:28 359

原创 Redis消息队列示例

入队操作  $redis = new Redis(); $redis->connect('127.0.0.1',6379); while(True){     try{         $value = 'value_'.date('Y-m-d H:i:s');         $redis->LPUSH('key1',$value);         sleep(

2016-11-02 14:42:59 355

原创 Mysql之主从复制原理

MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身。MySQL复制过程分成三步:   1, master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;    2,slave将master的binary log event

2016-11-02 14:15:20 235

原创 MySQL索引背后的数据结构及算法原理

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第

2016-11-02 14:10:37 312

原创 主从复制的常用拓扑结构

复制的体系结构有以下一些基本原则:(1)    每个slave只能有一个master;(2)    每个slave只能有一个唯一的服务器ID;(3)    每个master可以有很多slave;(4)    如果你设置log_slave_updates,slave可以是其它slave的master,从而扩散master的更新。MySQL不支持多主服务器复制(Multimas

2016-11-02 09:22:32 766

原创 Mysql之高性能的索引策略

聚簇索引(Clustered Indexes)聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索引,特别是随机字符串,会使得系统进行大量的移动操作),且一个表只能有一个聚簇索引。因为由存储引擎实现索引,所以,并不是所有的引擎都支持聚簇索引。目前,只有solidDB和InnoDB支持。聚簇索引的结构大致如下:  注:叶子页面包含完整的元组,而内

2016-11-02 09:19:43 1192 4

原创 Mysql之索引入门

对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边的前缀进行有效的查找。例如:假设存在组合索引it1c1c2(c1,c2),查询语句select * from t1 where c1=1 and c2=2能够使用该索引。查询语句s

2016-11-02 09:16:01 319

原创 Memcache实现原理

首先要说明一点,MemCache的数据存放在内存中,所以:1、访问数据的速度比传统的关系型数据库要快,因为Oracle、MySQL这些传统的关系型数据库为了保持数据的持久性,数据存放在硬盘中,IO操作速度慢2、MemCache的数据存放在内存中同时意味着只要MemCache重启了,数据就会消失3、既然MemCache的数据存放在内存中,那么势必受到机器位数的限制,这个之前的

2016-11-02 09:12:50 395

原创 分布式Memcache

MemCache访问模型为了加深理解,我模仿着原阿里技术专家李智慧老师《大型网站技术架构 核心原理与案例分析》一书MemCache部分,自己画了一张图:特别澄清一个问题,MemCache虽然被称为"分布式缓存",但是MemCache本身完全不具备分布式的功能,MemCache集群之间不会相互通信(与之形成对比的,比如JBoss Cache,某台服务器有缓存数据更新时,会

2016-11-02 09:11:59 362

原创 Git工作流指南:集中式工作流

转到分布式版本控制系统看起来像个令人生畏的任务,但不改变已用的工作流你也可以用上Git带来的收益。团队可以用和Subversion完全不变的方式来开发项目。但使用Git加强开发的工作流,Git比SVN有几个优势。首先,每个开发可以有属于自己的整个工程的本地拷贝。隔离的环境让各个开发者的工作和项目的其他部分(修改)独立开来 —— 即自由地提交到自己的本地仓库,先完全忽略上游的开发,直到方便的时候

2016-11-02 08:57:11 364

原创 快速排序算法

同义词 快速排序一般指快速排序算法本词条由“科普中国”百科科学词条编写与应用工作项目 审核 。快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行

2016-11-01 18:47:44 195

原创 选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。function select_sort($arr) {//实现思路 双重循环完成,外层控制轮数,当前的最小值。内层 控制的比较次数    //$i 当前最小值的位置,

2016-11-01 18:41:48 193

原创 泡排冒序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。 代码实现$arr = array( 1, 4

2016-11-01 18:39:48 292

原创 框架的优缺点

Thinkphp框架优点:容易上手,配置、部署方便,编译缓存机制有利于性能提升缺点:麻烦的URL路由,糟糕的模型设计,垃圾的模板引擎,不支持模板的部分缓存ci框架优点:配置简单,上手很快,全部的的配置都使用php脚本来配置,执行性能和代码可读性都不错,执行效率高,快速简洁,代码量少,框架简单,适合中小型项目缺点:把Model层简单的理解为数据库操作php框架略显简单,只能够

2016-11-01 13:45:01 2350

原创 http协议

HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态有哪些?以及在C#中你如何使用?如果你不能清楚地回答其中的大部分问题,那么这篇文章就是为你准备的!大纲如下:1、HTTP概述1.1、HTTP协议的客户端与服务器的交互1.2、HTTP消息1.

2016-11-01 09:17:52 1345 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除