自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 我的独立博客开放了

今天,我的独立博客http://yanyaner.com/又开放了,艺术,生活,工作都将在些记录,喜欢我作品及有想进行艺术投资的同学,可以和我联系作品销售事宜,我是一个程序员,同时,用绘画记录程序员的生活。 更多文章,请大家访问刘江华的博客。http://yanyaner.com/...

2013-12-13 10:26:50 144

浅谈事务脚本

请大家访问我的独立博客http://yanyaner.com/ 你也许听说过现在的web项目开发,在业务层几乎都是采用事务脚本来组织、暴露业务逻辑,那么,大家为什么都喜欢这么做呢?下面说说我的一些肤浅认识。有 人说所有的管理类型项目归根结底都是CRUD操作,仔细想想也确实如此,但再深入思考一下,既然是数据库的CRUD操作来实现业务,那么一定会出现数据库 事务,由于大多数业务操作并不...

2010-12-03 15:06:21 425

原创 领域对象的关联设计

请大家访问原文地址:http://yanyaner.com/  正如DDD这本书所说的,领域驱动设计是应对日益复杂的软件系统开发的有效途径,前面的文章中我也讲过,领域模型是一个系统更本质、更核心的东西,准确地 抓住了域模型,你就抓住了系统的“神”,也就能更加灵活地应对需求的变化。我见过很多初学者在学会了ooad和一些设计模式的知识后,恨不得把学到的所有 东西都应用到系统设计当中去,最...

2010-12-03 15:04:39 481

原创 写好登录注册-向商业软件的蜕变

注册、登录,看似非常简单的功能,曾经多少入门级的软件书籍都是以这个做为Hello world级别的程序进行讲解,但是,有几个人能够真正搞清楚这个看似简单的程序,离商业(产品级)级的应用还差多少?这些也是一个初级程序员在实现时要考虑的。下面我们来一起讨论:一、登录这个就是大家所做的登录界面,做为商业级应用,下面的一些重要因素,你可能没有全部考虑到:1、“登录”按钮是否只能有鼠标点击触发。...

2010-12-03 15:03:40 156

原创 项目集成第三方支付设计方案

现在越来越多的项目都要求集成第三方的支付平台,特别是在互联网项目中,下面简单说说项目中集成第三方支付平台的设计实现思路。目前用得比较多的 第三方支付平台有支付宝、易宝、财付通、移动支付等,每种支付平台都提供了详细的支付接口文档及示例代码,要在自己的项目中实现集成第三方支付还是比较容 易的,但主要的问题在于,一个项目中一般都会集成多种支付方式,以方便用户的选择,那么,我们的项目中如何...

2010-12-03 15:03:02 530

原创 项目一个迭代周期内的开发流程

软件项目开发,一般都会采用增量、迭代、(或者叫进化、演化、演进)的软件开发模型,众多的软件开发模型大多是以经典的瀑布模型为基础进行改进、变形,改进原则是:增加客户在整个项目周期中的参与度,降低软件开发过程中的风险,增强软件项目的后期可维护性。不 同的软件开发模型,迭代周期长短也不相同,有的是一个月,有的是两周,我们一般都是根据实际情况确定,一个周期完成,将项目成果(可运行的软件)提交给用...

2010-12-03 15:02:21 2566

原创 项目中异常设计及处理总结

异常,为我们处理非正常的业务流程提供了很好的解决方案,如果你有过dbase、c、pascal等过程式语言开发的经历,你一定会深刻体会到,异常机制给你的代码可读行、可维护性带来的好处,同时,程序的健壮性也得到了增强。在 java项目中,异常设计要注意下面的几点。一、自定义异常父类的选择A、自定义异常的父类,可以选择为RuntimeException或Exception。RuntimeEx...

2010-12-03 15:01:22 229

原创 服务器端常用远程维护工具简介

