文章目录

  • 一、程序员岗位介绍
    • 1.1 概念区分
    • 1.2 前端(web前端)
    • 1.3 后端
    • 1.4 全栈
    • 1.5 关系总结图
    • 1.6其他
  • 二、互联网技术概念入门
    • 2.1 CS/BS模式
    • 2.2 互联网三大基石

一、程序员岗位介绍

1.1 概念区分

日常生活中,很多网页呈现出来的简洁布局、精心设计以及各种灵动效果总是让我们赞叹不已,而创造这些酷炫体验的,正是背后的 web 开发者。早在3年前,互联网就囊括了六亿八千多万的页面,这个数字还在持续快速增长。这意味着,web开发的人才需求空前繁盛。据估计,web开发方面的人才需求在接下来十年还会20%的增长,大大超过所有行业的平均水平。

1.2 前端(web前端)

做页面 交互处理

Web前端就是使用HTML、CSS、JavaScript等专业技能和工具将产品的UI设计稿实现成网站产品,涵盖用户PC端、移动端等网页,处理视觉和交互问题。在Web前端这个岗位兴起之前,html+css的工作是被视觉人员所承担的,而js这部分则是由后端完成的。随着智能手机和移动互联网的普及,PC端、手机端等五花八门的应用占领着每个人的手机,随之而来各种定制化的UI风格让兼容问题变得越来越头疼。因此,有企业开始把html+css+js这部分工作独立出来,由一个新的岗位来处理,成为了一个处理视觉和交互的综合岗位,这才有了Web前端这个岗位的出现。因此,Web前端开发行业是伴随Web兴起而细分出来的行业。实际上,Web前端是最接近产品和设计的工程师,起到衔接产品和技术的作用,它存在在互联网的每个角落,我们使用的微信里面的各种功能、小程序等都离不开web前端技术。

一名优秀的Web前端工程师,需要JavaScript语言基础扎实,具有良好的规范开发习惯;熟悉常用的设计模式,熟练使用Vue、Angular技术栈开发;能够熟练使用angular、vue、echarts、jquery、react等框架进行传统开发;要熟悉MVVM、MVC开发模式;熟悉前端工程化、自动化技术,可以根据需求配置Gulp文件及更改Webpack配置文件;熟练使用git版本管理工具。

此外,还要熟悉HTML5、CSS3的新特性,了解不同浏览器之间的差异,制作出的页面能够有很好的兼容性。

目前前端的薪资水平:

1.3 后端

是什么给网站前端提供支持?数据存放在哪里?这就涉及后端内容了。网站后端包括服务器、应用还有数据库。后端开发者构建并维护这些组件,为网站提供多方面支持。

为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:

用于应用构建的服务器端语言: PHP, Ruby,Python, Java, .Net 等;

数据相关工具: MySQL, Oracle, SQLServer,MongoDB,Redis 等;

版本控制工具:SVN, CVS , Git 等;

还要熟练使用 Linux 作为开发和部署环境。

目前java工程师的薪资水平:

1.4 全栈

有时前后端之间并没有明确的界限,“前端开发者通常需要额外学习后端技巧,反之亦然,尤其在特定市场条件下“,Matranga 说”开发者需要跨领域知识,有时甚至需要成为全才。“

全栈工程师,最初是6年多以前由 Facebook 带动的概念。全栈的核心,是指这批开发者能够承担包括前端、后端在内的所有功能开发任务,他们拥有一个技能全家桶。

“能够同时承担服务器端和客户端工作会为你带来更多机会,” Grovo 的全栈工程师 Federico Ulfo 说 “当然这也就意味着更多的挑战。以厨艺作类比,掌握烹饪和烘焙都需要时间与经验积累,同时掌握两者要花费更多精力。照着菜谱做谁都可以,我此处所说的是做出真正美味东西的能力。”

具体工具依项目和客户需求而定,全栈开发者需要对 Web 架构的每一个层次都有足够的了解:搭建和配置 Linux 服务器,编写服务器端 API,利用客户端 Javascript 代码驱动应用,将设计层面的东西转化到实际的 CSS 代码。

掌握并使用大量工具的同时,全栈开发者需要敏捷地分配服务器端和客户端任务,提供解决方案并对比不同方案的优劣。

目前全栈工程师的薪资水平:

1.5 关系总结图

红色部分:前端

绿色部分:后端

1.6其他

以后我们同学可能做到的职位:java工程师,前端工程师,DBA,测试,产品/项目经理,运维,架构师(架构师职位都具备全栈技能)等。

二、互联网技术概念入门

2.1 CS/BS模式

互联网软件的两种模式:

(1)Client/Server -->> 客户端/服务器模式

王者荣耀 手机QQ 手机微信 极品飞车系列 使命召唤系列 CF

1、需要下载安装客户端

2、软件由客户端和服务端两部分组成

3、软件更新比较麻烦 所有的客户端都需要更新

4、运算压力可以分摊给各个终端 服务器承担的运算压力可以大大减轻

(2)Browser/Server -->> 浏览器/服务器模式

​ 各种网站 b站 尚学堂官网 京东 淘宝

1、不需要下载安装客户端 只需要有一个浏览器即可

2、软件全部部署在服务器端

3、软件更新比较简单 只要更新服务器即可

