2013年7月月 发布的文章

软考-计算机技术与软件专业技术资格(水平)考试

软考-计算机技术与软件专业技术资格(水平)考试 信息系统项目管理师
很多朋友都有系统集成项目管理工程师证书,但证书考出来之后发现这个证书好像没什么用处,于是便把它“冷落”了,或者也有朋友知道这个证书是可以挂靠赚钱的,但苦于不知道挂靠的流程或找不到企业挂靠,于是也把它忽视了。下面可以教大家如何将这类证书挂靠出去。
身份证、毕业证及软考分数或软考证(各城市要求不同,大部分城市需要原件)
小一寸电子版照片
1、找到需要证书的企业(如果觉得不好找的话,建议可以到国内某些知名咨询机构咨询一下),然后与企业签合同,确定挂靠价格。
2、企业买入你的社保(最好不要在同一个城市,同一城市不能重复买入社保的)。
3、企业准备帮你申请项目经理的业绩,1个项目经理需2个200万以上的业绩或总额500万以上其中至少一项合同额在100万以上、软件费用不低于30%的项目,同时准备好你的申请表(当然这个内容需要你配合)。
4、在提交材料前需要你的身份证、毕业证及软考分数或软考证(各城市要求不同,大部分城市需要原件),还有小一寸电子版照片。
5、拿着前面所有的材料,交到当地相关部门。
6、完成后,等工信部网上公示。
买社保最好不要在同一个城市,同一城市不能重复买入社保的

软考科目

软考科目

Hadoop 2.0激活大数据应用开发

Hadoop生态系统还在不断演进。倒退几年,我们还仅仅把Hadoop看作是HDFS(分布式文件系统)、MapReduce(软件编程模型)以及一些元素(工具与API)的组合,它们逐渐成为了大数据的代名词。
然而上周在圣何塞举行的Hadoop峰会2013让我们意识到,Hadoop已经发生了本质上的变化。Hadoop 2.0登上历史舞台,随之而来的增强特性为我们带来了一套新的数据编程方式,尽管依然依附于Hadoop,但它已经为我们提供了打破Hadoop固有印象的可能。
在Hadoop 2.0中,新增强的功能虽然还是围绕HDFS以及相关组件,如HBase数据库、Hive数据仓库以及Knox安全网关等,但是最引人关注的还是2.0中的YARN组件。YARN的名称来自于字母缩写“Yet Another Resource Manager”,直译可以称为另一个资源管理器。利用YARN,用户可以完全放弃原有的MapReduce,通过与批处理完全不同的新的交互方式来运行Hadoop。
商业智能咨询顾问Colin White 指出,Hadoop 2.0的HDFS对架构进行了重新设计,从而消除了某些单点故障的隐患。这仅仅是开始,更关键的进步在于API层面。White表示:“具有革命性的变化来自于YARN,它使得我们可以使用另外一种文件系统,为环境添加更多的灵活性,这是企业级用户最想要的功能。”
事实上,很多用户已经在讨论在Hadoop中运行其他的文件系统,比如IBM的通用并行文件系统,或者用Lustre的文件系统进行高性能集群计算。而YARN的出现,使得MapReduce不再是必需品,而变成了一种选项。
  Gartner分析师Merv Adrian表示,“核心Hadoop”的概念在未来也许将不复存在,数据架构中类似可插拔的选项已经提上了Hadoop的议事日程,任何层面都不再是只提供唯一解决方案,万事皆有可能。
  Hadoop以及相关工具在近几年中层出不穷,Adrian向TechTarget记者表示,当Web应用开发者开始决定创建一个专有数据存储之后,他们往往会选择把它开源。
  Adrian说:“Hadoop社区是吸引创新的支点,但Gartner建议企业用户尽量使用商用版的Hadoop解决方案。免费下载的开源产品可以用来进行沙盒实验。”
  用Adrian的话来说,近些年来发生的最大变化是数据存储的“爆炸”,许多都跟NoSQL相关。人们开始质疑传统SQL数据模型存在的弊端,而Hadoop更像是一个大的帐篷,把包括NoSQL运动在内的所有数据相关变化全部包容在内。
  这一变化的原因包括三点:首先,大规模扩展的关系型数据库系统成本过于昂贵;其次,数据库Schema的限制往往成为创新的阻力;最后,关系型数据库不能很好地支持Web应用。
  现在,关注各种类型数据存储的架构师和开发者都能够在Hadoop生态系统中找到他们想要的。在Hadoop峰会上,关于新范式的热情是显而易见的,就如同几年前Java和AJAX一样。Java语言是新时代应用开发的起点,AJAX也同样。如今的Hadoop与AJAX很像,成为一个符号化的概念,而围绕它的技术或者编程语言才是实体。
  很重要的一个观点是,Hadoop社区在做的事情代表了数据管理的一个主要发展方向。这些有着奇奇怪怪名称的开源工具以及API将能够让开发者以更创新的方式开发大数据应用,而这在之前是难以实现的。
