教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师
作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路。
这段往事包括:从不会动的静态网页到最流行的网站开发、实现自己的博客网站、在云里雾里的云中搜索、大数据一统江湖......
请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址
你可以把这个看做一个全栈工程师教程,因为看过“网站开发”部分的几篇文章你基本上就可以开发一个小型的博客网站了,而看过第二部分的几篇你也许对信息检索充满兴趣和信心了,大数据部分还是得花点功夫的,你可以选择放弃,因为比较耗费生命,当然如果你对自己有信心看下去,那么相信你会有收获
你也可以把这个看做是一个从对计算机丝毫不懂到可以和业界牛人谈笑风生一路披荆斩棘的过来人的一些经验
总之,希望对你有收获
为什么从“〇”开始?
第一,因为这是一个综述;第二,因为这是我的第一篇;第三,计算机里面不都是从0开始的吗?
12年里我趟过哪些路?罗列如下:
学习和使用过的语言:Q-BASIC, Visual Basic, c, delphi, matlab, html, css, javascript, asp, c++, bash, awk, Fortran, cuda, Qt, lua, Object-C, php, java, python,
学习和使用过的技术:网页设计(ASP+ACCESS,PHP+MYSQL),软件开发(MFC、Qt),并行计算(MPI、hadoop、cuda),网站搭建(IIS、nginx/httpd+mysql+php-fpm),高性能网络服务(c++,libevent,protobuf,负载均衡,低耦合,一致性,10+模块,200+机器部署,7*24工作),搜索架构(c++网络爬虫、lucene、rank策略、时效性、日志统计、机器学习),博客网站开发(symfony2、bootstrap),app(thinkphp、ios、mongodb、memcache、redis),大数据(hive、hbase、map-reduce、storm、zookeeper、redis、mongodb、机器学习)
有什么体会?
语言不过是个工具,没有好坏之分,什么场景用什么语言。不要听网上的一面之词:C++比java牛逼,php是世界上最好的语言,swift比OC好……
语言学习跟英语一样,就靠练习和实践,除非你还在上学或者刚毕业,否则没必要集中花时间系统学习一门语言,现用现查就好了,有问题百度一下
同一个项目我可能用10种语言,该谁上场就谁上场,不是那块料没必要勉强
我也在BAT做过5年的系统架构,什么样的场景、解决什么样的问题,就用什么样的架构,如果是小业务场景也没必要杀鸡用牛刀,不追求牛逼,简单为上,唯快不破
对于开源项目,如果是小业务场景,无论是存储/计算系统还是各种框架,能用开源就用开源,重复造轮子可能证明了你的技术实力,但也同时证明了你智商不高
请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址
比较推荐学习的语言和技术?
网站开发:后端语言推荐php,后端框架推荐symfony2,后端服务器推荐nginx,php服务器推荐php-fpm,前端语言html+css+javascript是必须的,前端框架推荐bootstrap,数据库推荐mysql
服务器端开发:语言推荐C/C++, java, python, bash, awk, 框架推荐libevent, protobuf, 开源系统推荐hadoop, hive, hbase, zookeeper, redis, mongodb
搜索技术:语言推荐java,框架推荐pyspider、lucene、solr
什么是全栈工程师?
没什么固定的定义,一个创业公司的技术团队,哪里缺人你都能顶上,你就是全栈工程师。
教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师的更多相关文章
- 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别
为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙 请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 ...
- 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构
转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...
- 怎样成为全栈工程师(Full Stack Developer)?
"Facebook 工程师说 Facebook 只招 full stack engineer,那么 Facebook engineer 都是怎样的人啦."? 具体经验不重要,重要的 ...
- [转]乐死我了,怎么样成为一个全栈程序员(Full Stack Developer),附我想专注的语言
受苏格拉底大神的启迪,我也来谈谈全栈.禅师:成为全栈工程师,这个问题等于如何成为全才,有可能吗码农:有可能,不过可能性比较低,因为达芬奇这类人毕竟是百年一遇的奇才.不过,因为我热爱这个行业,也有一定天 ...
- stm32 堆和栈(stm32 Heap & Stack)【worldsing笔记】
关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的. 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘: 刚接手STM32时,你只编写一个 int main() ...
- LeetCode 刷题笔记 155. 最小栈(Min Stack)
tag: 栈(stack) 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素 ...
- stm32 堆和栈(stm32 Heap & Stack)
关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的. 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘: 刚接手STM32时,你只编写一个 int main() { whil ...
- 静态栈抽象数据类型stack实现
#include<stdio.h> #include<stdbool.h> #include<stdlib.h> #define MAX_STACK_SIZE 10 ...
- Python Base of Scientific Stack(Python基础之科学栈)
Python Base of Scientific Stack(Python基础之科学栈) 1. Python的科学栈(Scientific Stack) NumPy NumPy提供度多维数组对象,以 ...
随机推荐
- Android项目---语言适配
android多国语言文件夹 android多国语言文件夹文件汇总如下:(有些语言的书写顺序可能跟中文是相反的) 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中 ...
- C# 语言的多线程编程,完全是本科OS里的知识
基本知识,无参数Thread和带参数的Thread Thread类的参数就是参数指针,可以传入一个无参的函数. 如果要传入带参数的函数,先new一个ParameterizedThreadStart委托 ...
- Windows注册表的基本知识及应用
转帖:Windows注册表的基本知识及应用 2009-12-23 11:30:56 分类: Windows注册表的基本知识及应用 一.注册表的重要性 在DOS年代,对计算机的内存管理及系统配置主要通 ...
- 个推推送 产品SDK常见问题检查
作者:Hong Jack链接:https://zhuanlan.zhihu.com/p/20733333来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 通知和消息有什么 ...
- Fitnesse集成TestLink
TestLink作为开源测试管理工具,可以进行测试工程.测试计划以及执行计划的管理,而且TestLink团队提供了XML-PRC的接口供第三方工具调用,接口支持程度也比较好. Fitnesse作为开源 ...
- 使用指定格式的字符串变量格式化日期字符串,DateAndTime取时间间隔
private void btn_GetTime_Click(object sender, EventArgs e) { lab_time.Text = DateTime.Now.ToString(& ...
- 错误与修复:ASP.NET无法检测IE10,IE11,导致_doPostBack未定义JavaScript错误,恒处于F5卷动条位置
<browsers> <browser id="IE11" parentID="Mozilla"> <identifica ...
- 基本功能的shell
手把手教你编写一个具有基本功能的shell(已开源) 刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一 ...
- C/C++基础知识总结——多态性
1. 多态性的概述 1.1 多态是指同样的消息被不同类型的对象接收时导致不同的行为.所谓消息是指对垒的成员函数的调用,不同行为是指不同的实现. 1.2 多态的实现 (1) 实现角度讲多态可分为两类:编 ...
- Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布
Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布 来自官方日志的喜悦 被誉为全新开始的消息分析器 ...