2015年5月月 发布的文章

HBase Shell无法删除

在secureCRT中,点击【选项】【回话选项】【终端】【仿真】,右边的终端选择linux,在hbase shell中如输入出错,按住Ctrl+删除键 即可删除!

训练对数字的敏感

开经营会议的时候,我常常发现很多中高层管理人员,对数字相当的不敏感。有时候,整个一场会开完,有些管理人员对各部门所报告的数据,既无问询,也不质疑,只是盯着幻灯片,任其往下翻。而报告的人,常常将一些数字念到个位数,乃至小数点后面两位数,也让我觉得不可思议。我觉得这样的会议,这样的数字,这样的管理人员,都没有价值。不能透过数字,看出数字背后的问题的管理人员,不是好管理人员。要么赶快训练对数字的敏感度,要么,干脆另谋生路。
这让我想自己与数字打交道的故事。
读书时,我的数学成绩并不好。参加工作后,我所从事的工作,却是个天天跟各种数据打交道的工作。至今还记得,第一次做统计数据的工作,一堆数字,我加过去,而后加过来,怎么都对不起来。第二天就要交那份报告,那天晚上,我却被困在一堆数字里,晕头转向,欲哭无泪。在快要绝望的时候,一位新来的工程师来找资料,成了我最后的救命稻草。在我的万般央求之下,他帮我把那堆统计数据给弄了出来。
从此,那些数据就变成了我的噩梦。有段时间,我做梦的主要内容,就是不停计算数字。但我却常常因为一些数字的准确性,而被上司骂得狗血喷头。我不服气,但又无奈。有些事情,我也常常搞不懂,那些数字都是我统计的,一个个都是我输进电脑,做成图表的。为何我发现不了其中的错,而上司翻翻,扫一眼,就能发现错误呢?
后来,我从统计,被调入生产线,之后,又被调去任品质部主管。最糟糕的事情,就发生在那一年。工作忙,常常起早贪黑。每次开会,检讨工作,除了带着一堆资料之外,当然还要记住很多重要的数据。但我是对数据不敏感。其结果是,我越想拼命记住那些数字,我的记忆力却变得越差。一度到了我跟别人讲话,讲了上半句,竟然会忘记下半句想讲什么。
有一天,我们在那里进行月度检讨。老板问财务部经理一些经营数字,比如销售业绩,成本状况,等等,我听财务部经理在那里翻着月统计报表,答:“8360912元”,“337231元”,“4053222元”。老板忽然问起三个月前的材料成本数据,财务经理傻眼了,手上没有报告,答不出来。我恰好记得那些数据,便顺口答:“234万。占了整个产值的28%。”散会后,我很奇怪,对数据一向迟钝如我的人,何以记得三个月前的成本数据?仔细想,原来那时候我要分析品质成本,就看了整个成本数据。但我记忆力本身就差,又对数字不敏感,所以只是记了大数。
记大数?我忽然开了窍。我过去之所以记不住那么多数据的原因,想来大概也如财务经理一样,数字弄得太精准。数字精准,就必须得花大力气去记。但事实是,没有人有那样的精力和能力,记得那些精确到个位的数字。我仔细分析了一下,发现,在企业里,做为管理人员,分析和判断时,只需要到万位数就可以,万以下的数字,可以忽略不计。另外一些数字,则只需要记住百分比即可。有了大数,有了百分比,有些数字记不住,其实不打紧,一推算,就出来了。
之后,我再接再厉,继续分析总结,发现,其实,很多数字是有规律的。比如成品率,废品率,材料成本,管理费用,他们都在某个百分比上下波动。记住了上年度,或者本年度第一季度的大数(到万即可)和百分比,以其为参考基准线,后面几个月,上下的波动,其实很容易记住。如果报表中,忽然出现某个跳动太明显的数字,自然便是异常的。快速判断这个异常是计算错误,还是真的异常,只需要看与其相关联的数字即可,如果与其相关联的数字也随之波动,则是真的异常,如果与之相关联的数据没有太大变化,立刻就可以判断出来,这个数字的计算是有问题的。
大数当然只是用于方向和趋势的判断。仅仅记住大数是不够的,还要记住每个项目的关键指标。关键指标,是很多数字赖以存在的基础和基点。比如,计划部门,必须记住物料采购周期,产品生产周期、按时交货率、每个工序标准加工时间等等,以此为参考基点,任何与之相关的数字拿来一比,他可以立即判断进度是否异常。若考核业绩的话,一定要记得部门平均业绩,个人平均业绩,最高、最低业绩等。如果是市场部,除了记住一个月的销售指标外,自然要分解到每天,每个片区的销售业绩指标,到哪天,只要看当天业绩和累积大数,自然对销售状况了然于胸了。
除了根据大数和关键指标去衡量和判断之外,还要随着异常的波动,适当调整自己的注意力。每天,那些项目虽然重要,但是在图表上显示正常的数据,可以一扫而过,不必为之花时间。你要集中注意力,重点盯异常点。一般异常的,就是一个,或者几个点而已,所以,你会很容易关注的过来,自然也就很容易记得住,盯得住。其实,只要理解了数字背后的意义,记住相关数字,是比较容易的事。
当明白了这些的时候,我就开始调整我的工作方法,记数字的方式,有意识训练自己。后来,我尝试让自己记住更大范围、更宏观的数字,比如世界范围内的行业数字,在日本、美国、韩国、台湾等国家地区的数字,中国的行业数据,某个地区的行业数据。我尽大可能放宽我的视野,搜寻与我所从事领域相关联的数字,拿来判断一下,琢磨一下它的好坏,根据它的走势,寻找一下它的判断基准点。渐渐的,我也变成了一个对数字敏感的人。
特别是我离开原来的公司,到了新公司之后,能快速记住主要的关键指标和数字。我在一两天之内,就能从各部门提供的数据和报告中找出问题;我能看一眼财务的数据,就指出那些重要指标与世界发达国家水平及中国发达地区水平、行业平均水平的差异,乃至重要物料计算是否准确。我甚至能比排计划的人,更能快速计算出物料需求量,生产中可能受阻的位置和可能受阻的时间等等。他们常常惊叹我对数字的敏感程度,以为我的记忆力超人。其实非也。到现在,我还会常常忘掉很多常用的电话号码,每次都要从手机中查,甚至不记得现在租住房子的门牌号码。之所以能记住与那么多与工作有关的数字,无非是我对工作用心,找到了一点点记住数字的技巧和规律。总结起来,其实也相当简单,就几句话:“记大数,略小数,有事没事,琢磨琢磨关键指标,盯紧异常数。
转自:
http://site.douban.com/129505/widget/notes/5254608/note/195879174/

