赖勇浩(http://laiyonghao.com)经常听到和看到一些前辈提起搞编程这一行最大的痛苦在于知识的更新太频繁,如同逆水行舟,不进则退,稍一松懈,就跟不上潮流。的确如此,既然身在IT界,不学习是不行的,不管你写了多少年程序,职位到了技术总监还是CTO,不去了解潮流,肯定就会被超越。10年工作经验在这个领域算个屁,写代码的不是卖油翁,可以10年用一招,一招用10年。从业以后我自己的技术更新了好几代,还好没算落后太多,还是有一些方法的,今天公开一下,
系统 2019-08-29 22:28:41 2196
在本文中,我们将介绍JSF转换和验证框架的概念,它比您所想的要容易使用得多,也灵活得多。首先我们将介绍应用于JSF生命周期的转换和验证过程,然后展示一个简单的JSF应用程序中的默认转换和验证过程。接着将展示如何创建和插入自定义的实现,以应对要求更高的场景。正如Rick在以前的文章中所说的,我们会理论与实践并重,先介绍概念,再用一个实际例子说明这些概念的应用。示例应用程序将涵盖大多数转换和验证用例,虽然只是初级的。注意,示例应用程序的默认编译环境是Maven
系统 2019-08-29 22:23:21 2196
在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码:publicclassUnsafeLazyInitialization{privatestaticInstanceinstance;publicstaticInstancegetInstance(){if(in
系统 2019-08-29 22:03:53 2196
6.1.1AOP是什么考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平台,面对这样的支付系统该如何解决呢?传统解决方案:1)日志部分提前公共类LogUtils,定义“longPayBegin”方法用于记录支付开始日志,“logPayEnd”用于记录支付结果:2)支付部分,定义IPayService接口并定义支付方法“pay”,并定义了
系统 2019-08-29 22:00:22 2196
【摘自互联网,在此留存为备档,如需引用请联系原作者】本文首先从P2P的定义出发,介绍了结构化P2P与非结构化P2P的区别以及结构化P2P的核心技术DHT。而后,本文深入介绍了几种主流的DHT算法与协议并对每种协议进行了讨论。文章的最后展望了DHT在未来的发展趋势。对等网络(Peer-to-Peer,简称P2P)是目前非常热门的应用,自1999年以来,P2P的研究一直是国外知名学府(如美国麻省理工学院,加州大学伯克利分校和莱斯大学等)以及知名企业的研发机构(
系统 2019-08-12 09:30:03 2196
今天是我第二天搞Watir,写了一段简单的代码:ie.goto("http://130.34.98.11:18080/bssframe");ie.text_field(:id,"STAFF_ID").set("SUPERUSR");ie.text_field(:id,"PASSWORD").set("XXXXXX");ie.button(:id,"bLoginSubmit").click;contentFrame=ie.frame(:id,"content
系统 2019-08-12 09:29:47 2196
[记录数模集训期间Matlab的学习过程]①模拟时针clear,closeall,clcdegree=[0:0.01:pi*2];plot(cos(degree),sin(degree),r-);set(gca,Xtick,[],Ytick,[]);boxon;axis([-1.31.3-1.31.3])axissquaretitle(模拟时钟,Fontsize,22,Fontname,华文行楷)%时针刻度form=5*pi/2:-pi/6:pi/2a=l
系统 2019-08-12 09:29:31 2196
校验是否全是数字组成:functionisDigit(s){varpatrn=/^[0-9]{1,20}$/;if(!patrn.exec(s))returnfalsereturntrue}校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串functionisRegisterUserName(s){varpatrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if(!patrn.exec(s))re
系统 2019-08-12 09:29:28 2196
题目大意要求你在N*M大小的主板上嵌入2*3大小的芯片,不能够在损坏的格子放置,问最多能够嵌入多少块芯片?题解妈蛋,这道题折腾了好久,黑书上的讲解看了好几遍才稍微有点眉目(智商捉急),接着看了网上大牛的解题报告和实现代码才弄明白怎么用三进制来进行状态压缩,关键就是理解能够横着放置和竖着放置的条件。由于竖着放置会受到前面两行的影响,这样我们就可以用三进制来表示前面两行的状态了,然后根据前面两行的状态我们也可以得到当前行与前一行的初始状态,之后再根据两个的状态
系统 2019-08-12 09:27:32 2196
开通这个blog是希望自己能够与志同道合的人有更多的交流,同时还有老师的作业要求。很长时间以来我从博客园看到了许多高质量的文章,学到了很多自己希望学到的知识,有了些许提高,非常感谢博客园这个平台,希望自己的博客不会半途而废,能坚持写下去。既然提到了老师的作业要求,我会在一开始写一些关于软件测试的相关内容,既能够完成作业,也可以使自己多了解这方面的内容。之后的内容还会与我的专业相关,另外肯定会有我自己更感兴趣的内容(比如绘画,etc.)。写在第一篇
系统 2019-08-12 09:27:10 2196