4、运算压力基本在服务端 一般不会用来做大型游戏

2.2 互联网三大基石

三大基石:URL,HTTP协议,HTML

互联网软件依赖的三种基础技术

①URL:统一资源定位符

浏览器或者个人终端的软件可以通过它找到指定的位置。

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。

②HTTP协议:数据解析的规范

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

③HTML:数据传递的载体

HTML称为超文本标记语言。

假设 小明给小红 传纸条

​ URL : 小红的地址 小红的座位

​ HTTP协议: 以中文发送 “中文”就是一个共同遵守的解析数据的规范

​ HTML: 纸条上的内容 信息的载体 >>> 晚上去看电影呀

HTML正式学习--前奏相关推荐

  1. Hadoop的学习前奏(二)——Hadoop集群的配置

    前言: Hadoop集群的配置即完全分布式Hadoop配置. 笔者的环境: Linux:  CentOS 6.6(Final) x64   JDK:    java version "1.7 ...

  2. AJAX学习前奏----JS基础加强

     AJAX学习前奏----JS基础加强 知识概要: 1.js类&属性&方法的定义 2.静态属性与方法 3.构造方法 4.原型的使用 5.Object对象直接加属性和方法 6.JSO ...

  3. 【日记】假期正式学习

    假期第一次正式学习+第一次写博客 从我1月9号放假回家开始,就没有系统的学过一次,其实我也没有想过寒假在家一定要做些什么.复习什么.学会什么,因为这次寒假我参加了学校工商银行的实习,年前年后都要进行实 ...

  4. CAD正式学习(一)

    CAD正式学习(一)(23.2.20) CAD简介 CAD是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助软件,主要用于二维绘图.详细绘制.设计文档和基本三维设计,是广为流行的绘图 ...

  5. 正式学习python的第0天

    学习写代码的第N天(实际上第0天) 正式开启被男朋友魔鬼训练的第一天,看大神们的代码来学习python,欢迎查收20181218的学习心得~ 摘要 类,实例,方法,属性的概念 loc,iloc和ix索 ...

  6. Hadoop的学习前奏(一)——在Linux上安装与配置Hadoop

    前言 笔者目前是在做Android开发,又是在一个信息安全的公司.公司的主要是做在虚拟机上运行的产品,又涉猎云计算,心想是要去搞一下云计算.自我感觉移动互联网 + 云计算 + 信息安全会是一个很好的方 ...

  7. 2019年1月14日【第一天正式学习】

    2019年1月14日星期一 任务一.把 elfpass 拷贝进 seed 虚拟机,设成 root 所有 suid 程序,用普通用户去攻击获得 root权限.可以先静态分析,搞不定再用 gdb 动态调试 ...

  8. 正式学习java五天

    学习java第五天 昨晚删掉了所有游戏.小说.视频.娱乐软件,所以从今天开始希望能全身心投入学习吧! 第一天 第一天没有学习什么,学习了八大基本数据类型 byte short int long flo ...

  9. 正式学习C语言的第一天

    昨天学习了大学的第一节C语言程序设计课,因为之前没有接触过这一门学科,所以在昨天的课堂上,尽管我很努力地去理解老师所讲的内容,可是我根本无法理解.老师讲了许多从未听闻的陌生词语,比如int,print ...

最新文章

  1. Headfirst JSP 01 (概述)
  2. mvn 打包可执行包_如何用Maven打包可执行jar包
  3. 每天一个linux命令(61):vi命令 /企业常用的linux命令清单
  4. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
  5. Altium Designer中敷铜间距修改问题
  6. python实现中文图片文字识别--OCR about chinese text--tesseract
  7. Centos的yum源更换为国内的阿里云源
  8. 擦窗机器人测试标准_擦窗机器人,我选择玻妞的三个理由!
  9. win10修改时间同步服务器,解决win10时间服务器同步问题|重置win10时间服务配置...
  10. [JSOI2008]Blue Mary的战役地图
  11. Python批量Excel文件数据导入SQLite数据库的优化方案
  12. 中国科学院图书馆分类法
  13. 关于希捷维修日志中 FAIL Servo Op=0100 Resp=0003 错误信息的解读
  14. 机动车合格证手机扫码开票实现方式
  15. 免费优惠券机器人搭建
  16. java 判断对象的属性是否为空,如何判断一个对象里的属性是否都为空的
  17. 梯度下降,随机梯度下降,代码实现
  18. 白鹭php源码,egret 2D引擎源码分析(二) 创建播放器
  19. Ubuntu18.04下双网卡内外网设置
  20. eclipse gdb gdbserver 远程调试

热门文章

  1. 计算机是如何思考生鲜连锁店选址问题的?
  2. 4444: 开宝箱——指针基础
  3. 百度地图城市代码 大全,可在页面 ctrl+F 快速查找
  4. python 泰森多边形边界_对于给定点集的泰森多边形的算法实现
  5. sourcetree交互式变基
  6. Boosting算法和Adaboost算法的关系
  7. 苹果开发者帐号(Company)申请流程(一)
  8. UI设计工资有多高?怎么快速拿高薪?
  9. python股票交易策略_Python:股票演算法交易實務 145個關鍵技巧詳解
  10. Spock测试套件入门