在项目后期维护中,服务器通常在异地,那么我们如何有效地进行维护呢,下面谈谈我使用过的一些工具。一、windows server服务器:一般不建议用windows做为服务器,我们以前就遇到过服务器被黑客攻破,或者被病毒感染,使得维护非常的麻烦;还有一点就是同等硬件配置,安装相同的应用,windows比unix、linux的性能要低一截。但windows的优点也比较明显,那就是界面的易用性...

2010-12-03 15:00:52 378

原创 系统性能优化总结之持久层篇(3)

最后一篇是关于持久层的性能优化,和dba的关系比较密切,我认为持久层优化的主要原则是:减少表关联查询。即使必须要有关联查询,也要减少关联的表的个数。根据经验,大多数的应用,性能瓶颈都在数据库这边,我们围绕上面的原则,可有下面的一些办法来进行优化。增 加表冗余字段。这种方法会使你的表不符合范式要求,但是我们必须知道,范式仅仅是理论上的,也就是建议你的表设计的一个标准,恐怕严格符合第四范式的...

2010-12-03 15:00:11 256

原创 系统性能优化总结之业务层(2)

业务层的性能优化,可能普通程序员更关注些,我总结了下面几点,仅当抛砖引玉吧。代码级别:变量的声明范围,for循环或while,++及移位操作等,这方面相当考究一个程序员的基础功力(尹哥在这块很牛的),我认 为对于企业级应用开发,这块应该不是重点,因为现在的服务器性能都非常好,代码写得烂一点,性能影响也不大。当然,项目不同,则要另当另论哦,比如嵌入 式、j2me等的开发要求就比较高,游...

2010-12-03 14:59:06 172

原创 系统性能优化总结之表现层(1)

对系统性能的考虑,是一个新手和老手的重要区别之一,面试的时候,问一些性能优化的问题,很容易判断应聘者的工作经验。下面是我对性能优化的考虑,将从表现层、业务层、技术层三个大的方面来阐述。本篇先介绍表现层性能优化要点。表现层优化的一个重要原则是减少向服务器发送请求的次数以及减少每次请求的数据传输量,围绕这一点,将会想到有很多的优化办法。ajax:大家都知道,ajax可以实现局部更新,显然...

2010-12-03 14:57:44 145

原创 管理系统界面的十条潜规则

 界面设计要根据你的用户群体来确定,其实,很多娃娃的界面丑陋不说,连一些基本的隐喻规则(潜规则)都没有遵守,那界面上有些什么潜规则呢?我总结了一下,大致有这么几点。一、界面风格要统一,小组中分成几个人去实现,最后的效果必须看似出自一人之手,包括整体颜色、按钮风格、iframe区大小等。这个可以用统一的模板解决。二、查询界面统一在界面顶端,最好用一个group之内的框起来,感觉比较集...

2010-12-03 14:56:59 145

原创 如何写页面代码(seo思考之二)

做seo的人都知道,你的站点页面不仅是呈现出来给用户看的,还应该是提供给搜索引擎阅读的,那如何才能写好站点中的每一个页面呢?下面是我总结出来的经验,供参考:一、页面结构一定要清晰。老大的一句话“像写文章一样来写网页”,让我受益匪浅。一篇文章结构,我想大家都比较清楚,标题,开头,段落,结尾等,该加强的地方要加强,文章结构清晰,完整。二、页面中仅仅呈现主要内容,页面样式全部提取到外部css中,...

2010-12-03 14:55:53 108

原创 持久层设计方案比较

一个软件项目,少不了数据的持久化,那么,怎么设计才能让系统代码具有更好的可维护性,让程序员更高效地进行核心业务的开发呢?下面是笔者在一些项目中使用过的持久层设计方案。我们现在假设要写一个在线书店项目,用户要登录系统,并对图书进行管理,我们可以看到下面的几种持久层设计方案在这个项目中的优劣。(如果图片看不清,请点右键,查看图片,原图是高清晰的哈)方案一:设计图中有些方...

