先说说我的,以前主要做Java企业开发的,最近两年开始接触互联网。因为兴趣比较广泛,有时自己写些小项目,所以逐渐接触全栈开发。现在掌握的技术杂一些,能干事,不深入,离全栈还有很长的路要走。
下面整理做项目中点过的技能树,名词比较多,嫌烦请略过,欢迎交换经验
能出活的部分:
Java 主要技能都点在这棵树上了
Spring+SpringMVC+IOC+AOP web开发大街版,你值得拥有
Ant,Maven,Jenkins,SVN,Git 很奇怪的分组,领会精神
Mybatis,Hibernate 企业的忠诚卫士,为RDS保驾护航
Oracle, SqlServer, Mysql开发 一棵呀小白杨,站在哨所旁
Freemarker, Sitemash 当API用了,需要什么先搜
JQuery DOM操作利器,只会这个不丢人
Javascript 语法不熟,很多JS源码看不懂
XPATH 研究一个爬虫工具时顺便学了一下,语法跟JQuery,CSS的选择器差不多
正则表达式 验证字符串时会非常开心
HTML5 用一个开源的引擎写过一个射击游戏,知道websocket和本地存储
Bootstrap 能熟练的从网上Down的模版里扣出自己想要的页面,没模板就废了,手写不能
Swing 早年点错技能,希望以后也不会用到
GAE 谷歌大神放出来的时候让我开心了很久,直到...你懂的
Mongodb+Morphia 近期比较感兴趣的内容
Android 写过一个Native的小程序,没实战
PhoneGap,Cordova 准备拿来写个项目试试
Restful 总算把书从头到尾过了一遍,跨域的时候碰到很大障碍,对协议了解不深,还有些难点在研究中
Redis,Memcached 能用
不能出活等有闲的时候准备学习的部分:
Photoshop 没学过,感觉是个高峰,虽然很实用,至少现在仍然不会
Dreamwaver 同上
PHP 能看懂部分代码,不会改
Apache 对照文档能做非常小的改动,想做架构必须得啃下这个工具吧
Linux Shell 别说了,都是泪
BI 数据分析很有意思,要点这颗技能树最好多了解业务
Hadoop 大数据分析工具,近两年火的不行,算了等过两年有空再研究
AngularJS 近两年开始流行MVVM了?不过这种CRUD的页面也就只有企业能用吧,对这个框架还没有深刻认识
Objective-C iOS开发,还有什么好说的,Cordova盖不到的部分早晚会涉及到
Groovy 写了个小例子,如何用好这把利剑还要看整体架构的能力
RPC 框架,企业开发用不到
MQ 月朦胧鸟朦胧
NIO 早些年用mina写过一个的mud demo, 不知道现在的游戏引擎怎么搞,好像RPC框架也会用到
Tomcat,Jetty 经常用,没研究过如何优化
放弃治疗的部分
3D, OpenGL 有段时间想自己写个3D游戏,看了一些简单的介绍就...
Cocos2d, Unity3D 听说过没见过两万五千里
Python,Ruby,Perl 脚本什么的太多了
C++, 汇编 求大神饶命
我觉得全栈是做架构的基础,全栈不是目的。没吃过猪肉也要看看猪跑。了解各个不同环节是如何运作的,才好在整体上设计研发方向指定架构工作流程。
综上所述,没有一个地方点出最终技能的…… (尴尬
有趣啊,我也来算算:
C/C++ 主要技能,驱动,控制软件等。主要工作用
Python 写个集成测试什么的,脚本什么的,都用这个
Golang 写服务器程序啥的,目前都用这个,好用。
Android 搞了好多年的Framework,工作上也写过几个APP。
WEB前端,乱七八糟知道一些,如果有人设计好页面,可以写出符合要求的页面。
J2EE,没用golang之前写过一段时间的游戏服务器,准备废弃。
Delphi 已经废弃
ASM 写过一时间,已废弃
iOS 技能树已经点开,正在用。
能出活的部分,c语言,写过电视机,智能卡,iBeacon, 大部分单片机程序。 用alloc的时候都很少。
objective c,就一个上线的app,还是1.0的时候,主要写架构和网络通信部分,ui部分相对弱。
python,写过一个内部用的智能卡测试工具,写过一个p2p网络通信服务器(测试用)。
拿来就用的部分 rails,就用来写json api服务器了,上一个创业公司的时候做的。
能理解全栈就是样样精通,样样稀松的同义词么?
java 就是这个名词多,那个名词多,还有 n 多设计模式,套路,一看很高大上,实质就是很腐朽。
你要做 fullstack,就找一门适合 web 的语言,动态类型的可以 python/ruby/node.js ,静态类型的可以 golang 。他们都有很多很好的web framework。
fullstack 还有一个很重要的标准就是前端要强,browser-side 的 MVC (backbone.js, angular.js )是标配了。
技术是成体系的,你算是java系的了。我从我自身的角度看全栈就是围绕网络开发的全才,不过是基于LAMP体系的。 主要技能点有:
Server:Apache,Nginx,Node
移动端:Android,ios,phonegap封装等
网页端:围绕JS的一切库和工具,不求都深入,但求有所了解,知道什么适合什么
看到了忍不住回一下:
Java WEB开发是主技能,什么Spring,ORM啥啥的
Maven,Ant那一些也行
Apache,Nginx参考资料可配置
前端CSS能简单的修改
JS写的多一些,什么jQuery,Mootools啥的都弄过
JS的MVC也弄过EmberJS和AngularJS
顺便接触了CoffeeScript
Android写过,但没有正式作品
iOS前些天刚完成一个App,最近在上线
Python平时写些脚本之类,Django写过论坛,Tornado简单的了解过
ROR写过一个应用的管理系统
PHP写过CMS,但只局限CI框架
GOLang简单的看过,没啥东西产出
数据库Oracle和MySQL现在常用,以前弄过SQLServer
还有啥想不起来了。。。太杂。。。
我也来发发我的:
能出活的:
后端部分
前端部分:
数据库:
其它工具:
不能出活的:
佩服楼主及上面的牛人们。我的折腾经历——
8年前开始自己倒腾wordpress,写点小插件。
进一家创业公司,正式开始web开发,写了一半左右代码(最初有人带),用Spring, Struts, Hibernate, 数据库MySQL,那时流行的是Prototype JS.
2年后去另一家创业公司,就我一个工程师,还是用那一套,JavaScript换成了jQuery
没多久来了现在的公司,待挺久的,啥都干过,甚至都偏到marketing了。做的大概有:
所以工作内容变成techops(我还在栈里吗?是不是不能叫stack overflow, 应该叫 stack leakage)了,可惜自己systems, networking方面没什么功底,深感接触面太广,但没有深入的,想想未来,压力很大。虽然在目前公司学到了很多东西,但做的越来越多是破事,深深的危机感。
最近用puppet把自己vps的配置管了起来,将来打算实践一些graphite, statsd, 之类的。看了看 spring mvc + freemarker,打算做点东西。下一份工作肯定不能再打杂了,找一份Java或者devops的,静心做点东西。
正在上学,Java和C#同时有课,Java必修,C#专业选修,这个学期还有SQL,还有个老师教Java和SQL怎么连接。看了你们的技能树,感觉还有好远的路……