IT人,不要一辈子靠技术生存

我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊).
一。 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。
不知道你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)
更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会对你呲牙裂嘴)。
也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。
比之于我们的生活和人际关系及工作,那些从事售前和市场开发的朋友,却有比我们多的多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,他们比我们坦率说更有发财和发展的机会,只要他们跟我们一样勤奋。(有一种勤奋的普通人,如果给他换个地方,他马上会成为一个勤奋且出众的人。)
二。在学习技术的时候千万不要认为如果做到技术最强,就可以成为100%受尊重的人。
有一次一个人在面试项目经理的时候说了这么一段话:我只用最听话的人,按照我的要求做只要是听话就要,如果不听话不管他技术再好也不要。随后这个人得到了试用机会,如果没意外的话,他一定会是下一个项目经理的继任者。
朋友们你知道吗?不管你技术有多强,你也不可能自由的腾出时间象别人那样研究一下LINUX源码,甚至写一个LINUX样的杰作来表现你的才能。你需要做的就是按照要求写代码,写代码的含义就是都规定好,你按照规定写,你很快就会发现你昨天写的代码,跟今天写的代码有很多类似,等你写过一段时间的代码,你将领略:复制,拷贝,粘贴那样的技术对你来说是何等重要。(如果你没有做过1年以上的真正意义上的开发不要反驳我)。
如果你幸运的能够听到市场人员的谈话,或是领导们的谈话,你会隐约觉得他们都在把技术人员当作编码的机器来看,你的价值并没有你想象的那么重要。而在你所在的团队内部,你可能正在为一个技术问题的讨论再跟同事搞内耗,因为他不服你,你也不服他,你们都认为自己的对,其实你们两个都对,而争论的目的就是为了在关键场合证明一下自己比对方技术好,比对方强。(在一个项目开发中,没有人愿意长期听别人的,总想换个位置领导别人。)
三。你更不要认为,如果我技术够好,我就自己创业,自己有创业的资本,因为自己是搞技术的。
如果你那样认为,真的是大错特错了,你可以做个调查在非技术人群中,没有几个人知道C#与JAVA的,更谈不上来欣赏你的技术是好还是不好。一句话,技术仅仅是一个工具,善于运用这个工具为别人干活的人,却往往不太擅长用这个工具来为自己创业,因为这是两个概念,训练的技能也是完全不同的。
创业最开始的时候,你的人际关系,你处理人际关系的能力,你对社会潜规则的认识,还有你明白不明白别人的心,你会不会说让人喜欢的话,还有你对自己所提供的服务的策划和推销等等,也许有一万,一百万个值得我们重视的问题,但你会发现技术却很少有可能包含在这一万或一百万之内,如果你创业到了一个快成功的阶段,你会这样告诉自己:我干吗要亲自做技术,我聘一个人不就行了,这时候你才真正会理解技术的作用,和你以前做技术人员的作用。
[小结]
基于上面的讨论,我奉劝那些学习技术的朋友,千万不要拿科举考试样的心态去学习技术,对技术的学习几近的痴迷,想掌握所有所有的技术,以让自己成为技术领域的权威和专家,以在必要的时候或是心里不畅快的时候到网上对着菜鸟说自己是前辈。
技术仅仅是一个工具,是你在人生一个阶段生存的工具,你可以一辈子喜欢他,但最好不要一辈子靠它生存。
掌握技术的唯一目的就是拿它找工作(如果你不想把技术当作你第二生命的话),就是干活。所以你在学习的时候千万不要去做那些所谓的技术习题或是研究那些帽泡算法,最大数算法了,什么叫干活?
就是做一个东西让别人用,别人用了,可以提高他们的工作效率,想象吧,你做1万道技术习题有什么用?只会让人觉得酸腐,还是在学习的时候,多培养些自己务实的态度吧,比如研究一下当地市场目前有哪些软件公司用人,自己离他们的要求到底有多远,自己具体应该怎么做才可以达到他们的要求。等你分析完这些,你就会发现,找工作成功,技术的贡献率其实并没有你原来想象的那么高。
不管你是学习技术为了找工作还是创业,你都要对技术本身有个清醒的认识,在中国不会出现BILL GATES,因为,中国目前还不是十分的尊重技术人才,还仅仅的停留在把软件技术人才当作人才机器来用的尴尬境地。(如果你不理解,一种可能是你目前仅仅从事过技术工作,你的朋友圈子里技术类的朋友占了大多数,一种可能是你还没有工作,但喜欢读比尔。盖茨的传记)。