2010-12-03 14:54:56 314

pure-ftp备忘录

最近要给一朋友分配ftp账号,才发现以前是非常熟悉的配置流程全忘记了,没得法,又去google了一下,找回了原来的感觉,赶紧记下来一些东西,供以后查阅。我用的是pure-ftp,该ftp服务器具有非常好的安全性,首先要加一个ftp用户组,再添加ftp用户,这两个用是linux系统中实实在在的用户组和用户,你可以用基本的linux命令搞定(但要注意,为了安全性考虑,请不要分配实际可操作的ho...

2010-12-03 14:53:51 103

原创 nginx转换手记

首先说一下为什么要把apache换成nginx。在目前的web服务器市场,apache的市场占有率应该在70%左右,可见其应用之广泛。apache有不错的性能及强大的模块配置功能,安全性也不错。后来发现,很多访问量比较大的网站,都换成了nginx,一个由俄罗斯人开发的开源项目,就下载下为研究了一下,发现其配置上比apache更加简洁,且可控制项也非常丰富,就决定采用nginx了。至于效...

2010-12-03 14:53:05 155

项目定时任务实现方式比较

定时任务在项目中使用非常普遍,比如说:每天晚上3:00开始执行数据真删除,每个月第四周星期三晚上1:00开始执行报表统计任务等,我们在项目中,可以通过下面三种方式来实现:一、利用j2se的timer类来实现,非常简单,代码如下:import java.util.Timer;import java.util.TimerTask;public class FuduTest {pub...

2010-12-03 14:51:56 111

原创 网站新旧版替换注意事项

网站建成后,根据用户体验及外部竟争条件的变化,网站少不更改,小的更改问题不是很大,如果是大的改动,也就是意味着网站要来个彻底的大换血,改版,那么,网站改版本在技术上应注意些什么呢?我在这里总结几点(当然,我的总结中,并不包括UI体验内容)。1、网站新版开发完成后,要上线测试,如果发现问题,立即进行修改。这个时候,老版的系统一定是同步运行的。你可以建一个二级域名指向新系统进行测试,也可以在老系统...

2010-12-03 14:50:44 356

原创 discuz、uchome与jquery冲突问题

20日,discuz报重大安全露洞,到官网上下载补丁文件更新后,悬着的心来才放下来。接下来,我发现discuz用户激活验证码不显示了,“看不清,换一张”点了也没有任何反映,改用用ie6再次打开页面,发现居然是js在报错,怎么会出现这种情况呢?郁闷!想起以前在做uchome及jquery整合过程中,也出现相册、博客操作方面的异常,网上查了一下,说是jquery的js加载顺序与uchome的产...

2010-12-03 14:49:58 90

页面工业化生产(960的思考)

曾经本人非常不重视页面工作,而将精力放在系统的业务实现上,做出的界面不尽人意。06年我负责的一个产品,在全国有近30家客户,每个客户的项目,一般仅在首页上不同,登录后,功能界面完相同,用户操作及界面的可用性,现在想想,可以说是非常的差,很多操作都是从程序员角度去设计的(软件产品销售得还是很不错,当时的老板还是非常有眼光的,虽然很久没联系过了,但至今对他比较敬佩)。我们当时每谈成一家客户...

2010-12-03 14:49:01 103

junit测试之hiberante延迟加载问题

很多新手都会遇到的hibernate session关闭时的延迟加载错误,我想原因大家都知道,当session关闭后,你去访问对象中的延迟加载属性,都会报session已关闭的错误。解决办法一般有四种:1、hbm映射文件中,让集合或对象属性的 lazy=false2、在关闭session之前,使用Hibernate.initialize(Object proxy)强制加载3、在关闭se...

2010-12-03 14:48:02 134

原创 更新频率与页面相似度(seo思考之一)

这是我发布的第一篇关于seo的文章,我对seo的总原则是:内容为王,seo为辅,请大家一定不要本末倒置。seo的最高境界是:经过了seo优化,却看不出来有任何seo痕迹,这也是高手追求的目标。我用实例来说明更新频率与页面的相似度问题。百度蜘蛛和google机器人对站点的更新频率或页面的更新频率高的网站比较青睐,如果一个站的更新频率比较高,搜索引擎快照就会更新频繁,网站的权重自然会提高,...

2010-12-03 14:46:59 121

我怎样学会英语的--钟道隆逆向英语学习法1

此博文转自www.fudu365.com VOA英语复读网整理了钟道隆教授的逆向英语学习法学习资料,这套方法曾经帮助无数人克服了英语学习的重重困难,特别是钟教授在45岁才开始学英语并取得巨大成就的精神,感动过无数英语学习者,我们希望对你的英语学习有借鉴意义。哑巴英语的尴尬  我上中学时没有学过音标,基本上是跟着教师念,对不对不得,...

2010-04-27 23:34:37 1313

Memcached在项目中的应用

Memcached是一个开源的快速分布式缓存框架,它和ehcached等缓存框架相比,具有下面的一些优势:1、    跨jvm的缓存架。我们知道,在一个jvm进程中,一般情况下的有效内存利用最多为2G,如果你再把数据缓存在项目的jvm进程中,势必造成内存空间的紧缺,严重的时候会出现堆栈溢出面导致项目终止运行。2、    集群环境下的缓存框架。Memcached启动后,有自己的独...

2010-04-07 15:22:29 67

缓存在项目中的应用

一个项目开发完成后,我们都会进行压力测试以验证非功能性需求是否满足,如果性能无法达到要求,我们一般会从代码、数据库、集群、缓存等一些方面对系统进行优化。其中的缓存,绝对是对项目性能进行优化的一个重点。所谓缓存,就是在系统内存区中开辟出一块单独的内存区域,把要使用的对象预先加载到这块内存区域中(或将使用过的对象放回到这块内存区域中)。如果应用需要对象时,系统先在缓存中查找要找的东西是否存在,如果...

2010-04-04 22:00:30 75

征服英语,先要具备良好的学习习惯 (转)

很多人认为英语非常不好学,要学好这门语言,你需要形成一些好的习惯,这样才有可能成功。  1、将英语真正融入日常生活!不要学英语,而要生活在英语当中!  2、把难单词、难句子制作成海报,贴在家里最显眼的地方,不知不觉就掌握了!  3、尽量多地听录音!这是最有效、最便宜的学习方法!听得越多,语感就越好!而且你的英语发音就越好听(推荐您使用voa英语复读网在线英文复读机)。  4、不读英语就...

2010-03-28 22:16:37 65

原创 界面原型在软件开发中的应用

原型法在现在的软件开发过程中被广泛使用。首先,我们要明确的是,任何一种方法或工具都是为我们开发、生产过程服务的,这一点必须清楚,我们不能成为方法或工具的奴隶,只要我们认为这个方法论或工具对我们的过程有用,就可以大胆使用,否则就是教条主义了。当今天比较流行的软件开发方法论,比如RUP,敏捷开发,Iconix等都是以项目开发早期降低风险为目标,不论你所开发的是项目型软件,还是产品型的软件,原型法在...

2010-03-01 00:09:07 444

jude中的范型实现

在jude设计工具中, 很多人不会用generic,现将操作步骤告诉大家:(1)展开已有java包树,如下图:(2)为其添加Template parameter,如下图:(3)新建user类,新建一接口,先命名为List,并让其与java.util.List<E>绑定,最后更改自定义接口名(针base中的name改为空),如图:(5)修改bind属性,将actua...

2009-02-18 23:34:15 98

文件上传(带进度条)

 具体请下载源代码: (1)写文件上传进度监听器类:package com.my.other;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.commons.fileupload.ProgressListener;publi...

2008-08-03 00:33:58 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除