跳到主要内容

读书

言论 - 摘自各处


为什么学习微积分 高中的最后一年,我的学校开设了微积分课。 第一堂课就有学生提问:"老师,日常生活哪里会用到微积分?" 老师回答:"用不到,你永远不会在日常生活中使用微积分。事实上,你们中不少人,在未来的职业中也用不到微积分。" image 他看着学生迷惑不解的表情,又说:"你们想知道为什么要学微积分吗?" 我们几个学生点了点头。 他指着班里的一位校足球队的同学问道:"你们经常练习足球,是吗?" "是的,"学生回答道。"差不多每天都练。" "教练给你们安排举重练习吗?" "是的。每周二和周四,我们都要去举重室练习。" image "这是为什么?" 老师问。"为什么足球运动员要练举重?难道是为了在球场上推倒别人吗?" "不,当然不是。" "那为什么要举重?" "因为它让我们变得更强大,"同学说。 "答对了!" 老师说。"微积分也是如此。你学习微积分,不是因为要在日常生活中使用,而是因为它让你的思维变得更强大。" 我从来没有忘记这堂课。


亚马逊公司有一项规定,如果要开会,必须先有会议文档,没有文档,就取消会议。 会议开始后,所有人先花几分钟看文档,然后再开始讨论文档列出的问题。 -- 《亚马逊的文档文化》


创业者要做两件事:第一件是弄清楚要做什么,第二件就是去做。 但是,大多数创业者不认为第一件事很重要,如果花费一天时间思考,试图更好地理解一个问题,他往往觉得那一天是浪费掉的,没有行动力。 -- 《动作要快,但要先了解问题》


|39
neilq 1 天前 image 32以我个人观点来看,这种表现完全是正常的。做了长期的总监岗、架构岗或者全栈岗,也用不着妄自菲薄不够“精通”。人的记忆力是有限的,我一直觉得你想在广度上做拓展,深度上肯定会有缺失的,但这种缺失不是什么重要的东西。

就比如说什么 tcp 三次握手,那玩意很多人都看过,都没记住,记住那玩意干啥呢?对工作有帮助吗?做个前端需要写网络底层框架吗?。比如说 clearfix,平时做项目也就是加个 class ".clearfix",要我想具体的内容,我也只记得 clear:both 了,如果要我手写,那我去 google 一下立马就有了,我一直记着这玩意干嘛呢?所以我不觉得这玩意忘了是什么“缺失”,或者说是什么"代价"。

我觉得你的在广度上的优势是这样的,有些细节你肯定不是记得完完全全,但是从系统上的基本概念你都知道,哪天你要去写 http 调用基础方法了,你知道跨域要预调用 options,去查一查发送啥,返回啥,方法写完就扔那了,可能几个月甚至一年都不会再去碰它,肯定会忘掉,你记着都是浪费脑容量。但是呢,你在知识上广度让你碰到任何方向的问题,你脑子里回忆一个关键词,去查一查细节马上就出来了。广度是目录,是索引,定位到细节很简单。

所以面对这种情况,你可以有两种选择。
1 坚持你的广度优势,不要理那些考八股文的。直到碰到能欣赏你这种优势的企业和环境,肯定有,因为我自己招人也会考察这一方面
2 迫于现实,背一背面试题

两种选择不论好坏,不议是非,个人选择罢了。但是要坚持,你选择广度优势,就不要强调深度劣势,因为那不是你的劣势,只能说是知识结构体系不同,在心里上给这种预设除了打击自己的信心,对你不会有好处,在与人交流上也要坚持表达这种观点,像我一样,啥 clearfix 我都记不住,也不想记,需要我去查,不需要我就忘掉。

曾经我也有这种焦虑,手头几本书,clr var c#,http 权威指南,programming c,定期翻一翻复习一下,过半年还是会忘,后来我悟了。 |

https://www.v2ex.com/t/799164#reply95


最好的程序员不是善于编写复杂代码,而是有能力为复杂的问题提出简单的解决方案。只有糟糕的程序员,才会对简单的问题提出复杂的解决方案。 -- Hacker News 用户


cxytz01 1 天前 image 14 什么算是优秀,如何定义优秀?

非优秀 10+后端开发说下我的看法: 1.业务抽象能力,能将需求抽象成简单代码。能用抽象思维解决的问题,绝不通过黑科技代码来解决。(这句话很难理解,不展开) 2.代码精简能力,你写的代码几天、几个月,甚至几年之后自己还能一眼看懂。同事也很容易看懂你的代码,尤其是 2-3 年的同事也能看懂你的代码,然后喷你:还是工作 10 年的人呢,代码写得我也能看得懂,毫无技术含量,lowB 。 3.严谨的逻辑思维能力,能够对各种黑天鹅事件,预先在代码做上防御式编码。

三面三条是我认为优秀的工程师需要具备的能力,总结一下就是:解决问题于未然;善战者无赫赫之功。