http://www.searchbi.com.cn/showcontent_74554.htm

数据分析的广阔前景

数据分析作为一个新的行业领域正在全球迅速发展,它开辟了人类获取知识的新途径。
目前,数据库技术、软件工具、各硬件设备飞速发展,在这些软硬件技术与设备的支持下,信息技术应用已在各行各业全面展开,尤其是对通信、互联网、金融等行业的发展
做出了巨大贡献,并且经过长期的应用积累大量丰富的数据。但大部分企业对其存储信息利用率极低。庞大的历史数据是否有价值?有何价值?是否可以综合利用分析?是否能够为领导决策提供参考依据?
回答是肯定的,数据分析这一项工作越来越受到领导层的重视,借助数据分析的各种工具从海量的历史数据中提取、挖掘对业务发展有价值的、潜在的知识,找出趋势,为决
策层的决策提供有力的依据,对产品或服务的发展方向起到积极作用,有力推动企业内部的科学化、信息化管理。
从20世纪90年代起,欧美国家开始大量培养数据分析师,直到现在,对数据分析师的需求仍然长盛不衰,而且还有扩展之势。根据美国劳工部预测,到2018年,数据分析师的
需求量将增长20%。就算你不是数据分析师,但数据分析技能也是未来必不可少的工作技能之一。
数据分析师如此抢手的原因何在呢?
一个简单的原因就是社会越发达,人们对数据的依赖就越多。无论政府决策还是公司运营,科学研究还是媒体宣传,都需要数据支持。那么,对数据有如此大的依赖,就必然导致对数据分析的大量需求。因此,将数据转化为知识、结论和规律,就是数据分析的作用和价值。
那数据究竟会庞大到什么地步呢?
据国际知名咨询公司估计,到2020年,全球每年产生的数据量将达到3500万亿GB,打个比方,就是用普通的DVD一张一张地摞起来,可以从地球摞两个堆一直到月球。
面对这样庞大的数据,数据分析师的职责就不仅仅是单纯的分析了,更重要的是与相关业务部门进行合作,将数据真正应用到业务中,根据实际的业务发展情况识别哪些数据可用,哪些不适用,而不是孤立地在“真空环境”下进行分析。这就要求数据分析师不仅具备洞察数据的能力,还要对相关业务的背景有深入的了解,明白客户或业务部门的需求,从而将数据信息化、可视化,最后转化为生产力,帮助企业获得利润。这就是整个数据“供应链”。当然数据分析师也需要理解这个“供应链”。
那怎样才能成为一名优秀的数据分析师呢?
学习数据分析需要时间和经验的积累,而不能一蹴而就。在工作中运用不同的分析方法对数据进行分析,并与业务部门同事积极沟通,加深自己对整个行业或研究内容的理解,相信在两到三年内,一个优秀的数据分析师就会诞生。

“鼠标之父”恩格尔巴特于昨日去世 享年88岁

