Jul 09
luoxi坨坨胡同儿 PHP
闭包的概念早已应用在其他某些编程语言中,而且使用的人越来越多,可见大家对函数式编程的喜爱。PHP从5.3后也开始支持闭包,此文就简单介绍一下PHP中闭包的实现。由于本人对闭包的理解和应用水平不高,所以疏漏误解之处请多多包涵并指正 
首先来看看这两个概念:Lambda和Closure,其实说它们是“两个”概念有些不合适,Lambda是Closure的基础,两者都是匿名方法,只是使用时略有不同。
引用一下网上的介绍:
Lambda函数(通常所谓的匿名函数)简单来说就是一次性函数,可以在任何时候定义,且经常赋值给一个变量。函数自身和对应变量处于同一个作用域内,当离开变量的作用域后,该函数也将消亡,Lambda不保存任何状态。
闭包(Closure)是指一个可以在自己环境中执行的函数,调用时可以访问已经绑定的变量。它们来源于函数式编程世界,在那里有非常多的应用。闭包和Lambda函数类似,但是闭包还可以和定义时指定的外部变量交互。
我们可以简单地理解为Closure可以访问父级视野(parent scope)定义的变量,而Lambda不行。
下面举个例子来说明,比如我想对某一数组的每个元素追加
阅读全文 »
May 09
Ting倔倔在前端 Javascript, 事件
上次我已经预告了下一个要用javascript实现的是放大镜效果~
最开始是在
淘宝UED官方博客上看到的.觉得很不错,以为是flash. F12一下才知道是js实现的.当时没具体看,现在开始学javascript了,突然想到这个效果,决定挑战一下哈~开始吧~
Mockup
阅读全文 »
May 07
luoxi坨坨胡同儿 PHP
数字转汉字,如:123 转为 一百二十三。这种需求遇到的时候不多,但,我还是遇到了
闲话不多说,直接上代码:
阅读全文 »
May 07
luoxi坨坨胡同儿 PHP, 分词
二分法是一种简单的中文分词方法,其原理就是把中文字符串按两个字进行切分,如“imdonkey的主人要发奋了”,拆分完就是“imdonkey/的主/主人/人要/要发/发奋/奋了”。当然,为了更好的被搜索引擎利用,现实项目中还会对结果进一步处理,这里就不多说了,因为作者本人目前也不懂呢。
好,闲话不多说,直接上代码:
阅读全文 »
May 06
Ting倔倔在前端 Vim, vimtutor
安装过后就要开始熟悉Vim那些强大的命令了,一直看中文手册也不是办法,没有实践根本记不住.好在vim自带一个简单的入门教程,可以通过边看边练习的方式在半小时内掌握vim基本的命令.
在windows下要运行安装根目录下的vimtutor.bat.打开的文件默认就是一个副本,所以你可以尽情地在上面练习修改.
倔倔现在就要开始练习啦~哈
…
过了一遍vimtutor确实感觉不错~,好多命令都非常吸引人,我已经感觉到了熟练使用了这些命令后,编写代码时会有多么惊人的效率了~~
教程中每讲小结如下:
====================================================
1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)
2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车>
3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶
<ESC> :q! <回车>
或者输入以下命令保存
阅读全文 »
Apr 28
Ting倔倔在前端 Vim, zen-coding
最近总时不时的听大家提到Vim.可它到底是个什么东西我一丁儿丁儿概念都没有…后来觉得做技术的不懂介个有点儿丢人吧,今天就找时间要会会 Vim.会了几个小时之后,我决定继续会下去~哈哈
熟悉Linux的同学应该对Vim很了解,也清楚它的神通广大~可我一做前端爱设计的人对这东西根本没接触.所以接下来的介绍依然是为那些同类的朋友们准备的.很简单,我也尽量将步骤说得详细些~
先记住它是一个编辑器其它的先不用管,马上开始!
阅读全文 »
Apr 27
Ting倔倔在前端 Javascript
倔倔这个名字不是白起的,完全源于本人性格中最大的特点:那就是倔!
最近各种刺激扑面而来,叫我怎能不好好学习?在坨坨同学的指导下 我开始了”又”一次的Javascript之旅~(之所以说”又”是因为07年自己买下了《Javascript高级程序设计》,现在想来真不知道当时自己怎么了….好在是本好书~银子没白花)
先做几个很简单的实例,把自己学习的兴趣提起来.这点很重要.
声明:本人可以说是0基础,所以初学JS的朋友也可以一起学习.高手们可以飘过,多多指导哈
阅读全文 »
Apr 26
luoxi坨坨胡同儿 Java, 算法
其实这是个经典算法题,但我却刚刚听说,可见对于算法,我已经漠视很久了。这不是一个专业程序员应该有的状态…… 在此推荐一篇关于
程序员能力矩阵的文章,please enjoy~
这个题目是听公司同事说起的,当时我的第一反应也是建立一个哈希表,然后循环检查元素是否已经存在于这个表中,没有就添加进去,并检查下一个,如果有就说明此链表是个环。甚至为了优化性能,可以隔几个检查一次,这样还能减少比对次数。后来google了一下,豁然开朗~
简单说来,就是设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步(如果能证明其他数值性能更高,欢迎补充),如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)
阅读全文 »
Apr 25
luoxi坨坨胡同儿 PHP
编码过程中遇到个错误,就是在处理json时,数值较大的int值在解码后数据被损坏,比如:
$array = array(
"id1" => 2147483647,
"id2" => 2147483648
);
$json = json_encode($array);
$out = json_decode($json, true);
var_dump($out);
理论上应该看到:
array(2) {
["id1"]=>int(2147483647)
["id2"]=>int(2147483648)
}
但实际在我的电脑上却得到:
array(2) {
["id1"]=>int(2147483647)
["id2"]=>int(-2147483646)
}
这是由PHP整数值范围决定的,而这个范围依赖于操作系统。在32位操作系统中,PHP的整数最大值是2147483647,你可以通过输出PHP_INT_MAX看到。
一般情况下
阅读全文 »
Apr 19
TingWeb标准化交流会 Dr. Jeff Jaffe, W3C, Web标准化交流会

会议主题:W3C CEO与工程师面对面
会议日期:5月9日(周日)下午1点开始
会议地点:北航会议中心
预定人数:50人
参与费用:不收取任何费用
主办方:W3C中国,Web标准化交流会
W3C CEO Dr. Jeff Jaffe 5月来北京, Web标准化交流会努力争取到了这次难得的机会,邀请到Dr. Jeff Jaffe与工程师一起探讨Web前端的发展和与之相关的各类问题.希望大家积极报名.相信一定会收获不小~
Older Entries
Recent Comments