我理解的前端与后端

                 NGINX或者APPCHE做为前端,而DJANGO、TOMCAT、FLASK做为后端。php

                 NGINX和APPCHE的做用是做为后端的缓冲和提供静态资源的做用,NGINX还有代理服务器(即分发客户端请求到后端的做用)和负载均衡的做用,前端

         后端做用是处理一些业务逻辑和返回动态网页。java

         前端开发主要开发内容是:python

         1. UI 主要是作展现性页面。用 HTML 构建页面框架(结构),而后用 CSS 调整内容的布局、字体、颜色等外观属性(表现),也会借助 JSlinux

           (主要是 jQuery)来控制页面的交互(点击、触摸)和数据(行为)。算法

 

         2. App 方面包含了 UI 的大部分工做,主要目标是让网页代替客户端(Android/iOS app,Windows 客户端等)。App 与 UI 最大的不一样,应该
             是相对于表现,对数据更注重一些。可能会用到一些复杂的库和框架(如 Angular.js),与后端(Server/API)的数据交互会不少。
 
         后端开发主要内容是:

         1 后端开发语言sql

            包括但不限于(php, python, java, scala, go, ruby) 之一。 可以使用一门或者数门语言构造大型应用。docker

         2 运维shell

            了解 (ansible, salt, puppet)等自动化运维技术, 了解docker, 熟练掌握shell脚本处理线上问题。数据库

         3 安全

            知道各类安全攻击方式(xss, csrf, sql注入) 代码实现可以规避常见的安全漏洞, 处理各类网络攻击事件。

         4 数据库

            知道常见的数据库的优化以及运维,可以分析sql而且调优使之知足性能

         5 网络编程

           了解linux的网络模型epoll, 熟练掌握http, tcp/ip协议,而且可以经过抓包方式debug。 熟练掌握linux, 可以在高兵法场景下经过优化内核解决问题。

         6 大数据

           了解 (hadoop/storn/spark)技术栈, 可以使用大数据技术栈解决常见的大数据问题

         7 算法和数据结构

           知道常规的算法和数据结构,经过分析代码能了解架构的计算复杂度和性能,并针对性作出优化

         8 机器学习算法

           知道常见的机器学习算法,可以使用机器学习和深度学习解决一些人工智能问题,好比聊天机器人, 反spam, 机器推荐等

         9 搜索引擎

           掌握elasticsearch solr等开源搜索引擎,可以搭建搜索引擎实现各类搜索以及排序任务

相关文章
相关标签/搜索