webcracker,0基础学习编程?
本文从以下几个方面给大家分享几本高价值书单,并不一定全面,欢迎读者补充,希望能对你有帮助。
1 关于编码与重构
1.1 代码整洁之道
英文名《Clean code》,该书出自 Robert C Martin 之手,又被称为 Bob 大叔,是一位美国著名的软件工程师和作家,他已经写了有关敏捷软件开发的书籍。书中提到众多有名的编程原则:比如 SOLID 原则、 Law of Demeter(LoD,又被称为最少知识原则)。推荐理由:每个程序员都必须拥有本书并阅读它。这是一本非常著名的书,它将完全改变您的编程风格,书中介绍的规则均来自作者多年的实践经验,涵盖从命名、数据结构、面向对象的设计原理到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。或许,真正整洁的代码真能让同行读起来像诗一样。任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。— 马丁·福勒如果只能读一本书,我就推荐这本。最后,基于本书,众多开发者还推出了各种语言的整洁之道:• Javascript 整洁之道• PHP 整洁之道• ABAP 整洁之道• Java 整洁之道• .NET 整洁之道还有各大科技公司的代码风格指南:• Google 风格指南• Uber Go 语言风格指南Bob 大叔的《架构整洁之道》也值得推荐,这本书是在架构领域的登峰之作,围绕“架构整洁”这一重要导向,系统地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。还有《程序员的职业素养》,作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。1.2 重构(第2版)
英文名: 《Refactoring: Improving the Design of Existing Code,2nd Edition》,作者 Joshua Kerievsky。本书是理论和实践最佳组合的罕见书籍之一。重构是一个使您的工作代码更加美丽的过程,这本书可以利用已经尝试和测试的软件开发世界的模式来为您提供帮助。推荐理由:重构一词经常在各种大会上被提及,那就是这本书带来的影响。重构也就是重写软件的过程,而无需更改其功能,以提高其可读性,可检验性或可维护性。重构是使工作代码美观的过程,重构有助于改进工作代码的设计。这也是优秀程序员的必备技巧之一,通常优秀的程序员也擅长重构。本书将教你重构代码的艺术和科学。无论您是 Java 程序员、C++ 开发人员还是 Python 开发人员,每个程序员都可以从本书中受益。与《重构》经常被提及的书就是大名鼎鼎的《代码大全》,书中解释的也是久经考验的技术和策略,能有效帮助程序员和软件开发人员。笔者也曾在大学的时候把这本书图书馆借出来,发现这本书太厚,啃不动,到期就立马归还了。1.3 代码之美
英文名:《Beautiful Code: Leading Programmers Explain How They Think》,作者:Grey Wilson。推荐理由:大牛前辈的博客合集,同时也是提高编码技能的好书之一,因为它为您提供了一个机会,让您了解专业程序员如何处理问题、编写的代码以及他们如何解决问题,并且仍然能够保持他们的代码美观。这本书是一系列案例研究的集合,揭示了 Emacs 到 Facebook 等大型网站架构秘密,讲述了那些专家程序员,包括布莱恩·克尼原,乔恩·本特利(Jon Bentley)(编程珠玑的作者),蒂姆·布雷(Tim Bray),卡尔·福格尔(Karl Fogel),迈克尔·菲瑟斯(Michael Feathers)(有效地使用旧版代码的作者),以及许多更多伟大的作者和程序员。关于二分查找,在书中数次被不同作者提及,了解不同作者的观点。无论您使用哪种编码语言,例如 Java,C#,Python 或 Ruby,都会在本书中找到有趣的东西。代码之美调查了一项努力的人类发明和创造力的范围:计算机系统的开发。每章中的美观来自发现独特的解决方案,这是作者的力量超越界限,识别他人所忽略的需求,并找到令人惊讶的解决方案,以解决令人困扰的问题。2 关于职业成长
2.1 程序员修炼之道(第2版)
英文名《Pragmatic programmer》,作者是 Andrew Hunt & David Thomas。中文版的译者是大名鼎鼎的云风,副标题是:通向务实的最高境界。推荐理由:本书是时隔 20 年的新版,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。刚出来的时候博文出版社举办了一个推广活动,在云风和皓子叔联袂推荐下,毫不犹豫的入手了本书。程序员往往最难得就是务实主义,总想追求新技术,炒新概念。工作后才逐渐明白,编程的本质,均不依赖于特定语言、框架和方法,技术改变世界在于能够有效解决用户的真实需求。本书本质上是程序员的自助指南。它探索了良好的软件开发实践,并为您提供了出色的建议、提示和技巧,以更有效地编程。正是对经典和现代轶事、引人入胜的类比和发人深省的例子的创造性使用,使每个部分的学习都变得有趣而有趣。如果说大学期间读的都是类似于 C 语言圣经和 Head First 系统书籍的话,工作后的人才会真正懂得为什么这本书籍不厚,读起来拍案叫好,这大概就是大道至简。作者另一著作:《程序员修炼之道: 从小工到专家》也是值得推荐的2.2 卓有成效的程序员
英文名:《The Productive Programmer》,作者:Neal Ford。推荐理由:本书就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X 以及 *-nix (Unix 或者 Linux)。贯穿全文的思想大概就是尽量让机器做机器该做的事情,让程序和程序打交道,发挥程序员在这方面的先天优势。学会善用工具,命令行、学会写脚本,学会宏。提供效率,不去做重复单调的工作。最终的目的:成为一个“慵懒”的程序员。2.3 软技能:代码之外的生存指南
英文名:《Soft Skills: The software developer's life manual》,作者:John Z. Sonmez推荐理由:研究生期间读过最受益的一本非技术书。程序员都知道编码很重要,这是我们吃饭的硬技能。可是实际工作上才发现不止写代码,代码之外的软技能也很重要:比如面临着与客户沟通、与产品打交道的沟通问题;比如应该关注自身发展,书中也介绍了怎么做职业突围;还有更多章节介绍了作者如何学习、如何理财、健身、自我营销等等。分享书中有趣让我印象深刻的点是作者去面试,面试官浏览过他的博客文章,两人因此相谈甚欢。 最后也想给阅读的朋友声明一下:这本书涉猎了很多方面,但是并不是没一点都是一套可以照抄的完美答案,毕竟作者也是从当时的环境和自己经历出发介绍这些内容,每个读者应该都有自己的选择,综合而言,这本书挺适合各个阶段的人阅读的,尤其大学生和初入职场的朋友。作者也出了《软技能2:软件开发者职业生涯指南》,如果说软技能关注于生活,那软技能 2 则更加关注于了软件开发职业。3 关于黑客与开源
3.1 Unix 编程艺术
书籍英文名:《The Art of UNIX Programming》,作者:《Eric S. Raymond》从 1982 年开始就是 UNIX 开发者。推荐理由:本书涉及 Unix 系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的 Unix 编程大师、开源运动领袖人物之一 Eric S.Raymond 倾力多年写作而成。程序会过时,编程语言会更新,代码会跟随业务不断改动,但编程思想的生命力会长盛不衰,好的编程艺术也是具有穿透力的,尽管书中的案例已经偏老,但贯穿始终的 KISS 原则、思想文化体系、设计与开发哲学一定能够给你带来醍醐灌顶的感觉。Keep it simple stupid,简称 KISS 原则。在做软件设计的工作中,很多时候都不要想得过于复杂,也不要过度设计和过早优化,用最简单且行之有效的方案也就避免了复杂方案带来的各种额外成本。这样既有利与后续的维护,也有利于进一步的扩展。另外,本书还可以与“左耳朵耗子”ef="">皓子叔推荐 过的《UNIX传奇:历史与回忆》结合着一起看,了解 UNIX 的诞生记与发展史,贝尔实验室的幕后故事!本书不但书写 Unix 的历史,而且记录作者的回忆,一探 Unix 的起源,试图解释什么是 Unix,Unix 是如何产生的,以及 Unix 为何如此重要。3.2 大教堂与集市
英文名:《The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary》, 《Unix编程艺术》作者 Eric S. Raymond 的另一封神之作,副标题是《对 Linux 和开源革命的沉思》。推荐理由:大家都知道程序员热衷于开源文化,都在说不要重复造轮子。开源时代下的软件开发可能只需要三个键盘按钮:CTRL + C + V,开个玩笑。说到开源文化,那么本书《大教堂与集市》是开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域。作者把软件开发思路类比于古代的大教堂文化和集市文化,讲述了集市如何变成大教堂,书中系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软件的传承是如何做到的。3.3 黑客与画家
英文名:《Hackers and Painters: Big Ideas from the Computer Age》,作者:Paul Graham,本书的译者是大名鼎鼎的阮一峰大佬。推荐理由:说到黑客文化,就不得不提到硅谷创业之父Paul Graham 的这本书,本书主要介绍黑客 Hacker,即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。本书是一本为黑客正名的技术散文集,看完书后第一次将我从电影中的黑客形象颠覆过来,才了解到并不是入侵系统、制作病毒、各种解密的人就是黑客,Hacker 是专家级程序员,是一群与画家有着极大的相似性,他们都是在创造,而不是完成某个任务,“黑客”象征着第一流的能力,以及求解问题过程中产生的精神愉悦或享受。他们崇尚分享、开放、民主、计算机的自由使用和进步。而那些恶意入侵计算机系统的人更应该被称为 cracker(骇客)。4 关于算法与设计模式
4.1 算法设计手册
英文名:The Algorithm Design Manual (2nd Ed.),作者:Steven S Skiena推荐理由:关于算法的重要性大家都知道,大家肯定都知道另外两本著名的《算法导论》和《算法4》:《算法导论》侧重与算法的数学推导,适合研究,而《算法4》侧重于算法的代码实现,适合入门。而这次推荐的《算法设计手册(第2版)》却没有那么有名气,但也不失为设计实用且高效算法的最全面指导书。该书揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析。目前市场上算法书层出不穷,但是经典的算法却一直在那里,不曾走远。4.2 Head First 设计模式
英文名:《Head first design patterns》,作者:Elisabeth Freeman / / Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson推荐理由:这本书完整地涵盖了 GoF 版本全部23个设计模式,毫不费力地解释了世界各地熟练的软件开发人员和程序员用来构建优雅、功能齐全、灵活和可重用的软件的几种软件设计模式。。图文并茂,配有大量说明性和启发性的示例,它们将使学习同时变得高效和有趣。与其他文本繁重的编程书籍不同,这本书具有引人深思、视觉丰富的格式。Head First 系统书籍充满了幽默感,选题和编辑都很用心,值得一读。相信读完的读者逐步迈向对软件设计模式的深入了解。再来读 GoF 不失为一个不错的选择。4.3 设计模式:可复用面向对象软件的基础
英文名:《 Design Patterns: Elements of Reusable Object-Oriented Software》,又被简称为计算机领域的 GoF ,因为本书的作者是四个人:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides。推荐理由:本书是任何使用面向对象代码的开发人员的必备入门读物。而且作者 Erich Gamma 是 jUnit、Eclipse、IBM Jazz 项目、Visual Studio、Azure 和 Office 365 的幕后推手。如果您没有很好地掌握 UML,您可能会发现很难吸收编程书中汇编的一些信息和示例。然而,这不会阻止您欣赏设计模式书中叙述的美妙之处,它既简单又内容丰富。《设计模式》一书详尽地解释了 23 种软件设计模式,可帮助软件开发人员和设计人员制作更好、更优雅、更灵活的软件。这本书讨论了针对常见软件设计问题的大量简洁明了的解决方案。如果说 GoF 太难读下去,那么就推荐程杰的《大话设计模式》,这本书通过对话的形式带领大家入门设计模式,人人都可以是好学的小菜和经验丰富的大鸟。4.4 编程珠玑(第2版•修订版)
英文名:《More Programming Pearls,Second Edition》,作者:John Bentley推荐理由:这是一本带你真正领略计算机科学之美,融深邃思想、实战技术与趣味轶事于一炉的奇书。与大多数其他编程书籍不同,这本书侧重于基本问题和一般问题。它讨论了可以提高性能或减少内存需求的各种算法和技术。作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程。就如书名一样,大浪淘沙,计算机科学中的智慧正如自然界里珍珠出自细沙对牡蛎的磨砺,留下一个个编程“珠肌”。题外话:
上面的书都是本人曾经阅读过,或者说在图书馆中有借阅翻过的书。也是计算机领域评分很高、有口皆碑的书籍。但计算机行业的经典书籍太多,本人能推荐的也只是其中一部分,想要推荐的内容也不想针对某个特定编程语言和领域,所以像《C++编程思想》和《On Java8》这类书籍没有进行推荐,推荐理由也不一定完全正确,欢迎大家批评指正。另外,看完上述的书并不能说自己就能在工作中就能运用到,看完就能成为一个顶尖的程序员。何况看书也不能完全接收前辈们的这些大智慧,但如果在某个瞬间(看书过程或者实践过程中)对自己有一种醍醐灌顶的感觉,就已足够。参考链接:
• UNIX传奇(上篇)• 假期好读书• Top 5 Books to Improve Coding and Programming Skills• http://www.osnews.com/images/comics/wtfm.jpg本文分享自华为云社区《【云驻共创】对于编程思想和能力有重大提升的书有哪些》,作者:宇宙之一粟 。
零基础自学编程?
本文从以下几个方面给大家分享几本高价值书单,并不一定全面,欢迎读者补充,希望能对你有帮助。
1 关于编码与重构
1.1 代码整洁之道
英文名《Clean code》,该书出自 Robert C Martin 之手,又被称为 Bob 大叔,是一位美国著名的软件工程师和作家,他已经写了有关敏捷软件开发的书籍。书中提到众多有名的编程原则:比如 SOLID 原则、 Law of Demeter(LoD,又被称为最少知识原则)。推荐理由:每个程序员都必须拥有本书并阅读它。这是一本非常著名的书,它将完全改变您的编程风格,书中介绍的规则均来自作者多年的实践经验,涵盖从命名、数据结构、面向对象的设计原理到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。或许,真正整洁的代码真能让同行读起来像诗一样。任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。— 马丁·福勒如果只能读一本书,我就推荐这本。最后,基于本书,众多开发者还推出了各种语言的整洁之道:• Javascript 整洁之道• PHP 整洁之道• ABAP 整洁之道• Java 整洁之道• .NET 整洁之道还有各大科技公司的代码风格指南:• Google 风格指南• Uber Go 语言风格指南Bob 大叔的《架构整洁之道》也值得推荐,这本书是在架构领域的登峰之作,围绕“架构整洁”这一重要导向,系统地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。还有《程序员的职业素养》,作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。1.2 重构(第2版)
英文名: 《Refactoring: Improving the Design of Existing Code,2nd Edition》,作者 Joshua Kerievsky。本书是理论和实践最佳组合的罕见书籍之一。重构是一个使您的工作代码更加美丽的过程,这本书可以利用已经尝试和测试的软件开发世界的模式来为您提供帮助。推荐理由:重构一词经常在各种大会上被提及,那就是这本书带来的影响。重构也就是重写软件的过程,而无需更改其功能,以提高其可读性,可检验性或可维护性。重构是使工作代码美观的过程,重构有助于改进工作代码的设计。这也是优秀程序员的必备技巧之一,通常优秀的程序员也擅长重构。本书将教你重构代码的艺术和科学。无论您是 Java 程序员、C++ 开发人员还是 Python 开发人员,每个程序员都可以从本书中受益。与《重构》经常被提及的书就是大名鼎鼎的《代码大全》,书中解释的也是久经考验的技术和策略,能有效帮助程序员和软件开发人员。笔者也曾在大学的时候把这本书图书馆借出来,发现这本书太厚,啃不动,到期就立马归还了。1.3 代码之美
英文名:《Beautiful Code: Leading Programmers Explain How They Think》,作者:Grey Wilson。推荐理由:大牛前辈的博客合集,同时也是提高编码技能的好书之一,因为它为您提供了一个机会,让您了解专业程序员如何处理问题、编写的代码以及他们如何解决问题,并且仍然能够保持他们的代码美观。这本书是一系列案例研究的集合,揭示了 Emacs 到 Facebook 等大型网站架构秘密,讲述了那些专家程序员,包括布莱恩·克尼原,乔恩·本特利(Jon Bentley)(编程珠玑的作者),蒂姆·布雷(Tim Bray),卡尔·福格尔(Karl Fogel),迈克尔·菲瑟斯(Michael Feathers)(有效地使用旧版代码的作者),以及许多更多伟大的作者和程序员。关于二分查找,在书中数次被不同作者提及,了解不同作者的观点。无论您使用哪种编码语言,例如 Java,C#,Python 或 Ruby,都会在本书中找到有趣的东西。代码之美调查了一项努力的人类发明和创造力的范围:计算机系统的开发。每章中的美观来自发现独特的解决方案,这是作者的力量超越界限,识别他人所忽略的需求,并找到令人惊讶的解决方案,以解决令人困扰的问题。2 关于职业成长
2.1 程序员修炼之道(第2版)
英文名《Pragmatic programmer》,作者是 Andrew Hunt & David Thomas。中文版的译者是大名鼎鼎的云风,副标题是:通向务实的最高境界。推荐理由:本书是时隔 20 年的新版,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。刚出来的时候博文出版社举办了一个推广活动,在云风和皓子叔联袂推荐下,毫不犹豫的入手了本书。程序员往往最难得就是务实主义,总想追求新技术,炒新概念。工作后才逐渐明白,编程的本质,均不依赖于特定语言、框架和方法,技术改变世界在于能够有效解决用户的真实需求。本书本质上是程序员的自助指南。它探索了良好的软件开发实践,并为您提供了出色的建议、提示和技巧,以更有效地编程。正是对经典和现代轶事、引人入胜的类比和发人深省的例子的创造性使用,使每个部分的学习都变得有趣而有趣。如果说大学期间读的都是类似于 C 语言圣经和 Head First 系统书籍的话,工作后的人才会真正懂得为什么这本书籍不厚,读起来拍案叫好,这大概就是大道至简。作者另一著作:《程序员修炼之道: 从小工到专家》也是值得推荐的2.2 卓有成效的程序员
英文名:《The Productive Programmer》,作者:Neal Ford。推荐理由:本书就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X 以及 *-nix (Unix 或者 Linux)。贯穿全文的思想大概就是尽量让机器做机器该做的事情,让程序和程序打交道,发挥程序员在这方面的先天优势。学会善用工具,命令行、学会写脚本,学会宏。提供效率,不去做重复单调的工作。最终的目的:成为一个“慵懒”的程序员。2.3 软技能:代码之外的生存指南
英文名:《Soft Skills: The software developer's life manual》,作者:John Z. Sonmez推荐理由:研究生期间读过最受益的一本非技术书。程序员都知道编码很重要,这是我们吃饭的硬技能。可是实际工作上才发现不止写代码,代码之外的软技能也很重要:比如面临着与客户沟通、与产品打交道的沟通问题;比如应该关注自身发展,书中也介绍了怎么做职业突围;还有更多章节介绍了作者如何学习、如何理财、健身、自我营销等等。分享书中有趣让我印象深刻的点是作者去面试,面试官浏览过他的博客文章,两人因此相谈甚欢。 最后也想给阅读的朋友声明一下:这本书涉猎了很多方面,但是并不是没一点都是一套可以照抄的完美答案,毕竟作者也是从当时的环境和自己经历出发介绍这些内容,每个读者应该都有自己的选择,综合而言,这本书挺适合各个阶段的人阅读的,尤其大学生和初入职场的朋友。作者也出了《软技能2:软件开发者职业生涯指南》,如果说软技能关注于生活,那软技能 2 则更加关注于了软件开发职业。3 关于黑客与开源
3.1 Unix 编程艺术
书籍英文名:《The Art of UNIX Programming》,作者:《Eric S. Raymond》从 1982 年开始就是 UNIX 开发者。推荐理由:本书涉及 Unix 系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的 Unix 编程大师、开源运动领袖人物之一 Eric S.Raymond 倾力多年写作而成。程序会过时,编程语言会更新,代码会跟随业务不断改动,但编程思想的生命力会长盛不衰,好的编程艺术也是具有穿透力的,尽管书中的案例已经偏老,但贯穿始终的 KISS 原则、思想文化体系、设计与开发哲学一定能够给你带来醍醐灌顶的感觉。Keep it simple stupid,简称 KISS 原则。在做软件设计的工作中,很多时候都不要想得过于复杂,也不要过度设计和过早优化,用最简单且行之有效的方案也就避免了复杂方案带来的各种额外成本。这样既有利与后续的维护,也有利于进一步的扩展。另外,本书还可以与“左耳朵耗子”ef="">皓子叔推荐 过的《UNIX传奇:历史与回忆》结合着一起看,了解 UNIX 的诞生记与发展史,贝尔实验室的幕后故事!本书不但书写 Unix 的历史,而且记录作者的回忆,一探 Unix 的起源,试图解释什么是 Unix,Unix 是如何产生的,以及 Unix 为何如此重要。3.2 大教堂与集市
英文名:《The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary》, 《Unix编程艺术》作者 Eric S. Raymond 的另一封神之作,副标题是《对 Linux 和开源革命的沉思》。推荐理由:大家都知道程序员热衷于开源文化,都在说不要重复造轮子。开源时代下的软件开发可能只需要三个键盘按钮:CTRL + C + V,开个玩笑。说到开源文化,那么本书《大教堂与集市》是开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域。作者把软件开发思路类比于古代的大教堂文化和集市文化,讲述了集市如何变成大教堂,书中系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软件的传承是如何做到的。3.3 黑客与画家
英文名:《Hackers and Painters: Big Ideas from the Computer Age》,作者:Paul Graham,本书的译者是大名鼎鼎的阮一峰大佬。推荐理由:说到黑客文化,就不得不提到硅谷创业之父Paul Graham 的这本书,本书主要介绍黑客 Hacker,即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。本书是一本为黑客正名的技术散文集,看完书后第一次将我从电影中的黑客形象颠覆过来,才了解到并不是入侵系统、制作病毒、各种解密的人就是黑客,Hacker 是专家级程序员,是一群与画家有着极大的相似性,他们都是在创造,而不是完成某个任务,“黑客”象征着第一流的能力,以及求解问题过程中产生的精神愉悦或享受。他们崇尚分享、开放、民主、计算机的自由使用和进步。而那些恶意入侵计算机系统的人更应该被称为 cracker(骇客)。4 关于算法与设计模式
4.1 算法设计手册
英文名:The Algorithm Design Manual (2nd Ed.),作者:Steven S Skiena推荐理由:关于算法的重要性大家都知道,大家肯定都知道另外两本著名的《算法导论》和《算法4》:《算法导论》侧重与算法的数学推导,适合研究,而《算法4》侧重于算法的代码实现,适合入门。而这次推荐的《算法设计手册(第2版)》却没有那么有名气,但也不失为设计实用且高效算法的最全面指导书。该书揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析。目前市场上算法书层出不穷,但是经典的算法却一直在那里,不曾走远。4.2 Head First 设计模式
英文名:《Head first design patterns》,作者:Elisabeth Freeman / / Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson推荐理由:这本书完整地涵盖了 GoF 版本全部23个设计模式,毫不费力地解释了世界各地熟练的软件开发人员和程序员用来构建优雅、功能齐全、灵活和可重用的软件的几种软件设计模式。。图文并茂,配有大量说明性和启发性的示例,它们将使学习同时变得高效和有趣。与其他文本繁重的编程书籍不同,这本书具有引人深思、视觉丰富的格式。Head First 系统书籍充满了幽默感,选题和编辑都很用心,值得一读。相信读完的读者逐步迈向对软件设计模式的深入了解。再来读 GoF 不失为一个不错的选择。4.3 设计模式:可复用面向对象软件的基础
英文名:《 Design Patterns: Elements of Reusable Object-Oriented Software》,又被简称为计算机领域的 GoF ,因为本书的作者是四个人:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides。推荐理由:本书是任何使用面向对象代码的开发人员的必备入门读物。而且作者 Erich Gamma 是 jUnit、Eclipse、IBM Jazz 项目、Visual Studio、Azure 和 Office 365 的幕后推手。如果您没有很好地掌握 UML,您可能会发现很难吸收编程书中汇编的一些信息和示例。然而,这不会阻止您欣赏设计模式书中叙述的美妙之处,它既简单又内容丰富。《设计模式》一书详尽地解释了 23 种软件设计模式,可帮助软件开发人员和设计人员制作更好、更优雅、更灵活的软件。这本书讨论了针对常见软件设计问题的大量简洁明了的解决方案。如果说 GoF 太难读下去,那么就推荐程杰的《大话设计模式》,这本书通过对话的形式带领大家入门设计模式,人人都可以是好学的小菜和经验丰富的大鸟。4.4 编程珠玑(第2版•修订版)
英文名:《More Programming Pearls,Second Edition》,作者:John Bentley推荐理由:这是一本带你真正领略计算机科学之美,融深邃思想、实战技术与趣味轶事于一炉的奇书。与大多数其他编程书籍不同,这本书侧重于基本问题和一般问题。它讨论了可以提高性能或减少内存需求的各种算法和技术。作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程。就如书名一样,大浪淘沙,计算机科学中的智慧正如自然界里珍珠出自细沙对牡蛎的磨砺,留下一个个编程“珠肌”。题外话:
上面的书都是本人曾经阅读过,或者说在图书馆中有借阅翻过的书。也是计算机领域评分很高、有口皆碑的书籍。但计算机行业的经典书籍太多,本人能推荐的也只是其中一部分,想要推荐的内容也不想针对某个特定编程语言和领域,所以像《C++编程思想》和《On Java8》这类书籍没有进行推荐,推荐理由也不一定完全正确,欢迎大家批评指正。另外,看完上述的书并不能说自己就能在工作中就能运用到,看完就能成为一个顶尖的程序员。何况看书也不能完全接收前辈们的这些大智慧,但如果在某个瞬间(看书过程或者实践过程中)对自己有一种醍醐灌顶的感觉,就已足够。参考链接:
• UNIX传奇(上篇)• 假期好读书• Top 5 Books to Improve Coding and Programming Skills• http://www.osnews.com/images/comics/wtfm.jpg本文分享自华为云社区《【云驻共创】对于编程思想和能力有重大提升的书有哪些》,作者:宇宙之一粟 。
怎样破解电脑漏油器密码?
断开其它网线接口,只保持路由器通电的情况下,用细螺丝刀或铁丝插入到路由器“Reset”孔中,并保持8秒钟以上。
接着路由器将会自动重启,待信号灯显示正常后,路由器出厂设置恢复完成。此时查看路由器的背面铭牌,就可以得到出厂时的登陆用户名和密码信息以及路由器管理入口地址。
当然以上恢复出厂设置方法将造成路由器中所有信息的丢失,包括宽带账户信息。因此在执行出厂恢复设置之前,要做好相关数据的备份工作。
解压并运行其中的“WebCracker”程序。在打开的程序主界面中,通过点击“用户名文件”右侧的“打开”按钮,选择已制作好的用户名字典文件。
点击“使用密码文件”右侧的“打开”按钮,选择其中一个密码字典
接下来在“URL”文本框中输入路由器的登陆入口地址,通常为“192.168.0.1”或“ 192.168.0.1”。
然后点击“开始”按钮执行破解过程.
开源项目维护者怎么保护项目免于具有License传染性的PR的入侵?
1、禁止IPC空连接
Cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。
打开注册表,找到Local_MachineSystemCurrentControlSetControlLSA-RestrictAnonymous 把这个值改成”1”即可。
2、禁止At命令
Cracker往往给你个木马然后让它运行,这时他就需要at命令了。打开管理工具-服务,禁用task scheduler服务即可。
3、关闭超级终端服务
如果你开了的话,这个漏洞都烂了。
4、关闭SSDP Discover Service服务
这个服务主要用于启动家庭网络设备上的UPnP设备,服务同时会启动5000端口。
可能造成DDOS攻击,让CPU使用达到100%,从而使计算机崩溃。
照理说没人会对个人机器费力去做DDOS,但这个使用过程中也非常的占用带宽,它会不断的向外界发送数据包,影响网络传输速率,所以还是关了好。
5、关闭Remote Registry服务
看看就知道了,允许远程修改注册表?!
6、禁用TCP /IP上的NetBIOS
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。
这样Cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。
7、关闭DCOM服务
这就是135端口了,除了被用做查询服务外,它还可能引起直接的攻击
关闭方法是:在运行里输入dcomcnfg,在弹出的组件服务窗口里选择默认属性标签,取消“在此计算机上启用分布式COM”即可。
8、把共享文件的权限从“everyone”组改成“授权用户”
“everyone” 在win2000中意味着任何有权进入你的网络的用户都能够获得这些共享资料。
任何时候都不要把共享文件的用户设置成“everyone”组。
包括打印共享,默认的属性就是“everyone”组的,一定不要忘了改。
9、取消其他不必要的服务
请根据自己需要自行决定,下面给出HTTP/FTP服务器需要最少的服务作为参考:
(原文链接地址: 简单几招安全设置防止黑客攻击入侵 “http://www.exehack.net/10.html”)
Event Log
License Logging Service
Windows NTLM Security Support Provider
Remote Procedure Call (RPC) Service
Windows NT Serveror Windows NT Workstation
IIS Admin Service
MSDTC
World Wide Web Publishing Service
Protected Storage
10、更改TTL值
Cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(Linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己更改的:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip
Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦。
11、账户安全
首先禁止一切账户,除了你自己,呵呵。然后把Administrator改名。
我呢就顺手又建了个Administrator账户,不过是什么权限都没有的那种,然后打开记事本,一阵乱敲,复制,粘贴到“密码”里去,呵呵,来破密码吧!破完了才发现是个低级账户,看你崩溃不?
12、取消显示最后登录用户
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrent VersionWinlogon:DontDisplayLastUserName把值改为1。
13、删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServer
Parameters:AutoShareServer类型是REG_DWORD把值改为0即可。
14、禁用LanManager 身份验证
Windows NT Servers Service Pack 4 和后续的版本都支持三种不同的身份验证方法: LanManager (LM) 身份验证;Windows NT(也叫NTLM)身份验证;Windows NT Version 2.0 (也叫NTLM2) 身份验证;
默认的情况下,当一个客户尝试连接一台同时支持LM 和 NTLM 身份验证方法的服务器时,LM 身份验证会优先被使用。所以建议禁止LM 身份验证方法。
1. 打开注册表编辑器;
2. 定位到 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa;
3. 选择菜单“编辑”,“添加数值”;
4. 数值名称中输入:LMCompatibilityLevel ,数值类型为:DWORD,单击 确定;
5. 双击新建的数据,并根据具体情况设置以下值:
0 – 发送 LM 和 NTLM响应;
1 – 发送 LM 和 NTLM响应;
2 – 仅发送 NTLM响应;
3 – 仅发送 NTLMv2响应;(Windows 2000有效)
4 –仅发送 NTLMv2响应,拒绝 LM;(Windows 2000有效)
5 – 仅发送 NTLMv2响应,拒绝 LM 和 NTLM;(Windows 2000有效)
6. 关闭注册表编辑器;
7. 重新启动机器.
除了Office和wps?
职场人办公神器不可少。以下十款实用办公软件,让你工作6到飞起,提前下班2小时不成问题!
1、伙伴云:数据协作平台伙伴云绝对是我的心头爱,我个人经常用它来做数据图表,里面的“仪表盘”功能,真的牛啤!可以自动生成相关的报表,数据分析实时更新,每次工作总结我给BOSS一放,各个数据一目了然。
而且它还是公司管理软件,亲测可以缓和同事间关系,就拿报销这个事来说,说了无数遍,要发票,要发票,拿个清单就来找我要钱,甚至有的就是打了个白条,天天整的公司制度跟放屁一样。
现在全部线上流程化办公,需要提交什么资料清清楚楚,申请人可快速查看审批进度,清晰看到当前的审批人,也不用老是来催我们财务“我的报销怎么还没有通过,怎么又打回来了,给我催催……”
领导不在公司,线上手机也能审批,一般十来分钟就能审批通过
不用数据透视表,也不要写VBA,功能都是封装好的,页面大体是这样的,涵盖了每月收支金额统计、月度花费曲线、日期追踪,便于追踪管理,这也是领导想要看到的东西
它的安全性也是真不错!行业内最强!!!这就是我们财务人的命根子啊!!!再也不怕数据丢失了
伙伴云还能分级别设置权限,像是哪些人看什么数据,哪个部门有哪些权限,哪些报表只有老板看,都是可以编辑的,防止数据泄露。
因为公司采购偏多,生产周期又长,很多时候工作人员都不记得合同上的细节,想要查看相关信息,还要申请走财务流程,一节节的审批,周期还是挺长的,不是我们能决定的问题,还要被吐槽慢、卡、拖……
现在有了线上系统,签合同的时候,直接把合同信息、收款信息等都录入到系统中,需要的时候打开手机就可以看,如果中间修改数据,也能查到原始数据,预防出错。
现在伙伴云5.0版本全新上线!所有用户均可免费体验~也就说可以白嫖,毕竟节约企业成本,也是在变相地增加盈利嘛!
2、Everything:文件搜索神器Everything这款「高效率神器」具有强大的文件搜索功能,正如其名,帮你找到everything~它可以在几秒内帮大家找到需要的目标文件,再也不用在茫茫的文件海洋中无尽寻找还找不着了!
Everything的安装文件不到1M,占用内存不到10M,可以说非常良心了,不过它只支持Windows系统,大家可以注意一下。
3、ScreenToGif:免费录制摄像画板编辑录制和编辑GIF动图有很多场景,比如录制操作步骤、制作表情包等等,它是完全免费的,需要的姐妹不要错过。它有录像机、摄像头、画板和编辑器功能,可以录制和编辑GIF动图,支持多种标记形式,大小只有几M,操作非常简单,界面简洁。
4、Utools:集成工具箱Utools大约等同于一个集成工具箱,集成了很多有用的插件,包括探索、生产效率、搜索工具、图像、开发、创意等多个类别的插件,
5、Billfish:图片素材管理当我们下载了很多的图片素材后,可以通过Billfish来对下载的素材进行管理,对比隔壁收费的Eagle,Billfish虽然是免费,但是功能一点也不含糊,该有的全都有。
最重要的是,非侵占式管理模式,不占用多余空间,软件管理好的素材,资源管理器里也同步更新了。有时候不打开软件,也可以找到自己的素材,真的很友好了。
6、天若OCR :文字识别工具在工作中经常需要将图片上的内容转换为文字?百度文库、豆丁网站上的文字无法复制?PDF文件文字内容的复制经常出现乱码?......
如果你也遇到以上这些问题,可以考虑使用这个软件。
操作简单,直接双击运行软件,鼠标一框网页或者图片(和QQ截图一样),截取需要的文字区域,它就能够自动识别并且提取里面的文字,是不是很方便!
7、Spacesniffer:节约磁盘空间一款节约空间的软件,可以帮我们查看磁盘占用情况,对于一些无用的文件夹,直接删除就可以了。
8、ES文件浏览器:文件管理一款免费且强大的手机文件管理软件,主要支持文件管理、多媒体浏览、网盘文件查看三大功能。
文件管理:可以对手机文件进行分析,可以新建目录、重命名、移动、删除文件等操作,还可以按照名字、大小、日期查看文件,很方便。
多媒体浏览:像是常见的文本、图像、视频、音频、压缩包这种格式的文件,都可以直接在软件内查看的,而且查看视频的时候还支持倍速播放。
网盘文件查看:可以直接登录支百度网盘、google drive、OneDrive、dropbox等主流网盘账号,不用下载就可以直接查看。
还有网页下载的功能,总之就是好用好用。
9、islide:PPT插件在职场中,各行各业都会接触PPT,但并不是每个人都会PPT。
iSlide可以说是PPT制作神器,对于经常做项目总结的职场人非常友好!数据不好没关系,只要PPT做的好,同样能升职加薪~~
islide里面有38个PPT设计的辅助功能,在线资源库超20万专业PPT模板,色彩库可以直接建立专业的色彩主题。
还可以一键统一文本格式、一键添加参考线,一键换字体、统一段落,不用一页一页去调整每张PPT,真的很实用。
刚工作的时候,老板丢给我一份百页ppt给我,要我调整行距和字体,年少无知的我,硬是一页一页搞完了,要是早点知道这个神器就好了。
10、Total Commander:批量重命名文件管理必备!7.8M的大小却足够强大,它有左右两个列表窗口,我们可以轻松将左边的文件复制、移动到右边的文件夹,想把右边的拖到左边也是也可以的。
支持批量解压缩、批量重命名,内部需要统一资源的整理时,批量重命名就派上用场了,毕竟每个人的命名习惯不同,不过有一点度用户很难上手,学习需要过程。
更多办公软件分享请关注伙伴云~
还没有评论,来说两句吧...