Project Description
【直播文字实录】一本技术好书胜过N年工作经验?
2017年04月17日 WeX5移动开发云 起步软件
4月11日晚8点整,由Wex5移动开发云主办的码农基地线上论坛活动如约举行。围绕《一本技术好书胜过N年工作经验?》 这个话题,两位分享嘉宾发表了各自观点。
当晚参加分享活动的两位嘉宾,分别是来自WWCode社区美琪颜 (Maggie)及微软中国开发者体验与平台合作事业部技术顾问李争。
以下为文字实录:
PART 1: Maggie推荐《区块链技术指南》
各位听众,大家晚上好,我是Maggie。我目前是就职于IBM的gbs部门 ,主要是为客户提供财务和资金方面的咨询服务。目前主要是为电力企业的客户提供财务资金系统策划,并参与他们的系统落地实施方面的工作。
近两年我发现一些客户都在谈论一种叫做区块链的新技术,并且应用区块链来解决他们遇到的一些问题。那么区块链是什么,区块链能应用于什么样的业务场景?成为了大家越来越关注的话题,而我也带着相同的疑惑,去网上搜索了各种各样关于区块链有关的材料,并进行了阅读。
但很快我就发现,很多客户在研究区块链的落地实施方案,无论是在应用系统的架构,还是基础设施的设计,都和我们传统的软件实施有一定的区别。客户对区块链技术的细节要求,也让我们对区块链知识的补充和积累,提出一个很大的挑战。所以我很希望找到一本全面的书籍,来介绍区块链技术,来学习学习,来加强我和客户之间的沟通。
目前市面上已经有一些讲区块链的书籍,但是涉及到技术原理的非常非常少,直到我在朋友圈看到一个朋友推荐的叫《区块链技术指南》的书籍,这本非常适合我现在的业务需要,然后我也认真地阅读了一下。今天我就跟大家分享一下,关于《区块链技术指南》,我在阅读中的一些体验和心得。
这本书的作者是中关村区块链联盟专家邹均老师编写,大家有兴趣的话,在今天分享会结束之后,也可以去阅读,参考学习一下。
《区块链技术指南》这本书首先从比特币的历史和使用的方法讲起,包括比特币的起源、转账和钱包管理等,让我对区块链和比特币,第一次有了感性的认识。原来区块链是随着比特币的逐渐兴起和日益普及而产生的一种全新技术,它提供了一种去中心化的信用模式,目前已经引起了金融政府等部门的高度重视和关注。
书的第二章介绍了区块链的一些基本知识和概念,比如说什么是区块,什么是链,以及用哈希和加密的方式,确保区块链不被篡改。这章涉及计算机系统和密码学的知识,看起来确实有点头大。
《区块链技术指南》的第三、四、五章,分别介绍了区块链的架构、密码学算法原理以及共识的算法,这也是区块链最核心的一个部分,相信也是我们各位听众里面技术大拿最为关心的部分。如果有兴趣可以仔细地阅读一下,因为我看的不是太明白,还在学习中。
第六章是关于比特币应用开发的一些方法,这里面列举了一些详细的步骤,让读者能够了解到开发一个区块链应用所需要的过程及步骤。我觉得对于喜欢动手的程序员来说,这是一本非常好的指南。就像我们说的,在学一个技术开始入门的时候,都需要一个step by step的文档,对吧?
第七章是关于以太坊智能合约的介绍。智能合约是一种计算机的程序,这种程序部署在区块链上就能够自动地执行,不需要人为地干预。在去中心化的区块链上,可以公正无私地执行一些商业的规则,同时也给出了一些开发的步骤,有兴趣的也可以去读一下。
说到这儿呢,我看到有朋友说他公司用区块链技术比较少。因为我现在是在给企业做投融资系统的解决方案,就比如说刚才提到的智能合约,我相信未来对于一个贸易型的金融企业来说,它的一些银行借贷、它通过办的一些P2P的模式、一些保理信用证等等,它只要涉及到一些流程或者结算的功能,大家都能够搭建在一个统一的区块链的技术平台上话,就能够解决它从智能合约到交易到数据到结算到协议自动被触发的环节。比如说现在特别火的,一个叫超级账本的项目,超级账本这个项目最大的改变,原来我们的各个机构、合作伙伴等在一条供应链上的客户,他们可能需要各自自己的数据库和平台,来管理不同的数据,那以后大家都用一个账本,是不是就可以自动地完成很多事情,减少一些人工的干预。
书的第八章正好是介绍企业级区块链开源项目“超级账本”的章节,大家有兴趣可以阅读下,超级账本是如何满足企业吞吐量及资信需求的一个项目,所以它会作为一个企业应用的首选,也是未来我们为企业服务的一个首选平台。
第九章比较通俗易懂地介绍了区块链有哪些常见的问题,比如说钱包的安全管理,比特币的安全性,51%的攻击问题,软硬分叉等等,并介绍和揭示了在区块链的发展过程中存在的各种问题,读后也非常有收获。
书的第十章介绍了两个基于区块链的应用,包括闪电网络和基于比特币的标识登记服务,这两个项目是区块链的朋友值得借鉴和参考的。
书的最后一章是回顾了IT架构的演进历史,并展望了区块链对未来IT发展的影响,让我们对IT的整个发展脉络,从互联网、云计算到区块链的创新,都有一个很清楚的认识。邹均老师的这本《区块链技术指南》是国内的第一本,也是不可多得的讲述区块链的书籍。我觉得比较适合以下读者,区块链的从业者、IT架构师、区块链的开发人员以及对区块链感兴趣的人。我目前也在认真地翻看第二遍,看看能不能发现一些新的、之前不理解的东西。也推荐给感兴趣的朋友,希望对大家有所帮助。
PART 2: 李争推荐《深入解析Windows操作系统》
大家好,我叫李争,我现在就职于微软开发者体验与合作事业部,承担的任务主要是帮助微软的相关的开发人员和开发者,在微软的云平台进行基础的落地和实现。
刚才Maggie给大家介绍了区块链,我通过她的介绍,觉得这本书还是比较不错的。因为区块链技术来说呢,有两大技术流派,一个是比较古老的比特币,还有一个流派就是我们的以太坊。区块链不是什么新的技术了,可能在七八年前,如果那个时候大家参与了,你可能会发现买比特币比买北京的房子升值还要快。2010年的时候,大概是一美金一个比特币,现在大概是1000美金一个比特币,七八年的时间升值了1000倍。
我今天要给大家介绍的,不是一本书,而是一个系列的书,而且这个系列的书非常有历史。这本书的中文名字叫做《深入解析Windows操作系统》。
为什么要介绍这样一本书呢?因为这本书是微软最权威的一本解析Windows操作系统和Windows操作系统的工作原理以及它的实现方法等等最核心的一本书籍。这属于windows开发平台上的武林秘籍。
这本书在1992年就出版了它的第一个版本,现在我们能看到的一般是这本书的第五版、第六版、第七版,第四版一般都很少见了。第四版叫做《windows2000技术内幕》,第五版是《深入解析windows操作系统》,第五版书籍是针对vista操作系统和xp操作系统来写的,第六版我们现在市面上见的最多的是针对windows7和windows server 2008 R2这个操作系统内核去编写的。
为什么说这本书非常地权威呢?主要有两部分,一部分这个书的内容是非常好的。它首先会介绍windows整个内核的架构,以及系统的机制,包括进程线程的调度作业,以及它的安全、网络的协议栈、包括对IO的处理、对存储的管理
、对内存的管理等等,在书的最后章节,它还会去介绍windows的一些工作的原理和顺序,比如说启动和关机,比如说当windows出现了严重的系统问题时,它会怎么去实现崩溃转储等等;
另一个方面是,这一系列的作者非常非常厉害。在这系列书籍的作者中,有一个非常厉害,这个人的中国名字叫玛克拉西诺维奇,他其实是一个克罗地亚和西班牙的混血,他1966年生于西班牙,后来随着父母移民到美国的阿拉巴马州的伯明翰长大,然后再15岁的时候搬家到美国东部的宾夕法尼亚。他父母亲经营着一个非常小的诊所,一个典型的美国小家庭。但是玛克拉西诺维奇在上个世纪70年代的时候,就非常着迷于计算机技术。15岁的时候他自己买了一台电脑,然后他就不断地在那台电脑上去实现自己的代码,去做很多的研究。
玛克拉西诺维奇做的软件叫做的这套软件叫做System internals,如果你在windows平台上做过开发的话,你一定会知道这套软件。包括我们经常使用的叫debug等等非常好用、非常简单的小程序都是玛克拉西诺维奇自己一个人写的。微软看到这个人非常的厉害,在windows平台上的技术非常牛,于是就在2006年的时候就把玛克拉西诺维奇创造的公司买了过来。实际上这个公司只有两个人,一个销售一个技术,微软花了大量的前,其实就是买了玛克拉西诺维奇这个人。
玛克拉西诺维奇作为一个白帽子黑客,他做了什么事情呢?他在1996年的时候,他发现windows的安全内核里面,有一些安全的问题,他知道如果在这个里面修改windows注册表的时候,会导致windows 内核的一个很大漏洞,他就把这个问题报告给微软。同时在2005年的时候,他发现索尼的版权保护的产品里面,放置了不该放置的木马后门,然后他就写了一篇博客,告诉大家真相,从而导致索尼的版权保护系统彻底崩溃瓦解了。
在玛克拉西诺维奇进入微软公司以后,他主要主持了几个很大的事情。第一个是微软的虚拟化技术,如果对微软技术非常熟悉的朋友会知道,微软的这个虚拟化技术叫做hyper v,heper v的架构设计是由玛克拉西诺维奇来设计和实现的。大概在5年前,微软决定进入云的市场的时候,玛克拉西诺维奇成为了微软的Azure平台的CTO。
在今年的5月10号或20号,目前的时间还不确定,《深入解析Windows操作系统》的第七版就要出版了。如果有兴趣的话,可以去预定这本书。
作为一个微软技术的爱好者,或者在微软平台上做开发的人,我自己读这本书也是受益匪浅的。以前做程序员的时候只会去读他的API文档,去编写一些代码,但是我并不知道windows的内核是怎么运行、怎么处理这些事情的,只有看了这样一套书以后,你才明白windows的工作原理,才能知道windows到底安全不安全,windows到底是如何去实现任务的调度,如何去实现内存的分配,你的代码应该怎样写才能达到最好的性能和效果。
玛克拉西诺维奇是现在第七版的作者之一。这个书是英文的,并且非常厚。第一部分就有800页,第二部分可能也有800页,加起来可能有1600页。那么这个书读起来可能很难,不要着急,有一位技术的大牛叫做潘爱民。他用自己的业余之间去翻译了《深入解析windows操作系统》的第五版,第六版潘爱民和另一个朋友合作翻译,第七版相信潘爱民也会翻译的。估计在一年之内,我们就能看到《深入解析windows操作系统》的第七版了。
如果大家等不及第七版,也可以去找中文译本的第六版,现在这些书还都在销售过程中。这个书是咱们程序员最终极的书了,其实对于微软内部的员工来说,这部书也是非常非常重要的。
为什么对微软内部员工这本书也非常重要呢?微软内部有一个部门,叫客户支持与服务部,在这个部门有一种工程师,是工程师中最杰出最顶尖的人物,我们称他为高级工程师。这些人如何从普通工程师晋升为高级工程师呢?晋升的阶梯不光是要有资历、工作年限、工作的表现等等,到最终你要晋升高级工程师的时候,你要经过一次考试,考试的内容就是我介绍的这本《深入解析Windows操作系统》。
也就是说,在微软的任何一位高级工程师,他必须深入地掌握windows运行的机制和机理,以及整个windows操作系统的所有原理,这是晋升为高级工程师的必经之路。
其实第六版和第七版的目录没有太大的区别。因为这个目录呢,如果大家是科班出身的话,在本科阶段一定学过一本书叫《操作系统原理》,windows实际上就是根据操作系统原理的思想,去做了一个技术上的实现。
第一章呢基本上就是概念与工具,它在里面会介绍windows一些专有的术语,比如说什么是windows的内核,以及我们去探索windows工作原理的时候需要用到的一些免费工具。第二部分是windows的系统架构,第三部分是windows的系统机制,第四章是windows的管理机制,这几章是从很高的角度去看windows的设计体系。
第五章是windows的作业管理。它讲的是进程、线程和作业,就是说你的进程是如何调度的这些内容。
第六章介绍的是windows内核的安全,第七章介绍的是windows的网络,比如说一个http的包到了之后,是哪些驱动程序去处理等等;第八章讲的IO系统,你的硬件是怎么接进来的,windows怎么去实现的系统中断、怎么去实现的即插即用,第九章讲的是存储的管理,第十章讲的是内存的管理,第十一章讲的是缓存器的管理,第十二章讲的是文件系统,第十三章讲的是启动与关机,第十四章讲的是崩溃、转储的关系。后面讲的其实是windows遇到问题的时候怎么去排错。
我的书就介绍到这里,谢谢大家!