01 2016 档案
摘要:再来一个非常高级的排序算法,快速排序...这个算法是很高效的。 快速排序的思路是,找到一个分割点(中枢点 默认是列表第一个值),把原列表分隔成两部分,在分割点左侧的是都比它小的,在它右侧的是都比它大的。然后分别把这两部分再递归调用排序,自然就全部排序完成。 当然最重要的步骤就是切分,然后进行递归调用
阅读全文
摘要:今天调试一段十几行的代码,也让我是一顿咒骂...就说说是怎么回事哈哈。是这样的,这个页面foreach了一个个的div块,每个div里有个a标签,这个按钮绑定了个点击事件。事件走了个ajax,根据返回值判断是否删除掉它。原来童鞋的代码并不是删除掉一个dom,而是reload()了一下...我看到...
阅读全文
摘要:有次接到个PM要改版一个功能的UI设计,前端童鞋还没敲定页面的时候,我先看了看这个功能的后台,我擦...简直是惨不忍睹。。对PM来说是改版UI,对我这么有点代码洁癖的来说就是优化代码。 首先我能肯定的是,原来这个童鞋对面向对象理解的不太好。。其次对代码的整合不够...我就简单log下。。 先...
阅读全文
摘要:虽然现在各种程序语言都有其各自强大的排序库函数,但是这些底层实现也都是利用这些基础或高级的排序算法。 理解这些复杂的排序算法还是很有意思的,体会这些排序算法的精妙~ 一、希尔排序(shell sort):希尔排序是基于插入排序的,区别在于插入排序是相邻的一个个比较(类似于希尔中h=1的情形)...
阅读全文
摘要:几个简单易懂的排序算法。排序算法,在应用到解决实际问题的时候(由于不一定总是数字排序),重点要分析出什么时候该交换位置。 排序算法,在应用到解决实际问题的时候(由于不一定总是数字排序),重点要分析出什么时候该交换位置。 用冒泡法实现了一个简单的排序问题,题目是这样的。
阅读全文
摘要:二分法。分别使用while循环的方法和递归调用的方法。 貌似简单的算法,还是自己动手写下好哈哈~
阅读全文
摘要:redis支持数据持久化,不像memcached断电或者重启就丢失数据了。 支持持久化主要有两种方式,在redis.conf配置文件里配置。 1. 使用.rdb格式存储,配置save参数(save N M表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。超过一定修改频率,则采用快照
阅读全文
摘要:想要删除掉该目录下的所有文件类型是目录的文件? 这样运行: ls 中F参数,作用是能把目录文件的名字后边加上一个斜杠/ 然后匹配以斜杠/为结尾的 然后传给xargs以删除... 利用awk,查找目录类型:
阅读全文
摘要:strtr() str_replace() substr_replace() preg_replace() strtr()的用法: 有两种传递参数的格式,一种是数组k=>v形式,一种是两个字符串的形式。 一,字符串情况 string strtr ( string $str , string $fro
阅读全文
摘要:以前比较naive,有次同事一定要在表里建唯一约束的时候,我就很纳闷为啥非要在db层面做限制,在自己的业务代码里做啊,就是说入库的时候先查一遍有没有,没有记录的情况再准许入库。 后来发现如果只是自己处理业务代码时先查后入库,并发高时会发生意想不到的后果。。 比如现在表tab里有两个字段fa, fb。
阅读全文
摘要:json主要的优势就是格式精简,相比较xml的话。一般用来作为数据传输,前后端进行数据传递。 现在流行的浏览器普遍支持JSON的两个方法,序列化和反序列化。 1. JSON.stringnify() 2. JSON.parse()下边的示例就是这两个方法的常见用法。注意一点:json这个...
阅读全文
摘要:通常有两种事件流模型,一种是冒泡,一种是捕获。顾名思义,冒泡就是从内往外传播,捕获就是从外往里传播。对于dom事件,就是这样的。比如,有两个父子div。 当点击cdiv块的时候,冒泡就意味着,从cdiv向pdiv传播,cdiv是在里边的元素。同理,捕获就是从pdiv向cdiv传播。...
阅读全文