自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

七 linux 常用命令的具体用法

系统信息uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本 uname -a 列出所有东西shutdown -h now 关闭系统(1)文件和目录 cd - 返回上次所在的目录 ls -l 显示文件和目录的详细资料ls -a 显示隐藏文件 mkdir dir1 dir2 同时创建两个目录mkdir -p /tmp/dir1/di...

2013-03-27 10:15:00 182

会议是浪费工作时间的最佳去处

今天你开了多少个会?这个星期呢?这个月呢?现在你再自问一下,那些会议中有多少是值得参加的?如果把相同的时间用在工作上,你又能完成多少事情?这不禁让人想知道,我们究竟为什么要开会。在GitHub,我们不开会。我们没有固定的工作时间,甚至都没有规定工作日。我们不记录休假或者病假的天数。我们没有经理,也没有组织结构图。我们没有着装规范。我们没有开支账户审计,也没有人力资源部门。译者注...

2013-03-27 06:53:00 202

结对编程与代码评审

Tom Dommett对“结对编程”(Pair Programming)有一些正面的经验。他把它们写下来,并分享给大家了:这个概念是要让两个开发者在同一台机器上工作。他们都有各自的键盘和鼠标。在任何一个给定的时间,其中一个人作为“驾驶员”而另一个作为“领航员”。这两个角色每隔一段时间(可以是一小时,也可能是任意时候)交换一次。“驾驶员”负责编写代码,“领航员”则负责阅读、核对、拼写检查以及在脑...

2013-03-26 14:40:00 788

六 linux X window system

为啥图形窗口接口要称为 X 呢?因为就英文字母来看 X 是在W(indow) 后面,因此,人们就戏称这一版的窗口接口为 X ,有下一版新窗口之意X系统由3个相关的部分组合起来的。   服务端(Server)  Server是控制显示器和输入设备(键盘和鼠标)等硬件的软件。它负责检测具体那个设备有什么动作,如键盘按下、鼠标滑动,但它不能将这些动作转化为绘图数据。它还负责 设备...

2013-03-21 13:58:00 175

五 linux 下 安装软件

linux tarball 安装建议1 最好将 tarball 数据解压到 /usr/local/src 中 (由文件名称可以看出)cd /usr/local/srctar -zvxf softwareCode.tar.gz2 每个软件都单独安装到 /usr/local/softwareName 下面 (便于反安装)./configure --help |l...

2013-03-21 11:02:00 102

四 linux下常用简写命令的全称

/bin = BINaries/dev = DEVices/etc = ETCetera 附加物或 EdiTable Configure file 配置文件/proc = PROCesses/sbin = Superuser BINaries/usr = Unix Shared Resourcesapt = Advanced Packaging Tool bash = ...

2013-03-21 10:47:00 149

三 linux 文件系统的权限问题和涉及到的软硬链接

任何设备在linux下都是文件。文件即包括windows下的文件又包括windows下的目录,还包括windows下的设备。一、文件权限的意义r:可以读这个文件的具体内容;w:可以编辑这个文件的内容,包括增加删除文件的具体内容 但不包括删除该文件;x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的...

2013-03-21 10:44:00 172

一, linux安装时遇到的概念解析

linux是由内核、Shell、文件系统加上linux的一些工具组成的。1)linux内的所有数据都是以文件的形态来呈现的。2)挂载就是利用一个目录当成进入点,将某磁盘分区的数据放置在该目录下。关于挂载我们需要知道以下两点a)单一目录不应该挂载多个文件系统b)作为挂载点的目录理论上应该为空若不是空的当挂载某个文件系统后,那个目录的数据将会被隐藏(不是被覆盖),直到被...

2013-03-21 10:27:00 82

避免在代码里写注释

如果用很多注释来“装饰”代码是件好事的话,那么在代码中加入大片大片的注释便是锦上添花了。是这样吗?事实上不完全是这样的。过犹不及,好心也会办坏事。'*************************************************' Name: CopyString'' Purpose: This routine copies a string from the s...

2013-03-14 14:21:00 212

对 AtomicInteger 源码 的理解

java.util.concurrent.atomic 包提供了若干个类能实现对int,long,boolean,reference的几个特殊方法非阻塞原子性,这一系列类的主要基于以下两点1.volatile修饰变量,保证get()/set()的原子性 2.利用系统底层的CAS原语来实现非阻塞的其它方法原子操作 private volatile int value; pub...

2013-03-08 17:22:00 133

对 synchronized 的理解