北京时间7月4日消息,据国外媒体报道,发明了计算机鼠标的硅谷工程师道格拉斯·恩格尔巴特(Douglas Engelbart),昨天在加州阿塞顿家中去世,享年88岁。
道格拉斯·恩格尔巴特被誉为“鼠标之父”。他出生于1925年二战期间,成年后参加了美国海军,成为一名电子和雷达技师。
战争结束后,恩格尔巴特进入俄勒冈州立大学学习电气工程,后又在加州大学伯克利分校完成了他的硕士和博士学位。
1957年,恩格尔巴特加入了斯坦福研究院(SRI International,斯坦福国际研究所),直至1977年,他带领研究中心创作了多项发明,其中就包括1963年的电脑鼠标。当时的鼠标是一个木壳,下面两个金属轮子。
电脑鼠标的问世改变了整个PC产业,但直至几年后,鼠标才真正进入公众的视线。1984年鼠标开始商用,当时苹果推出了革命性的Macintosh。
1968年12月9日的旧金山秋季联合计算机会议上,恩格尔巴特展示了自己的发明,除了鼠标外,他还提出了超文本链接、实时文本编辑、多窗口和电话会议等概念,他同时展示了一组能够控制计算机的设备。“多窗口”是恩格尔巴特另一个杰出的贡献,它帮助推动了计算机的发展。
恩格尔巴特拥有自己的实验室,它帮助了ARPANet的开发,后者是一个政府研究网络,它孕育了互联网。
SRI International CEO柯蒂斯·R·卡尔森(Curtis R. Carlson)称,,恩格尔巴特为社会带来巨大价值。他说:“我们会怀念他的才华、热情和魅力。他留下了巨大的技术遗产,每一个使用鼠标的人、每一个享受PC高生产力的人都受益于他。”
恩格尔巴特凭借自己的发明获得了无数奖项。1997年,恩格尔巴特获得莱梅尔逊奖(Lemelson-MIT Prize)。三年后,美国当时的总统克林顿(Bill Clinton)授予他美国国家技术奖。
老爷子,走好!!!

程序员,你会问问题吗?

在工作和生活中,总是会有很多人问题我很多技术方面的问题。有一些时候,问问题的和答问题的总是会有一些不爽的事情发生。如下面的几种情况:

  • 比如:“我的电脑老是蓝屏,怎么办?”,通常这样的问题90%以上的回答是:“重装吧”。这让问问题的人感到很沮丧,但你不能不承认那不是答案。而且有时候让人无法解答,比如:“我的makefiel出错了,你帮我看看我的makfile”,我通常会非反问,报了什么错吗?
  • 另一种情况是,回答问题的人首先先对问问题的人的抱怨,你问的问题就不对,或是,你问的这个问题是什么意思,而导致问问题的人却在不停地解释,结果花了好长时间来讨论问题本身是什么。
  • 还有一种情况是,问的问题太简单了甚至太白痴了,比如你自己试一试或是读读文档就知道了的问题,或是问这个问题直接表明了你的无知或是懒惰。这种问题会相当影响别人对你的印象。
  • 第四种情况是,提问者滔滔不绝,扯这扯那,讲了一大堆,听得听累了。最后都不知道你要干什么。

所以,怎么去问问题,怎么问一个好的问题,是一个很重要的事。你提问的技术直接关系到了你是否能够很快得到你满意的答案。
这里有一篇文章推荐给大家《How To Ask Questions The Smart Way》,中文版在这里《提问的智慧》(链接无效了 囧),我把其中的几个亮点总结如下:

  • 提问前先自己尝试查找答案,读读文档、手册,看看有没有相似的问题,看看那些方法能不能帮你解决问题,自己去试一试。如果你是程序员,你应该先学会自己调查一下源代码。(不然,人家回答你的一定是——RTFM – Read The Fucking Manual)这样的问题很多。我有时候很不愿意回答这样的问题,因为我觉得问问题的人把我当成了他的小跟班了。
  • 提问的时候,找正确的人或是正确的论坛发问。向陌生人或是不负责的人提问可能会是很危险的。不正确的人,会让你事倍功半。如果你问Linux的人Windows太慢怎么办?他们一定会让你把Windows删了装Linux去的。
  • 问的问题一定要是很明确的,并且阐述你做了哪些尝试,你一定要简化你的问题,这样可以让你的问题更容易被回答。对于一些问题,最好提供最小化的重现问题的步骤。
  • 你一定要让问题变得简单易读,这和写代码是一样的。只有简单易读的邮件,人们才会去读,试想看到一封巨大无比的邮件,读邮件的心情都没有了。而且,内容越多,可能越容易让人理解错了。
  • 你问问题的态度应该是以一种讨论的态度,即不是低三下四,也不是没有底气。只有这样,你和你的问题才能真正被人看得起。要达到这个状态,不想让别人看不起你,你就一定需要自己去做好充足的调查。问题 问得好的话,其实会让人觉得你很有经验的,能想到别人想不到的地方。
  • 不要过早下结论。比如:“我这边的程序不转了,我觉得是你那边的问题,你什么时候能fix?”,或是“太难调试了,gdb怎么这么烂?!”。当你这么做的时候,你一定要有足够的信息和证据,否则,你就显得很自大。好的问题应该是,“我和你的接口的程序有问题,我输入了这样的合法的参数,但是XX函数却总是返回失败,我们能一起看看吗?”,“我看了一下gdb的文档,发现我在用XXX命令调试YYY的时候,有这样ZZZ的问题,是不是我哪里做错了?”

