离站提示JS工具:Ouibounce,当离开网站时给出一个提醒,从jobbole看到的.tip:和bootstrap的model 结合时要在参数的callback中 手动 用$('#share').modal();触发,官网没说,这个要注意.demo如下:[repo owner=”carlsednaoui” name=”ouibounce”]
很多程序员都会习惯性的在Textarea中按Tab键进行缩进,结果是——焦点移动到下一个控件去了。tabIndent.js就是一个专门用来解决这个问题的小巧脚本,只需要在页面中引用它,并调用tabIndent.renderAll();即可处理class为tabindent的Textarea。[repo owner=”julianlam” name=”tabIndent.js”]
Heatmap.js用来生成基于用户自定义数据上的web 热图,内嵌html5 画布元素。可根据以下数据来源绘制热图:静态数据鼠标移动鼠标点击支持浏览器:Firefox 3.6+, Chrome 10, Safari 5, Opera 11 and IE 9+.[repo owner=”pa7” name=”heatmap.js”]
以后的IT路还很长(2) 想想自己好久没静下来思考下了,等反省好了,再睡吧!毕竟知道自己以后怎么做了,比起一晚上不睡觉,重要的多。 我一直想做个智慧的人,现在发现,自己连聪明也算不上,更是聪明反被聪明误,想想那些事情,我都不想见人了! 想当初,一周前还说着不到南京,一周后,就屁颠屁颠的跑到南京了,之后,就是连续一个多月的加班,之前,哪里这样过啊!来南京两年多了,觉得最能放松下来的是,有次上线升级,我已经抗了几个通宵了,那天晚上,抗不住了,就趴着睡了,老大把我喊起来,让我把所有事情,交给同事帮同事帮我上线,让我回家睡觉,我立马收拾了下,给同事说了几句,回家就睡觉,那次,是我觉得最轻松的时候,现在想起来,都能感觉舒服好多。 现在,让我最怀疑我自己的是,两年前做的傻事了,当时竟然把自己封起来了,和谁也不联系了,目的只想看看自己努力了一年,一年以后的自己是个什么样,事实证明,我还是老样子,除了多知道了几句南京话,也没啥变化了,还有就是失去的东西。是不是做错了,目前看来,是错了,彻头彻尾的错了! 我本来就是不想多说话的人,那次以后,说的话,更少了,而做我们行业的,做是我们的基础,要做好,更多的东西都是说出来的。我知道这样不好,也时常给自己提醒,可自己就这样慢慢,变的少说的多了,在团队里面,我说的是最少的,这也导致我最后在团队里面,属于孤立的地位,在做团队工作时,遇到最大的难题。也影响我个人的生活,已经和别人,不知道怎么沟通了。 我是个很阿Q的人,一直认为着,有问题是好事,不是什么坏事,有问题解决问题,人就是在解决问题中成长起来的,现在有矛盾也是好事,现在的矛盾多一些,以后的矛盾就能少一些,不是什么坏事。 也一直在安慰自己,等实际成熟了,等准备周全了,等什么事情做完了,等这一切都好了,什么都晚了,什么都就没有了。 现在我也慌了,不知道自己要什么,要做些什么,什么也不知道,对什么也没有信心,老是害怕,越害怕,越想逃避,真不想对面对这些烦人的事情。常常给自己说的,有困难,有问题,有矛盾,不是什么坏事,是好事,这样才好玩,太平了,就没意思了。另外一句,烦啊!烦不了了,烦不了,我不玩总行吧!爱咋咋地吧! 最悲剧的是,玩,看不到希望,不玩,又看不到失望,伤不起啊! 慌了,就去钓鱼,钓鱼其实也是种逃避,钓鱼完后,还得面对,是自己的事情,总得去解决,除非,不玩这个游戏了。 现在,事情按照计划去做,问题、矛盾一点点的解决,梦想,一点点的实现,如果没发成功,我也只好归结到天意如此,我也没辙了,我已经尽自己的最大努力了!
人人网的开源框架paoding-rose(2) 上次写过rose,说到文档不全,其实不是文档不全,而是我没有细细看,文档还是写的很详细的,而且源码注释很规范,加上源码注释和文档,rose框架还是很容易的掌握的。 在安全性设计上面打算采用spring security来实现的,把spring security集成到系统用了几天的时间,这样系统就是spring + spring security + rose的设计了。 其中的遇到的问题是spring security 需要配置自己的过滤器,而在rose的系统中只需要配置一个过滤器,配置两个过滤器就出抛出已经有过滤器的异常,我把spring security的过滤器去掉了,只配置了一个rose的过滤器,再按照配置spring security的方式配置好了。在配置过程中,就是一个不断尝试,试着配出来的。 配置好了,就是项目启动不再出现异常情况,运行也不报错了。可预期的结果并不是我要的结果。我过滤的方式是通过url来控制权限的,spring security对正常的url是可以进行控制的,对pathinfo格式的url就不能做控制。这个问题纠结了好久,我还询问过开发rose框架的作者,他给我的解释是rose本身就是一个独立的context,它的parent是root context,这样说来,rose就和spring security是属于两个context了,当然不能控制了。 根据日志记录,这样的解释说不过去,从日志记录中,spring security对url都是做过滤的,首先是rose对url进行过滤,接着是spring security进行过滤。在看rose源码的时候,有这样的一段注释。“如果一个请求在Rose中没有找到合适的类来为他服务,Rose将把该请求移交给web容器的其他组件来处理。” 这样才能解释通道理,也可以和日志记录对应起来。rose先做了处理,无法处理的时候才交给其他容器做处理的。 我想尝试先让spring security先来处理,这样处理之后,spring security却不会请求交给rose来处理,这块尝试了好久,没有找到解决的办法,最终只跟踪到spring security中的一个异常对象,在rose处理了,就不会把异常抛出,这个也是spring security不能处理rose请求的原因的。结果是我解决不了,引入spring security就放弃了。 引入spring security我是想偷工的,没有偷成。反过来也想想,引入了新框架进来,就会增加系统的负担,我还是希望系统轻巧一点。 可安全性总是要做的,了解spring security的原理,同理写一个了。spring security是按照面向切面的思路,通过过滤器来实现的。rose的过滤器很好用,不仅可以设置过滤器,还可以设置局部和全局的过滤器,还可以设置过滤器的权重,满足什么时候,什么场景,采用什么过滤器。 我写的基本可以用起来,满足了我的基本要求了。现在也仅仅是满足需求,对一些漏洞还需要继续的修补。
nginx和tomcat的集成笔记在php下面,php+mysql+apche称之为黄金搭配,apache作为官方的web服务器,用户相当的多!在nginx出现之后,以绝对的高性能抢夺了大家的眼球,这些都是网络上说的。不过至少,有很多大型的网站都在用,比如新浪、搜狐、腾讯、豆瓣、人人等等等。我本来是打算采用php+nginx做为架构的,时间、能力不允许啊!还是回归自己的路了,tomcat当然是首选的服务器,数据库当然是mysql。这几个月,有些顺了,最近有些偏离轨迹,工作没做好,今天挨批了,认错。人啊!在顺一点的时候,真会忘乎所以的!受点打击是好事,能清醒不少!扯远了!还是继续原来的话题。我分别在win2008 和虚拟机ubuntu10.10上面搭建了nginx-0.9.6+tomcat-7.0.11的服务器,这样,还可以做负载均衡!win下面nginx-0.9.6+tomcat-7.0.11的搭建在http://nginx.org/en/download.html下载nginx,zip格式的是win平台的,tar.gz格式的是linux平台的解压之后,在DOS下面直接使用D:serverginx-0.9.6ginx.exe,就可以启动nginx,默认是80端口,打开http://localhost/ 就能看到nginx的欢迎界面!tomcat7依旧使用D:serverapache-tomcat-7.0.11instartup.bat启动,默认8080端口,打开http://localhost:8080/ 就能看到tomcat的欢迎界面!我的目的是能够实现就行,具体的一些细节配置信息,要根据时间的环境再配置。我的额配置如下:打开D:serverginx-0.9.6confginx.conf内容worker_processes 1;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;upstream tomcat_server {server localhost:8080;}server {listen 80;server_name localhost;location / {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http://tomcat_server;index index.html index.htm index.jsp;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}完成,重启一下tomcat和nginxnginx的停止命令:D:serverginx-0.9.6ginx.exe -s stop再次打开http://localhost/ 就打开的tomcat的欢迎页面了,http://localhost:8080/ 也是可以访问的。ubuntu下面nginx-0.9.6+tomcat-7.0.11的搭建对了,我使用的jdk是1.6的版本,取当前最新版的稳定版本,安装jdk并且配置好环境变量,tomcat解压后,修改tomcat-7.0.11/bin/startup.sh的权限,简单就使用sudo chmod 777 *,其实这些shell脚本有可执行的权限就可以了。这时启动startup.sh,打开http://192.168.128.131:8080/ 就是tomcat的界面了,我的ubuntu的虚机ip是192.168.128.131,把防火墙关闭了。在linux下面安装软件就是麻烦,可能这就是证明是技术N人的方法吧!下载的linux下的nginx是二进制文件,需要编译,才能安装的,这样也稳定。解压nginx-0.9.6.tar.gz,进入nginx-0.9.6,开始编译sudo ./configure编译 很有可能出错,缺少依赖库,会有提醒的,根据提醒安装就行。我在ubutnu上面搭建了git服务器,现在只缺少g++,使用命令sudo apt-get install g++ 就可以安装好了。我之前配置过apache,apache使用的也是80端口,和nginx冲突,看修改端口,我嫌麻烦,就直接卸载了。sudo apt-get remove apahce2卸载之后,可能会有一些遗留无用的,使用sudo apt-get autoremove 可以自动卸载还需要PCRE的支持,在 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载就可以,我用的是8.02的版本,其实最新版是8.12的,他们的排序有问题,这个能用就行了。PCRE也是二进制文件,需要编译安装。解压pcre-8.02.tar.gz 进入pcre-8.02 快的话,可以用sudo ./configure && make && make install 一次搞定,我习惯一句一句执行,这样可以看看编译情况。PCRE好了之后,就开始编译nginx了,命令依旧可以用 sudo ./configure && make && make install使用sudo /usr/local/nginx/sbin/nginx 来启动nginx,打开http://192.168.128.131 就能看到nginx的欢迎页面。使用sudo /usr/local/nginx/sbin/nginx -s stop 来停止nginx。开始配置文件,我是把win下面的配置copy过来的。用sudo /usr/local/nginx/sbin -t 可以验证配置文件是否正确用sudo /usr/local/nginx/sbin/nginx 启动nginx,就可以发现这个时候,这次打开是tomcat的欢迎界面了!今天的任务就算是完成了!还有一些遗憾是,因为安装的时候,nginx用的是root权限编译安装的,tomcat用的是普通管理员,最后不能把tomcat和nginx作为开机的自动启动项。应该是可以设置的,今天的目的已经完成,暂时就作为手动启动额吧!现在操作linux,我都是使用ssh来完成的,现在公司里面,登录ssh后都有一些欢迎信息,还把一些常用的命令、目录打印了出来,方便使用,我也把tomcat和nginx的命令整理了出来,修改的方法如下:1.编辑 vi /etc/issue.net2.vi /etc/ssh/sshd_config 找到 #Banner /some/path 并修改。去掉#号的注释,然后把路径指向 /etc/issue.net 这个文件。改为:Banner /etc/issue.net3.重启 sshd服务或者重启机器,就能看到欢迎信息了我的 /etc/issue.net 内容Welcome to dapeng.metomcat7 /apps/tomcat-7.0.11/bin/startup.sh/apps/tomcat-7.0.11/bin/shutdown.shnginx sudo /usr/local/nginx/sbin/nginxsudo /usr/local/nginx/sbin/nginx -s stop注意:在ubuntu下面执行脚本或者命令,在脚本或者命令前加sudo
2010年总结二【工作篇】 谈起工作,现在自己的生活就是工作,唯一的生活的就是睡觉,当眼睛睁开的时候,在公司,当眼睛闭着的时候,在床上,用这样形容我的生活,也不为过吧! 我认为工作的基础是生活,当生活不如意的时候,工作是干不好的,我的工作就时常的干不好。也曾经试图将重心转移在工作上面,这样做,也仅仅靠那么今天的激情,当激情用完,停止工作的时候,还是会回到现实的生活中,阻止不了自己继续的堕落。 从一个公司到另外一个公司,自己这一年来,到底是前进了,还是荒废了,懂的东西多了,也忘了不少东西,总想的希望有个希望,能让自己走下去,一个看不到希望的希望,反而让自己倒退了,有时想宁愿放弃这个希望,可人这个不见棺材不掉泪,现在就是没看到棺材。 2009年的工作用天天都是抗战来形容,而2010年的工作平淡无奇,却又忙忙碌碌。