拥有上面三条,你基本在团队里面就是毫无存在感的。整天无所事事,线上救火也无你份。 -- 然后等着被裁吧。😄

https://www.v2ex.com/t/801534#reply27


bbb 说: 对电车收费,最本质的作法就是提高充电费用。所有的汽车充电头中都有国家标准认证的专用身份识别芯片,一但插上充电,国家电网就会对这个设备加收N元钱。而且国家可以美名期曰,现在开始新能源发电占比加大,因此电资源紧张。 所以别看电车现在充电省钱。。其实也就是挣了一个提前量的时间差而已。以后会与油车加油费占总收入比例类似的价格的。。。这世界的经济规律就么神奇。你要活着的舒服,就要付出多少。一切都有均值回归。 2021年9月10日 09:07 | # | 引用


如果遇到复杂的任务,不妨列出一张清单,按顺序列出每一个步骤,这会大大降低复杂性。


我的做法是: 全 200 也不合适吧,通用的状态码应该保留

200 统一表示成功。 400 统一表示客户端参数错误、业务错误 401 没登录 403 没权限 404 接口不存在(一般 web 框架会处理。 如果请求的资源不存在不返回 404 的,比如用户不存在,就返回 400) 500 统一表示服务器异常

对于 200 ,响应体要不要包一层,可以再开一个贴子开撕,我的话是包的:{code:"0", message:"success",data:{}}

如果 400 或者 500 的话,返回{code: "-1" , message: ""},-1 表示通用的业务异常,前端只需要取 message 弹窗即可。如果前端需要对业务异常进行逻辑判断,然后再自定义 code ,前端根据 code 去判断。

如果你的项目要做 saas ,给其他公司接,你也全 200 ?


(一) 首先是一个国外开发者的小故事。 他刚入行时,在一家小公司工作。公司只有很少几个工程师,但是每个都很强,了解很多技术,前端、后端、系统维护都能上手。 而且,他们的开发效率极高,别的公司可能花一两个月才能做出的东西,他们几天就能搞出来。不了解内情的客户,很以为他们是一个很大的技术团队,但是其实不到10个人。 有一次,这位开发者跟同事单独相处,忍不住就问了,你们的开发效率怎么这么高? 同事解释说,团队的骨干工程师在一起合作多年了,彼此都很了解。他们以前都为军方的情报部门工作,开发军事软件。 军方的计算机是不能连网的,他们的开发环境完全不能上网,所以干活很痛苦。如果他们想在网上查一些软件资料,必须步行到军营外面的另一栋大楼。因此,上网查资料变成了一项成本很高的操作。 他们被逼无奈,只能仔细通读软件手册,把所有重要的内容都做了笔记,尽量记住。久而久之,上网查资料的次数越来越少,知识积累在脑海里,开发效率就这样提高上去了。 image 这个小故事想讲的道理就是,看似最笨的学习方法----笔记和记忆力----偏偏造就了最高的开发效率。 现在写笔记的人并不多,愿意背诵的就更少了。网上搜索一下就有答案,为什么还要记录和背诵呢?但是别忘了,只有烂熟于心的东西,你才能真正做到运用自如、手到擒来。 更重要的是,互联网只提供查找知识的能力,不提供处理知识、提取结论的能力。当你需要分析、推理、判断的时候,脑海里记得的东西是最容易想到的。记得越深,就越容易投入应用、与新知识结合在一起。 这里的启示就是,笔记和记忆力远比我们认为的重要得多。它们不仅可以提高使用效率,还有助于将新知识集成进入我们现有的知识储备。 (二) 后面两个学习方法,都跟诺贝尔奖得主、传奇物理学家理查德·费曼有关。 image 大部分物理学家只精通自己的领域,但是费曼几乎涉及所有物理学领域,而且能够很通俗地进行科普,他的讲义《费曼物理学讲座》是物理学入门名著,社会知名度很高。 有一次,别人问费曼,如何才能获得新的科学发现? 费曼说:"如果没有对旧事物进行大量练习,你不太可能发现新事物。" 费曼的意思是,新的科学发现都建立在前人研究的基础上,你越熟悉以前的研究,就越可能做出新的发现。 同理,新技术也是建立在旧技术的基础上。如果你想找到新的解法,或者真正掌握一门新技术,首先就应该多了解现有的技术方案。 (三) 那个人又问费曼,你懂那么多物理学知识,你的学习秘诀究竟是什么? 费曼说:"要想多学,就必须能在学习中得到快乐。做到这一点的唯一方法,就是努力学习你最感兴趣的东西。" 没有人有足够动力,长期学习自己不喜欢的东西。如果你不喜欢某个领域,就不可能不断投入时间钻研,也就不可能做到精通。 费曼就是在告诉我们,如果可以选择,一定要学习自己喜欢的东西,否则你不仅很可能失败,也许还会抑郁。


你的工作将占据人生的很大一部分,因此真正让自己满意人生只有一种方法,那就是做你觉得值得的工作。 -- 乔布斯