百科问答小站 logo
百科问答小站 font logo



程序员基础掌握得好学新东西真的就快么? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

说个个简单的思路

计算机领域有三件事最重要,存储,计算和传输

这三个组成了一个不可能三角,存储大,计算快,传输带宽高延迟低,是不可能同时实现的

几乎所有技术都是围绕这三个问题来做的,都是牺牲其中一两个来换取另外的,只是看具体场景里哪个更重要。

看到一个新技术,就要想想它要解决哪个问题,它打算牺牲哪个换哪个,想明白这个很多事情就好理解了。

简单例子,比如数据压缩技术,就是牺牲计算换取存储更小,传输更快。

缓存技术,就是拿存储换计算变快传输变低。

复杂例子,比如 大数据的hadoop,本质上是为了解决计算资源不足,所以采用多台机器并行计算,但是多机之后数据交换的传输又是问题,所以要用分布式存储,计算能力跟着数据走。这就是典型牺牲存储和传输换计算。

计算机科学发展太快了,经过全世界杰出科学家和工程师的努力,这个行业很难有新鲜技术了,都是拿几个指标不停换来换去,有时候还要把安全性 稳定性 可靠性 精准度拿来加入到交换。


user avatar   Ivony 网友的相关建议: 
      

我觉得你对基础好可能有什么误解……


就拿ElasticSearch来说,我在接触这货之前已经自己撸过差不多的东西了……

说白了一个搜索本质上就是筛选、排序、分组这些操作,集合论或者关系代数的基础可以让你很容易想到这些东西是可以分布式并行的,最后做一个数据汇总和归并就好了……


基础好不是让你可以很快的学会很多所谓的新东西,而是别人说出分布式检索的时候,你沉吟一下就已经想出来该怎么做了,然后别人说ES的分片和聚合的时候,你已经知道它的原理了。



这东西新不新旧不旧的,还有什么所谓?




  

相关话题

  美国有哪些值得推荐入职的互联网公司? 
  自学 Python 之后如果不去公司上班,自己一个人可以通过此技能挣什么钱? 
  如何评价《职人介绍所》第 21 期节目,以及嘉宾 赵劼 和 winter 的表现? 
  如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处? 
  程序员怎么伪装才能不让别人看出自己菜? 
  在整个项目前节点出现明显延期的情况下,作为后面节点的人应该如何处理? 
  学习编程照着别人的代码敲进去有效率吗? 
  Qt 为什么在桌面应用(Windows 平台)中不流行呢? 
  GitHub 上有哪些值得推荐的开源电子书? 
  为什么大部分码农做不了软件架构师? 

前一个讨论
百度还有希望崛起吗?
下一个讨论
如何看待美团要整体变为黄色?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利