Share it. Celebrate it. Build it.
一个经常阅读的人在他死之前已经活了上千次了……一个从不阅读的人只活了一次。
–乔治·R·R·马丁
一个人与另一个人交流的最佳方式是通过故事。
–唐纳德·高德纳
这些都是在行业中的好书藉或好内容,我想把这些优秀的东西分享出来,并赋上自己的一些主观想法,能让更多人知道并从中受益。这里只是做一个引荐,精彩需要你自己亲自拜读从中感受。
写给程序员的范畴论
简单并不是先于复杂,而是紧随其后。
–艾伦·佩利斯
我的结论
这本书有一个配套课程2。范畴论(英语:Category theory)是数学的一门学科,以抽象的方法处理数学概念,将这些概念形式化成一组组的“物件”及“态射”。3范畴论运用最广是在Haskell这个语言中,而Bartosz Milewski写了这本书把它推广开来。计算机行业每过几年会出现一些新的概念,例如面向对象编程,函数式编程到范畴论,总能给自己一些新鲜感,他能如何影响到我,如何影响行业,以至于是否会影响到世界,可能很难得知;我自己之前很看好前端,但当我有一定积累之后,前端的人才也越来越多了,失去了一定的议价能力。我不清楚范畴论这个概念是否会影响编程界,因为每年都有好多新的概念冒出来,例如这几年的WebAssamble,Container,No-Code,语言更是数不胜数了,范畴论是否值得去学习认识下,但是不管怎样,接受新事物,认识新事特,学习新事物也是这个行业的一部份。
程序设计实践
如果人类能从历史中吸取教训,它会给我们什么教训!但是激情和党派蒙蔽了我们的双眼,经验所发出的光是茎上的一盏灯,只照亮我们身后的海浪!
–塞缪尔·泰勒·柯勒律治《回忆》
我的结论
当我们有一些想法,或者做一些事情的时候,总希望能做的更好;编程也一样:我是否为一个可能错误的算法花了太多时间;我使用的数据结构是否过于复杂了;测试一个程序但错过了一个明显的问题;花了一天时间找到的BUG可能留心点5分钟就能找到了;需要一个程序速度提升3倍并减少内存的使用…。跟理论不同的是这些很难从书本中习得,只能通过实践不断积累;而初学者的代码总是充满了僵硬的语法和无全局观,本书从三个准则讲述如何写好一个软件:1.简单性,保持程序的简短和可管理;2.清晰性,代码是通俗易懂的;3.通用性,尽可能让代码能在更多不同环境中运行,这些都是基于多年的实践经验和大型软件的维护。虽然不管是什么都不可能做到完美,或者说能达到一个标准就可以了,而编程中的完美标准就是那三个准则,本书围绕三个准则具体在语法风格,算法数据结构,设计,API,Debug,测试,性能,移植等中实践,使你尽量能在脱离了特定语言,操作系统和编程范式上实现代码的最大优化。
游戏编程介绍(C++)
这就是重点:不是为了卖东西;也不是随潮流;而是因为热爱一些东西;做一些我们创作者喜欢的东西,这是我们在制作游戏时应该有的核心感觉。
–茂る 宮本, 谈及宝可梦的创造
我的结论
这是免费的游戏编程公开课。游戏被称为第九艺术,他能让你体验在现实中不可能完成的事,更是让你沉浸在其中,大有取代其他所有娱乐方式之势。他有美妙的音乐、有精美的画面,有引人入胜的剧情,有切身体验的交互,有志同道合的朋友…。但是如果你想创造自己的乐园,想让更多人体验你创造的世界,那游戏将是你最好的选择;而本公开课就是游戏编程入门,他主要是实现你的创意,至于是什么创意不是本课的内容。而这门课给我最大的感受是老师的讲课非常标准,让我这个英语初学者都能听的懂,即便内容不是非常深入,但是听的懂,听的舒服有时候比什么都重要,因为听课原本就是枯燥无味的。本门课用到的编程语言是C++,而游戏编程运用最普遍的语言也是C++,但是也只是介绍了个基础内容,更加具体的学习可以到Learn C++和cpp refernce,cplusplus等。
写给不耐烦程序员的JavaScript
要是咱们,得罪了请原谅。
咱们本来是,一片的好意,
想要显一显。薄薄的伎俩,
那才是咱们原来的本意。
–威廉·莎士比亚,仲夏夜之梦
我的结论
不知道是因为JavaScript过于流行还是因为我自己本身就是从JavaScript入行的,目前我的榜单上单是JavaScript入门书籍就已经有三本了,一本是《权威指南》,另一本是《雄辩的JavaScript》,还有就是现在这一本;要我说这三本有什么需别,可能就是权威指南偏向于纯前端的技术,有涉及前端的方方面面;雄辩的JS偏向于基于JS的软件设计,而这本聚焦于语言本身,以及之后便于对语言的深挖,选择哪本根据个人需求。至于为什么是叫写给不耐烦程序员那是因为本书可以让你快速开始JavaScript其他更深的章节可以有空再看。
深入JavaScript
实践并不能成就完美。只有完美的实践才能成就完美。
–文斯·隆巴迪
我的结论
本书适合有一定JavaScript基础或经验的人,希望更加了解这门语言;例如对象的完全克隆,对象属性保护,元编程等,以及最新的ECMAScript标准。
PostgreSQL的艺术
数据占主导地位。 如果您选择了正确的数据结构并将事物组织得井井有条,那么算法几乎总是不言而喻的。数据结构而不是算法才是编程的核心。
–罗布·派克
我的结论
Postgresql是我很钟意的一个数据库,我自己的理想是小型开发用SQLite,中型开发用mongodb,大型开发,推荐算法,AI等开发用Postgresql。软件开发数据有多重要数据库就有多重要,而PostgreSQL给我的感觉是有点复杂比较难驾驭,或许犹如书名,使用PostgreSQL是艺术,需要常年不断积累与练习。至于PostgreSQL的使用官方的文档已经非常好了,也很难做的比文档好了,所以本书重点不在使用,而在更好的使用,更好的设计你的数据库。
我编程,我快乐: 程序员职业规划之道
在我们的文化中,听从父母的建议是一件神圣的事情。它被视为孩子的职责,并与履行自己的宗教职责一样被视为正确的事情。书籍、电影和电视情节都以听取父母的智慧作为一种美德。但对于我们这个IT行业来说,这种美德是错误的。
–文中摘要
我的结论
这本书的灵感来源于《程序员修炼之道-从小工到专家》。如果修炼之道是对这个职业的一个总览,那规划之道是对这个职业的具体实施规划。就像修炼之道提到的:我们构建自己的生活,当你规划好自己的路线之后,后面不管是公司还是职位都应该为自己的路线让道。不管你是打工还是独立开发,都需要一条正确道路和建议,少一点挫败多一些成功。选择你的技术和商业领域;投资你的产品,仅仅会Java已经是不够了,你可能需要其他的技术;执行力;和市场这是本书的四大重点。我自己也曾经设想:一个好点子加上执行力把产品创造出来应该就能成功,关于这方面有一个专门的公开课(后面会讲到),但是怱略了市场,因为如果没人知道你的产品,那有好点子也很难成功。当然这里概括的四个重点,很难说明什么,具体的详细实施方法在重点下的章节有说明。例如第一章:领导还是血亏,根椐目前的市场,列举一份表单,分别是适合在早期,中期,晚期使用的技术,从左到右,左边是最新的技术,右边是公布的技术;然后标注出哪些是你熟练的技术哪些是你不熟练的,以此定位出自己的位置。
远程工作
未来已经到来——只是还没有平均的发散出去。
——威廉·吉布森
我的结论
有时候面对变革并没有那么困难,我们需要做的只是改变自已的观念; 对于工作他并不是你的束缚,相反他是你活着的证明。工作不是大家聚在一个办公室群策群力解决问题,而是我们在问题面前每个人发挥自已的专业能力去解决他。首先要生活的有意义,你就要有能力在闲暇之于去做一些事情。而我们做事情不一定要在固定的场所,可以是任何能高效发挥你能力的地方,这便有了远程工作。你可以在家里,在咖啡厅;或者是正在旅行的酒店里,房车里,野外等。美国从2005年至2011年远程工作人数飙升73%达到3百万人,也就是说远程工作已经是一种举手投足间的常态了;或许你已经生活在其中了,或许你早有所闻了,又或许你可能刚意识到这个现象;这本书就是关于远程工作的一本书,他告诉你远程工作的好处和解决其中的困难,他让你对工作有重新的认识。
代码整洁之道: 程序员的职业素养
“哦笑吧,老男孩科廷。这是主对我们开的一个很好的玩笑,也或者是命运,或者自然开的,由你喜欢吧。但是无论是谁,无论是什么,玩它的人肯定很有幽默感哈!”
–霍华德,《马德雷山脉的宝藏7》
我的结论
你是否想成为专业的软件开发人员,就像我一样,在没有进入这个行业之前,对程序员充满敬意和想象,想象自己通过技术改变世界;可在进入这个行业之后各种的挫折和打击,经历过狼性文化,经历过加班,经历过被辞退被降薪被算计,经历过破产…。到最后都没办法好好坐下来写自己的代码,结果是现在对这个行业非常失望已经对所谓的公司失去了信心。我在想当时如果有个人能指导下或许会不一样,但是这个社会功利性太强,身边碰不到这样的人,不寄希望于人性,于是寻找经典的书籍和有用的知识指导自己的方向。本书作者也做过软件开发,也经历过职场,做过CEO,他来告诉你如何成为专业的开发人员,如何提升自己的职业素养。他讲了很多故事,都是程序员会碰到的情况,例如第一章敬业精神:如何让自己更专业首先就是要负起责任,讲了一个自己在Teradyne公司的经历;然后后面章节是要会说不,要会说是,编码中的事项等。都是一些中肯且有意义的建议,能让你迈向专业的路平坦些。
C++学习
请记住,程序老兵永远不死——他们只是超出了作用域。
–Alex
我的结论
三人行则必有我师,网络时代有一技之长都可以成为老师;我只恨自己没有在更早时看到这个资源,以至于让我感慨自己在学校花的如此多的时间和金钱简直就是一种浪费。他是由个人编写,发布在网站上的C++初学者学习课程,靠着网页浏览量的广告收入来维持网站的运转,他的授课如此优秀,相比现实中的老师是有过之而无不及:他浅显易懂,在我的印象中C++是一门抽象的语言,但是他的讲解简短,一章一个知识点,每一个知识点很有趣,总能让我对下一章充满兴趣;循序渐近,他的每一章的编排也是互相关联慢慢增加你的知识的,跟现在许多优秀的入门教材一样,特别是在技术行业,你能很快的看到自己努力的成果;接地气,没有专业的术语,没有深奥的理论,没有故作深沉,有的只是一个朋友侃侃而谈;免费,无门槛,有解答,他是免费的可全网查看的资源,没有设置任何的门槛,他只希望你不要对他的网站广告拦截,因为那是维持网站的收入来源,并且他也会解答一些在评论中的问题。或许所谓的网络时代就是只要我们肯努力,都能找到最好的资源来指导自已前进的方向,这也是这个行业的优势,我们总是乐于毫无保留的分享自己的知识和成果。
NO. | Content |
---|---|
1 | 分享最近阅读的书籍清单(一) |
2 | 分享最近阅读的书籍清单(二) |
3 | 分享最近阅读的书籍清单(三) |
4 | 如何面对35岁 |
5 | 分享最近阅读的书籍清单(四) |
6 | 为什么你应该学习多种语言及哪里可以学到他们 |
7 | 作为大龄程序员,你如何持续的保持自己的竞争优势 |
8 | 程序员在职场中如何缓解过度焦虑 |
如果喜欢该文章欢迎Star我的github | |
捐助我的游戏,支持我的创作 | |
我的社区更新地址 | |
email: janegwaww | |
Home Page |
1 https://github.com/hmemcpy/milewski-ctfp-pdf
2 http://brendanfong.com/programmingcats.html
3 https://zh.wikipedia.org/zh-hans/%E8%8C%83%E7%95%B4%E8%AE%BA
4 http://brendanfong.com/programmingcats.html
5 http://www.cs.mun.ca/~dchurchill/teaching.shtml
6 https://exploringjs.com/impatient-js/toc.html
7 https://exploringjs.com/deep-js/toc.html
8 https://theartofpostgresql.com/
9 https://book.douban.com/subject/4923179/
10 https://book.douban.com/subject/21362627/