- 博客(58)
- 资源 (14)
- 收藏
- 关注

原创 Http协议-get、post、put、delete
http协议、一种网络中,文件传送遵循的协议。一种无状态的协议、http协议服务器端不跟浏览器端建立长久的通信连接,即服务端无法识别请求端的到底是谁!建立http通信之后,服务端将文件内容传送给浏览器端接收就完成一次请求。当然一个页面,往往由多个http请求构成、图片,CSS等资源的请求~可能是一个页面进行多个http请求之后得到的结果。 http的无状态,理解成:不论是哪个浏览求向百度
2015-11-13 23:12:35
18935
1

原创 算法的变种应用-(php约瑟夫环)(array_shift&&array_push)
一直觉得算法很重要,上周看了一下约瑟夫环问题。发现用php能够快速解决这个问题。 两个php函数,省去了构造链表的问题。array_shift跟array_push这两个函数。可以快速模拟实现链表结构。 举一反三,今天看到一个阿里的笔试题,(瞬间就想到了用array_shift来模拟)给定一个字符串,跟一个数据字典,返回正确的这个字符串的构成单词语义。
2015-08-24 00:01:36
1219
原创 php 对象属性
属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。
2016-12-12 11:45:16
548
原创 经典的石油管道最短位置选择
果然是智商不够,勤奋来凑!!!没办法,没法一次想明白的东西,多看几次,多推敲几次。忽然就有一种醍醐灌顶的感觉,然后就理解啦。 有多个油井的情况下,需要简历一条主管道,使得所有的油井到主管道的距离最短。求最短的主管道位置的选择。 答案,是中位数。就是在所有油井的的中间两个油井的位置任何一个位置都可以,如果是是奇数,中位数只有一个数。其本身就是修建主管道的位置。如果是偶数,修建在两个中
2016-11-25 17:20:01
1111
原创 寻找主元素问题
寻找主元素问题,解释一下题目的意思。就是一个集合中的某个数重复出现的次数超过百分之五十。这个数被称为主元素。问题就是找出主元素。 直观第一想法,两次for循环,依次记录每个值出现多少次,然后找到主元素。这样的时间复杂度是O(n*2)。时间复杂度有点高。 接着是排序算法,可以根据堆排序或者快排,然后处于二分之一位置的数字就是主元素。这样的只需要堆排序或者快排的时间
2016-11-22 10:43:02
2818
原创 深度优先跟广度优先
深度优先的模型,像是一条道走到黑,不撞南墙不回头的模式。但是基于的模型,类似于堆栈模型。再撞到南墙的时候,回溯到上一次撞墙前的位置。这样的的操作相当于stack的pop出最新入栈的那条数据。然后继续找一个之前没有走过的结点尝试。 这样一来在脑子里会有一个stack模型,记录从根节点走到当前结点位置的栈。便于撞到南墙之后的回溯。另外一个数组用标记已经访问过的结点,且在装完南墙之后的路径
2016-11-22 10:39:06
676
原创 Lumen的phpunit命令不能执行
Lumen命令不能执行,怎么调试都没用。vendor目录下又确实存在phpunit。但是在lumen根目录下执行phpunit,就会报错。提示要依赖关系wget composer.phar, 再php composer.phar install.网上搜罗了一堆方法,包括在stack overflow都是一堆没法解决的办法。 直接有效的办法,删除掉vendor目录,再重新co
2016-11-17 17:30:15
1382
原创 浅谈深度优先搜索
DFS(Deep first search)深度优先搜索。 面试,笔试的时候,你把dfs命名给他写清楚,一般的面试官就开始懵逼啦,觉得你高大上啦。 深度优先搜索,按照字面理解就是,一条路走到黑,直到找到一条出路为止。与之对应的广度优先搜索(BFS),这里不作拓展。 我的理解,其实所谓的深度优先搜索,其实就是递归调用的过程。从开始点i开始进行查找,一般是图的路径选择或
2016-11-04 16:42:28
484
原创 CSDN blog 不安全
这次blog被黑事件,让我有点懵逼。有点怀疑CSDN的能力啦。 首先,我就是开始自省,是不是其他网站存在的撞库的可能,这个原因是最大的。其他站点泄露,导致我这边泄露。但是细想不太对,这个账号却不是能够撞库成功。一般是另外一个小号可以撞库成功。这个够呛。唯一的合理解释,就是CSDN被脱库啦,或者之前用明文传送密码那次泄露之后,我的密码一直没改。导致被盗号。 其次,至于发表文章blo
2016-10-25 12:14:17
761
原创 尾递归~~~
尾递归很有意思~~~ 拿快排说事的话,本来按照通俗易懂的理解,就是两次调用本身来进行左右排序。 按照尾递归的话得,可以省下一半的递归空间,直接拿一次的处理结果的low 或者high当参数传入下一次的调用。整个过程相比于同时进行两次本身的递归调用,这样只使用一次本身递归调用。
2016-09-26 17:46:19
390
原创 不要再两次for循环来求两个数的最大公因数啦
求两个数的最大的公因数,这个基本面试十有八九都会碰到的问题。每次首先就是用两层for循环来解决,不考虑时间复杂度。 其实有欧几里得公式在铺路,再也不要那么干啦。function MaxTwo($m,$n){ while($n>0) { $rem = $m % $n; $m = $n; $n =$rem; } return $m;
2016-08-26 12:22:58
771
原创 MySQL select结果之后默认的排序
MySQL对于无ORDER BY子句的SELECT的语句的返回结果有潜规则:对于MyISAM引擎来说,其返回顺序是其物理存储顺序;对于InnoDB引擎来说,其返回顺序是按照主键排序的。
2016-08-19 11:45:35
2650
原创 面向对象,控制访问
class Base{ private function method() { echo 'Private function'; }}class Child extends Base{ }$c = new Child();if(method_exist($c,'metho
2016-08-19 00:13:23
241
原创 Jsonp的跨域实现
Jsonp 是英文 json padding的全称。 就是json 跨站呗~~其实是一种伪跨域。 只不过是利用script标签里面的src的没有同源限制的原理,进行跨站脚本的利用,从而得到达到跟不同源、不同域站点之间的数据交互。 只是jquery将jsonp格式,封装起来,看起来像是ajax的请求,其实没有毛关系。跟ajax执行的原理也完全没有半点关系。
2016-07-04 15:33:24
241
原创 处理并发中奖概率方法
1,单进程处理队列,一个个处理,需要额外的后台进行处理。 2,文件排它锁,是一个不错的选择。简单的处理并发中奖。 header("Content-type: text/html; charset=utf-8"); $file = fopen("lock.txt","a+"); $t1 = microtime(TRUE); if (flock($fi
2016-06-27 10:41:12
459
原创 php中的print跟echo的本质区别
今天无意中看到php底层opcode的代码,有关echo跟print的定义。 zend编译php的print时候: void zend_do_print(znode *result,const znode *arg TSRMLS_DC) { zend_op *opline = get_next_op(CG
2016-04-14 00:03:39
465
原创 搭建一个php框架
搭建一个php框架,首先类的自动加载时必不可少的一个点。 __autoload()是必须要的,所以在init的配置文件中,必须做到灵活的引用。只需要开发者,在自己的php程序中直接new 对应的class 就能进行处理。
2016-04-13 12:21:54
333
原创 php面向对象-关键字的合理运用,public,private,
这次好好整明白,抽象类,接口,类,以及关键字的合理运用。public,private的运用。
2016-04-12 09:49:18
311
原创 面向对象编程的关键点(用php实现面向对象的、变化跟不变化进行伪代码逻辑进阶编程)
提高代码的复用性,符合OCP原则。本质就是把变化的部分和不变的部分隔离开,使得变化部分发生变化时,不变部分不受影响。
2016-04-11 17:55:41
552
原创 数组的倒置引发对数据结构以及算法的一点点小想法
经典的面试题,将数组里面的字符进行倒置。 契合数据结构的栈的结构,先push进去,再pop出来,就是得到一个倒序数组。这样的话,长度为n的字符串,应该是消耗2n。 但是那样的效率或许有点不高,划算的算法应该是利用数学,以中间的数字作为基准,两边的字符进行交互。效率或许会提高倍。至少这样的时间消耗率是n/2.
2016-01-15 14:20:44
414
原创 关于12306网站图形验证码的猜想
以前一直以为12306的图形验证码是根据普通验证码识别规则,只不过是加上了变态的不清晰低像素图片而已。 然后F12查看了一下网络请求,它的验证码规则,远远不是我之前我想的那么简单的。 很久以前一直单纯的以为,可以通过图片的识别,机器学习,根据像素点来识别其中的图片。但是那种对付问题跟验证码图片是分离的话,这种通过像素点机器识别来识别图片,可以轻松的绕过验证码。不过123
2015-12-26 21:39:22
656
原创 浅谈两个多月使用Laravel的自己的感受
用laravel 开发有两个月时间了,谈谈自己的感受。 laravel框架本身运行原理,最多就是一直在强调容器的概念,其实这对你开发项目没有什么卵用的帮助。但是却可以从认识框架本身的原理当中,认识到闭包函数,容器,依赖注入的概念。为啥要这么do,为啥框架这么走是趋势。特别是依赖注入的概念,以工厂生产超人的demo举例讲的特别详细。也特别好,可以加深php面向对象的理解程度。其次涉及的
2015-12-22 09:48:47
5001
原创 php 有意思的函数
array_count_value()跟 arrary_merge(); 计算一个数组中,每个元素出现的次数。脑海第一反应,foreach 循环来,统计。 其实php自带的函数,array_count_values()函数即可搞定;arrary_merge函数,是合并两个数组,并且将重复的元素给合并为一个。同时要注意类似的+,同样是可以合并两个数组。但是两者的区别是
2015-12-16 21:04:19
380
原创 三个有意思的php函数
1、array_filter.可以用来过滤空数组。但是看文档,都不明白这个的过滤的用法。但是重点来了: If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素
2015-12-01 23:46:38
682
原创 __autoload && set_hander php的错误异常处理机制以及自动加载机制
__autoload && set_hander php的错误异常处理机制以及自动加载机制~~ 确定接下来这个主题~~~
2015-11-20 09:09:20
255
原创 再给我一次机会的话,我选择做一个安静的程序猴子--Laravel share
Laravel是基于强大的composer进行开发的现代框架。composer管理各种依赖包的引入。(composer应该是属于现代php发展的必然产生的先进工具。跟php相关~Phper可以好好关注一下)Larevel 初体验1、从路由开始,路由/功能,入手。从路由开始分析,跟踪对应的功能进行学习。三种路由模式:route:get/post、controllers、r
2015-10-27 11:50:22
970
原创 PHP静态成员变量和非静态成员变量
数据成员可以分静态变量、非静态变量两种.静态成员:静态类 中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内 存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以
2015-10-21 22:49:11
327
原创 php5.5版本之后 对象复制就是直接引用
Deprecated: Assigning the return value of new by reference is deprecated in1、PHP5对象复制是采用引用的方式;2、如果不采用引用方式,则需要在复制对象时加关键字 clone;3、如果在复制的过程中,同时要变更某些属性,则增加函数_clone();
2015-10-21 22:47:21
307
原创 JS传递参数
用惯了php函数风格,function add(a,b){ return a+b;}但是js里面就搞不定。js函数中有个储存参数的数组arguments ,所有函数获得的参数会被编译器挨个保存到这个数组中。改写成js函数风格。function add(){var a = arguments[0];var b =arguments[1];return a+b;
2015-09-30 16:40:05
289
原创 User Agent不靠谱
Http 请求头里面,会有User agent。用来判断客户端请求来自什么浏览器,以及什么操作系统。当然,这个是极不可靠的,可以随意自己伪造不说。就是各种大浏览器公司之间都是相互伪造仿制。最重要的浏览器User Agent就是网景浏览器的Mozilla/Version格式,由微软ie浏览器抄袭开了风头。然后火狐,谷歌~~~总之,用这个来判断用户客户端的浏览器以及
2015-09-23 15:37:01
649
原创 当php加载不进来php_curl.dll拓展时候
当php加载不进来php_curl.dll拓展时候,第一先确定,php.ini文件是否打开了对应的extension拓展。第二,确定对应php_curl.dll在ext文件中。以上条件符合,但是curl功能还是不能用。应该在http.conf文件中,加载下面两个文件。LoadFile "D:/andy/php5/ssleay32.dll" Loa
2015-09-22 22:32:10
1109
原创 php随笔-正则匹配&php浅复制&require跟include
php的=复制,是浅层复制。class A{}$a = new A();$a->value = 5;$b = $a;$b->value = 10;echo $a->value;$a and $b实际上是指向同一块数据空间。即共用数据堆层,只是变量名在堆栈不一样。对象实际数据存在:内存堆里。对象变量名存在:内存的栈里。其他空间区
2015-09-18 09:11:12
461
原创 漫谈理想
今天有人跟我讲,你很有理想。理想这个词,还好,不反感这个词。因为不是用的梦想。 其实我觉得自己早过了,打鸡血灌输心灵鸡汤或者看几句话、看几本书就改变价值观的年纪啦。一直不敢妄言理想这个词,因为感觉理想很模糊,很不具体。但是跟梦想区别就是理想都是崇高的,知道如何具体要做什么,要怎么去一步步实现。而梦想可以低俗可以不切实际可以遥不可及。所以我一直觉得梦想更多是一个贬义词,一个专门为妄人量
2015-09-04 21:27:30
480
原创 北京-IT技术狗-顾名思义 解释一下当时随手写下这个名字
北京-IT技术狗,顾名思义。当时随手写下这个网名,就是让人家一眼就能知道我的从事的职业跟基本状态。IT互联网行业,做技术的,像一条忠狗一样追求技术,同时感情状态也是可以单身狗状态。不都说程序猿都是单身狗嘛~前面加上地点,自然是帝都。写的很直白,所以基本能够断定这哥们肯定是严丝合缝但有些不合常规戏谑顽童的主。其实喜欢在自己在给自己取的代号里面,随手加上狗这个词。原因有二:其一:特别喜欢马
2015-08-28 19:12:02
983
mysql 中explain的详解
2015-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人