- 博客(48)
- 资源 (2)
- 收藏
- 关注
转载 匿名函数中undefined形参疑问
唉,基本功不扎实,昨天在微博上问了个问题,就匿名函数中undefined形参,不知道是干什么用的。经常看到这样的匿名函数代码:1;(function ( $, window, document, undefined ){2 3//函数体内具体代码
2012-10-31 20:26:08 650
原创 新浪微博JS公用库分析
作者 : zhanhailiang 日期 : 2012-10-30闲暇之余,阅读了下新浪微博的基本公用库代码var STK = function () { var a = {}, b = []; a.inc = function (a, b) { return !0 }; // 完整命名空间 a.regist
2012-10-30 21:40:18 1700
原创 基于Javascript的队列和栈的实现
作者 : zhanhailiang 日期 : 2012-10-30队列实现: var queue = function () { var a = {}, b = []; a.add = function (d) { b.push(d); return a; };
2012-10-30 20:49:47 733
转载 使用Fiddler提高前端工作效率 (实例篇)
在上一篇(介绍篇)中,我们对Fiddler Web Debugger有了简单的接触,也许你已经开始在用Fiddler进行HTTP相关的调试,在这一篇,我们将通过一个实例了解Fiddler的神奇魔法。在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性
2012-10-30 19:20:58 694
转载 使用Fiddler提高前端工作效率 (介绍篇)
1. Fiddler 是什么?Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器。英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让前端开发变得更加优雅。Fiddler是以代理服务器的方式,监听系统的网络数据流动。运行Fiddler后,就会在本地打开8888端口,网络数据流通过Fiddler进行中转时,我们可以监视H
2012-10-30 19:18:11 713
转载 构建web前端异常监控系统–FdSafe
前言:如果你碰巧是一名前端开发,而又碰巧在维护着一个对可用性有极高要求的站点,那么也许你我有过共同的苦恼:如何在第一时间发现线上出现的前端异常?毕竟前端不是每天都可以过网页裸奔节,线上的Javascript错误也足以让用户抓狂地拿起他们的投诉电话。。。每天心惊胆战发布的日子不好过吧?是时候改变下了,让心惊胆战见鬼去吧!我的目标很简单:要在用户和boss发现异常之前就彻底修复问题,其
2012-10-30 19:08:05 1119
原创 Javascript最佳实践——检测变量是否存在
作者 : zhanhailiang 日期 : 2012-10-30在Javascript中,检测变量是否存在通常的做法是if (variable) { .... // 变量存在} else { .... // 变量不存在}这样,当variable为undefined|null时,即变量不存在,但是若variable为0,这段代码也会运行失败,这是不正确
2012-10-30 15:31:46 861
转载 css精品教程汇集
本文章旨在收集css的精品教程,为大家提供一个高质量的学习翻阅参考平台。其实网络上有很多很好的css教程,牛人更是一大把,只是藏得太深。每次查阅点资料那个百度啊,好不麻烦。索性我们一起动手,把那些黄沙中的金子挑出来,让它光芒尽显,造福于我辈,岂不快哉!每人贡献一份力量,把你自己的或你朋友的或你膜拜的偶像的精品文章贴出来吧。您可以通过下面评论,或者加入w3cplus qq群(1041263),或者通
2012-10-29 10:30:16 670
转载 MVC模式
转自:维基百科,自由的百科全书MVC模式(三层架构模式)(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年[1]提出,是施乐帕罗奥多研究中心(Xero
2012-10-27 18:48:45 1553
原创 Javascript声明式函数的一点问题
作者 : zhanhailiang 日期 : 2012-10-27Javascript提供函数声明提升的功能,即函数可以在定义之前调用。如下代码,尽管test在调用之后才被定义,但运行无误。test();function test() { alert(1);}这与函数的作用域有关。函数会在程序运行之前被提升,只要在其被定义的作用域内,任何地方都可调用该函数。但
2012-10-27 18:09:47 749
原创 【PHPLib】日志记录类
/* * Project PHP Framework * @category Project * @package Project_Log * @usage * 1、$log = new Project_Log("log.txt"); * $log->setLevel(Project_Log::CST_LEVEL_ERR); *
2012-10-27 15:02:56 118
原创 【PHPLib】适配器类
/* * Project PHP Framework * @category Project * @package Project_Adapter * @todo 适配器抽象类,只被继承公用,不被实例化 */abstract class Project_Adapter { /* {{{ Constants */ //
2012-10-27 14:56:52 123
转载 Linux下xargs命令详解
转自 : http://blog.csdn.net/andy572633/article/details/7214534大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查
2012-10-27 14:31:16 1021
原创 【Linux学习笔记】Bash最常见的激活模式
Bash最常见的激活模式是交互式和非交互式: 1.交互式激活 指其标准输入和输出都连接在终端上.又分为三种类型:login,非login,posix 以及受限的shell. 确定一个shell是否是交互式的可以通过检测$PS1环境变量. (1) 当Bash作为login shell被激活时,它将依次读取并执行以下文件: /etc/profile,~/.bash_prof
2012-10-26 15:20:14 752
原创 【Linux学习笔记】做好Linux的管理员:21问
1.如何检查Linux硬盘使用情况? 在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df –T –h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:Filesystem Type Size Used Avail Use% Mountedon /dev/hda1 ext2 7.5G 4.7G 2.5G 65% / /dev
2012-10-25 20:24:59 794
原创 【Linux学习笔记】find命令详解
每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。可是使用Linux的用户就没有那么幸运了,在L
2012-10-25 20:11:32 911
原创 【Linux学习笔记】Linux下的压缩文件剖析
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap。可是 Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.
2012-10-25 20:01:09 459
原创 【Linux学习笔记】Linux下常见文件格式的压缩、解压小结
大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我们将随时修改完善,谢谢! .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ------------------------------------
2012-10-25 19:58:09 521
原创 【Linux学习笔记】Linux系统管理员秘技:用快捷命令一招制胜
Linux的命令行方式有着强大的功能,对于熟练的Linux系统管理员来说,往往只需要通过各种技巧,组合构成一条复杂的命令,从而完成用户任务。 那么一条复杂的Linux命令怎样构成呢?下面来介绍几个技巧。 利用输入/输出重定向 在Linux命令行模式中,如果命令所需的输出不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输出也可以不显示在屏幕上,而是
2012-10-25 19:56:18 729
原创 【Linux学习笔记】Linux系统的定期检查和维护
引:俗话说:“道高一尺,魔高一丈”。只要是连上网的计算机,就有可被入侵。因此系统的定期检查和维护是相当重要的,对于及时发现入侵很有帮助,有助于我们亡羊补牢。 我们要赶在入侵者还没有破坏系统和数据之前把它们清理出去。所以下面就给大家讲一下这方面的技巧。 一、优化分区结构 这对维护很有好处,我们应该把Linux的文件系统分成几个主要的分区,每个分区分别进行不同
2012-10-25 19:54:00 777
原创 【Linux学习笔记】Linux系统操作常用快捷键
1.使用虚拟控制台 登录后按“Alt+F2”键可以看到“login:”提示符, 这就是第二个虚拟控制台。 一般新安装的Linux有四个虚拟控制台, 可以用“Alt+F1”到“Alt+F4”来访问。虚拟控制台最有用的时候是当一个程序出错锁住输入时可以切换到其他虚拟控制台,登录进入后用kill命令杀掉这个出错的进程。 2.拷贝与粘贴 字符界面(不管是Slackware 还是Red
2012-10-25 19:51:23 596
原创 【Linux学习笔记】Linux安全设置手册
本文讲述了如何通过基本的安全措施,使你的Linux系统变得可靠。 1、Bios Security 一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改动其中的设置(比如允许通过软盘启动等)。2、LILO Security 在"/etc/lilo.conf"文件中加入下面三个
2012-10-25 19:27:15 770
转载 Linux中netstat命令的用法详解
功能说明:Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。语 法:netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。参 数:-a或–all 显示所有连线中的Socket。-A或– 列出该网络类型连线中的相
2012-10-25 18:11:24 616
转载 [转]浅谈php web安全
作者:phpben来源:http://www.phpben.com/?post=79 浅谈php web安全前言:首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以笔者写下来方便以后查阅。在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围
2012-10-25 17:42:22 868
原创 js实现命名空间
作者 : zhanhailiang 日期 : 2012-10-24在添加一个属性或者创建一个命名空间之前,最好是首先检查它是否已经存在,如下例:if(typeof HWSL === "undefined") { var HWSL = {};} //或者使用||的短路功能var HWSL = HWSL || {};但是这些附加的检查会迅速产生大量重复的代码。如
2012-10-25 09:18:28 126
原创 JS实现策略模式
作者:zhanhailiang 日期:2012-10-24基本概念介绍策略模式支持你在运行时选择算法。代码的客户端可以使用同一个接口来工作。但是它却根据客户正在试图执行任务的上下文,从多个算法中选择用于处理特定任务的算法。使用策略模式的其中一个例子是解决表单验证问题。可以创建一个具有validate()方法的验证器(validator)对象。无论表单的具体类型是什么
2012-10-25 09:15:27 1301 1
原创 JS实现观察者模式
作者:zhanhailiang 日期:2012-10-24基本概念介绍观察者(observer) 模式广泛用于客户端Javascript编程中。所有的浏览器事件都是该模式的例子。它的另一个名字也称为自定义事件(custom events),与那些由浏览器触发的事件相比,自定义事件表示是由你编程实现的事件。此外,该模式的另一个别名也称为订阅/发布(subscriber/pub
2012-10-25 09:13:52 1264 2
原创 JS实现命名空间
作者 : zhanhailiang 日期 : 2012-10-24在添加一个属性或者创建一个命名空间之前,最好是首先检查它是否已经存在,如下例:if(typeof HWSL === "undefined") { var HWSL = {};} //或者使用||的短路功能var HWSL = HWSL || {};但是这些附加的检查会迅速产生大量重复的代码。如
2012-10-23 22:26:27 798
原创 【Linux学习笔记】揭开Linux的Swap之谜
Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。Swap的原理是一个较复杂的问题,需要大量的篇幅来说明。在这里只作简单的介绍,在以后的文章中将和大家详细讨论Swap实现的细节。 众所周知,现代操作系统都实现了“虚拟内存”这一技术,
2012-10-23 20:31:26 1190
原创 【Linux读书笔记】初学Linux上手技巧
初用Linux的用户可能有些处处不方便的感觉,可是等使用一段时间、并掌握了一些技巧后就会感到越来越顺手了。以下就是笔者收集整理的一些Linux的使用者自初学以来积累的一些经验与技巧,相信对大家会有所帮助的。 1、使用虚拟控制台 登录后按“Alt+F2”键,这时又可以看到一个login提示符,这个就是第二个虚拟控制台。一般新安装的Linux有六个虚拟控制台,可以用Alt+F1至Alt+F
2012-10-23 20:30:31 541
原创 【Linux读书笔记】Linux学习之系统FAQ
Linux学习之系统FAQ问:Linux系统中,有哪些主要的日志子系统?答:连接时间日志由多个程序执行,把记录写到/var/log/wtmp和/var/run/utmp,并由login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。进程统计由系统内核执行。当一个进程终止时,为每个进程向进程统计文件(Pacct或acct)中写一个记录。进程统计的目的是为系统中的
2012-10-23 20:01:07 540
原创 【Linux读书笔记】LINUX的启动顺序解析
LINUN启动顺序:power on -- BIOS自检 -- LILO/GRUB调用 -- KERNEL 调用 -- INIT*** -- MIGGETTY -- LOGINinit调用其配置文件/etc/inttab;inittab从上到下按顺序启动,调用rc.sysinit ---rc?.d(rc?.d下的文件都是init.d下的符号链接)---其中有一个xinetd的超级进
2012-10-23 19:54:47 500
转载 理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。下面就是我的inode学习笔记,尽量保持简单。===================================理解inode作者:阮一峰一、in
2012-10-22 14:17:19 491
转载 PHP多种序列化/反序列化的方法
序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。1. serialize和unserialize函数这两个是序列化和反序列化PHP中数据的常用函数。0102
2012-10-22 13:35:31 638
转载 八种创建等高列布局
高度相等列在Web页面设计中永远是一个网页设计师的需求。如果所有列都有相同的背景色,高度相等还是不相等都无关紧要,因为你只要在这些列的父元素中设置一个背景色就可以了。但是,如果一个或多个列需要单独设置自己的背景色,那么它的视觉完整性的设计就显得非常重要了。大家都知道当初Table实现等高列布局是多么的简单,但是我们使用CSS来创建等高列布局并非是那么容易的事情。如果一个设计是固定宽度(非流
2012-10-19 20:16:43 1170
转载 CSS布局——左定宽度右自适应宽度并且等高布局
今天有位朋友一早从妙味课堂转来一个有关于CSS布局的面试题,需要解决,花了点时间写了几个DEMO,放上来与大家分享受。那么我们在看DEMO之前一起先来看看这个面试题的具体要求吧:左侧固定宽,右侧自适应屏幕宽;左右两列,等高布局;左右两列要求有最小高度,例如:200px;(当内容超出200时,会自动以等高的方式增高)要求不用JS或CSS行为实现;仔细分析试题要求,要达到效果其实也并不
2012-10-19 19:30:36 941
转载 ie6下的双倍外边距问题
一、ie6下的双倍外边距问题 .floatbox { float: left; width: 150px; height: 150px; margin: 5px 0 5px 100px; } 很简单,对吧?但是当我们在IE6中查看时,会发现左侧外边距100像素,被扩大到200个像素。二、怎么会这样?
2012-10-19 19:03:06 602
原创 【PHPLib】autoload
function project_autoload($className) { if (substr($className, 0, 7) == "Project") { include_once(__DIR__ . '/../lib/' . implode('/', explode('_', $className)) . '.php'); }}sp
2012-10-19 12:35:03 106
原创 【PHPLib】工具类
final class Project_Utils { const CST_HASH_SALT = 'pro!@j%^&*#$@)(ect'; /** * {{{ Method cUrl() * * @param string $url The query url * @param string $fields
2012-10-18 15:41:32 147
原创 【PHPLib】XSS过滤类
class Project_Env { public function __construct() {} public function __destruct() {} /** * 获得'$_GET', '$_REQUEST', '$_POST', '$_COOKIE', '$_SERVER'参数值 * 利用PHP魔术方法__callS
2012-10-18 15:07:24 162
Vim用户手册中文版
2011-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人