全栈工程师的纯技术干货总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全栈工程师的纯技术干货总结 生活是一个有趣的循环,当我们试着往围城外走的时候,我们又被拉到围城里。 什么是全栈工程师 在现在这一个时代来说,不会有人掌握所有的编程语言、技能,以后应该会有,但是掌握这些全部技术的不是人类了。所以,其实我们需要的是懂得多种技术的,并能借些独立完成产品的人。 当我们需要做一个移动CMS的时候,我们就会在不同的技术栈之前选择,或是RequireJS + Backbone + jQuery + Mustache,又或者是 ReactJS + Backbone,当然也有可能是AngularJS等等。我们所需要做的是,从中选出一个最好的方案,然后实施之。 这也就意味着,我们需要有更好的知识面,也会导致对于某些技术的不够深入。两者就是一个很好的对立面,在这两之间很好地平衡可能就意味着平庸。有时也并非如此,但是多数时间这这样的。要么成为专家,要么成为全栈,要么就平衡他们。 全栈工程师VS专家 人的大脑如同一间空空的阁楼,要有选择地把一些家具装进去。 柯南道尔说的话还是很有道理的。由于这个阁楼的大小是有限的,假定他是一个书架。那么全栈工程师的书架就会充满各种各样的技术栈从MySQL、SQLite、MongoDB、Redis等等各种各样的书籍;而专家的书籍则是MySQL优化、MySQL重构、MySQL权威指南、DBMS等等的专业书籍合集。 如果他们都是一本书,那么全栈工程师的书是一个索引。专家的书则更多的是内容本身。 所以,每个人都会去选择不同的存储方式、不同的数据库。 对于我们大脑这个数据库来时,平时我们存储的是Key-Value(ps: 我们只有key,value是Google和书本),对于专家来说,存储的是Documents。在同样的容量大小的情况下,我们可以了解到更多的知识。如下图所示,左边的关系数据模型即为全栈工程师,右边则为专家。 Key 曾经迷惑了很久: 为什么对于一些知识点,我需要去Google,而别人可以独立地完成的时候。我就意识到我更适合于互联网企业,据说在一些电信设备制造商里是没网的办公环境。然而在多数的时候,这并非一种劣势。 我们会更快地方式来解决问题,因为我们有一些这方面的经验。不足则是,有时候我们没有办法深入问题去分析。 如何成为全栈工程师 这是一个有趣的问题,在知乎也有这样的讨论。而我觉得,最重要的是好奇与创造。 创造 记得在上大学之前已经有一个明确的目标,尽可能地做到能做到的程序——想到的都应该能做到。于是,顺着这个目标构建了一个知识体系,又或者说是索引。 当我们心里有一个想法的时候,我就开始从一个key中进行头脑风暴,如之前做的地图搜索。我们要做的功能便是: 持久化GEO信息,在地图上显示坐标。 1.首先会在头脑中列出所有我用过的框架,选择后台框架: Django(Python)、Flask(Python)、Ruby On Rails(Ruby)、Sinatra(Ruby)、NodeJS、Laravel(PHP)、Spring(Java) 排除过后就只剩下Django、Flask、NodeJS,接着因为Django内置Geo支持,果断选择了Django。 2.接着,对于持久化方案的选择: 由于Django内置ORM,所以这一步可以轻轻松松地过去。不过,我选的是SQLite3,本地调试方便,还可以将数据复制到服务器上。 3.然后,对于空间搜索的支持: 就这么有了两个搜索引擎和一个数据库: ElasticSearch、Solr以及MongoDB。因为Django对于MongoDB支持的原因,想到使用搜索引擎会更容易搜索到结果。接着找到了Haystack,看到Solr需要手动更新索引就选择了ElastiSearch。 4.到了,移动开发: 要跨平台支持自然是Cordova,用Hybird还是Ionic好用。 5.实战 这一步自然也不是问题,向来是以实战出真知的。 在不断创造地过程中会学到更多的知识,有更多的方案可以选择。下一次,将会想着用不同的技术栈再实现一遍。有了之前的体系,再横向深入也是一个很好的突破点。如,我们用Python构建一个原型,然后我们用Java来实现。 好奇 与专家不同的是,全栈工程师更容易被新的技术吸引。至于,是好是坏我想大家都懂的。 当ReactJS出来的时候,就会试着去玩。 当Ionic还在测试版的时候,就会做一个个Demo。 而有意思的是,同我们在《技术的本质》中看到的一样,新的技术都是基于旧的技术产生的。没有一种技术可以无中生有。所以要学习一种新的技术必然不难,只是有时候会难以深入。 全栈程序员进阶 在思考过一些日子后,我明白了更多的东西。也似乎找到了两条更有意思的成长路线: 构架设计 在我打算试着写一个名为 HYPERLINK /phodal/echoes

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档