程序员

程序员

五一放轻松

五一放轻松,该干点啥就干点啥呗!



情人节html5玫瑰花源码

情人节html5玫瑰花源码

玫瑰花

玫瑰花

<html>
<head></head>
<body>
<iframe width="1200px" scrolling="no" height="820px" frameborder="0" noresize="noresize" src="javascript:'
<!doctype html>n<html>nt<head>ntt<title>JS1k, 1k demo submission [1022]</title>ntt<meta charset=&quot;utf-8&quot;
/>nt</head>nt<body>ntt<canvas id=&quot;c&quot;></canvas>ntt<script>ntttvar b =
document.body;ntttvar c = document.getElementsByTagName('canvas')[0];ntttvar a = c.getContext
('2d');ntttdocument.body.clientWidth; // fix bug in webkit: http://qfox.nl/weblog/218
ntt</script>ntt<script>n// start of submission //nwith(m=Math)
C=cos,S=sin,P=pow,R=random;c.width=c.height=f=500;h=-250;function p(a,b,c){if(c>60)return[S(a*7)*(13+5/(.2+P
(b*4,4)))-S(b)*50,b*f+50,625+C(a*7)*(13+5/(.2+P(b*4,4)))+b*400,a*1-b/2,a];A=a*2-1;B=b*2-1;if(A*A+B*B<1){if(c>37){n=
(j=c&1)%3F6:4;o=.5/(a+.01)+C(b*125)*3-a*300;w=b*h;return[o*C(n)+w*S(n)+j*610-390,o*S(n)-w*C(n)+550-j*350,1180+C
(B+A)*99-j*300,.4-a*.1+P(1-B*B,-h*6)*.15-a*b*.4+C(a+b)/5+P(C((o*(a+1)+(B>0%3Fw:-w))/25),30)*.1*(1-B*B),o/1e3+.7-
o*w*3e-6]}if(c>32){c=c*1.16-.15;o=a*45-20;w=b*b*h;z=o*S(c)+w*C(c)+620;return[o*C(c)-w*S(c),28+C(B*.5)*99-b*b*b*60-
z/2-h,z,(b*b*.3+P((1-(A*A)),7)*.15+.3)*b,b*.7]}o=A*(2-b)*(80-c*2);w=99-C(A)*120-C(b)*(-h-c*4.9)+C(P(1-b,7))
*50+c*2;z=o*S(c)+w*C(c)+700;return[o*C(c)-w*S(c),B*99-C(P(b, 7))*50-c/3-z/1.35+450,z,(1-b/1.2)*.9+a*.1, P((1-
b),20)/4+.05]}}setInterval('for(i=0;i<1e4;i++)if(s=p(R(),R(),i%2546/.74)){z=s[2];x=~~(s[0]*f/z-h);y=~~(s[1]*f/z-
h);if(!m[q=y*f+x]|m[q]>z)m[q]=z,a.fillStyle=&quot;rgb(&quot;+~(s[3]*h)+&quot;,&quot;+~(s[4]*h)+&quot;,&quot;+~(s[3]
*s[3]*-80)+&quot;)&quot;,a.fillRect(x,y,1,1)}',0)n// end of submission //
ntt</script>nt</body>n</html>'"></iframe>
</body>
</html>

