201503-11 每个Java程序员需要了解的8个Java开发工具 Java是计算机应用程序编程语言,被广泛用于创建Web应用、服务器处理、用户端的API开发乃至数据库等多个领域。下面列出了8个有助于你开发Java应用程序最好的Java工具。1.SparkJava这是一款体形轻巧,功能强大的Web应用框架。Spark拥有简单而直接的方法。您可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。Spark能让你花费最少的精力来开发Java的Web应用程序。官方网站:http://sparkjava.com/2.jClarityjClarity是... 继续阅读 >
201503-11 10分钟学会理解和解决MySQL乱码问题 本文将详细介绍MySQL乱码的成因和具体的解决方案MySQL出现乱码的原因要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段。存入MySQL经历的编码转换过程上图中有3次编码/解码的过程(红色箭头)。三个红色箭头分别对应:客户端编码,MySQLServer解码,C... 继续阅读 >
201503-10 JavaScript事件机制兼容性解决方案 本文的解决方案可以用于Javascript native对象和宿主对象(dom元素),通过以下的方式来绑定和触发事件:或者varinput=document.getElementsByTagName('input')[0];varform=document.getElementsByTagName('form')[0];Evt.on(input,'click',function(evt){console.log('inputclick1');console.log(evt.target===input);console.log(evt.modified);//evt.stopPropagation();console.log(evt.m... 继续阅读 >
201503-09 Linux 4.0 不再需要重启 Linux4.0 里,你可能再也不需要重启你的操作系统。在大多数的服务器或者数据中心里,喜欢用linux的一个原因是你不需要频繁的进行重启操作。诚然,某些关键性的补丁必须要进行重启,但你也可以等到数月后再做此操作。现在,得益于linux内核的最新更新你也许可以数年间都不用重启。感谢 Ksplice 项目,使得这一特性在2009年就可以实现。此项目在对原始和打过补丁的内核进行比较后,使用一个定制的内核模块将新的代码加入到... 继续阅读 >
201503-08 自编译PHP并整合Ngnix Nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。Nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx一、首先我们先初步认识下FastCGI和Ngnix+FastCGI的运行原理1、apache+PHP和ngnix+php的区别apache一般是把php当做自己的一个模块来启动;而ngnix则是把http请求变量转发给php进程,即php独立进程,与ngnix通... 继续阅读 >
201503-08 PHP算式验证码和汉字验证码的实现方法 在PHP网站开发中,验证码可以有效地保护我们的表单不被恶意提交,但是如果不使用算式验证码或者汉字验证码,仅仅使用简单的字母或者数字验证码,这样的验证码方案真的安全吗?大家知道简单数字或者字母验证码很容易被破解,但是算式验证码或者中文汉字验证码不容易被破解,所以建议大家在使用验证码的时候,尽量用算式验证码或者中文汉字验证码。下面是我写的两种验证码代码,有用到的朋友可以参考下:1.算式验证码:<?phpsess... 继续阅读 >
201503-07 让那些无用代码注释见鬼去 摘要——注释简单代码会干扰对重要注释的理解。程序开发者最好能用最精要的注释来解释重点代码。举个例子,你打开一个电箱,里面有几百根电线,蒙了吧。再一看,每根电线上面都有一个整洁的小标签。真是谢天谢地啊!但是,当你一个个去翻看标签的时候,见鬼的,几乎所有的标签都是空白的!然后,在你花了整整一个小时去浏览每一个小标签之后,终于给你找到12条有用的信息,真心喜大普奔!当然,希望在你头脑一片混乱的时候得出... 继续阅读 >
201503-07 没有代码的编程语言:Folders 之前我们介绍过“Whitespace”编程语言,这是一种很奇葩的编程语言,在“Whitespace”编程语言中,任何非空白的字符都是被忽略的,只有空格符,tab和换行符被认为是有效的语义字符。也就是说,你可以把用“Whitespace”编程语言编写的代码藏在其他的文本、代码中,具有隐形代码的效果。而今天要说的这种语言更是奇葩,它叫做 Folders ,顾名思义,这种语言没有代码,也没有代码文件,这种语言的代码就是... 继续阅读 >
201503-07 一些无关紧要的代码注释 摘要——注释简单代码会干扰对重要注释的理解。程序开发者最好能用最精要的注释来解释重点代码。举个例子,你打开一个电箱,里面有几百根电线,蒙了吧。再一看,每根电线上面都有一个整洁的小标签。真是谢天谢地啊!但是,当你一个个去翻看标签的时候,见鬼的,几乎所有的标签都是空白的!然后,在你花了整整一个小时去浏览每一个小标签之后,终于给你找到12条有用的信息,真心喜大普奔!当然,希望在你头脑一片混乱的时候... 继续阅读 >
201503-07 机器学习实践中应避免的7种常见错误 统计建模和工程开发很相似。在工程开发中,人们有多种方法搭建一套键-值存储系统,每种设计针对使用模式有一套不同的假设。在统计建模中,也有很多算法来构造一个分类器,每种算法对数据也有各自的假设集合。当处理少量数据时,因为实验成本很低,我们尽可能多的尝试各种算法,从而选出效果最优的算法。但提到“大数据”,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)是事半功倍的。正如... 继续阅读 >
201503-07 在Java中正确使用注释 Java提供了3种类型的注释:单行注释(C++风格)在Java中最简单的注释是单行注释。它以两个正斜杠开始并到行尾结束。例如://thisisasingle-linecommentx=1;//asingle-linecommentaftercode多行注释(C风格)Java同样提供跨越多行的注释类型。这种类型的注释以紧跟着一个星号的正斜杠开始,并以紧跟着一个正斜杠的星号结束。这种类型注释的开始和结束分界符可以在同一行里也可以在不同的行上。例如:/*Thisisa... 继续阅读 >
201503-07 Linux桌面环境终极指南 去年,NetworkWorld网站内的Linux老牌拥护者BryanLunduke曾经给自己定下一项奋斗目标,即深入到各类Linux桌面系统当中、以至少一周的时间利用其完成工作及个人计算任务,而后将他的心得体会记录在LinuxTycoon博客当中。最终他撰写出十篇评测报告,我们将其内容进行了收集与整理,以便大家通过今天的文章将不同桌面环境之间的比较结论一网打尽。当然,也欢迎尚未体验过Linux桌面系统的朋友将本文作为参考资料加以借鉴。elemen... 继续阅读 >
201503-07 2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中。我们可以参考网上的指导来获取构建代码项目的各种必要信息。如果你是搞Web开发的,那么大多更喜欢支持前端开发的JavaScript。此脚本语言使用相对比较容易,并能为网站和Web应用创造了有趣的用户界面。下面是10个最佳的可用于Web项目开发的JavaScript库。1.IO.js:IO.js是一个以ChromeV8runtime为引擎的JavaScript平台。项目基于Node.js平台,并且I... 继续阅读 >
201503-06 编程技术缓存写法(三) 上次我们说了多级缓存,本章详细介绍下内存缓存该如何设计。一:分析设计假设有个项目有一定并发量,要用到多级缓存,如下:在实际设计一个内存缓存前,我们需要考虑的问题:1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的压力。2:内存容量的限制,需要控制缓存数量。3:热点数据更新不同,需要可配置单个key过期时间。4:良好的缓存过期删除策略。5:缓存数据结构的复杂度尽可能的低。关于... 继续阅读 >
201503-06 编程技术缓存写法(二) 上次主要讨论缓存读写这块各种代码实现。本篇是就上次的问题接着来,继续看那些年我们各种缓存用法。一:缓存预热上次有同学问过。在第一次加载时,我们的缓存都为空,怎么进行预热。单机Web情况下,一般我们使用RunTimeCache。相对于这种情况下:1:我们可以在启动事件里面刷新voidApplication_Start(objectsender,EventArgse){//刷新}2:单写个刷新缓存页面,上线后手动刷新下、或发布时自动调用刷新、或干脆由... 继续阅读 >
201503-06 编程技术缓存写法(一) 介绍本篇主要说下楼主平常项目中缓存使用经验和遇到过的问题。目录一:基本写法二:缓存雪崩1:全局锁,实例锁2:字符串锁三:缓存穿透四:再谈缓存雪崩五:总结一:基本写法为了方便演示,我们用Runtime.Cache做缓存容器,并定义个简单操作类。如下:publicclassCacheHelper{publicstaticobjectGet(stringcacheKey){returnHttpRuntime.Cache[cacheKey];}publicsta... 继续阅读 >