
程序人生
文章平均质量分 77
iteye_2198
这个作者很懒,什么都没留下…
展开
-
svn提交时,邮件通知问题解决的经验谈
svn可以实现在commit提交时,使用hook钩子功能,向指定的邮箱发送提交注释comment/log及内容变化的邮件,以方便对之进行监控。具体的描述就是,1.当某个账号提交代码/文档时,使用钩子功能,调用仓库的hooks目录下的post-commit文件,实际上是执行一个shell文件,因此要求此文件具有执行权限2.在shell文件中,通过显式的编码方式运行mailer.py,根据...2015-01-27 15:31:07 · 849 阅读 · 0 评论 -
centos6.x误删/sbin/service的恢复方法
因为执行rm命令时,不小心误删了/sbin/service这个非常重要的系统服务启动命令,于是赶紧上网搜索,居然完全搜索不到相关文章。下面是咨询了运维资深人员之后,给出的解决办法,现记录如下:首先执行yum,rpm命令查看一下相关软件包[code]# yum list | grep initscriptsinitscripts.x86_64 ...2014-05-22 14:05:44 · 256 阅读 · 0 评论 -
CentOS6.5使用yum命令方便快捷安装Nginx
当然,首先要求是可以联网的系统,因为yum安装需要互联网连接。1.为了追加 nginx 的 yum 仓库,需要创建一个文件 /etc/yum.repos.d/nginx.repo,并将下面的内容复制进去:[code][nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$base...2014-04-17 11:57:22 · 191 阅读 · 0 评论 -
Tomcat7.x时区问题导致时间获取不正确
最近在开发中遇到一个非常罕见的问题,就是centos测试服务器上的时间虽然正确,但是安装在上面的Tomacat7.x的时间时区出现错误。我的程序代码中,恰好使用了对时间查询的sql语句,例如[code]select from table where sendtime = #{nowtime}[/code]此时执行远程单步调试,发现代码中new Date()取得的当前时间now...2014-01-28 12:03:16 · 337 阅读 · 0 评论 -
windows系统下安装最新mysql 5.7.13解压版
最近因为需要测试mysql的多种主从配置方案,所以要安装多个mysql。为了更好的应用机器,干脆就在一台windows机器上安装了多个mysql,用不同的端口号区别开。那么,最好的选择自然就是安装多个mysql解压版,而不是那种msi安装版,可以达到绿色版的用后即焚效果。系统环境:win 7,32位系统mysql版本:5.7.13社区版mysql下载地址:http://dev.my...2016-07-25 20:19:12 · 194 阅读 · 0 评论 -
论开源<5>---个人利益受损
请看本系列最后一篇文章。5.从行业及个人利益来看开源最后,我们从程序员/工程师自身的个人利益来看看开源对从业人员的影响。如果技术行业中从公司到个人,大家都提倡闭源,那么软件行业可以妥妥的预见不会成为吃青春饭,拼体力的行业,软件工程师只能是经验越久,越老越吃香。看看现在路人皆知的事情,都知道码农们是从网上直接搜索到答案,然后各种拼凑代码,写个程序是多么简单的事情。程序员被蔑称为码农,...2016-06-16 15:35:16 · 133 阅读 · 0 评论 -
论开源<4>---开源的商业模式
4.开源的商业模式人类社会的每次飞跃,都源于知识的普及和传播速度的飞跃。文字,纸张,印刷术,互联网,都带来了文明的跃进。知识是在交流中增长的,人类绝大多数知识都是开源的,闭源的(秘密)只是历史中的偶然,人类的进步来自于普遍共享的知识。正如Linus所说,开源是常态,闭源才是偶然。当然,软件开源运动,一部分是理想主义者的情怀,还有更大一部分是商业公司的策略,就是我们这次要讨论的开源商业模式。...2016-05-17 12:51:14 · 670 阅读 · 0 评论 -
论开源<3>---从公司企业的高度看开源
3.从公司企业的高度来看开源首先需要承认,从人类发展史上来说,代码开源确实是极大的推进了社会科技水平的发展,有着积极的进步的意义。但是,从商业公司的高度上来讲,开源还是不开源,公司都会权衡各种利弊,不是做活雷锋的。商业公司开源的大多是基础设施,其目的,一个是让更多的人参与到开发中来,帮助提高开发速度与软件质量,另一个是作为一种低价倾销手段,让这种基础设施霸占市场。商业公司由自己的雇员主导开源软...2016-05-11 11:53:58 · 153 阅读 · 0 评论 -
论开源<2>---开源运动的国家目标
接下来第二篇,我们从国家层面来审视一下开源运动。2.开源运动的国家目标据考证,开源运动的根源是美国嬉皮士运动,也就是当年一帮蓄发吸大麻天天高喊共产主义口号的美国愤青。结果开源社区真的实现了各尽所能不计报酬。。。用Linus的话说,开源是种回归,因为研究活动本来就是开放的,后来有人为了商业利益封闭了,现在有人重新把一些东西开放了。 多种迹象表明,早期开源的主力是西欧和北欧,这些地方的...2016-05-04 20:28:24 · 183 阅读 · 0 评论 -
论开源<1>---软件本身的价值
笔者从事软件行业已15年左右,编码也有10年以上经验。长期以来,就我所知,基本是从C/C++,Java的生态环境开始,由国外一堆极具gongchan主义情怀的理想主义者引领,一直在提倡软件开源的思想,及至最近十年,几乎ruby,scala,c#,php等大部分软件细分行业都开始跟风,甚至现在连硬件也开始开源。但是,开源真的如很多人所认为的那么好吗?还是这些有情怀的理想主义者被公司企业加以利用了?我...2016-05-03 18:40:39 · 186 阅读 · 0 评论 -
Enum枚举类型比值
在编码时,两个Enum实例,直接用==就可以比较它们的值了,而不是比较这两个Object的地址。这显然和通常的Object不一样。而且,在JDK7之后,枚举还能用在switch-case开关语句中。Enum不是primitive类型,却可以用==比较,这是为什么呢?Enum本身可以是多实例的,关键在于,它的每个值对应唯一的Object,因此,它有几个值,就生成几个实例。所有相关的变量都是代...2016-02-28 18:07:06 · 256 阅读 · 0 评论 -
论架构师的职责
很久以前(4,5年前)当核心码农,只需保质保量完成既定任务。技术选型开会的时候随便yy,反正最后拍板背书的人不是我。完成特定的任务,想算法,做优化,实实在在的产出,很有成就感。 而最近这几年,开始渐渐提升自己,从架构师,技术经理,到技术负责人。现在开会不敢乱说,技术也不敢乱选。因为要给设计做最终拍板,确定最终的技术架构体系。所以会经常焦虑自己做的设计是不是有坑,是不是太low等等。 同时在...2016-01-31 20:49:17 · 172 阅读 · 0 评论 -
centos6.5安装apache2.x并修改默认80端口
因目前nginx已经成了主流反向代理软件,所以在linux服务器系统上,我们几乎都会安装nginx这个东东,这就给同时使用apache带来了麻烦,因为apache缺省使用的也是80端口。而更多时候,我们显然不想修改nginx的端口,于是只有修改apache的80端口。1.首先查找apache的httpd服务的配置文件httpd.conf,用rpm,yum等不同方式安装的apache的目...2014-05-26 10:39:42 · 377 阅读 · 0 评论 -
ubuntu单机下安装多mysql 5.7.14
前文已述,因为需要测试mysql的主从配置方案,所以要安装多个mysql。这次是在ubuntu kylin 14.10上安装多个mysql 5.7.14。系统环境:ubuntu kylin 14.10,64位系统 mysql版本:5.7.14社区版 mysql下载地址:http://dev.mysql.com/downloads/mysql/,选择 Linux - Generic,...2016-08-01 23:38:33 · 232 阅读 · 0 评论 -
spring-boot读取props和yml配置文件
最近微框架spring-boot很火,笔者也跟风学习了一下,废话不多说,现给出一个读取配置文件的例子。首先,需要在pom文件中依赖以下jar包[code] org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot...2016-09-30 01:19:24 · 425 阅读 · 0 评论 -
centos6.5下安装gradle编译环境
现在用gradle替代maven的项目越来越多,下面就描述一下如何在centos服务器环境下安装配置gradle环境。1.在http://www.gradle.org/downloads页面,下载最新版的gradle软件包,撰写这篇文档的时候是2.2.1版。2.下载了gradle-2.2.1-all.zip或者gradle-2.2.1-bin.zip文件之后,将之解压在/usr/l...2015-01-20 11:26:06 · 393 阅读 · 0 评论 -
双十一前4小时,CentOS 6.5服务器启动错误排查
11月10日晚上8点多,眼看要到双十一了。。。但我要说的这段经历却和双十一毫无关系,哈哈。这天准备向CentOS6.5服务器的svn上传一些文件,结果开机启动时,却出现了下面的界面:[img]http://static.oschina.net/uploads/space/2014/1112/160744_hd1G_75789.jpg[/img]这是肿么回事?根据屏幕的提示,先使用roo...2014-11-12 16:17:52 · 118 阅读 · 0 评论 -
使用Volley框架的ImageLoader加载网络图片
Volley框架在请求网络图片方面也做了很多工作,提供了好几种方法.本文介绍使用ImageLoader来进行网络图片的加载.ImageLoader的内部使用ImageRequest来实现,它的构造器可以传入一个ImageCache缓存形参,实现了图片缓存的功能,同时还可以过滤重复链接,避免重复发送请求。下面是ImageLoader加载图片的实现方法:[code]public voi...2014-08-25 15:17:24 · 125 阅读 · 0 评论 -
Android Volley框架的几种post提交请求方式
首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Volley的表现就不尽如人意。在app开发中,我们最常见的就是从app客户端向服务端发一个http请求.对于两种基本的web请求方式get和post来说,get请求方式相对比较简单,在此略过不表....2014-08-08 14:40:11 · 286 阅读 · 0 评论 -
Spring不支持依赖注入static静态变量
在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样:[code]@Autowiredprivate static YourClass yourClass;[/code]可以试一下,yourClass在这种状态下不能够被依赖注入,会抛出运行时异常java.lang.NullPointerException...2014-07-31 15:10:59 · 414 阅读 · 0 评论 -
httpclient4.3.x模拟post及get请求
在web开发中,我们经常需要模拟post及get请求,现在网上比较多的是使用httpclient3.x,然而httpclient4.x已经发布好几年了,而且4.x之后改名为HttpComponents,显然是今后的趋势.Apache HttpComponents4.x中的HttpClient是一个很好的工具,它符合HTTP1.1规范,是基于HttpCore类包的实现。但是HttpCompone...2014-07-28 13:16:52 · 256 阅读 · 0 评论 -
spring-data-jpa原理探秘(4)-JpaQueryExecution类概述
spring-data-jpa原理的第四篇,来说说JpaQueryExecution相关类。首先给出类图和继承关系:[img]https://static.oschina.net/uploads/space/2017/0228/135538_J1nS_75789.png[/img]spring-data-jpa中对JpaQueryExecution有明确说明:包含多个查询运行策略的类的...2017-02-28 13:55:45 · 498 阅读 · 0 评论 -
spring-data-jpa原理探秘(3)-QueryMethod类
第三篇,我们来说说JPA规范中的QueryMethod相关类。首先给出类图和继承关系:[img]https://static.oschina.net/uploads/space/2017/0119/221605_mkCm_75789.png[/img]很简单,是不是,只有区区两个相关类,QueryMethod及其子类JpaQueryMethod。QueryMethod类位于spring...2017-01-19 22:23:35 · 321 阅读 · 0 评论 -
spring-data-jpa原理探秘(2)-RepositoryQuery的用途和分类
本系列的第二篇文章,主要讲解在spring-data-jpa中占有重要地位的RepositoryQuery接口的用途和分类。首先我们看看RepositoryQuery接口极其子类的类图[img]http://img.blog.youkuaiyun.com/20161229232800880?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FvbHU=/fo...2016-12-29 23:33:26 · 420 阅读 · 0 评论 -
spring-data-jpa原理探秘(1)-运行环境创建及加载Repository接口
spring-data-jpa的优点很多,比如继承Repository接口,在注解中书写JPQL语句即可访问数据库;支持方法名解析方式访问数据库;使用Predicate支持动态查询等,在此不一一列举了。这些都是使用spring-data-jpa中的种种优点,要想将之使用的更好更优雅,就要从spring-data-jpa的加载和运行机制进行探秘。此文系作者查看spring-data-jpa源码及...2016-11-30 23:30:53 · 185 阅读 · 0 评论 -
两阶段提交
这篇文章粗略讲一下两阶段提交协议,即2PC,Two Phase Commitment Protocol。之所以称为两阶段提交,是相对于单库的事务提交方式来说的。我们在单库上完成相关的数据库操作后,就会直接提交或者回滚,而在分布式系统中,在提交之前增加了准备的阶段,所以称为两阶段提交。图1显示的就是第一阶段提交的情况,可以看到,参与操作的是事务管理器与两个资源。[img]http://img...2016-10-31 19:52:05 · 145 阅读 · 0 评论 -
利用JDK7的NIO2.0进行I/O读写和监视
最近在学习新的jdk 7提供的NIO 2.0,发现这个东东提供的java.nio.file包里的若干类,大大的方便了文件读写操作,而且编码相当简单,做了很好的封装。它的一个核心类就是Path。下面就是windows系统下新增,删除,拷贝,move文件的简单示例,注意,需要JDK7的编译和运行环境[code]import static java.nio.file.StandardCopy...2012-06-28 12:03:23 · 198 阅读 · 0 评论 -
Java IDE中Access restriction错误的修订
今天在eclipse mars中导入一个外部项目,在编译时出现了下面的错误:Access restriction: The type 'BASE64Encoder' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_20\lib\rt.jar')出现这个错误,是因为调用了Eclipse或M...2015-12-19 18:31:48 · 118 阅读 · 0 评论 -
spring 4.x下让http请求返回json串
当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段。这里介绍一下如何在spring-MVC框架下方便快捷的返回json字符串。首先,需要在controller类的方法名头上加@ReponseBody注解,但是只增加这个注解是不够的,在使用httpclient4.5.x模拟post请求时,出现...2015-11-28 11:24:23 · 193 阅读 · 0 评论 -
JAVA判断输入流字符编码的困惑
近日在开发爬虫程序时发现,如果事先不指定正确的字符集编码,在得到InputStream字节流实例后使用程序自身去判断,相关代码如下:[code]if(charset == null || "".equals(charset)) { reader = new InputStreamReader(inputStream); charset = reader.getEncoding();...2010-06-02 09:28:27 · 590 阅读 · 0 评论 -
关于面试的一些感悟
最近在忙于找工作,首先在网上也看了一些文章,不过最让我震惊的还是《十五年,你积累了什么?》这篇,原文地址:http://blog.youkuaiyun.com/axman/archive/2010/04/24/5523746.aspx这是一个所谓的基础知识无比坚固的大牛的得意之作,在他的博客中,也发现了诸如hashcode方法,equals方法的深度探索,首先这种精神值得赞扬,尤其是作者在jdk的实现版本中发...2010-05-19 20:35:29 · 111 阅读 · 0 评论 -
JDK1.6中对脚本语言的支持
JDK1.6加入了对Script(JSR223)的支持。这是一个脚本框架,提供了让脚本语言来访问Java内部的方法。你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本。这个脚本API允许你为脚本语言提供Java支持。另外,Web Scripting Framework允许脚本代码在任何的Servlet容器(例如Tomcat)中生成Web内容。关于ScriptEngine和ScriptE...2009-09-22 17:52:04 · 112 阅读 · 0 评论 -
第一次亲密接触J2ME游戏
以前从未接触和开发过J2ME游戏方面的东东,此次从6月下旬开始,先学习了半个月,不过这半个月也基本没顾上学,公司总是今天做同级生游戏,明天又节奏巨星游戏,天天尽折腾这些游戏的设计了,真正学J2ME估计只有4,5天的时间。之后就开始开发和修改一款麻将游戏,通过开发这个游戏,学到了很多游戏开发的方法和经验,体会到一个J2ME程序,想要在小小的手机上运行,优化工作是多么的重要。1.开发J2ME游...2009-09-10 23:38:54 · 125 阅读 · 0 评论 -
软件开发周期和IT核心竞争力的个人见解
近日在调研/设计/开发软件时想到一个有关于软件开发方面的问题,也可以说是两种软件开发的方法。阐述如下。抛开软件的开发过程及那些瀑布开发模式,原型开发模式,xp开发模式等等不谈。软件开发需要面对一个实际的问题就是,无论哪种开发模式,都有一个开发周期,一个客户要求的交货,验货deadline截止日期。我个人认为,根据截止日期的不同,实际上决定了软件的粗糙程度,当开发周期相对较短时,自然而然会选...2010-03-19 12:47:37 · 211 阅读 · 0 评论 -
开心网之开心餐厅游戏分析报告
如我的前一篇文章《开心网模式的个人见解》所述,开心网今后的发展道路,一个方向就是发展成一个庞大的游戏基地,现在看来开心网确实在向这个方向迈进。它所开发的游戏,也从抄袭,简单,向复杂化纵深发展,有一开始的抄袭之作争车位,朋友买卖;也有简单游戏买房子偷菜,咬人,超级大亨等;而从钓鱼开始,开心网的flash游戏开始向纵深化方向发展,纵向横向都有了较复杂的展开,下面对最近的开心餐厅游戏做一个详细的分析。此...2010-03-15 12:06:30 · 676 阅读 · 0 评论 -
好还是坏-JDK5对泛型的引入
最近在开发中遇到一个现象,就是在编译时整个代码中使用了泛型,并没有出现任何类型转换上的问题。代码如下:[code]void foo(List res) { if(res != null) { List resIds = new ArrayList(); for (ADto a : res) {//在这一行报java.lang.ClassCastExceptio...2011-05-22 17:59:39 · 112 阅读 · 0 评论 -
面试那些事儿系列5-遭遇鄙视
面试那些事儿系列最后一篇,记录俺到一家小型的非fesco外企E的面试经历。听hr说这家公司是搞煤炭和环境方面的生意的,最后总经理面试时,却说如果能来上班,是参加农村土地规划方面的一个项目。这家公司属于有人在群里打广告,俺发了简历过去,但是广告里的意思好像只是想找个1,2年经验的,能干活的人即可,慢慢干。俺当时虽然看明白了,还是发了简历过去,广撒网嘛。结果竟然有了面试机会。这家公司在建外SO...2010-09-12 20:06:09 · 136 阅读 · 0 评论 -
Free wap方式下的手机适配和游戏下载
最近为公司制作了一个小的手机适配程序,以配合各个渠道部门下载J2ME游戏。因为没有资源优势,此程序只能是Free wap方式,无法获得用户手机号及UA(User-Agent)参数。既然不能获得以上关键参数,那么我们的策略就是直接给出手机支持列表,让用户选择。在实际开发中,存储手机支持的列表需要从Excel表格文件中读取。1.在使用开源项目jxl解析Excel文档时,发现jxl最新版也只支持...2009-07-07 10:47:07 · 248 阅读 · 0 评论 -
软件蓝领和架构师的区别:驳JE网友对流行概念的认识
首先未经同意引用wyuch网友的一篇文章,如果wyuch觉得此举不妥,请第一时间联系我,我会尽快删除此文。主题:很多事情看上去很美......作者:wyuch EJB看上去很美,很多“企业级特性”,不知道成就了多少中间件厂商。但用的人都说很难搞,让我很怀疑。直到有一天一位大佬高呼“Without EJB”,一时风云变色,群EJB束手。 UML看上去很美。当时简直是不会用...2009-06-06 00:39:19 · 122 阅读 · 0 评论 -
开发wap项目随笔
很久没有开发wap项目了,上一次开发wap项目还是03年非典的时候,开发的一款社区游戏。最近由于项目需要,临时又客串了一次waper,虽然开发周期很短,不到二周,但是还是学到了一些东西。1.项目在开发中并没有遇到太多困难,但是测试的时候,由于多普达(dopod)c730的不兼容性,首页访问时就报错,曾一度无计可施。最后发现是空格的问题,根据空中网资深waper的说法,只要在一开始页头没有空格,...2009-05-29 01:00:48 · 144 阅读 · 0 评论