我觉得没必要重修数学。你首先得了解你工作中需要什么,再着重学习。当初在学校都没动力学好,我觉得在工作之后还可能有更大的动力学好所有数学。。。
感觉你的文章面向的是几乎没了解 TCP 的人,着重解释为什么有 TCP,以及 TCP 的大概过程。故事说的有点意思。
但对于略懂 TCP 想具体看 TCP 实现细节的人来说,就没什么信息量了。建议你文章可以提示这一点。
先从你从事的业务领域开始吧。你是不可能,也没必要以编程语言为中心去学习的。一般来说,你要以某个具体的业务领域去学习,比如视频网站,企业应用网站,搜索,等等。
去年想过类似的问题于是写了一些简单的文章——《平凡却又深刻的编程理念》。以下是自己在系列文字里前言里讲为什么写这个主题的原因:
“第一,在工作的六年里,无论是在与面试者或与同事的接触中,人和人之间的差距往往直接表现在他们是否习惯性地运用一些基础理念来思考所面对的问题。思考哪些基础理念造成的差距,有利于提高基本的技术素养。
第二,技术日新月异,理念却依旧千篇一律。我看过许多圈内的文章,其中有大量贩卖学习焦虑的文章。的确,新技术层出不穷,一一跟上都学会是一件很困难的事情,当然,也是一件十分厉害让人佩服的事情。我不是技术狂热分子,也不喜欢学习各种具体技术,如果与工作无关。对我来说,能大致理解新技术的目的和意义就足够了。
第三,一些平凡的理念应该是共通的,而我喜欢聊些共通的东西。通过编程的基础理念去思考工作中其他软技能,甚至生活中的各种问题,往往也能够打开新的认知视角。我喜欢学习和思考一些普世的观念,也喜欢从具体的事情去反思其中影响行为决策的最基本的因素。其实,编程技术在我生活的比重较小。生活还是有许多比技术和职业更重要的事情。我选择当一名程序员,更多在于我对高度信息化社会发展的向往以及信心,而不是我有多么地热爱计算机的某某技术。当一名程序员,便于让自己更容易融入信息技术发展的大浪潮中。”
文章不多,主体就四篇文章,围绕着程序员的最基本职责、优秀程序员最根本的品质,怎么理解抽象、生命周期和迭代等问题的个人思考。
感兴趣的话欢迎阅读和点评。(我还分享不了链接,所以你们只能上网搜索了。搜索引擎搜索的话,至少能搜索我在简书上的文章;注,我的简书不再更新了。在微信搜一搜能找到文章和我的公众号叻道,一个程序员养生类公众号)
归根结底,这都是因为没想清楚业务对象的职责。
以分层的架构看,每一层有自己的职责,每个层有自己的职责,因此也会有自己职责下的私有领域概念,但层与层之间的接口(包括抛上去的异常)应该是共享的概念,下层不能将其私有的概念返回给上层。
在 OOP 里,具体到某一个类或类的方法,也是如此。它的职责或者说接口定义决定了它应该返回什么,在错误情况应该怎么返回结果(通过异常还是返回对象)。有时候,可以抛异常,也可以返回特殊的结果;我觉得没必要强求坚持每一种,只要内部统一风格,保持一致性就可以了。如果担心其他人不遵守,最后引用一些代码规范的自动化检测,确保风格能统一。
然而,在一些古老的代码,尤其是以前的人不重视一致性,你说这种情况很正常。一般也没必要重构,只要确保之后的改动遵循目前多数人认同的风格就行,而不是引入另一种全新的而且没经过多数人审核的风格……
知识产权的路还任重道远啊。
我觉得具体技术使用,尤其是具体的场景,课程的热度高度依赖技术的热度。比如我没听说过 prometheus,自然不会想购买。
买这个课程的人,一般是因为这项技术在自己的工作中是需要用的,而且刚开始用,而且公司内部里没什么人懂。如果公司有人懂,其实从身边的人学习更有效,因为技术会按具体业务需求落地的,课程的内容只能科普或者介绍某一个具体场景。这样想,购买的人不会多的。
我觉得还是基础知识或者火热技术的科普课程容易推广。
但是,课程的热度也很受个人名气影响。一般没有“大厂出身”,“XX 年技术实践经验”这个标签,我觉得是很难吸引人。
对于我本人,如果我想了解一些陌生的技术领域,我可能会购买一些课程,以达到快速科普的效果(如果价格不是太夸张的贵的话)。工作中使用的具体技术,一般公司内部的人或者文档就够用了。不用的技术,我也找不到去学习它的理由。
如果你的用户是普通用户,而且你不希望用这个功能去体现应用的优越性,那就选择一般的路线——分开。
感谢分享。
如你所说的,财务自由的定义因人而异。
我觉得你前面说的财务自由(当下的被动收入大于当下的支出)算不上财务自由。我觉得大多人都认为财务自由是终身的,所以多数人还是攒钱党。如你所说的,为未来打算是很重要的。怎么保证未来,就是有足够的钱。 但对钱的追求很难有止境;这往往不是人不知足,而是未来不确定性太高了。
即使现在有一个亿,我觉得十年二十年三十年后也不清楚够不够。比如十几年前,我们还会说百万富翁,现在千万资产都算不上富了。
PS:美股科技股又疯涨,更胜之前。
谢谢分享。
=。= 我觉得现在更多人是分不清 MVC 和 MVVM~~
从我自身的感觉,大多人是自愿的。简单来说,就是认为干多一些业绩就好些,能快地涨薪升岗,也觉得干得多能力就越强。当进入这个状态,在工作计划的时候就会默认自己能一天干十多小时。为了确保自己的计划能完成,那还是得干多些时间。然后进入了这个恶性循环。
如果干再多,大家升岗涨薪都差不多速度,我不怎么相信会这样。
我个人是很反感去承诺那些需要每天干是几个小时才能完成的工作目标。除非在特殊阶段需要加班加点,否则我真的不相信每天真的有这么多重要的工作。试着每天只花 5 小时完成那些最重要的工作(我觉得大部分人每天有效的工作时间大多少于 5 小时),其余的不管,多一阵子你觉得那些不做的工作可能自然而然就没了。
没什么人不可替代。很多人都说了,所以不说更多解释了。正是如此,你也可以不断“替代”别人,不断地进步。所以,这不仅不是坏事,表示我们这个行业尊重能力,而不是历史地位。你换位思考一下,如果你不可替代,那么你为什么能替代别人?
与其怕被人替代自己,不如思考一下自己怎么“替代”比你资辈高的人甚至你老板,尤其当他们快往上走的时候。我们不可能一直停留在原地的,除非你家产万贯不愁未来的吃喝。
没真正从事过游戏的研发工作,但我觉得从业务需求去考虑,游戏后端和 web 后端差别应该挺大的。
光是考虑常用的非功能性指标,游戏后端对可用性、健壮性、时延、错误容忍度等的要求应该会高许多,导致使用的技术架构会有更大的差异,比如我猜游戏后端的通信会依赖长连接的技术,游戏很多静态资源会放在客户端,或者强依赖于 CDN 等网络技术减轻服务端数据传输的压力。
而且,当业务复杂度很大的时候,即使同时 web 后端,顶层抽象的技术架构可能差异不大,但具体的技术架构也会有很大的差异。没有什么技术架构能简单打包就能被其他产品使用的。 我想游戏后端也是如此的。
给自己一点勇气离开舒适区吧。
听你这么一说,感觉你在的公司活不了多久了。你问问自己,如果公司没了,你怎么办?