disappointed & hope

Part1 Disappointed & Hope

1)2015-11-15 21:26:12 最近不太敢去写代码,编程似乎一直停留在if/else。想写RESTFUL API SDK封装,想啊想,一个request网络库加一些结构化的配置,再加一个工厂函数,再加一些基础测试、性能测试,然后日后多加维护,似乎也想不出什么新意了。写的代码似乎没有了灵魂。 于是,害怕写代码,面对写下每一行都熟悉的代码,想问出个为什么要这样写,奈何眼界狭隘,思而不得。 下午听到大学几个朋友在beta咖啡讲Linux源码解析,就过去凑热闹。 大概记得讲了

  • 页目录、页表、内存之间的映射关系,
  • Linux源码内存初始化,进程fork的本质。
  • 还有线程和进程原理上的解释。

关于线程和进程,想起了朴大大的一句话,大概意思如下,面对线程和进程都不理解的人,没必要麻烦的打一堆比方去让其明白,一个写程序的人,这是编程的基础。然而,到现在我还真的不知道, 华哥说,当时他有一段时间也怀疑自己写的每一句代码,后来他选择了看更加基础和底层的知识,比如去阅读Nginx源码,Linux源码,去解答自己的疑惑。 以前自己也常说,编程是一种思想,语言只是一种实现工具,后来也听过很多大大也这么说,但思想的根基是什么,没人告诉我,所以似乎现在的我,也没有什么思想,语言倒是切换了很多门。 今天,有了一点点感悟,思想的根基是扎实的基础,具体点如,Linux系统的构成,内核源码剖析,数据结构,一些数学模型和算法;引爆思想的导火索,应该还是具体的需求,比如大数据分析的需求,恐怕现在只有BAT那种体量的公司才会有。 华哥举了个例子,说在他管理的一片机器集群里,有一次做了内核升级后,一些机器的Load抽风性的飙到满负荷。于是,他就给所有机器加了告警通知,然后不管半夜还是啥时候,一旦发现问题,立马ssh上去查证,然而很多时候,还没等连接上去,事故现场已经消失了。 后来,他们部门的一个女生也碰到了类似问题,但是她没有选择加告警的方式,而是统计所有机器的负载随着时间变化的情况,然后再去统计相关的业务特征、机器特征、内核系统特征,然后进行统计学和概率论的分析,最后当然解决了问题。 这或许就是一种由数学为基础、需求引导出来的思想,换做自己肯定也就是加个日志报错,扮演救火队员的角色,几台机器还救得过来,成千上万台呢?当然我还没有那种需求。 回归现实,面对现在的瓶颈,我能做些什么,先做好这几点吧,看看能不能有什么成长。

  • 回顾下几种基础的数据结构
  • 至少从原理上理解线程和进程吧
  • 好痛苦,为什么我会觉得Linux软件这么难装,编译和包依赖,到底如何解决,能不能有一天能够愉快的装上自己要装的软件,出了问题,除了看报错,还能有哪些方面可以怀疑。
  • LintCode一周一题,要求很低很低了。。

results matching ""

    No results matching ""