发表于: other | 作者: | 日期: 2013/5/06 09:05
标签: ,

有些时候可能大家都会问自己,如果有新的方式缩短工作时间为什么还需要每天做重复的事情呢?我们常常认为框架可以带来开发的快速和简单?是否框架就可以意味着更好,更快呢?那么什么是框架呢?
“框架目标在于在web开发过程中减轻日常活动中的管理成本… 常常意味着代码的重复使用。”
和其它任何事物一样,当我们选择使用框架的时候,我们都需要了解框架拥有优势的同时也会拥有缺点。这里常常有些重要的因素你需要提前考虑到。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/06 09:05

论坛里经常可以看到关于 35 岁程序员的生涯询问, 他们之中有些人写了十年代码, 有些人则是因为对编程发生了兴趣, 中途转行, 以下四点是给那些 30 – 35 岁程序员的建议: More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 12:05
标签: ,

UUID简介
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 08:05

CountDownLatch类
CountDownLatch 是个计数器,它有一个初始数,等待这个计数器的线程必须等到计数器倒数到零时才可继续。
比如说一个 Server 启动时需要初始化 4个部件,Server 可以同时启动 4个线程去初始化这 4个部件,然后调用CountDownLatch(4).await()阻断进入等待,每个线程完成任务后会调用一次CountDownLatch.countDown()来倒计数, 当 4个线程都结束时CountDownLatch 的计数就会降低为0,此时 Server 就会被唤醒继续下一步操作。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/06 02:05

在多线程程序设计中,经常会遇到一个线程等待一个或多个线程的场景,遇到这样的场景应该如何解决?
如果是一个线程等待一个线程,则可以通过await()notify()来实现;
如果是一个线程等待多个线程,则就可以使用CountDownLatchCyclicBarrier来实现比较好的控制。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/04 04:05
标签:

想起我刚毕业后,进入一家以软件外包为主的外企做开发。它使用传统的瀑布式的软件开发流程,没有使用任何的敏捷实践。我每天上班打开电脑,拿到自己的任务,然后从版本控制更新代码,打开工程按下Build,准备进行今天的开发任务。突然发现Build失败(通常是编译不过),大喊一声“谁Break Build啦”,也没有人响应,自己一个人郁闷,接着查看是哪些文件导致编译失败,找到最后的提交人,让他去Fix Build。后来团队里如果某个人Break Build,其他某些团队成员就在MSN的签名上写着“XXX Break Build,今天要请客吃饭”等等。其实Build失败在软件开发过程中会经常出现,不同的程序员实现自己的模块,写单元测试,完成后提交代码,难免会造成冲突导致Build失败。但是对于开发者来说,应当能够最快的获得当前Build的反馈,如果该Build失败必须在最短的时间内修复它,以免它影响其他人的开发进度。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/04 03:05

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2013/5/03 10:05

在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long seed)使用指定的seed作为发生器的种子。
随机数发生器(Random)对象产生以后,通过调用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等获得不同类型随机数。 More …

评论关闭
发表于: lnmp | 作者: | 日期: 2013/5/01 09:05
标签:

whereis用来查找软件、命令的安装路径。 More …

评论关闭
发表于: other | 作者: | 日期: 2013/5/01 09:05

科技公司对员工出手阔绰早已不是秘密,而由于出色工程师严重缺乏,这些公司更是大下血本,挽留这些难得的天才。职业和企业评分网站Glassdoor总结出了全球软件工程师薪金最高的25家公司,令人意外的是,排名第一的不是苹果、谷歌、微软甚至也不是Facebook。 More …

评论关闭