如何成为Linux 全栈工程师

来源:互联网 发布:淘宝量子恒道作用 编辑:程序博客网 时间:2024/05/20 01:36

转载至传智播客C++学院-虚竹 

成为全栈式系统程序员
学习态度
* 谦虚 * 严谨 * 勤思 * 善问
学习方法
只听不练肯定学不会Linux,每个知识点都需要去动手实践才能快速掌握python编程

第 1 章
什么是全栈工程师
全栈工程师,也叫全端工程师,英文Full Stack developer。是指掌握多种技能,并能
利用多种技能独立完成产品的人。
第 2 章
全栈工程师能干什么
2.1 全局性思维
现代项目的开发,需要掌握多种技术。互联网项目,需要用到:
* 产品设计 – ai – CorelDRAW
* 界面设计 – ui – photoshop
* 前端开发移动优先 – IOS App (Objective-C/C++)– Android App (Java/C++) – Hybrid App (混合模式移动应用)– 移动web (Html5/JavaScript)
* web前端语言 – html5– JavaScript – Css3
* 操作系统 – Linux– Unix
* Web服务器 – Nginx– Apache
* 缓存服务器 – Memcached– Redis
* 后端业务服务器 – python– c/c++ – php– java – node.js– Erlang
* 数据库 – MySQL – Mongo DB
* 文件系统 – FastDFS(淘宝)– GFS(Google File System)
* 微信公众号 – 微信交互– 微信支付
* restFul API设计
所以说一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要
是各种技术的资深专家,但他需要熟悉到各种技术。对于一个团队特别是互联网企业来说,
有一个全局性思维的人非常非常重要。
2.2 沟通成本
项目越大,沟通成本越高,做过项目管理的都知道,项目中的人力是1+1<2的,人越多
效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。
而全栈工程师的成本几乎为零,因为各种技术都懂,胸有成竹,自己就全做了。即使是
在团队协作中,与不同技术人员的沟通也会容易得多,让一个后端和一个前端去沟通,那完
全是鸡同鸭讲,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那
沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。
2.3 创业公司
对于创业公司来说,全栈工程师的价值是非常大的,创业公司不可能像大公司一样,各
方面的人才都有。所以需要一个多面手,各种活都能一肩挑,独挡多面的万金油。对于创业
公司,不可能说DBA,前端,后端,客户端各种人才全都备齐了,很多工作请人又不饱和,不请
人又没法做,外包又不放心质量,所以全栈工程师是省钱的一妙招。
虽然说全栈工程师工资会比一般的工程师会高很多,但综合下来,成本会低很多。
第 3 章
如何成为全栈工程师
3.1 语言基本功
3.1.1 C
* 现代的所有语言都借鉴了C语言或LISP语言
* 培养了程序员严谨的编程逻辑
* 本质,让你知其然并知其所已然
3.1.2 C++
* 培养了面向对象编程的思维
* 最强大最复杂的编程语言,会当凌绝顶,一览众山小
* 高性能,高稳定性
3.1.3 Python
* 解决一个问题,C实现100行,Java实现50行,Python实现20行
* 万能胶水,什么都能干,什么都能粘合进来
* 语法简洁,易学
* 有C和C++背景的程序员轻松驾驭Python
3.1.4 JavaScript
* Html中的默认的编程语言
* Hybrid混合编程的派头兵
* JQuery
* AngularJS
* Ionic
3.1.5 SQL
* MySQL
* Mongo DB
3.1.6 Html5
* 各种标签
* Phonegap
* Cordova
3.1.7 Css3
* BootStrap
* MUI
3.2 算法基本功
3.2.1 数据结构
* 把具体问题抽象化成结构体或类
3.2.2 排序算法
* 冒泡排序
* 插入排序
* 归并排序
* 快速排序
* 哈希排序
3.2.3 链表
* 增删改查
* 逆序
* 树转链表
* 链表转树
3.2.4 二叉树
* 搜索二叉树
* 平衡二叉树-红黑树
3.2.5 图
* 深度优先搜索
* 广度优先搜索
* 海量数据挖掘
3.3 操作系统Linux基本功
* 基本命令操作
* 开发环境Vim/gcc/gdb/Makefile
* 文件IO
* 文件系统
* 进程
* 进程间通信
* 信号
* 线程
* 线程间同步
* 网络协议
* socket编程
* 高并发服务器
* 开源服务器框架
* 服务器阿里云部署实施
3.4 数据库基本功
* SQL基本语句
* 表的设计与优化
* 数据库的备份部署和实施
* 数据库缓存优化
3.5 Hacker精神和能力
* 热爱编程,不单纯是为了搞门技术混口饭吃
* 快速学习能力
* 高强度抗压能力
* Google解决问题能力
* 健康的体魄
第 4 章
全栈式开发一个项目
4.1 python能干什么?
* 图形化开发
* 系统脚本
* web服务器
* 网络爬虫
* 服务器集群自动化运维

0 0