synchronized : java 中的关键字, 在编译之后 会在同步块的开始处形成monitorenter字节码,在同步块的结束处形成monitorexit字节码。 这两个字节码都需要指定加锁和解锁的对象。synchronized (lockObject) {} //锁 对象为lockObjectpublic synchronized void MethodNam...

2013-03-06 16:39:00 111

HotSpot jvm 分配对象的 具体过程

原文为 周志明先生首发,http://icyfenix.iteye.com/blog/1145044本文只是做了一些整理虚拟机遇到一条new指令时,先要将对应的类加载到方法区,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance ...

2013-03-06 15:39:00 172

学海无涯苦作舟

作者在Twitter上发的一条短讯:“每一天,你一定要一起床就热情澎湃。否则,你就只是在打工。”3:51 PM –2012-5-1在我们创办Stack Overflow网站之后,有些人开始承认:我们构造了一个还过得去的“捕鼠器”,把大家都吸引到那里去提问和回答问题。不可避免的猜测也随之而来:我们是否可以用你们的引擎来构建一个关于各种主题的问答网站呢?我们的答案就是Stack Exc...

2013-03-05 09:20:00 111

ThreadPoolExecutor 的 shutdown() 和shutdownNow()

public List<Runnable> shutdownNow() { List<Runnable> tasks; final ReentrantLock mainLock = this.mainLock; mainLock.lock(); try { checkShutdownAccess(); advanceRunState(STO...

2013-03-04 10:23:00 295

JAVA中 终止线程的方法

在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(),stop(),stop(Throwable) andsuspend(),destroy() andresume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。在Sun公司的一篇文章《Why are Thread.stop, Th...

2013-03-03 16:55:00 98

对你的屁股好一点!

作为软件开发人员,买一把上乘的电脑椅也许是你能做的最明智的投资之一。事实上,在过去几年看过各种各样的椅子之后,我得出了一个结论:如果你想买一把上乘的椅子,你要花的钱不会少于500美元。如果你在座椅上花的钱没那么多——除非你正在经历那场跨世纪互联网泡沫破裂后的资产拍卖——你可能正在犯一个错误。我对上述结论仍然深信不疑。我建议所有读到这篇文章的程序员,都去认真考察一下你在工作场合所坐椅子的价值...

2013-02-06 09:47:00 278

从《偷天情缘》看A/B测试的问题

译者注:A/B测试是一种网页优化方法,可以用于增加转化率、注册率等网页指标。使用A/B测试首先需要建立一个测试页面,这个页面可能在标题字体、背景颜色、措辞等方面与原有页面有所不同,然后将这两个页面以随机的方式同时推送给所有用户。接下来分别统计两个页面的用户转化率,即可清晰地了解到两种设计的优劣。在前不久的一次旅行途中,我在飞机上碰巧又看了一遍《偷天情缘》(GroundhogDay)。如...

2013-02-01 16:05:00 193

代码评审:Just do it!

在“The Soft Side of Peer Reviews”(同级评审的柔软面)一文中,Karl Wiegers以下面这段高调的声明开篇:译者注:Karl E. Wiegers是世界著名软件工程大师,以需求、项目管理、过程改进等领域的研究和实践著称。曾任IEEE Software杂志编委和权威期刊SoftwareDevelopment的特邀编辑和专栏作家。他曾经在柯达公司工作18年,领导过...

2013-01-29 22:14:00 149

结交“混世魔猴”

去年年底,Netflix技术博客上发表了这么一篇文章,题为“转向亚马逊网络服务过程中学到的五个教训”(5Lessons We’ve Learned Using AWS)。亚马逊网络服务(Amazon Web Services,以下简称AWS)无疑是所谓的“云计算”的杰出代表。因此,这篇文章实际上也可以看成是给任何想要转向“云”的网站的关键性建议。当然,这些建议的确很棒!下面是一条最让我震惊的:...

2013-01-26 22:42:00 163

烂苹果是团队的毒药

烂苹果是团队的毒药!Steve教了我们几招如何去识别团队中的"烂苹果": 1. 他们不虚心向同事学习,而是极力掩饰自己的无知。他们常说,"我不知道怎么解释我的设计;不过,它肯定没问题。"或者,"我的代码太复杂了,没法测!"2. 他们过分地强调个人隐私,"我不需要别人来审查我的代码。" 3. 他们占山为王,"没人能解我代码里的bug。我现在没空去解它们,不过下周我会去看的。"...

2013-01-03 21:11:00 149

程序员要注重沟通能力的提升

你曾经在应聘一份编程工作的面试中被问及一些解谜类的问题吗?我反正碰到过。我被问到的那个问题是:你最喜欢的那个牌子的苏打,有多少是在本省被消费的?拜托,正确的答案不能是“关我什么事”,除非你不想得到这份工作了。我当时对这个问题毫无头绪,后来才知道这是一个“费米问题”(Fermi Question)。译者注:恩里科·费米(Enrico Fermi),美籍意大利裔物理学家,曾经荣获1938年...

2012-12-28 20:52:00 377

工作经验年限之神话

在招聘过程中,纵然你的电话面试筛选工作做得非常出色,有个概念还是常常会被扭曲。在澳大利亚有一家名叫Flat Rate Recruitment的人才中介公司,他们的Andrew Stuart曾经给我写信,他向我讲述了一个非常好的故事。我把它摘录如下,正好来说明这个问题:我有个客户正在做一个高级的关于安全方面的应用程序。我给他们输送人才,一个接着一个,结果他们统统都被退回来了。究其原因,几乎无一例...

2012-12-28 00:40:00 95

servlet学习

一 Java web应用 以及servlet的生命周期无论是Java web应用还是servlet他们的生命周期都是有容器来控制的。一般情况下所用的Java web 应用都会随着容器的启动而启动, 随着容器的关闭而终止。Java Web应用 的生命周期启动:1. 把web.xml 加载到内存中2. 为web应用创建一个ServletContext对象3. 对所有的Filter进...

2012-12-27 16:37:00 132

说句“圣诞快乐”不容易!

1. “圣诞快乐!” “嘿,别以为我们这里都是基督教徒。”2. “哦,好吧,光明节快乐(犹太教节日)。宽扎节快乐(非裔美国人的节日)。。。”3. “那些节日到了吗?”4. “好吧,只能说节日快乐了!” “别说‘快乐’,抑郁的人伤不起!”...

2012-12-25 13:12:00 169

怎样招聘程序员

在招聘程序员方面,没有所谓的神奇“银弹”!但我可以分享一些建议和诀窍,它们经过我的实践证明是有效的。这些方法我多年来一直在用。我把它们总结如下:首先,要求通过几个简单的“Hello World”在线测试。我知道这听起来很疯狂,但有些自称是程序员的人根本没写过代码。时至今日,还有人常常过来告诉我:他们在面试过程中碰到一些应聘者连最基本的编程测试题目都不会做,真是难以置信!那也是为什么要把简...

2012-12-25 09:41:00 136

我同情那些不写单元测试的傻瓜

J.Timothy King写了一篇很棒的文章:“先写单元测试的12个好处”(Twelve Benefits of Writing Unit Tests First)。遗憾的是,他在文章最后说的话完全是画蛇添足。然而,如果你不愿意改掉先写代码的老习惯,如果你觉得固执己见比设计优秀的软件更重要,好吧,我对你深表同情。把你的怜悯用在不认同你的人身上,并不是推广你主张的最有效的方式。...

2012-12-24 13:06:00 77

二 linux内核被加载的过程

内核必须模块vmlinz(5M左右)不认识硬盘,原本是需要写跟loader中一样的内容,来加载非必要模块。内核非必要的功能被编译为模块放在了/lib/modules(143M)中。现采取的措施是 在loader加载kernel的同时 也加载initial RAM Disk ==initrd 到内存中。initrd在一般命名为/boot/initrd(14M) 其作用是挂载内存的虚拟文件...

2012-12-19 17:06:00 132

关于网络密码的可怕真相

在2010年12月,Gawker网络被黑客攻破了,结果导致一系列网站如Lifehacker、Gizmodo、Gawker、Jezebel、io9、Jalopnik、Kotaku、Deadspin和Fleshbot同时出现安全缺口。如果你是我们旗下任何网站的一名评论员,你可能也有一些麻烦。译者注:Gawker是最有名的明星追踪网站之一,其信条是“信谣、传谣、不造谣”。Gawker认为“人人都是狗...

2012-12-14 16:15:00 247

花钱买幸福

“……最难的是,要搞明白为什么你总是这么卖命地工作这么长时间。”科学家们不畏惧任何流行的反面主张,还是独树一帜地抛出这样的观点:钱是可以买到幸福的。一定程度上来说,他们是对的!近期的研究已经开始区分主观幸福的两个方面:情绪上的幸福感和对生活的看法。前者是指一个人每天经历的情绪的质量,具体包括快乐、压力、悲伤、愤怒、其他让人开心或不开心的感情的频率和强度。后者是指人们在审视他们的生活时所持的...

2012-12-07 17:57:00 162

软件定价:我们深谙其道吗?

本文为翻译初稿。更多精彩内容,敬请关注《高效能程序员是怎样炼成的》。(暂定名)一段时间以来频繁光顾iPhone应用商店,以致于产生了个副作用:我开始从根本上改变了对软件定价的看法。这么多优秀的iPhone应用程序,要么是免费的,要么只卖区区几块钱。软件的定价已经低于冲动购买的门槛,以致于花钱买东西已经成了不费脑筋的事:看到有趣的东西,只要你喜欢,买!但那些定价高于5美元的应用程序呢?令人发...

2012-11-17 21:22:00 248

HashMap 源码笔记

Entry条目在引入Entry之前的标准的Map的遍历方法如下:Set keys = map.keySet( );if(keys != null) { Iterator iterator = keys.iterator( ); while(iterator.hasNext( )) { Object key = iterator.next( ); Object va...

2012-10-27 20:34:00 63

程序员的八种境界---兼答为什么中国的程序员总被称为码农?

本文为翻译初稿。更多精彩内容,敬请关注《高效能程序员是怎样炼成的》。(暂定名)在求职的时候,相信很多人都被问过这样的问题,“你对自己未来5年的职业规划是怎么样的?” 每当我被问起这个问题的时候,我的脑海里总是浮现出Twisted Sister乐队1984年拍摄的一段视频里的这个场景:一位老师对着他的学生大喊,“我想要你告诉我,不,是告诉全班同学,你究竟想要过怎样的生活?”译者注:Twi...

2012-10-24 16:09:00 424

concurrentHashMap 到底采取了什么措施使得它比synchronized(HashMap)好

免锁容器背后的通用策略:1使用Lock机制 而不是synchronized 2 对容器的修改可以与读取操作同时发生,只要读取者只能看到完成修改的结果即可。(volatile)3 修改是在容器数据结构的某一部分的一个单独副本上执行的,这样就能避免锁住整个容器Java Memory Model中,Memory分为两类,main memory和working memory,mai...

2012-10-23 17:10:00 390

网络操作系统和分布式系统区别简介

网络操作系统(NOS)是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。网络操作系统严格来说应称为软件平台。网络操作系统运行在称为服务器的计算机上(你的pc装了此系统,pc就是一个小服务器),并由联网的计算机用户共享,这类用户称为客户。NOS是以使网络相关特性达到最佳为目的的,如共享数据文件、软件应用,以及共享...

2012-10-15 12:17:00 633

快速排序,堆排序和归并排序谁更快?

时间复杂度:快速排序最坏情况只有两种,并且通过随机化算法可以避免,因此这三种算法时间复杂度可以说是一样的。空间复杂度:快排O(logn),堆O(1),归并O(n)。当n比较大的时候,归并排序往往会出内存溢出错误,如普通机器n>1000万时。并且假如你能意识到cashe的存在,就能推出归并排序应该是比其他两个要慢的。关于普通快排和堆排的比较自己写了一下代码,简单直接,没有经...

2012-08-03 18:27:00 862

虚拟存储器 与虚拟内存详解

在没有虚拟存储器之前源程序在gcc –o 后生成的文件是可执行目标程序a.out,每条指令都有一个逻辑地址 32位。它存在硬盘上。要执行时,只需找到该文件,将其装入内存。装入的方式可以有多种,比如分页,分段等等。但是,必须将该程序完全装入内存。分页:将一个进程的逻辑地址空间(32位)分成若干大小相等的页。使用分页方式时有一个问题,必须清楚:os是根据文件系统找到的a.o...

2012-07-06 17:11:00 475

今天我要写Code吗?

“Manager还能不能写Code?”如果你刚从技术开发职位升迁到管理职位,这会是一个在相当长一段时间内非常纠结你的问题。如果你之前技术做得还不错、算是个“高手”,你应该会更加纠结一点,也许每天都在挣扎着:“今天我要写Code吗?”在深入探讨这个问题之前,先跟大家分享一下我的个人经历吧~ 我在S公司工作已经满5年了。刚加入这个公司的时候,我的职位是Sr. Software Engineer...

2010-05-07 10:31:00 74

Google、 Python 和墙

Python 是 Linux 系统下的流行编程语言,它是纯技术性的。但是你知道为什么我们的墙会阻止我们下载 Python 吗?很多人以为是墙将它和另一个成人站点搞混了,其实不是这样的。原因在 appspot。appspot 是 Google 提供的站点托管,用户可以在上面轻易的建立个人网站,包括(Web 代理)。要想在 appspot 上建站,你需要学会 Python。不知出于什么原因,app...

2010-03-23 09:55:00 98

空空如也

空空如也

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

TA关注的人

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