暗时间读后联想

   我在《暗时间》这本书获益匪浅,固然这本书有一些局限性,因为做者本人是一位软件领域的大师,因此书中全部的道理和方法不必定适用于全部的领域,可是大方向都差很少,书中提到演绎和推理须要足够的已知因素,这些因素能够是现成的,也能够合理的联想获取,让我想到和时下最热的大数据有殊途同归之妙,大数据也是必须有足够的可用数据,进行分析,训练模型,而后得出一些有价值的数据。这里也顺带一提:贝叶斯,贪心算法,线性代数,运筹学,图,分类、聚类、神经网络相关等算法等相关知识。有空的话仍是充实本身,这些仍是很枯燥但有用的东西,绝大多数的算法和数据结构都是从操做系统底层得来的经验,这是计算机的根本,万剑归宗的最高境界,虽然我也根本不看这些,又难又烦还看不懂。java

  后端东西因为涉及到服务器,服务器又是一个很复杂的东西,操做系统,数据结构和算法,集群的通讯,网络,因此它的格局必然广阔。先列举一些细节的知识点:  以JAVA为例,涉及到多线程,单例,多例,阻塞IO,非阻塞IO,同步,异步等等,每一块都得花心思琢磨,多例里面可能有多线程的存在吗,仍是多线程就是为单例而生的,那一个进程拥有多少资源,spring启动一个服务的话算什么,一个进程吗,一次请求算什么,启动一个线程吗,spring容器如何操做,tomcat底层如何运做;阻塞IO,非阻塞IO,同步,异步之间究竟是什么关系,网上说得准确吗,本身又碰不到这样的场景,怎么办。多线程下面发生的各类光怪陆离的问题,状态没加锁被修改了,加了锁程序跑慢了,明明用了concurrent类库,为何仍是出问题?这些只是本地,到了服务器,分布式多节点,问题更大,tomcat的配置都得注意,虽然有运维,可是仍是要出错,sessioncookieName莫名的返回了。这些固然只是基础,往深了,有负载均衡,缓存,IO瓶颈,这些不少网上宏观理论都看的很爽,其实并不能解决实际问题,只是提供一个思路,有一句我是认同的:一切不以解决实际问题的理论都是扯淡。web

   以上我也并无全搞清楚,可是我相信只要深入的理解过,研究过,那么会有不同的飞跃。不少工具,框架的核心设计理念,运做原理都很雷同。关于设计模式我想说的是新人每每接触不到设计模式这些东西,因此常常故意乱套,显得很高大尚,从而遭到前辈们的批评。我想说的是:对于新人的作法,我表示彻底支持,前辈们有前辈们的见解,可是咱们要有咱们的主见,咱们本就是为了学而用。 咱们就是要用,起码用会了一些,用熟了了一些,而且知道它们大体的套路,不少前辈们他们已经熟练的掌握了设计模式,因此他们看到咱们乱用就会说咱们强行使用。对,像咱们这种小白能用仍是尽可能用的好,试想一下,若是你都历来没用过,而后项目中基本不用,本身又不刻意用,如何进步,遇到适合设计模式的场景,又怎能将复杂的问题便简单呢?算法

  

  说到大数据,就简单的和你们聊一下这个东西, 我在上一家单位实习的时候,所在部门就是大数据部-数据挖掘组,大体说一下我认为的一些观点:spring

 1> 网络爬虫,是大数据获取的途径,各类爬,舆情垂直元搜索,涉及不少工具,自动登陆,经过cookie欺骗网站去爬,爬下来的话进行简单的数据清洗,为nlpdatamining作准备。后端

2>nlp,主要是lucene,开源最热是essolr,难点是对中文语义的处理,固然中间还有不少,衔接网络spider的数据和datamining的中间件。设计模式

3>datamining,难点对于数据的训练模型,须要扎实的算法,是终极目标,也是得以变现的核心所在。缓存

4> java_web对于这个部门而言并不复杂,开发方面能够说是一个门户,可让用户更好、更直接的了解后台的东西。 这四者是一个顺序承接的关系。这既是整个团队的整个流程,产经过这种流程诞生。tomcat

大数据这一块,还推荐Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统这个很火,有兴趣的话能够了解一下,里面涉及的知识点巨海量。服务器

相关文章
相关标签/搜索