201502-04 HTML5应用程序缓存Application Cache详解 什么是ApplicationCacheHTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cachemanifest文件,可以轻松的创建离线应用。ApplicationCache带来的三个优势是:①离线浏览②提升页面载入速度③降低服务器压力而且主要浏览器皆以支持ApplicationCache,就算不支持也不会对程序造成什么影响离线存储技术HTML5提出了两大离线存储技术:localstorage与ApplicationCache,两者各... 继续阅读 >
201502-04 关于Java性能的9个谬论 Java的性能有某种黑魔法之称。部分原因在于Java平台非常复杂,很多情况下问题难以定位。然而在历史上还有一种趋势,人们靠智慧和经验来研究Java性能,而不是靠应用统计和实证推理。在这篇文章中,我希望拆穿一些最荒谬的技术神话。1.Java很慢关于Java的性能有很多谬论,这一条是最过时的,可能也是最为明显的。确实,在上世纪90年代和本世纪初处,Java有时是很慢。然而从那以后,虚拟机和JIT技术已经有了十多年的改进,Java的... 继续阅读 >
201502-03 基于Linux的多功能聊天室 基于LINUX的多功能聊天室其实这个项目在我电脑已经躺了多时,最初写完项目规划后,我就认认真真地去实现了它,后来拿着这个项目区参加了面试,同样面试官也拿这个项目来问我,当然我是做过一遍了,而且为了面试,我将什么strcpy,strlen等最常用的函数都自己实现了一遍,说着,我感觉自己有点挺用功的样子呢!后来,工作也定下来了,等三方,然后继续帮助我的导师做项目,经过老师的威逼利诱下,我屈服了,又把智能家居系统作为项... 继续阅读 >
201502-03 深入解析NoSQL数据库的分布式算法 尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描述。系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依... 继续阅读 >
201501-31 PHP实现强类型函数返回值 在开发过程中,函数的返回值类型应该是确定不变的,但PHP是弱类型的语言,所以PHP是没有此类语法验证的,正因为如此,造成了很多坑坑。比如下面的代码:<?phpfunctiongetArticles(…){$arrData=array();if($exp1){return$arrData;}elseif($exp2){return1;}else{returnfalse;}}$arrData=getArticles(…);foreach($arrDataas$record){//dosomething.….}?>函数getArticles根据不同的条件返回不同类型的值,有... 继续阅读 >
201501-31 8个值得关注的PHP安全函数 在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。在PHP中,有些非常有用并且方便的函数,它们可以帮助你的网站防止出现像SQL注入攻击,XSS攻击等问题。当然在PHP代码编写中IDE(如:PhpStorm 、ZendStudio )会有函数的高亮显示,来确保开发人员的使用,也有人使用代码混淆工具来保护这些... 继续阅读 >
201501-31 Ztree + PHP 无限级节点递归查找 一、前言简单的描述一下,实习几个原理,思想,其实写很多东西,思想算是最重要的。1、目标:将写一个无限节点的树形目录结构,如下图步骤:1、你的下载插件 ztree。然后布置在你的项目中。<scriptsrc="__PUBLIC__/js/jquery-1.4.4.min.js"></script><scriptsrc="__PUBLIC__/js/jquery.ztree.core-3.5.js"></script>2、相关CSS<linkrel="stylesheet"href="__PUBLIC__/css/zTreeStyle/zTreeStyle.css"type="text/... 继续阅读 >
201501-31 10个你不一定知道的PHP内置函数 PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。levenshtein()你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的。它能比较出两个字符串的不同程度。用法:<?php$str1="carrot";$str2="carrrott";echolevenshtein($str1,$str2);//Outputs2?>get_define... 继续阅读 >
201501-31 超实用PHP函数总结整理 1、PHP加密解密PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。functionencryptDecrypt($key,$string,$decrypt){if($decrypt){$decrypted=rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,md5($key),base64_decode($string),MCRYPT_MODE_CBC,md5(md5($key))),"12");return$decrypted;}else{$encrypted... 继续阅读 >
201501-31 PHP异步操作原理及实现 1.为啥PHP需要异步操作?一般来说PHP适用的场合是web页面展示等耗时比较短的任务,如果对于比较花时间的操作如resize图片、大数据导入、批量发送EDM、SMS等,就很容易出现操作超时情况。你可以说我可以设置无限超时时间,等等你也要知道PHP有一个工作模式是fastcgi,PHP无限不超时,不代表fastcgi相应不超时……如果你还想说要fastcgi相应永不超时,我建议你应该跟你们的运维人员讨论去……这个时候异步的操作就发挥他的作用了... 继续阅读 >
201501-31 程序员容易忽略的SQL Server错误集锦 概述因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见问题,还有一些平时收集的其它一些问题,这也是很多人容易忽视的问题,在以后收集到的问题会补充在文章末尾,欢迎关注,由于收集的问题很多是针对于生产数据,测试且数据量比较大,这里就不把数据共享出来了,大家理解意思就行。步骤大小写大写T-SQL语言的所有关键字都使用大写,规范要求。使用“;”使用“;”作为Transact-SQL语句终止符。虽然... 继续阅读 >
201501-30 提升 Linux 网络性能,应付 100 GB的网卡 贾斯玻.布鲁勒在2015年澳大利亚Linux研讨会(LCA)的有关内核的小型研讨会上提到:100GB的网卡即将来临(见幻灯片,PDF格式的)。对Linux内核来说,要以最大的速度驱动这样的适配器将是巨大的挑战。应对这一挑战是目前和未来一段时间内工作的重心。好消息是Linux网络通信速度已经有了很大的提高-不过还有一些问题有待解决。挑战由于网络适配器的速度越来越快,那么发送数据包的时间间隔(也就是内核处理一个包的时间)就会越来越短... 继续阅读 >
201501-29 提高Java架构师和程序员效率的10个工具 Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言。最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求。无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的一部分,为了吸引你潜在的顾客,你应该交付给客户一个技术上有创新的产品。那么,Java能提供这样的平台帮你实现这一技术创新。Java贡献者们一直保持着大幅度的更新,以提供最新最强大的功能。最近发布的Java8完美的诠释了... 继续阅读 >
201501-29 11款最棒的Linux数据恢复工具 无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据。因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据。不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会分分钟肢解了这台破电脑。不过幸好的是,现在市场上有不少的数据恢复工具,能帮助我们从系统的硬盘上恢复数据。如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据。其实,现在... 继续阅读 >
201501-28 C++函数指针详解 学习c++的过程中,指针是难点,熟悉了指针之后,还有一个让人很蛋疼的难点,那就是函数指针了。本博文详细介绍一下常见的各种坑爹的函数指针。至于指针的详细学习,推荐这篇博文C++指针详解与数据一样,函数也有地址,函数的地址就是内存中存放函数语言代码的起始地址。函数指针就是指向这个地址。函数指针所指向的类型,就是函数本身。我们知道,指针所指向类型代表了指针所指向的内存区域的大小。所以函数指针所指向的类型,... 继续阅读 >
201501-28 C++指针的概念解读 超详细 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:int*ptr;char*ptr;int**ptr;int(*ptr)[3];int*(*ptr)[4];指针的类型从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是... 继续阅读 >