编程技术

失业的程序员(十二):潜意识的智商

本章又名:失业的程序员(十二):焉知非福(下)由于系统调整,本篇重新发布一下。(一)三观什么叫三观?如果用世界观、价值观、人生观来概括,那实在是太虚幻了。因为大部分人根本不知道如何在自己身上找到这三观。卞工曾告诉我一个字面意义上的世界观解释,我认为很弓虽。他说:像他这种整天沉浸在代码中、整天只穿梭在两点一线之间的码农,甚至已经对天圆地方的理论产生了信任感,何来的世界观?有时心中的血突然来潮,想通过狗狗看看外面世界到底有多精彩也经常断断续续的实现,所以世界观

系统 2019-08-29 22:54:16 2232

编程技术

JXL制作属于自己的excel导入导出报表工具(一)背

从事JAVA开发一年多了,大约有半年都在搞Excel导入导出吧.刚刚交接项目时,还是个对Java有些陌生,有些惧怕的.但是因为人都走光了,项目中只有咱一个开发了,只能担起全部的开发维护责任,也慢慢成长了起来.项目中以前的Excel导出用的JXL,因为客户的特殊需求,导出并非平时那么简单,涉及到分页(每sheet一页),还要将数据合并.架构师写了分页的代码,并写了某个报表的导出类,然后其他工程师CV,即便对于当时没多少经验的我来说,这也很没意思,很不好,但是

系统 2019-08-29 22:51:18 2232

编程技术

IPTV终端中间件的研究

1、IPTV终端中间件的作用IPTV中间件是当前IPTV业界关注的热点之一。业界对于中间件没有确切的定义,一般认为:中间件是实现异构软件实体间互连互通的一类软件,则IPTV中间件就是实现IPTV系统中各个节点之间互连互通的一类软件。IPTV系统中的节点类型众多,包括终端、EPG(电子节目指南)服务器、内容分发系统、业务管理系统、网管监控系统、DRM(数字版权管理)、内容管理系统、头端系统等,除终端外,其他节点都可以统称为平台侧,因此IPTV中间件也可以分为

系统 2019-08-29 22:42:56 2232

编程技术

Gmail使用与代理模式

通过使用Gmail,进一步理解软件设计模式中的代理模式(Proxypattern).Gmail邮箱的使用需求:一直使用的邮箱A,所有的邮件进出的直接使用邮箱;大量的团队邮箱C1,C2,C3,...,Cn;以前被废弃的邮箱D1,D2,D3,...,Dm。为了使用的方便,我们希望所有的团队邮箱中的邮件能够自动转发到A,被废弃的邮箱能够自动转发邮件到A。一般情况下,我们可以简单的通过让C系、D系邮箱自动转发到A,不支持转发的可以通过Gmail自带的邮件提取功能去

系统 2019-08-29 22:17:11 2232

编程技术

CountDownButton:倒计时的Button

使用CountDownTimer写的简洁明了showToast("验证码已发送,请注意查收");inttimer=60*1000;newCountDownTimer(timer,1000){publicvoidonTick(longmillisUntilFinished){btn_code.setEnabled(false);btn_code.setText("获取验证码("+(millisUntilFinished/1000)+")");}publicv

系统 2019-08-29 22:07:37 2232

编程技术

bootstrap-file-input

github:https://github.com/zhangkaitao/bootstrap-file-input为bootstrap提供统一的文件上传按钮试用了几个类似的,不能满足需求,干脆自己写一个。思路是:利用label完成辅助点击file框,并把file框设置为透明即可,非常简单可完美解决在ie中的“访问限制”问题(即必须是用户点击才能进行文件上传),且无位置偏移问题。使用方式导入js和css即可,会自动查找file标签执行初始化

系统 2019-08-29 22:00:54 2232

编程技术

【查找结构 2】二叉查找树 [BST]

当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树。二叉查找树的特点下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3)它的左、右子树也分别为二叉查找树我们中

系统 2019-08-29 21:59:55 2232

编程技术

大话重构连载17:抽取方法的实践

说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁

系统 2019-08-29 21:59:02 2232

编程技术

让Struts与Hibernate顺利协同工作

安装篇一,下载安装j2sdk1.4(www.sun.com))或以上,设置CLASSPATH,java_home。二,下载服务器,免费版本的有tomcat,resin,当然也还有weblogic之类的巨无霸,不过得看你电脑的配置是否承受的了!这里只以resin来说明,其他的配置都差不多,可以查看各个服务器自带的说明文件。resin服务器可以在caucho.com下载,选择合适的版本,下载解压缩就可以直接使用。这里resin有一个resin-ee版本,这个主

系统 2019-08-29 21:57:44 2232

编程技术

认识项目管理

目前,随着IT项目规模和复杂性不断提高,尤其是一个软件项目,它成功的关键点已从原来的技术上转移到管理上。目前,政府、企业、大公司包括一些小公司和个人也逐渐意识到项目管理的重要性,但是现今国外内项目成功率都不高。据斯坦迪什咨询集团的调查数据,美国1995年所有IT技术项目平均成功率只有16.2%,到1998年,这个数据也仅仅达到了26%,2006年,成功率为36%,而国内信息技术项目的成功率则还要低很多。不成功的原因很多,个人认为主要问题是,管理人员的“管理

系统 2019-08-12 09:30:27 2232

编程技术

Hibernate Map映射的composite-index案例

数据库结构CREATETABLE`team3`(`id`varchar(50)NOTNULL,`name`varchar(50)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=gb2312;CREATETABLE`member3`(`id`varchar(50)NOTNULL,`name`varchar(50)defaultNULL,`age`varchar(50)defaultNULL,`

系统 2019-08-12 09:29:54 2232

编程技术

设计模式六大原则(6):开闭原则

文章来源:http://blog.csdn.net/zhengzhb/article/details/7296944定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化

系统 2019-08-12 09:29:35 2232

编程技术

EF4.0、4.3创建表达式树状动态查询总结

---------------------------------------------快速适用效果:wherenamelike'%王%'andAge>=35orAge<10构建表达式树:(快速式)1.添加命名空间:usingSystem.Linq.Expressions;2.声明参数表达式(比如Book实体)ParameterExpressionparam=Expression.Parameter(typeof(Book));3.Expressione

系统 2019-08-12 01:33:41 2232

Python

python time.sleep()是睡眠线程还是进程

pythontime.sleep()-睡眠线程还是进程?它会阻止线程。如果查看Python源代码中的Modules/timemodule.c,您会看到在调用中floatsleep(),睡眠操作的实质部分包含在Py_BEGIN_ALLOW_THREADS和Py_END_ALLOW_THREADS块中,允许其他线程继续执行当前线程睡觉。你也可以用一个简单的python程序来测试它:importtimefromthreadingimportThreadclass

系统 2019-09-27 17:57:08 2231