教你成为全栈工程师(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提供度多维数组对象,以 ...
随机推荐
- BrnShop:自定义插件
BrnShop开源网上商城第四讲:自定义插件 重要通知:BrnShop企业版NOSQL设计(基于Redis)已经开源!源码内置于最新版的BrnShop中,感兴趣的园友可以去下载来看看.官网地址:www ...
- WCF 采用net.tcp协议
WCF 采用net.tcp协议实践 概述 与Socket相比,WCF真是爽得不得了,其基本指导思想为SOA——面向服务. 其基本配置在于ABC(Address,Binding,Contract), ...
- Markdown 代码测试!
# Mou  ## Overview **Mou**, the missing Markdown editor fo ...
- ubuntu下无法打开windows下ntfs文件系统的解决方法
例如:/dev/sda5无法加载,使用如下命令 sudo ntfsfix /dev/sda5 如果命令没有安装,先安装(sudo apt-get install ntfsprogs).
- CLR基础之一---认识CLR [《CLR via C#》读书笔记]
<CLR via C#>读书笔记 什么是CLR CLR的基本概念 通用语言运行平台(Common Language Runtime,简称CLR)是微软为他们的.Net虚拟机所选用的名称.这 ...
- 红黑树LLRB
LLRB——红黑树的现代实现 一.本文内容 以一种简明易懂的方式介绍红黑树背后的逻辑实现2-3-4树,以及红黑树的插入.删除操作,重点在2-3-4树与红黑树的对应关系上,并理清红黑树相关操作的来龙去脉 ...
- Linux网络编程(二)
Linux网络编程(二) 使用多进程实现服务器并发访问. 采用多进程的方式实现服务器的并发访问的经典范例. 程序实现功能: 1.客户端从标准输入读入一行文字,发送到服务器. 2.服务器接收到客户端发来 ...
- DevExpress 学习使用之 PrintSystem
这是来自群里边的一段,收集起来,碎片知识是很珍贵的. 傷心孤影(2072201) 16:14:41导出excel加标题用PrintableComponentLink小宝(462561442) 1 ...
- UNIX系统接口
UNIX系统接口 8.1 文件描述符 UNIX操作系统中,所有的外围设备(包括键盘和显示器)都被看作是文件系统中的文件.系统通过文件描述符来标识文件:标准输入为0,标准输出为1,标准错误为2. 当程序 ...
- JS左侧菜单-02
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <html xmlns=" ...