Hadoop和云计算的关系

Hadoop组件

Hadoop组件


Hadoop主要是由HDFS和MapReduce组成,HDFS是一个分布式文件系统(Hadoop Distributed File System),MapReduce则是用于并行处理大数据集的软件框架。因此,Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现。
Hadoop是Apache基金会下的一款开源软件,
它实现了包括分布式文件系统HDFS和MapReduce框架在内的云计算软件平台的基础架构,并且在其上整合了包括数据库、云计算管理、数据仓储等一系列平台,其已成为工业界和学术界进行云计算应用和研究的标准平台。Hadoop现在已经广泛应用于包括国外的FaceBook,Twitter,Yahoo!等公司,国内的百度,阿里等,Hadoop运行在数以千计的服务器和数以万计的CPU的集群上。基于Hadoop,用户可编写处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。
Hadoop已被全球几大IT公司用
作其”云计算”环境中的重要基础软件,如:雅虎正在开发基于Hadoop的开源项目Pig,这是一个专注于海量数据集分析的分布式计算程序。亚马逊公司则基于Hadoop推出了Amazon S3(Amazon Simple Storage Service),提供可靠,快速,可扩展的网络存储服务。因此,Hadoop是云计算中一部分技术的实现,而不是全部。
云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变,但云计算的概念其实早已提出很久,早在上世纪60年代,麦卡锡就提出了把计算能力作为一种像水和电一样的公用事业提供给用户的理念,这成为云计算思想的起源。在20世纪80年代网格计算、90年代公用计算,21世纪初虚拟化技术、SOA、SaaS应用的支撑下,云计算作为一种新兴的资源使用和交付模式逐渐为学界和产业界所认知。因此,云计算的存在只是一种新的商业计算模型和服务模式。

Java和云计算的关系

Java是一种程序设计语言,云计算是一种新的商业计算模型和服务模式。他们实际上是没有直接关系的,但是由于Java 技术具有卓越的通用性、高效性、平台移植性和安全性,并且广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、智能手机、物联网和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景,Java已经成为一个庞大而复杂的技术平台。
hadoop hadoop
Java与云计算的关系主要体现在以下几个方面:
Java在云计算中的优势:
Java使云计算更简单,Java具有简单性、兼容性、简易性、安全性、动态性、高性能、解释性、健壮性
Java与分布式计算:
基于JAVA的分布式程序设计:
基于Socket的编程
基于RMI的分布式编程
基于CORBA的分布式编程
Java与并行计算:
JDK 1.5引入java.util.cocurrent包
Java中的多线程技术实现并行计算( JET 平台)
Java SE 5 中的锁,原子量 并行容器,线程调度 以及线程执行
基于Java的分布并行计算环境Java PVM
云计算开源框架支持:
Hadoop是Java开发,很多其他的云计算相关开源软件也是由Java开发或者提供Java API
Java使得云计算的实现更为简单,而云计算让Java更有活力,找到一个新的结合点。Java在互联网应用有
着独特的优势,而云计算是基于互联网的新的商业计算模型和服务模式,两者相结合,势必创造更大价
值。