关于书籍:咦几本还不错的编程书

咦?几本还不错的编程书《MySQL技术底细 InnoDB存储引擎 第2版》网盘链 提取码:891t《高性能MySQL(第3版)》网盘链 提取码:3u63《MySQL必知必会》网盘链 提取码:6iwt《深入浅出MySQL++数据库开发、优化与治理保护+第2版+唐汉明》网盘链 提取码:8c9z

March 17, 2022 · 1 min · jiezi

关于书籍:让工具成为双手的延伸

求实的程序员,他们有哪些特质? 他们面临问题时,在解决方案中走漏出某种态度、格调、和理念。他们总是越过问题的外表,试着将问题放在更宽泛的大环境下综合思考。他们为所做的所有负责,责任感驱使着求实派的程序员,在软件的熵中,放弃我的项目的有序。 Thomas 与 Hunt 从 1999 年开始,通过这本颇具影响力的大作,帮忙有数客户发明出更好的软件。这本书是技术书籍中的一件「珍品」,须要经久不息一读再读。无论你是老手还是经验丰富的程序员,你都能从这本书中发现乐趣。 通过这本书,你能够学会: 求实的哲学与求实的办法防止常识反复的陷阱、灵便驾驭根本工具防备安全漏洞、组建求实的入门套件写出有弹性、动静、适配性强的代码有情而无效地做测试工欲善其事你能够在 Shell 中启动应用程序、浏览器、编辑器,还能够搜寻文件、查问零碎状态,并将后果过滤后输入;你能够通过各种形式组合工具——可能连开发者本人都想不到本人当初开发的工具会被这样应用;你还能够通过对 Shell 编程构建出简单宏指令,来自动化日常工作。有人要问了,在图形界面和集成开发环境(IDE)中,通过点击屏幕也能够实现以上每件事件,而且看上去更加直观,不是吗? 是,也不是。图形界面的益处是「所见即所得」。像是拖拽文件、发送电子邮件、输出信息等这些工作,你齐全能够应用图形界面实现。然而,齐全应用图形界面,你会错失环境的局部能力——你将无奈把常见的工作自动化、无奈通过组合工具来定制宏工具。图形界面的局限是,「所见即全副」,如果你想要超出设计者给定的性能,就会碰壁。 在《程序员修炼之道》的「根底工具」一章中,作者激励你应用 Shell、增强应用编辑器的能力。怎么才算熟能生巧地应用编辑器?作者给出了一个挑战清单,试试看你能是否不应用鼠标和触控板实现下面所有工作? 当编辑文本时,以字符、单词、行、段落为单位挪动光标及进行抉择当编辑代码时,在各种语法单元(配对的分隔符、函数、模块……)之间挪动做完批改后,从新缩进代码用单个指令实现代码块的正文或者勾销正文Undo 并 Redo 变更把编辑窗口切割成多个面板,而后在它们之间跳转跳转到特定的行号……-相熟 Shell 之后,你会发现生产率大幅度提高,某一天你会诧异地发现,本人十指翻飞,这些工具已成为不假思索的肌肉记忆、这些工具将成为双手的延长。优良设计的精华想要牢靠地开发软件,让开发我的项目更容易了解和保护,须要遵循的准则是:在一个零碎中,每一处常识都必须繁多、明确、权威地表白。让咱们来看一个典型的例子: def print_balance(account) printf "Debits: %10.2f\n", account.debits printf "Credits: %10.2f\n", account.credits if account.fees < 0 printf "Fees: %10.2f-\n", -account.fees else printf "Fees: %10.2f\n", account.credits end printf "———-\n" if account.balance < 0 printf "Balance: %10.2f-\n", -account.balance else printf "Balance: %10.2f\n", account.balance end end先不说不应该用浮点数保留货币金额,这段代码中至多有三处反复。首先,对于正数解决的中央有一处显著的复制粘贴。通过减少一个判断正负的函数就能够打消这个反复。 其另一个反复是 printf 的调用中,雷同字段的格局重复呈现。咱们诚然能够减少一个常量,把这个常量传给每次的调用,但为什么不间接应用曾经定义的函数?解决下面两个反复问题,代码当初长这样: ...

December 10, 2021 · 1 min · jiezi

关于书籍:文末福利如果代码莫名其妙跑起来了就不要去动它了……吗

