如何快速学会编程,掌握一门技术,这是每个新人都要面对的入门关卡。对此,知乎博主钱冰的建议是应该做出个东西来。至于要做什么东西,可以从自己的生活,兴趣,习惯,行为等方面入手。
先看一本书是有必要的,但没啥太大意义,没有实践,一切都是徒劳。当然不排除有人记忆力好,可以在第二天的面试中用到。
若干年前,钱冰学习springcloud全家桶的时候,也没有项目上的机会让他立刻去实践,所以钱冰就琢磨着做点什么来试试水。
钱冰当时立了三个课题:1.电影资料库;2.漫威资料库;3.股票分析。
经过缜密分析,钱冰发现电影资料库和漫威资料库好像没啥实际用处,他想要什么,随时也可以查到,而且过程也并不复杂。
所以钱冰就做了一个股票分析的系统。分成三个微服务,爬虫/存储/分析。另外配合springcloud全部组件,能用上的全部都用上了,宁滥勿缺,就是为了用而用。
学技术本身不是最难的,为了达到目的才是最麻烦曲折的。而且在达到目的的途中,在克服困难的过程中,还能连带的学到很多的新东西,到达这个阶段的时候,当初只为了学习一项新技术的本心已经变成了要整合一切的资源达到目的野心。
对于核心的技术候选项钱冰要分析个明白,才能最后确定使用哪个。这是一种强迫症,根源是对外部因素极度不信任,任何一件事情都要求自我证明,并满足自心,这样才能心安理得接受。
为了爬虫,钱冰分析了上交所,深交所,东方财富,同花顺,网易财经,搜狐财经,新浪财经,雪球,雅虎的网页结构和后台调用。最后确定股票从网易,基金数据从搜狐抓,美股没办法,花钱买的。
为了前端UI,钱冰研究了Bootstrap/Foundation/Bulma/Pure/SemanticUI/UIkit/Skeleton/Miligram,最后因为钱冰喜欢布尔玛这个角色,就选了Bulma。
为了堆内缓存,他研究了hazelcast/ehcache/caffeine/guava/infinispan,结论是caffeine最快,但是guava够用了,而且二者API一致,以后切换也方便。
为了扩充算法,他研究各种走势,然后编程实现,后来用金钱换来了教训,这个东西根本没用,因为涨的都符合,符合的却不一定涨。
所以才悟到,选股才是真谛。这是个*治问题,不能只靠技术。技术只会影响*治,但绝对无法改变*治。
所以选出了国内最好的20个股票,再来验证算法,结果让钱冰都很吃惊,验算结果非常准确,可能这就是数学之美吧。数学也许可以解释世间的一切规律。
后来别人告诉钱冰,这个算法在大智慧和同花顺上卖一年。钱冰也没想到最终能做出来这么多东西,一切都是机缘巧合,最初只是单纯想学一门新技术。