摘要:
“回日楼台非甲帐,去时冠剑是丁年” 今天收到豆瓣的2019年的总结,发现自己已经在豆瓣渡过10个春秋。今年读了69本书,有很多书非常棒。今天我就给各位架构师,程序员,码农推荐一些我觉得对工作和职业生涯都很有帮助的书籍。 专业技术类 IT专业类的书不是我今天要推荐的重点,因为这些书大部分大家都很熟悉了 阅读全文
摘要:
秦孝公在位期间致力于恢复秦国的霸业,他因此颁布著名的求贤令, 商鞅3次游说秦孝公,第一次讲的是尧、舜、禹、汤的帝道。上古时期,百姓安居乐业。秦孝公听着听着睡着了。商鞅离开之后,秦孝公向景监发火,说商鞅自大。景监把这个反馈给商鞅,商鞅没有气馁,请求再给他一次机会。5天后景监给他安排第二次朝见。这一次商 阅读全文
摘要:
保持小的变化 Photo by Jonathan Borba on Unsplash 作为一名初级工程师,我擅长进行大范围的全面更改。 我会看到一个问题,然后直接解决。 这通常意味着我要发送大量的代码审查。 只需一次更改,我就可以触及从UI到数据库的所有内容。 我为能够将整个系统保持在自己的头脑中而 阅读全文
摘要:
image from http://blog.yalebooks.com/tag/paul-rudolph/ “天波易谢,寸暑难留”。转眼在软件行业摸爬滚打已经就近二十年,从事软件架构工作也快十年了。曾子曰:“吾日三省吾身”。人要提高自己,需要对自己犯过的错误进行反省,作为一个老软件工程师,我希望能 阅读全文
摘要:
之前在公司,有小伙伴在向别人介绍我的时候,经常会有人这么说:“刚哥是我们的architecture”,如果来人是老外,心中一定是一惊,心中暗叹,“这位匪首看上去貌不惊人,难道已经做到了架构和本人天人合一和最高境界了?” 回头,我不免又要唠叨两句,“同学们,没文化,很可怕,我是架构师 architec 阅读全文
摘要:
许多程序员尝试编写干净,智能的代码。 但是,有时候,痴迷于智能可能会使代码库更难以理解,并且可能会花费大量时间来阅读和维护它。 如今,在团队合作中,人们逐渐意识到编写人工代码的意义,这意味着您在编写代码时应该尊重他人,而不是炫耀自己的智慧。 人们正在尝试不要使用"干净"一词,因为这意味着即使您不是故 阅读全文
摘要:
在编程成为干净的代码忍者时,我们应该认识到最常见的代码气味的集合。 > Photo by Aisha Askhadova on Unsplash 您是否曾经在阅读代码时感觉到告诉您某些错误的感觉? 那种"看起来有些不好"的感觉,但是,您仍然无法确切地知道问题出在哪里吗? 这种怪异的感觉是,您从代码中 阅读全文
摘要:
软件质量:不仅是工作软件,还包括精心制作的软件 短篇小说 就像其他神话一样,背后也有一个可怕的故事。 在这种情况下的故事是某个公司启动的该软件项目。 经过几个月的思考和计划,该项目的负责人终于获得了预算。 他们开始雇用人们,从这个使他们成为百万富翁的商业想法开始。 刚开始的时候只有几个人,就像每个开 阅读全文
摘要:
始终保持高质量的代码库 对于软件开发人员来说,维护良好的代码库是他们自己的回报,例如个人的Monalisa或禅宗花园。 工作很愉快,很容易上手并易于理解,拥有这种独角兽的团队通常可能会更有生产力。 使每个人都熟悉代码 软件永远不会"完成",因此重要的是要保持最新的"最新"形式以有效地使用它。 如果团 阅读全文
摘要:
为什么要从OOP继续前进 Photo by Jungwoo Hong on Unsplash OOP被许多人视为计算机科学的皇冠上的明珠。 代码组织的最终解决方案。 我们所有问题的终结。 编写程序的唯一真实方法。 编程本身的一位真神赋予我们…… 直到……事实并非如此,人们才开始沉迷于抽象的概念,以及 阅读全文
摘要:
关于API的演进 CORBA RDA XML-RPC SOAP REST JSON-RPC ODATA GraphQL gRPC gRPC是什么? 阅读全文
摘要:
原文见 http://mindprod.com/jgloss/unmain.html 如何写出不能维护的代码 如何程序命名 容易输入的名字。比如:Fred,asdf 单字母的变量名。比如:a,b,c, x,y,z(陈皓注:如果不够用,可以考虑a1,a2,a3,a4,….) 有创意地拼写错误。比如:S 阅读全文
摘要:
web容器 https://www.jianshu.com/p/99f34a91aefe https://blog.csdn.net/liuyinghui523/article/details/38640945 filter https://www.jianshu.com/p/6ee8f0ef0d6 阅读全文
摘要:
今天一位同事在斯坦福的博士生导师John Ousterhout (注,Tcl语言的设计者)来公司做了他的新书《A Philosophy of Software Design》的演讲,介绍了他对于软件设计的思考。这里我把本书的读书笔记和心得分享给大家,欢迎大家来和我交流探讨。 大家也可以去看作者在go 阅读全文
摘要:
微服务中的常见设计模式 软件开发者对“四人帮”的《设计模式》一书应该都很熟悉,微服务中也会有一些常见的模式: 部署模式 如何部署服务是微服务中的一个重要问题,微服务的部署方式非常灵活,有以下的不同选项可供选择 (参考 http://www.open-open.com/lib/view/open146 阅读全文
摘要:
可信的关键内容: 安全性 韧性 隐私性 可靠性和可用性 做些什么: 高质量的交付过程 基础编码质量 理解架构的核心要素 重构腐化架构 钻研软件和安全技术 过程一致性,符合架构原则,设计模式,编程规范 主动学习。共享知识库 形成流程,组织,考核 面临的挑战和问题: 复杂的国际政治环境 网络安全与隐私 阅读全文
摘要:
什么是微服务? 从最简单的定义来看,微服务架构是将逻辑域划分为独立服务的同时开发软件的行为。 在过去的六年中,我听说微服务方法学以惊人的速度增长。 每个人都在谈论微服务! 还有另一个转变,那就是从云计算到微服务。〜Steve Singh(Concur) 大多数尚未使用微服务的工程师都生活在整体代码库 阅读全文
摘要:
我从事面向对象语言的编程已有数十年了。 我使用的第一种面向对象语言是C ++,然后是Smalltalk,最后是.NET和Java。 我很想利用继承,封装和多态性的好处。面向对象范式的三个支柱。 我渴望获得重用的承诺,并利用在这个新的令人兴奋的环境中,出现在我之前的人们所获得的智慧。 想到将现实世界的 阅读全文
摘要:
上世纪60年代爆发的软件危机催生了软件工程,人们寄希望于借助工程化的手段管理、设计、构建和维护软件,自此,聪明绝顶的工程师便在追求更美好软件的漫漫长路上艰苦求索。 开发语言经历了汇编、C、C++、Java、Erlang、Python;编程范式涵盖了面向过程(POP)、面向对象(OOP)、泛型(GP) 阅读全文
摘要:
0、引言 后端服务有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜,本篇讨论高并发。 高并发(High Concurrency)。并发是操作系统领域的一个概念,指的是一段时间内多任务流交替执行的现象,后来这个概念被泛化,高并发用来指大流量、高请求 阅读全文