关注 Zilliz 微信公众号并回复「重构」获取《重构:改善既有代码的设计》超具体思维导图 尽管代码还是能够跑,然而各种规定越来越简单、外围继承体系越来越凌乱、零碎的保护工作越来越重…… 1999 年,Martin Fowler 作为技术顾问造访了一个我的项目,他倡议项目经理好好整顿这些乱哄哄的代码。然而,项目经理示意:算了吧 六个月后,这个我的项目宣告失败,因为代码太简单难以调试,性能也达不到要求。 这件事给 Martin 留下很深的印象,随后,他写下了《重构:改善既有代码的设计》。 《重构》出版 22 年后,已成为软件开发畛域不可代替的经典。这本书解释了重构的原理和最佳实际形式,并给出了批改代码的动机和具体案例,值得重复消化咀嚼。 这本书还凝聚了多位软件开发领域专家的贵重教训:摩根大通架构师 Bill Opdyke 在第 13 章记述他将重构技术利用到商业开发过程中的一些问题;软件开发方法学泰斗 Kent Beck 和 Don Roberts 合写了第 14 章,瞻望重构技术的将来——自动化工具;Kent Beck 还写了最初一章,总结如何学习重构。 你将从这本书中取得: 了解什么是重构、为什么要重构、何时重构,了解了解重构准则:一次一小步地批改代码并屡次测试实操演练重构的动机和办法,使既有代码更易了解、晋升软件的可维护性无论你是软件工程师还是产品经理,都须要翻一翻这本经典;而零碎设计师和架构师则更有必要理解重构原理,依据须要在本人的我的项目中使用重构技术、优化零碎性能。 小编揭示,这本书中第一版的案例语言应用 Java,第二版的语言应用 JavaScript。总体而言,作者展现的重构手法在各种支流的面向对象语言中基本上都能够通用。 为何重构? 第二章中,作者具体介绍了重构的价值。重构不仅能够改良软件设计自身的缺点、帮忙找到 bug、晋升开发速度,还能够使软件更容易被了解——这是因为,程序设计很大水平上是人与计算机、人与人的沟通。 Martin Fowler 曾提及,任何一个傻瓜都能写出计算机能够了解的代码,唯有能写出人类容易了解的代码的,才是优良的程序员。 所谓程序设计,便是与计算机交谈。你编写代码通知计算机做什么事件,它的响应则是依照你的批示口头。你得及时填补「想要它做什么」和「通知它做什么」之间的缝隙。这种编程模式的外围就是「精确说出我想要的」。除了计算机之外,你的源码还有其余读者。计算机是否多花了几个小时来编译,又有什么关系呢?如果一个程序员破费一周工夫来批改某段代码,那才要命呢——如果他了解了你的代码,这个批改本来只需一小时。……而很多时候,那个将来的程序员就是我本人。《重构(第2版)》译者熊节也曾谈到,「编程其实是个社会活动」。 一方面,程序员要把自然语言说进去的需要翻译成机器能运行的机器语言;另一方面,翻译进去的后果(也就是代码)还要撑持团队(包含技术和非技术的团队)一直地在它根底上合作和交换。……编程的大挑战不是把代码写进去,而是要在代码的根底上建设无效的多方沟通。那么,咱们何时须要重构?书中第三章列举了一些「代码的坏气息」。「坏气息」指的是代码中某些不完满之处,开发人员能够通过这些细节上的征兆在代码中追捕到更大问题。小编不禁联想到了《Clean Code》中的「好气息」和「坏气息」。 一个重构案例 家喻户晓,重构有危险,挖坑需谨慎。如果重构形式不失当,危险反而更大。 试想一下这样的状况:你开掘本人的代码,很快就发现了一些能够批改的中央,于是你挖得更深。挖得愈深,能够批改的中央就愈多……最初,你给本人挖了一个大坑,再也爬不进来了。 为了防止掉进坑里,重构必须依照肯定的准则和办法进行。 作者在第 5 - 12 章给出了一个重构列表,每一个重构案例都写明了重构实用的情景、动机、重构办法。让咱们来看一个案例吧: Extract Method(提炼函数) 你有一段代码能够被组织在一起并独立进去: void printOwing(double amount) { printBanner(); //print details System.out.println ("name:" + _name); System.out.println ("amount" + amount); }将这段代码放进一个独立函数中,并让函数名称解释该函数的用处: ...

November 24, 2021 · 1 min · jiezi

关于书籍:嵌入式Linux必读经典书籍含下载方式

最近,在知乎看到一个问题,“嵌入式Linux有哪些好书举荐”。我读研期间也喜爱珍藏一些书籍,每次看到京东有流动,总是忍不住想买一些书籍回来。 随着工夫越来越久,我买的书越来越多,然而都看完不太事实。起初发现书不在于多,而在于经典。 买了书搬家是个麻烦事,我从网上收集了一套计算机电子书,从中筛选了我看过的好书分享给大家。 在这里我举荐我看过的比拟好的书,从入门到进阶。 这是我上学期间买过的一些书,其中的很大一部分还没看完: 我整顿的这些书大家能够在这里收费白嫖,都是嵌入式畛域的经典书籍,从入门到深刻了解,整顿全了! 举荐一个 github仓库,下面放了上百本经典的嵌入式,计算机书籍,能够star一下,下次找书间接在下面搜寻就能够了:github 书籍宝藏仓库gitee 书籍宝藏仓库@[toc] 编程语言C《C primer plus》 这本书简直囊括了C语言所有的知识点,并且书中对于每一个语法细节都有很多活泼简略的例子,同时给出了程序的运行后果,学起来会很难受,不会那么干燥。 始终认为,能把printf函数讲清楚的书肯定是好书。从本书对printf函数的解说的篇幅之大,就能够看出它的专业性。 600多页的书,算是第一本认真读完的C语言类书籍。如果不是因为它的趣味而且业余、具体但不是手册类型的书籍,我必定是读不上来的。 总是感觉厚书通常废话多,然而这本书却值得细细品读。经常性的,书中所提到的问题恰好是困扰了你很久的问题,读下之后,有想抱着作者亲一口的激动!! 总的来说,后面的比拟根底,前面的稍有难度。后面尽管简略,然而也有很多比其余书出彩的中央,前面尽管难了点,然而并非头重脚轻,而且这一部分通常很乏味。 强烈建议想好好学C语言的人,肯定要读这本书。如果你还会点汇编常识,并且有探索的精力,那么这本书真的会让你很有成就感和共鸣感! 老手学习的时候肯定要本人入手敲每一个例子,这样能力学得好,代码能看懂跟能写进去差距还是挺大的。 《C和指针》 学会C的根本实践后,想要从高级程度进阶到中级程度,该书无疑是最好的一本参考书。指针能够说是C语言的灵魂,轻易看一下linux kernel源码,就能发现外面到处都有指针的身影,很多让人眼前一亮的技巧都是通过指针实现的。 这里须要揭示一点,尽管本书书名是《C和指针》,然而其它的C语法都有具体介绍,只不过书中对指针的介绍比拟多。 《C陷阱与缺点》 这本书是Andrew Koenig大神以本人1985年在Bell实验室时发表的一篇论文为根底,联合本人的工作教训扩大而成的。作者写作本书的出发点不是要批评C语言,而是要帮忙C程序员绕过编程过程中的陷阱和阻碍。 相比拟那些大部头的计算机图书,这本只有100多页的小册子会让你有读上来的欲望,本书的内容是短小精悍。 全书分为8章,别离从词法剖析、语法语义、连贯、库函数、预处理器、可移植性缺点等几个方面剖析了C编程中可能遇到的问题。 读过这本书之后,当本人写代码时,要时刻回忆书中的内容,避免本人犯同样的谬误! 《C专家编程》 这本书与展现了最优良的C程序员所应用的编码技巧,并专门开拓了一章对C++的基础知识进行了介绍。 书中C的历史、语言个性、申明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了粗疏的解说和深刻的剖析。全书撷取几十个实例进行解说,对C程序员具备十分高的实用价值。 C++《C++ Primer》 这本书齐全是从一个业余开发者的角度去写的,把基础知识讲的很的深刻和很透彻,让你了解什么是c++开发思维,解说了很多在理论开发中的用法,问题,留神点等。 你能够感触到作者的程度之高,态度之认真,学完这本书,会让你对整个c++语言有个比拟清晰的意识,对代码的规范化,对内存管理机制,对效率问题都会有不少晋升。 《Effective C++ 》 这是一本C++的入门书籍,Lippman之所以写这本书就是因为《C++ Primer》对于初学者来说太轻便了,而这本书却是从不同的方面——C++的实质和组织构造对语言进行阐释,能够帮忙初学者对这门语言有一个大抵的理解。 对于初学者而言,不要在最开始就陷入到C++的细节之中,否则会有“不识庐山真面目,只缘身在此山中”的感觉,C++的语法切实太多了。。。 《STL 源码分析》 对这本经典的书我曾经无奈用简略的词语来形容了。我只能说,学C/C++的人如果没有看过这本书,切实是惋惜。 这本书,侯捷老师对 STL 中的各个组件进行了分析,对 STL 的用法给出了一些示例,另外把 STL 中简直所有性能都讲了一遍,在容器局部对其中用到的数据结构进行了粗疏的解说。 尤其值得一提的是,书中有大量的插图,对于读者了解数据结构和算法可能起到事倍功半的成果,可见侯捷老师是下了大量功夫的。 C++程序员都应该读读这本书。 数据结构与算法《大话数据结构》 如果你跟我一样不是计算机科班出身,又想自学数据结构以及初步理解算法,那么就从这样的书籍开始吧。 十分棒的一本入门数据结构的书,每一章节都会有一个场景举例帮忙了解数据结构,书中代码也能够边调试边学习。 《数据结构与算法剖析-C语言形容》 在学习过C语言后,不要拖太久了,就看它,书很好,解说透彻扼要,尽管范畴有点广,然而比国内大部分曾经好很多了,倡议刷完前面的题目,做有意见挑战性的锤炼能力的题目。 这本讲算法的尽管只有300多页,比不上算法导论那样的大部头,不过讲了许多的算法设计技术,整本书的信息量很大,好好研读,肯定会有较大播种。 ARM体系与架构《ARM体系结构与编程》 这本书能够看作是对ARM参考手册的中文摘译版,看ARM英文手册有难度的,能够参考下这本书。 《嵌入式Linux利用开发齐全手册》 韦老师写的齐全手册,很全面。从裸机到驱动再到嵌入式应用。 联合着开发板和视频食用成果更好。 操作系统《古代操作系统》 介绍计算机操作系统很不错的一本书,看的时候有种膜拜感啊,入门操作系统必读的一本书。 从各个层面上进行介绍,够广也够深,最初一章的各方面综合介绍也好有意思,开端的相干书籍举荐也大赞。这也是我感觉写操作系统原理写的最好的书,很适宜初学者入门操作系统浏览,能够全方面理解操作系统原理。 ...

October 13, 2021 · 1 min · jiezi

关于书籍:最受欢迎的-10-本编程书籍文末附地址

一般来说,学习的过程产生并终结在购买这一步,而后再未捡起。推特上一位名为 Pierre de Wulf 的网友突发奇想,有史以来最受欢迎的编程书籍到底是哪些?为了找到程序员们最为推崇的那些编程书籍,他应用 Python 编写了脚本,拉取了大量的相干数据,最终得出了这10本经久不衰的技术好书。以下是举荐后果。 程序员修炼之道:从小工到专家作者:David Thomas & Andrew Hunt,67% 举荐度 《程序员修炼之道》由一系列的独立局部组成,涵盖的主题从集体责任、职业倒退,直到用于使代码放弃灵便、并且易于改编和复用的各种架构技术。利用许多富裕娱乐性的奇闻轶事、有思想性的例子以及乏味的类比,全面阐释了软件开发的许多不同方面的最佳实际和重大陷阱。无论你是初学者,是有教训的程序员,还是软件项目经理,本书都适宜你浏览。 代码整洁之道作者:Robert C. Martin,66% 举荐度 软件品质,岂但依赖于架构及项目管理,而且与代码品质严密相干。这一点,无论是麻利开发流派还是传统开发流派,都不得不抵赖。本书提出一种观点:代码品质与其整洁度成正比。洁净的代码,既在品质上较为牢靠,也为前期保护、降级奠定了良好基础。作为编程畛域的佼佼者,本书作者给出了一系列卓有成效的整洁代码操作实际。这些实际在本书中体现为一条条规定(或称“启发”),并辅以来自事实我的项目的正、反两面的范例。只有遵循这些规定,就能编写出洁净的代码,从而无效晋升代码品质。 代码大全(第 2 版)作者:Steve McConnell,42% 举荐度 这是一本残缺的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件品质和编程思维等方面阐述了软件构建的各个问题,并具体阐述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰盛而典型的程序示例。这本书中所阐述的技术不仅填补了高级与高级编程技术之间的空白,而且也为程序员们提供了一个无关编程技巧的信息起源。这本书对经验丰富的程序员、技术带头人、自学的程序员及简直不懂太多编程技巧的学生们都是大有裨益的。能够说,无论是什么背景的读者,浏览这本书都有助于在更短的工夫内、更容易地写出更好的程序。 重构:改善既有代码的设计作者:Martin Fowler,35% 举荐度 重构,一言以蔽之,就是在不扭转内部行为的前提下,井井有条地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为泛滥一般程序员日常开发工作中不可或缺的一部分。本书也因而成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等泛滥语言,在世界范畴内滞销不衰。 深入浅出设计模式作者:Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson,29.4% 举荐度 《深入浅出设计模式》(影印版) 的编写使用许多最新的钻研,包含神经生物学、认知科学以及学习实践,这使得《深入浅出设计模式》(影印版) 可能将这些设计模式深深地烙印在你的脑海中,不容易被忘记。你将会更擅长于解决软件设计中的问题,并可能和你的团队成员用模式的语言来更好地沟通。 人月神话作者:Frederick P. Brooks Jr,27.9% 举荐度 作者为人们治理简单我的项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实际。书中的内容来自布鲁克斯在 IBM 公司 System 360 家族和 OS 360 中的项目管理教训。初版的 20 年后,布鲁克斯从新扫视了他原先的观点,减少了一些新的想法和倡议。新减少的章节包含:原著中一些外围观点的精髓;在通过了一个时代当前,Brooks 博士对原先观点新的意识;1986 年的经典文章《没有银弹》;对 1986 年所下论断(在 10 年内不会呈现银弹)当初的意识。 ...

August 21, 2021 · 1 min · jiezi

关于程序员:从小白程序员到大厂高级技术专家我看过哪些书籍

大家好,我是冰河~~ 有句话叫做:投资啥都不如投资本人的回报率高。 从加入工作到当初,短短的几年内,我投资在本人身上的钱已超过三十多万,光买书籍的钱就已超过总投资的三分之一,买了不少于上千本书,有实体书,也有电子书。这些书不仅晋升了我的技术能力,更晋升了我的视线和认知。作为一名从事互联网行业的技术人,我始终感觉技术不是最重要的,比技术更加重要的是你的格局和认知,正所谓:人很难挣到认知以外的钱,人也很难晋升认知以外的能力。 明天假期第一天,就不写技术文了,给小伙伴们分享下,从小白程序员到大厂高级技术专家我看过哪些技术类书籍。 明天,在拾掇房间的时候,无疑间看到了放在桌子上面的行李箱,这外面放的不是别的货色,正是之前我看过的一些技术书籍和一些其余书籍。这些书籍中又不少我都看过三次以上。 之前买了不少于上千本书,因为之前搬家的起因,很多都卖了,不过卖归卖,大部分我还是看完了,也做了相应的读书笔记。当前再独自写一篇文章分享给小伙伴们。 明天,就简略列下我看过的书籍的清单,临时不写具体介绍了,不然文章太长了,上面的清单中有些是实体书,有些是电子书,都是冰河看过的,强烈推荐给大家。 架构类《亿级流量网站架构核心技术》 《架构解密 从分布式到微服务》 《从Paxos到Zookeeper 分布式一致性原理与实际》 《大规模分布式系统架构与设计实战》 《大型分布式网站架构设计与实际》 《大型网站技术架构:外围原理与案例剖析》 《大型网站零碎与Java中间件实际》 《分布式服务架构.原理、设计与实战》 《高性能服务零碎构建与实战》 并发编程类《图解Java多线程设计模式》 《Java并发编程实战》 《实战Java高并发程序设计》 《Java并发编程之美》 Netty类《Netty权威指南 第2版》 《Netty实战》 JVM类《深刻了解Java虚拟机(第2版)》 《深刻了解Java虚拟机(第3版)》 《垃圾回收的算法与实现》 《深刻了解JVM & G1 GC》 微服务类《SpringCloud微服务实战》 《SpringCloud与Docker微服务实战》 《微服务分布式构架开发实战》 《Spring Cloud与Docker高并发微服务架构设计施行》 《SpringBoot2精华》 《微服务架构实战》 《微服务设计》 《深刻了解Apache Dubbo与实战》 《深刻分析Apache Dubbo核心技术底细》 《高可用可伸缩微服务架构:基于Dubbo、SpringCloud与Service Mesh》 数据库类《MySQL技术底细 InnoDB存储引擎 第2版》 《高性能MySQL(第3版)》 《高可用MySQL》 《MySQL5.7从入门到精通》 《MySQL王者升级之路》 《深入浅出MySQL 数据库开发、优化与治理保护》 《MongoDB权威指南(第2版)》 Redis类《Redis开发与运维》 《Redis设计与实现(第二版)》 《Redis深度历险:外围原理与利用实际》 Spring类《Spring 5外围原理与30个类手写实战》 《Spring源码深度解析(第2版)》 《看透SpringMVC源代码剖析与实际》 数据分析与开掘类《Python编程从入门到实际》 《Python数据分析与开掘实战》 《Python高性能编程》 《Python并发编程》 《Python自动化运维 技术与最佳实际》 ...

April 3, 2021 · 1 min · jiezi