Agile
-
10 Ways to Learn New Things in Development - [转载]
2008-04-05
从一个Blog上看到的一些很不错的建议: 10 Ways to Learn New Things in Development .
摘要如下,记在这里,让自己能经常想起它们并坚持做到.
1. Read books
2. Read Code.
3. Write Code
4. Talk to other developers
5. Teach others
6. Listen to podcasts
7. Read blogs
8. Learn a new language
9. Learn the anti-patterns
10. Be Humble
-
昨天只是轻微的感冒,今天早上起来变得严重了,打开电脑,正在思考今天是上班,还是不去上班,是个问题啊。
去上班吧,怕传染到同事;不去吧, 心里又觉得过意不去。
自小老师就教导我们,“你们看某某感冒了,还发着烧呢,但为了不误了功课,还是坚持来上学“。
这影响了我的前半生,觉得感冒根本就不是什么病。
不过最近觉得感冒也算是大病了,不能再愚昧下去了,你要是把一个组的同事全给传染了,特别是组里边还有一个将要生宝宝的女同志,那是不是罪过就更大了?
所以我决定今天请假不去上班了,为了同事的健康我也不能去上班,哈。。。。。。。。
-
今天周末,老婆去加班了,我在家里睡到11点才起来。
起来后,开电脑,看看Ubuntu有没有升级(自从我升级到8.04,我不得不天天升级);当了一回猎头;吃了一包方便面,看了一会儿电视。
我突然今天决定下午在家里上自习,好久没有好好的看书了,我要找回当年上学时的感觉。
找了一本书出来 ,开始看,开始总是静不下心来,慢慢的有感觉了,看进去了。我还真把当年上自习的感觉找回来了,中间一段时间趴在桌子上睡着了竟然,不知道睡了多久,不过醒来之后精神特别的好,这感觉终于又回来了,从初中开始,我上课总是有那么一段时间会睡着了。
醒来后,继续学习,中间和几个网友侃了一会儿,还好没花太多时间。
最后,到我写这个blog为止,竟然把第二章看完了,这书我买了都三个月了,一页也没看,现在有种对得起它的感觉了,呵呵。
-
国庆1-7号我都值班,所以老婆自己回家看望父母了,所以我自己一个人在家过着混乱的生活。
今天已经是3号了,总结一下这几天的情况,等老婆回来也有个交待。
这几天主要的活动有以下几个方面:
1.吃饭
每天的早饭都没吃,1,2号两天做了一次饭,吃了三顿,主要是排骨和馒头(骨字我不会用五笔打,还是用Google.cn搜出来的);3号开始吃鸡蛋了,中午炒鸡蛋,晚上蛋炒饭。
2.娱乐
看了几部片:
冲浪企鹅,没劲儿,跟着瞎笑。
大话股神,挺有意思的,开头还能笑,但后来笑不出来了,最后是李琦大爷讲人生,讲做人。
单身部落,算是一部准三级片,要是绝大多数女性都像它片里讲得一样,那我们男性就发了,可能人香港女性就是那样?
异种(1-4) ,没劲儿,每部的主题就一个:做好外星人的计划生育工作。不过最大的发现就是在第四部里的教授是<越狱>里的T-bag演的,两部片里的表演感觉都差不多。
密会,还可以,不过故事结尾我一猜就猜出来了,没一个说真话的。
Guns.N.Roses.-.Rock.Am.Ring.2006 演唱会,好。
Guns.N.Roses.-.[Use.Your.Illusion.I].东京演唱会,复习了一下。
电视没咋看.
家里的网速不争气,而且eMule的服务器被封了几个,影响也很大,这些片是我下载差不多两个月才收集到的,快没有弹药了。
学习:
Concurrency State Models and Java Programs.2nd.Edition,主要在看这本,接近尾声了,有些收获。
水煮三国,上厕所的时候看看。
值班:
三天共计收到4个电话,有两个纯粹是骚扰性质的,一个是咨询的,一个是真有点问题,需要我帮他解决一下。
总结完毕。
-
史上最经典摇滚柔情曲15首(续) - [自写]
2007-09-01
早上起来一看blog,又一条不知道什么东西的留言,删除的时候,发现它是在史上最经典摇滚柔情曲15
这个blog下面留的,想起这是2004年的时候我写的,当时很迷恋摇滚,现在也还是。写完那个blog之后,我就决定一定要把这15首歌找全了,后来竟然没做,懒得可以。
今天上午边做测试,边找歌,接近中午,终于找全了,庆祝一下当年的愿望终于实现了。
下午边听歌边干活儿,呵呵。
-
刚才加同事Blog的友情链接,进入管理后台,就把自己最近读的书记介绍并推荐一下:
Beautiful Code :Leading Programmers Explain How They Think
这两本书是我最近主要的读物,推荐有兴趣的朋友也看一看,特别是第一本,那绝对是一本让你想一口气读完的书,不过个人英语水平所限,只能慢慢读 ~_~
-
算法最后一讲是NP问题,我不理解老师怎么要挑这一节来讲,像网络流也可以讲的啊。
上这学前我就不明白NP问题是个什么东西,结果还是没逃过去,还得学。
不断在网上找啊,看啊,今天终于明白了一点NP = Non-deterministic Polynomial != Non-Polynomial
这就是我今天学习的收获~_~
先弄一段通俗易懂的来,下面的我是看明白了,Wikipedia上的看了一回也没看明白 :(
NP并不是NON-POLYNOMIAL,把NP说成是NON-POLYNOMIAL,
是望文生义,读书不求甚解。事实上,如果你能够证明某个
NP问题是个NON-POLYNOMIAL的问题,你就可以去领那七个
百万美元数学大奖中间的一个了。
数学上著名的NP问题,完整的叫法是NP完全问题,也即
“NP COMPLETE”问题,简单的写法,是 NP=P?的问题。
问题就在这个问号上,到底是NP等於P,还是NP不等於P。
证明其中之一,便可以拿百万美元大奖。这个奖还没有人拿到,也就是说,NP问题到底是Polynomial,
还是Non-Polynomial,尚无定论。Mr. X信口开河敢说NP就是
Non-Polynomial,真是不知天高地厚,惹人笑话。NP里面的N,不是Non-Polynomial的N,是Non-Deterministic,
P代表Polynomial倒是对的。NP就是Non-deterministic Polynomial
的问题,也即是多项式复杂程度的非确定性问题。什么是非确定性问题呢?有些计算问题是确定性的,比如
加减乘除之类,你只要按照公式推导,按部就班一步步来,
就可以得到结果。但是,有些问题是无法按部就班直接地
计算出来。比如,找大质数的问题。有没有一个公式,你
一套公式,就可以一步步推算出来,下一个质数应该是多少
呢?这样的公式是没有的。再比如,大的合数分解质因数
的问题,有没有一个公式,把合数代进去,就直接可以算
出,它的因子各自是多少?也没有这样的公式。这种问题的答案,是无法直接计算得到的,只能通过间接
的“猜算”来得到结果。这也就是非确定性问题。而这些
问题的通常有个算法,它不能直接告诉你答案是什么,但
可以告诉你,某个可能的结果是正确的答案还是错误的。
这个可以告诉你“猜算”的答案正确与否的算法,假如可以
在多项式时间内算出来,就叫做多项式非确定性问题。而
如果这个问题的所有可能答案,都是可以在多项式时间内
进行正确与否的验算的话,就叫完全多项式非确定问题。完全多项式非确定性问题可以用穷举法得到答案,一个个
检验下去,最终便能得到结果。但是这样算法的复杂程度,
是指数关系,因此计算的时间随问题的复杂程度成指数的
增长,很快便变得不可计算了。人们发现,所有的完全多项式非确定性问题,都可以转换
为一类叫做满足性问题的逻辑运算问题。既然这类问题的
所有可能答案,都可以在多项式时间内计算,人们於是就
猜想,是否这类问题,存在一个确定性算法,可以在指数
时间内,直接算出或是搜寻出正确的答案呢?这就是著名
的NP=P?的猜想。解决这个猜想,无非两种可能,一种是找到一个这样的算法,
前段时间轰动世界的一个数学成果,是几个印度人提出了一个
只要针对某个特定NP完全问题找到一个算法,所有这类问题
都可以迎刃而解了,因为他们可以转化为同一个问题。另外
的一种可能,就是这样的算法是不存在的。那么就要从数学
理论上证明它为什么不存在。
新算法,可以在多项式时间内,证明某个数是或者不是质数,
而在这之前,人们认为质数的证明,是个非多项式问题。
可见,有些看来好象是非多项式的问题,其实是多项式问题,
只是人们一时还不知道它的多项式解而已。 -
新的一年开始了
2007-01-03
转眼间新年就过完了,三天假期,
1号上午网通机房的网络不正常,搞得我们直播NBA的比赛也没法进行,网友们是骂声一片片的,我也不能出去,在家里监控过程。等到网络恢复了,比赛也完了。下午出去买衣服,27号结婚,必须得在元旦期间把衣服准备好了。晚上和朋友一起去看了《黄金甲》,没啥感觉,回家之后老婆就病了,胃难受。
2号一天在家陪老婆,做饭,洗锅,看《越狱》,买药,吃了也不见好,只能喝粥。
3号上午去上课,睡了一觉,被老师逮到,叫起来提问,不会,只听见问题是什么灵感,老师说我在找灵感,放过我了。下午继续回家陪老婆,病终于好转了,到晚上已经想吃肉了,不过还是只喝了点小米粥,搞得我这两天也是顿顿喝粥,呵呵。
新年开始了,再计划一下:
1.完成公司的任务,最近的任务是做三个编码器[虚拟直播,采集,现场直播](Media Encoder),已经完成了两个,还有最后一个现场直播,这个对界面的要求比较好一些,争取年前能够给频道试用一下,这段时间还得补习一下C++和视频方面的知识。
2.争取今年把研究生的学分修完,可以准备论文了。
3.学习英语,虽然研究生的英语考试都过了,可感觉还是没什么长进,找个地方好好学学要。
4.和老婆好好过日子,呵呵,要是能把房子的问题解决了,那就更好了。
5.今年把自己以后的发展方向定一下,不论是做技术,还是其它的,都得定一个方向了。
6.其他的计划随时补充。
-
看完了代码大全2
2006-09-11
从上上周末买了这本书,就一直想看完了,每天上班的公车上,下班后回到住处有空就看,这个周末周6上课之外,就一直在屋里看书,到晚上去火车站接GF前,终于看完了,这本书很喜欢,但是里面的内容实在是太多了,有些问题以前我一直也没有确定下来,比如在一个方法有好多的参数,我是否应该把这些参数转换成为一个对象,实在是没有把握,书中就举了这种情况应该如何应对(我一般是会把它做为一个对象重新构造一下),呵呵。
书中有句话我都能背下来了:"如果在工作中学不到什么,就找一份新工作吧。"说得有道理吗?前几年我会这么做,现在这么做之前会先想一下,是否只有编程才是学习呢,作者也没有明确的说明,那我就理解为学习不只是编程技能的提高,还有其它的方面,比如和同事,客户的沟通技巧,给客户作培训,这些也都是自身技能的一部分。
这本书,以后一定要常看,遇到问题可以到这里查找一下,看看前辈是如何处理问题的。
还有就是越狱,上午看书看到饿了,边吃边看昨天下载的越狱第二季的第一集,迷上越狱了,可以学学,呵呵。
-
最近的总结
2006-01-24
又是一个多月没有写日志了,总是在瞎忙,今天就把最近的情况总结一下。
1.Linux
取得Shell运行时所在的目录
功能:主要取得了当前运行脚本的绝对目录和参数,这个脚本是晚上帮朋友写的,以前也想写一个类似的脚本,一直没有动手,效果还不错。
#! /bin/sh
name=$0
args=$*
name=`echo $name|sed 's/^\.\{1,2\}\/\{1,\}//'`
if [ ! $(echo $name | grep '^/' - ) ]; then
if [ `pwd` == '/' ]; then
name=/$name
else
name=`pwd`/$name
fi
fi
script=`/bin/ls -l $name | awk '{ print $NF; }'`
while test -h "$script"
do
script=`/bin/ls -l $script | awk '{ print $NF; }'`
done
bindir=`dirname $script`
echo "BaseDir:$bindir Args:$args"在两台机子之间拷贝文件
cat <file0> | ssh <host> "cat > /destfilepath"
这个脚本需要在两台机子之间配置ssh,有可能需要输入密码,很是方便。
2.Tagpstry
换了新的工作,对一些j2ee的框架接触的少了许多,最近在用tapestry(tacos)+spring+hibernate做一个东西,另外用了jdk5.0,用了其中的泛型和annotation的功能,最喜欢String.fromat这个功能了,强。
有时用tapestry进行一些特殊功能的实现,不是太灵活,特别是在基于tacos时,例如当提交form的时候,想要为用户提供一个确认的窗口,直接使用tacos的时候,是很难办到的,我找了它的好些component也没有找到类似的功能,用了一个比较别扭的办法:
<form jwcid="pageForm">
<div>
<label>
<span key="title">标题:</span> </label>
<input name="title" type="text" size="60" value="ognl:document.pageTitle" jwcid="title@TextField"/>
</div>
<div>
<a jwcid="@tacos:AjaxDirectLink" name="dp" id="dp" listener="ognl:listeners.deletePageData" parameters="ognl:{pageDataId}" updateComponents="ognl:{'auditResult'}"/><!--在这个a tag中触发jwcid dp的click事件-->
<a href="javaScript:var ok = window.confirm('confirm?');if(ok){did.style.display='none';document.all.dp.click()}"><span key="deletePageData">删除此记录</span></a>
</div>
</form>使用Tapestry最大的感触是刚开始的时候有些不大适应,用的习惯后就对它强大的功能很是佩服,而且在DW中设计页面正如它所声明的一样,基本上不影响整体页面的效果。
3.Java
说起来实在是不好意思,最近才明白了String.replace和String.replaceAll之间的区别,前者不使用正则表达式,而后者使用正则表达式来执行替换操作。
Jrockit是一个很强大的jvm,利用它提供的工具,可以动态的监视jvm中内存使用的状态,从Bea的文档上知道了Jrockit5.0有内存泄漏检测的工具,令人郁闷的是一直也没有成功的使用这个功能,不知道是否是由于License的限制。Jrockit的性能通过调整jvm的参数可以有很大的提升,公司有一台服务器,双CPU,把Jrockit的垃圾收集改为parallele,同时把-Xmx设为1000M,系统的响应速度得到了很大的提升,呵呵。
Hibernate删除的时候,可以通过它来删除Object,但如果对象的个数多于一个,还是用sql来删除的好,不要猜测数据的多少,因为我们不好预测到所有可能发生的情况,在sql server使用Hibernate的delete方法的时候,按照hibernate的做法,它会先找到所有要删除的对象,之后才删除,我在测试一个程序的时候,发现sql server的后台进程阻塞了好几个,全是由于事先认为数据量不大,使用Hibernate删除不会有太多的影响,就懒得用jdbc来直接删除,其实通过spring的JdbcTemplate非常方便。
4.Python
前些日子用Python写了个程序,先在windows上写,后传到Linux上运行,发现总是不对,在网上搜索了一下,有高人说可能是由于windows和Linux之间换行符的不同赞成的,可以用dos2unix命令解决,不过这个命令不是在所有的Linux发行版上都有的。
5.其它
最近GCT考试结果出来了,还好被录取了,又要上学了,呵呵。今天上午把亲爱的GF送上火车了,心里的一块石头总算落下来了,不过又要给自己找火票了,晚上有同学打过电话来说,回大同的票已经没有了,郁闷,该怎么回家呢?明天再说吧。







