作为一个编码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) 〇-什么是全栈工程师的更多相关文章

  1. 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别

    为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙   请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 ...

  2. 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构

    转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...

  3. 怎样成为全栈工程师(Full Stack Developer)?

    "Facebook 工程师说 Facebook 只招 full stack engineer,那么 Facebook engineer 都是怎样的人啦."? 具体经验不重要,重要的 ...

  4. [转]乐死我了,怎么样成为一个全栈程序员(Full Stack Developer),附我想专注的语言

    受苏格拉底大神的启迪,我也来谈谈全栈.禅师:成为全栈工程师,这个问题等于如何成为全才,有可能吗码农:有可能,不过可能性比较低,因为达芬奇这类人毕竟是百年一遇的奇才.不过,因为我热爱这个行业,也有一定天 ...

  5. stm32 堆和栈(stm32 Heap & Stack)【worldsing笔记】

    关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的.   那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘:     刚接手STM32时,你只编写一个 int main() ...

  6. LeetCode 刷题笔记 155. 最小栈(Min Stack)

    tag: 栈(stack) 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素 ...

  7. stm32 堆和栈(stm32 Heap & Stack)

    关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的. 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘: 刚接手STM32时,你只编写一个 int main() { whil ...

  8. 静态栈抽象数据类型stack实现

    #include<stdio.h> #include<stdbool.h> #include<stdlib.h> #define MAX_STACK_SIZE 10 ...

  9. Python Base of Scientific Stack(Python基础之科学栈)

    Python Base of Scientific Stack(Python基础之科学栈) 1. Python的科学栈(Scientific Stack) NumPy NumPy提供度多维数组对象,以 ...

随机推荐

  1. C#将XML转换成JSON转换XML

    原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ...

  2. 读书笔记—CLR via C#反射

    前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...

  3. WCF MSMQ

    基于WCF MSMQ 的企业应用解决方案   最近研究了一下基于MSMQ的WCF应用,从书上.网上查了很多资料,但始终没能彻底理解WCF-MSMQ的工作原理,也没能得到一个合理的应用解决方案.索性还是 ...

  4. NHibernate Session-per-request and MiniProfiler.NHibernate

    NHibernate Session-per-request and MiniProfiler.NHibernate 前言 1.本文以mvc3为例,借鉴开源项目 NerdDnner项目完成nhiber ...

  5. 【最新】让快捷方式 实现相对路径——非.bat方式实现

    快捷方式一般是使用绝对路径的,但并不是不能使用相对路径,系统为普通用户考虑一般默认使用绝对路径,这样的结果是:只要目标文件(不论是文件夹.程序.文档,也包括快捷方式)绝对位置不变,我们创建的快捷方式基 ...

  6. Servlet入门和ServletConfig、ServletContext

    Servlet是一门用于开发动态web资源的技术. 若想开发一个动态web资源,需要完成以下2个步骤: 1)编写一个Java类,实现servlet接口: 2)把开发好的Java类部署到web服务器中. ...

  7. iMac 无线键盘 无法配对

    正好小编手里也有一个 Apple wireless keyboard 键盘,经测试发现确实有他所说的问题.在互联网上找了一圈儿都没找到解决方案,苹果官方也没有给出相关方案.只好自己琢磨,还好终于研究出 ...

  8. Android_NDK问题:APP_BUILD_SCRIPT points to an unknown file: <project_path>/jni/Android.mk

    问题详情: Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: <path>/jni/Android.mk ...: ...

  9. [C# 开发技巧]实现属于自己的截图工具

    [C# 开发技巧]实现属于自己的截图工具 一.引言 之前一直都是写一些C#基础知识的内容的,然而有些初学者可能看完了这些基础知识之后,会有这样一个疑惑的——我了解了这些基础知识之后,我想做一些工具怎么 ...

  10. linux 下 openssl 编译和交叉编译

    此随便记录一下编译openssl时遇到的各种问题以及解决办法. 点击此处下载 OpenSSL(version-1.0.1e) linux 64位系统编译32位版本: setarch i386 ./Co ...