http://coolshell.cn/articles/3713.html  转自酷壳

数据分析是什么

摘自《谁说菜鸟不会数据分析》,基础理论到哪里都是一样的,这里就没写个人心得了。只想强调一点:Hadoop可以作为数据分析的一种工具!
PS:如果你是一个研究hadoop的程序员的话,在你的心里一定是hadoop更重要,但是在数据分析这个领域,hadoop只是其中的一种工具,还有大量做数据分析的在使用其他工具。
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总、理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这里数据也称观测值,是通过实验、测量、观察、调查等方式获取的结果,常常以数量的形式展现出来。
数据分析的目的是把隐藏在一大批看似杂乱无章的数据背后的信息集中和提炼出来,总结出研究对象的内在规律。在实际工作当中,数据分析能够帮助管理者进行判断和决策,以便采取适当策略与行动。例如,如果企业的高层希望通过市场分析和研究,把握当前产品的市场动向,制订合理的产品研发和销售计划,就必须依赖数据分析才能完成。
在统计学领域,有些学者将数据分析划分为描述性数据分析、探索性数据分析以及验证性数据分析。其中,探索性数据分析侧重于在数据之中发现新的特征,而验证性数据分析则侧重于验证已有假设的真伪性。
从另一个角度看,描述性数据分析属于初级数据分析,常见的分析方法有对比分析法、平均分析法、交叉分析法等;而探索性数据分析以及验证性数据分析属于高级数据分析,常见的分析方法有相关分析、因子分析、回归分析等。我们日常学习和工作中涉及的数据分析方法主要是描述性数据分析,也就是大家常用的初级数据分析。

cygwin的作用

虽说Cygwin很强大,可以模拟linux、unix操作系统,但我还是不推荐使用这个工具。因为,我们现在的个人电脑配置已经足够高了,完全可以使用虚拟机软件虚拟一个完全的、真实的linux操作系统。Cygwin是需要安装在window上的,因此会出现好多意想不到的问题。我们既然能使用完全的linux系统,为什么非要使用各虚拟机软件来模拟linux,给自己找麻烦呢。
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
Cygwin始于1995年,最初作为Cygnus工程师Steve Chamberlain的一个项目。当时Windows NT和Windows 95将COFF作为目标代码,而GNU已经支持x86和COFF,以及C语言库newlib。这样至少在理论上,可以将GCC重定向,作为cross compiler,从而产生能在Windows上运行的可执行程序。在后来的实践中,这很快实现了。
接下来的问题是如何在Windows系统中引导编译器,这需要对Unix的足够模拟,以使GNU configure的shell script可以运行,这样就用到像bash这样的shell,进而需要Fork和standard I/O。Windows含有类似的功能,所以Cygwin库只需要进行翻译调用、管理私有数据,比如文件描述符。
1996年后,由于看到cygwin可以提供Windows系统上的Cygnus嵌入式工具(以往的方案是使用DJGPP),其他工程师也加入了进来。特别吸引人的是,Cygwin可以实现three-way cross-compile,例如可以在Sun工作站上build,如此就形成Windows-x-MIPS cross-compiler,这样比单纯在PC上编译要快不少。1998年起,Cygnus开始将Cygwin包作为产品来提供。
Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System。
另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。
但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的codepages是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。
Red Hat 规定,Cygwin 库遵守 GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat 另有价格不菲的许可协议,这样使用 Cygwin 库的专属软件,就可以进行再发布。
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于 win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在 windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
所以我对学习hadoop的同学建议还是那些,再贴一遍:
必须先记在心里的东西:
1、cygwin只是模拟了linux环境
2、hadoop必须安装在linux环境上
3、mapreduce程序开发直接就在window上开发即可
4、mapreduce程序的运行:可以把写好的程序打成jar包 放到hadoop集群上 执行hadoop命令(就像大家安装完 验证集群是否正常运行那样 ”计算圆周率“一样)
5、 我们学的是hadoop 而不是整环境 ,可以先把环境的问题绕过
6、刚开始千万别用eclipse连接hadoop集群
7、如果你说6的理由是测试方便,那我告诉你,写junit更方便