天天看点

全栈工程师修炼史

什么是全栈工程师?

指掌握多种技能,并能利用多种技能独立完成产品的人。

全栈工程师能做什么?

1.全局性思维

1.1产品设计 (设计图)

- ai

- CorelDRAW

1.2界面设计

- ui

- photoshop

1.3移动前端开发(3屏(ios、android、电脑)共享,移动优先)

- ios(oc、c++)

- android(java、c++)

- bybrid (混合模式移动应用,使用html,目前适用于轻量级应用,不太稳定)

- 移动web (H5、javascript)(业务优先,动效次之)

1.4web前端

- H5

- javascript

- css3

1.5服务器操作系统

- linux

- unix

1.6web服务器

- Nginx 高并发,是apache的几百倍

- Apache 业务

1.7缓存服务器(客户端通过网络连接去服务器取数据(在磁盘上,读磁盘非常耗时),

当把数据放到内存中,读取非常快)

计算机存储金字塔,读取速度(1.寄存器(1ns)、2.cahe(1ns-10ns)、3.DRAM(100ns)、4.磁盘(ms))

- Memcached

- Redis

1.8后端业务服务器(前期可以选用脚本快速构建,用户量多了以后用c/c++)

- python 脚本语言

- c/c++ 效率最高,直接编译成2进制

- php 脚本语言

- java

- node、js 脚本语言

- Erlang 脚本语言

1.9数据库

- MySql

- Mongo DB

2.0文件系统(存储数据)

- FastDFS (淘宝)

- GFS (谷歌)

2.1微信公众号

- 微信交互

- 微信支付

2.2restFul API设计

应用的设计过程

全栈工程师修炼史

如何成为全栈工程师

1.语言基础

1.1C语言

1.2C++语言

1.3Python(脚本语言) 简单行数少,可以调用c、c++等

1.4javaScript(前端html默认编程语言)

1.5SQL

1.6HTML

- 各种标签

- Phonegap

- Cordova

1.7CSS3

-MUI

2.算法基础

2.1数据结构

把具体问题抽象化成结构体或类

2.2排序算法

冒泡、插入、归并、快捷、哈希

2.3链表

增删改查、逆序、树转链表、链表转树

2.4二叉树

搜索二叉树、平衡二叉树-红黑树

2.5图

深度优先搜索、广度优先搜索、海量数据挖掘

3操作系统Linux基本功

- 基本命令

- 开发环境Vim/gcc/gdb/makefile

- 文件I/O

- 文件系统

- 进程

- 进程间通信

- 信号

- 线程

- 线程间同步

- 网络协议

- socket编程

- 高并发服务器

- 开源服务器框架

- 服务器阿里云部署实施

4.数据库基本功

5.Hacker精神和能力

继续阅读