December 11, 2012
破解youku等视频网站广告的插件OpenGG.Clean.Player
"官方网址: http://opengg.me/781/opengg-clean-player/\n安装地址: http://userscripts.org/scripts/show/120679"
December 8, 2012
PHP类中static 和self的使用区别
"摘自: http://php.net/manual/en/language.oop5.late-static-bindings.php\nLimitations of self:: Static references to the current class like self:: or CLASS are resolved using the class in which the function belongs, as in where it was defined:\nExample #1 self:: usage\n\u0026lt;code\u0026gt;\u0026lt;?php\u0026lt;br /\u0026gt; class A {\u0026lt;br /\u0026gt; public static function who() {\u0026lt;br /\u0026gt; echo __CLASS__;\u0026lt;br /\u0026gt; }\u0026lt;br /\u0026gt; public static function test() {\u0026lt;br /\u0026gt; self::who();\u0026lt;br /\u0026gt; }\u0026lt;br /\u0026gt; } class B …"
November 24, 2012
mysql中的主从复制slave-skip-errors参数使用方法
"在主从复制中,难免会遇到一些sql语句错误的问题。这个时候我们需要手动来重新设置中继日志的起始点了,有些麻烦。今天在看“2012华东架构师大会”视频的时候,发现淘宝丁奇的ppt里有这个参数,看名字就知道是让从库跳过一些错误了。以前没有注意过这个参数,这里了解一下这个参数的用法。\n—————————————-\n环境说明:\nmysql\u0026gt;show slave stsatus\\G;\n报错信息如下:\n……\nLast_Errno: 1062\nLast_Error: Error ‘Duplicate entry ‘1’ for key ‘PRIMARY” on query…….\n……\n1062的错误是指一些主键重复的错误,在my.cnf用slave-skip-erros 可以跳过去。这样就避免了由于sql出错导致的从复制失效。\n—————————————-\nError_code: 1032; handler error HA_ERR_KEY_NOT_FOUND;\n造成1032错误的根本原因是主从数据库数据不一致,导致同步操作在从库上无法执行.解决办法同上\n在slave的my.cnf …"
November 22, 2012
ftp中“二进制传输模式”和“ASCII传输模式”有什么区别?
"《Red Hat Linux 指南:服务器设置与程序设计篇》第2章FTP:跨越网络传送文件,这一章为您介绍实现FTP协议的服务器和客户端有很多种、以及开FTP服务器可以让用户以匿名用户身份anonymous或者ftp登录,最后为您介绍FTP提供了两种传输文件的模式:二进制模式和ASCII模式。本小节讲述的是二进制传输模式和ASCII传输模式。\n2.3.6 二进制传输模式和ASCII传输模式\nFTP服务器vsftpd能够(但并不总是)提供两种文件传输模式。二进制模式传输总是复制文件的精确的、字节对字节的文件映像,而绝不会改变行结束符。所有二进制文件都用二进制模式传送。除非需要转换行结束符,否则也要使用二进制模式来传输ASCII文件。\nASCII文件(比如文本文件或程序源代码,在Linux下使用vi之类的文本编辑器创建这些文件)使用单个换行符(NEWLINE,CONTROL-J,记作”\\n”)来标记每行的末尾;其他操作系统则用不同的方式来标记行尾。Windows用RETURN(CONTROL-M,记作”\\r”)后面跟随NEWLINE(总共两个字符)来标记每行的末尾。Mac系统只使 …"
November 21, 2012
理解MySQL数据库覆盖索引
"话说有这么一个表:\nCREATE TABLE user_group (\nid int(11) NOT NULL auto_increment,\nuid int(11) NOT NULL,\ngroup_id int(11) NOT NULL,\nPRIMARY KEY (id),\nKEY uid (uid),\nKEY group_id (group_id),\n) ENGINE=InnoDB AUTO_INCREMENT=750366 DEFAULT CHARSET=utf8\n看AUTO_INCREMENT就知道数据并不多,75万条。然后是一条简单的查询:\nSELECT SQL_NO_CACHE uid FROM user_group WHERE group_id = 245;\n很简单对不对?怪异的地方在于:\n如果换成MyISAM做存储引擎的时候,查询耗时只需要0.01s,用InnoDB却会是0.15s左右。\n如果只是就这么点差距其实不是什么大不了的事,但是真实的业务需求比这个复杂,造成的差距也很大:MyISAM只需要0.12s,InnoDB则需要2.2s.,最终定位到问题症结是在这 …"
November 19, 2012
Ajax getjson 跨域通信 php+jquery
"网站A的表单提交部分:\n网站B的输出json部分:\n$_GET[‘jsoncallback’] . ‘(‘ . json_encode($return) . ‘)‘);\n?\u0026gt;"
November 18, 2012
高性能JavaScript模板引擎原理解析
"随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时 javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来。javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,近一年来在开源社区中更是百花齐放,在 Twitter、淘宝网、新浪微博、腾讯QQ空间、腾讯微博等大型网站中均能看到它们的身影。\n本文将用最简单的示例代码描述现有的 javascript 模板引擎的原理,包括新一代 javascript 模板引擎 artTemplate 的特性实现原理,欢迎共同探讨。\nartTemplate 介绍 artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了质的飞跃,并且充分利用 javascript 引擎特性,使得其性能无论在前端还是后端都有极其出色的表现。在 chrome 下渲染效率测试中分别是知名引擎 Mustache 与 micro tmpl 的 25 、 32 倍。\n除了性能优势外,调试功能也值得一提。模板调试器 …"
November 10, 2012
使用mysql来实现lbs(地理位置服务)功能
"现在大型的网站实现的lbs服务基本上是用mongodb的实现定位的(gps不太清楚)。对于小的应用来说,有些大材小用了,而且还大大增加了维护成本。这里用mysql来实现lbs的功能。\n以下是从“知乎”网上的一篇文章()。\n数据库设计层面,有两个方案\n(1)字段主要包括 userId,lat,lng。分别代表用户ID、最近一次 Checkin 的经度、纬度。 lat/lng 建立复合索引。\n然后通过手机的定位,得到自己的位置,比如记为 myLat,myLng。 代码如下,先做一个计算,算出 1km 所对应的经纬度范围: **double range = 180 / Math.PI * 1 / 6372.797; **//里面的 1 就代表搜索 1km 之内,单位km double lngR = range / Math.cos(myLat * Math.PI / 180.0); double maxLat = myLat + range; double minLat = myLat – range; double maxLng = myLng + lngR; double minLng …"
November 5, 2012
jquery中validate插件和form插件冲突的解决办法
"如题:用jquery form提交表单,用jquery validate做数据验证 ,现在的问题是分别使用validate有作用,一起使用,则validate不起作用,谁遇到过帮忙解决下。\n$(document).ready(function() {\n$(“#inputForm”).validate({\n…\n});\n});\nfunction onsubmit(){\nvar options ={\n…\n};\n$(‘#inputForm’).ajaxSubmit(options); //options\nreturn false;\n}\n==================\n补充一下,这个submitHandler:function(){}方法内可以写任何方法。但最后要有一个form.submit或form.ajaxSubmit 比如我这个\n$(document).ready(function(){\n$(“#loginForm”).validate({\nrules: {\nshouJiHaoMa: {\nrequired: true,\ndigits: true\n},\npwd: {\nrequired: …"
November 1, 2012
windows下node.js之 express框架+jade模板搭建
"1、node.js安装\n在Windows平台部署Node.js比较容易,从0.6.1开始,Node.js在Windows平台上可直接通过.mis文件安装。\n下载地址 http://nodejs.org/#download 目前最新版本是 node-v0.8.3-x86.msi\n文件在安装过程中已经指定了默认安装路径。\n验证node.js 安装是否成功\n打开cmd,直接输入node -v\n2.npm安装\nnode安装成功后npm已经默认安装,npm可以直接安装相关扩展\n验证npm是否安装成功\n打开cmd,直接输入npm**** -v\n3.express安装\n打开cmd,直接输入npm install -g express\n-g:在当前目录下安装express框架\n验证express是否安装成功\n安装完成后,关闭cmd,在重新打开\n进入cmd,直接输入express -V\n注意我这里用的大写V\n4.用express创建项目\n1).cmd进入要创建项目的目录,直接输入 express testapp(项目名称)\n2)cd testapp //进入刚新建的站点目录\n3)cmd app //再次 …"