Chrome进行大小写字符敏感的内容查找

2014年4月8日 Terence 4,095 次阅读 1 条评论

      用过Chrome内容查找功能的人都知道在搜索英文字符串的时候它是不区分大小写的,这对于经常检索代码关键字的人来说这是非常不方便的。比如搜索“Hello”的时候会把“hello”等相关无用的字符串都给标记高亮了。

      当然解决方法是有,就是会麻烦些,我们通过自定义js书签的方式变相实现了该功能。首先新建一个书签,名称随便写,网址栏填入以下js代码:

javascript:(function(){var text=prompt('Search for:','');if(text==null || text.length==0)return;var spans=document.getElementsByClassName('labnol');if(spans){for(var i=0;i < spans.length;i++){spans[i].style[......]

继续阅读…

分类: 开发技术 标签:

Hibernate中变通使用Criteria API对自定义SQL表达式列进行排序操作

2014年3月31日 Terence 2,661 次阅读 2 条评论

      先说一些题外话。众所周知,在Java持久层中有三种查询方式,分别是SQL、JPQL、和Criteria API。

一、SQL

      这个很好理解,一般小项目并且对安全性、效率性和灵活性没有特别需求的都会采用这个最原始的方法:

// 获得实体管理器
EntityManager em = ...
// 建立SQL查询
String getByFirstName = "SELECT * FROM contacts c WHERE c.first_name = ?1";
// 创建查询实例
Query query = em.createNativeQuery(getByFirstName, Contact.class);
// 设置查询参数
query.setParameter(1, "John");
// 获取结果
List contacts = query.getResultList();

上面的例子告诉我们3件事:

1)[......]

继续阅读…

分类: 开发技术 标签: ,

老版本Ubuntu 11.04等的源列表

2014年3月3日 Terence 1,957 次阅读 1 条评论

      比较喜欢Ubuntu之前的Gnome 2.x经典界面,现在的Unity简直是反人类,抄Mac OS不说,但好歹要学人家操作简单易用啊,我去。。Ubuntu最后一个支持Gnome 2.x经典界面的版本是11.04,此后反人类界面登场了,连12.04 LTS版也不例外,虽然可以安装gnome-session-fallback包回到2.x时的经典桌面样子,但模拟始终是模拟,很多细节地方还是无法替代2.x时代的辉煌。

      但问题来了,11.04不是LTS版本(LTS版的Ubuntu有最长五年的支持周期),大概在2012年10月的时候就停止更新支持了,这也意味着它的官方源也就伴随着下线了,包括其他第三方镜像源,一般都是和官方源同步的。因此,直接用原来的源列表是不能安装更新软件的,这下如果要在这类老旧系统上安装apt包可怎么办呢?其实大可不必担心,Ubuntu已经为我们考虑到了这个情况,官方专门出了一个old-release镜像服务器http://old-releases.ubuntu.com/,我们可以用这个源来更新[......]

继续阅读…

分类: 服务器运维 标签: ,

博客维护日记

2014年2月19日 Terence 525 次阅读 没有评论

      从博客重新启用至今已经过去了将近4个月的时间,除了之前提到的对服务器进行最大化优化外,却一直忽略了对于博客程序本身的维护,毕竟是2010年时候的wordpress代码,包括各种插件都已经很过时了,加上最近才发现的一些由于插件问题而带来的bug,因此升级代码是非常必要的。

      首先是插件的升级维护工作,下面是相对于之前所使用的插件,到现在经过改动的插件列表:

1、WP-DB-Backup

      升级插件版本,解决数据库定时备份的bug,其实自从用了脚本定时备份mysql和网站目录文件后,我就把这个插件给禁用了,MySQL的dump效率不知比mysql-php模块快了多少。

2、Keep Blanks

      新安装插件,WordPress所使用的TinyMCE编辑器的兼容问题源自博客里的一篇老日志,在可视化编辑框的模式下打入空格后切换到HTML编辑模式,然后再切回来就会被自作聪明的去掉了,这款插件解决了这个问题。

3、NoSpamNX

&n[......]

继续阅读…

HTML5+CSS3《驴子跳》网页游戏源码

2014年2月10日 Terence 375 次阅读 1 条评论

      分享一个《驴子跳》游戏源码,制作很漂亮的一款HTML5+CSS3的网页游戏,还配有音乐,很酷很刺激,想研究HTML5技术的朋友,可不要错过这款网页游戏哦,虽然是游戏,但却考验了作者很综合的HTML5编程水平。

 

HTML5_CSS3_dummy_donkey.7z

分类: 随便写写 标签: ,

Chrome和Firefox的最早Release版本

2014年1月30日 Terence 569 次阅读 1 条评论

      今天惯例更新了下自己电脑上的Chrome后突发奇想,打开html5test网站,去检测Chrome对html特性的支持度。发现它的确是独领风骚,把其他浏览器远远的甩在了后面,版本32.0.1700.102达到了503分,而Firefox 26才446分。

      于是好奇心驱使,想去找到Chrome和Firefox各自最早的release版本的项目源码,通过一番查找总算有些收获。Chrome 1.0.154.53 发布于2009.3.24,其对应的Chromium项目源码地址在此;而Firefox则比Chrome早了很多,最早的release版本号为1.0,发布于2004.11.9,其对应的mozilla社区项目源码地址在此

      Chrome和Firefox最初release版本的html支持特性评分见下图所示,同时参与比较的还有IE6、Chrome 32和Firefox 26(都是release channel版本,地址见此):

    &nbsp[......]

继续阅读…

分类: 开发技术 标签: ,

解决Gnome面板通知栏里没有Network Manager图标问题

2014年1月24日 Terence 6,448 次阅读 没有评论

      本人的测试服务器安装的是CentOS 6.x,如果用非root用户登录到Gnome桌面时,Network Manager图标就不会出现在面板通知栏里,虽然可以用命令行来管理网络的开关,但既然是图形化操作界面,不能用鼠标点点就能控制网络的话,总觉得是不完美的。对于这个问题其实我很早就发现了,但一直没去研究,今天下决心来解决下这个遗难杂症。

      首先Google,发现遇到这个问题的人还是挺多的,给出的解决方案也无非就是检查NetworkManager服务有没有启动,再者就是重置面板,恢复默认设置,但都不能解决问题。然后在一个国外Linux论坛里获得了启发,链接在此

      回头总结了下原因,其实问题出在nm-applet上,Network Manager的面板图标是由该命令启动的,在命令行下运行该命令后出现了以下错误(非sudo):

[terence@centos system.d]$ nm-applet
 
** (nm-applet:4[......]

继续阅读…

分类: 开发技术 标签: ,

随便分析下1月21日网络大规模故障的事故原因

2014年1月21日 Terence 298 次阅读 没有评论

      今天下午的全民网络事故相信大家都已经在各大网站上看到了吧,15点10分左右,国内访问通用顶级根域名服务器出现异常,都被A解析到了65.49.2.178这个IP上,该A记录的TTL的值为4万多,如果不手动刷新DNS缓存的话,理论上最多需要大概12小时才会全部恢复正常。在这期间许多国内所熟知的网站域名都会被尝试打开65.49.2.178的页面,导致正常网页无法打开,具体可以参考这个链接

      造成今天这个重大事故的原因到现在为止已有不少所谓的专家做了解释,但仔细一想又觉得哪儿有问题,所以自己瞎猜了个结论:可能“功夫网”某操作员的乌龙指。原因如下:

1. 我国境内DNS根被劫持/污染,被污染网站IP地址指向65.49.2.178,可以使用dig +trace看到。

2. 有能力污染DNS root的几乎只可能是GFW。

3. http://whatismyipaddress.com/ip/65.49.2.178 可以看到Organization: Sophidea。

4. http:[......]

继续阅读…

分类: 随便写写 标签: ,

关于SSL证书与CDN加速的选择

2014年1月12日 Terence 1,659 次阅读 没有评论

      一直以为能被各大浏览器所承认的SSL证书都是要收费的,最近看到一篇文章谈到了一家证书服务商StartSSL。它的根证书能被所有平台的浏览器所承认,在它下面可以免费申请二级SSL证书(Class 1)。不过免费的总是有些限制的:1、只能拥有带一个子域名和其根域名的证书;2、不支持通配符子域名;3、证书有效期为一年,但届时可以续期。当然,等交了59.9刀/2yr升级到Class 2等级证书后就没这些限制了。申请方法见此链接

      然后我就按教程的方法成功申请到了本博客域名对应的SSL证书,其实apache的配置还算容易,获取完相应的证书文件后,在CentOS上安装mod_ssl模块,配置ssl.conf文件为如下形式即可:

NameVirtualHost 11.22.33.44:443
 
<VirtualHost 11.22.33.44:443>
    ServerName 11.22.33.44
    <Location />
        Order allow,[......]

继续阅读…

Unicode编码在线转换工具

2013年12月22日 Terence 2,380 次阅读 没有评论

什么是Unicode编码

      Unicode是目前用来解决ASCII码256个字符限制问题的一种比较流行的解决方案。大家知道,ASCII字符集只有256个字符,用0-255之间的数字来表示。包括大小写字母、数字以及少数特殊字符;如标点符号、货币符号等。对于大多数拉丁语言来说,这些字符已经够用。但是,许多亚洲和东方语言所用的字符远远不止256个字符。人们为了突破ASCII码字符数的限制,试图用一种简单的方法来针对超过256个字符的语言编写计算机程序。于是 Unicode应运而生。Unicode通过用双字节来表示一个字符,从而在更大范围内将数字代码映射到多种语言的字符集。 Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不论是什么程序,不论什么语言。Unicode标准已经被这些工业界的领导者们所采用,最新的标准都需要Unicode,例如XML,Java,ECMAScript(JavaScript),LDAP,CORBA 3.0,WML等等,并且,Unicode是实现ISO/IEC 10646的正规方式。许多操作系统,所有最新的浏览器和许多[......]

继续阅读…

分类: 开发技术 标签: ,