大专学前端开发怎么样(专科学历不能从事前端开发)
大专学前端开发怎么样(专科学历不能从事前端开发)我刚开始自学那会,总感觉自己能看懂代码,但动手却写不出来。通过和我朋友沟通才发现,我的学习方式有问题。正常的学习方式应该是写代码的时间要比看视频的时间长。只有多敲代码,才能够理解运用。很多人学完之后,能够看懂代码但是不会写,或者是学了后面的忘了前面的,根本原因都是练得太少。假设每天学习前端的时间是6个小时,那么起码要拿出3个小时以上的时间练习敲代码。只看视频不敲代码,就是在浪费时间。2.学习过程中一定要多练习敲代码。1.准备一份系统的视频教程。我自学用的视频教程是我朋友给我的,他跟我说普通教程ajax前后端交互会在学完js后直接讲XMLHttp的API方法和使用 跨域和封装也只限于前端代码部分的讲解和库的使用。而他给我找的这份教程,在这些基础上拓展了HTTP理论、交互通信原理、服务端http服务器搭建、MIME、报文端口、监听抓包、网络业务模型、代理缓存、cookie session 鉴
在这里我以过来人的身份写下这篇文章,希望刚刚进入大学或者即将进入大学的学弟学妹们千万不要像我一样,等到快要毕业或者出去找工作的时候才知道知识技能的重要性。
我只有专科学历,专业学的是机械工程专业。大一的时候还老老实实地上上课,参加下学校的各种社团活动,感觉还挺充实。到了大二可能受身边同学的影响,天天沉迷于网吧,白天睡觉晚上通宵,玩得不亦乐乎。大学毕业就随便找了个物流公司实习。
上班后才知道社会多残酷,工资低开销大,很多地方都需要用到钱,工资月月光,更别说什么存款,心里其实挺慌的;偶然一次机会,了解到一个高中同学大学学的是计算机专业,现在从事前端开发的工作,薪资待遇挺好的。他和我说他身边也有很多同事也不是计算机专业出身,让我尝试自学一下前端。
于是我从去年9月份开始自学WEB前端,差不多用了8个月的时间吧,现在是在南京的一家软件公司做开发,技术部大约是30多人。薪资是12K,五险一金。我觉得自己挺幸运,大学荒废了那么多时间,毕业后还能找到一份月薪过万的工作。
根据我自学的经验给大家几点建议:1.准备一份系统的视频教程。
我自学用的视频教程是我朋友给我的,他跟我说普通教程ajax前后端交互会在学完js后直接讲XMLHttp的API方法和使用 跨域和封装也只限于前端代码部分的讲解和库的使用。而他给我找的这份教程,在这些基础上拓展了HTTP理论、交互通信原理、服务端http服务器搭建、MIME、报文端口、监听抓包、网络业务模型、代理缓存、cookie session 鉴权认证、安全加密、Token、JWT、oauth、session管理、RESTful接口设计、协商合约、资源标识等原理规则性知识,能够让我真正清楚整个交互的来龙去脉,而不只是单纯的抄方法、跟着教程写代码。我能找到12K的工作,很大一部分原因就是这份教程讲的内容够详细,技术学的扎实。
如果大家找不到一份系统的教程,可以用我当时自学的这份,只要关注我,私信“前端”二字即可获取。
2.学习过程中一定要多练习敲代码。
我刚开始自学那会,总感觉自己能看懂代码,但动手却写不出来。通过和我朋友沟通才发现,我的学习方式有问题。正常的学习方式应该是写代码的时间要比看视频的时间长。只有多敲代码,才能够理解运用。很多人学完之后,能够看懂代码但是不会写,或者是学了后面的忘了前面的,根本原因都是练得太少。假设每天学习前端的时间是6个小时,那么起码要拿出3个小时以上的时间练习敲代码。只看视频不敲代码,就是在浪费时间。
3.多和专业人士沟通交流,避免闭门造车
有人一起交流学习,真的是事半功倍,效率会提高非常多。身边没有能跟你探讨学习的朋友,可以加一些学习氛围不错的前端交流学习群,跟有经验的人交流可以学到很多好的学习方法和技巧,提高我们的学习效率。找不到好的学习群,可以私信我“前端”,加入我朋友创建的这个前端学习交流群。里面有好多已经工作的大佬,每天不忙的时候在群里解答问题。也有很多正在学习的人每天交流学习心得。气氛是非常好的,大家可以在群里一起监督学习。我能自学找到12K的工作,离不开群里这些大佬的帮助。
最后给大家分享一份系统的前端学习路线,我就是按照这份学习路线去学的,上面的知识点掌握了百分之七十就找了12K的工作,给我整理这份学习路线的大佬说,能够把这份学习路线上的知识点全部掌握,就可以准备大厂的面试了。
HTML/CSS3 以及工具部分:- vscode开发工具使用
- markdown文档工具使用
- 浏览器平台环境
- 标签基础
- DTD与META
- 语义化
- 选择器
- 权重与优先级
- 匹配规则
- 浮动与清除、
- BFC、
- 类名组合规则
- SEO前端技巧
- 定位
- 叠加技巧
- 伪类
- 伪元素
- 盒子模型
- 代码规范
- 性能优化
- 渲染原理
- CSS Sprites
- iconfont字体图标、
- 布局思路
- 布局定式
- css3动画
- css3选择器
- css3过渡
- flex布局
- 背景渐变
- css3实用动效
- 3D模块
- css3变量
- em/rem/vw
学完这些可以完成一个企业内部多页面项目实战(非仿站)有完整PSD与切图
然后就是JavaScript 部分,你需要掌握以下知识点:
JavaScript概念
- 基础认知
- 发展历史
- 应用范围
- 优缺点
ECMAScript
- 语言概览
- 语句语法
- 数据类型
- 运算符
- 隐式转换
- 运算规则
- 控制流程
- 作用域
- 作用域链
- 作用域解析
- js解释引擎
- 字符串属性方法
- for of/for in
- 数组属性方法
- 对象
- 广义对象概念
- 对象特性
- 存储机制
- 深拷贝
- 对象实际应用
- 工厂模式
- 构造函数
- 原型
- 原型链
- 原型指向
- 封装
- 多种继承
- 包装对象
- this
- this指向
- js数据处理
- 垃圾GC
- 闭包原理与应用
- debug方法论
- 浏览器控制台工具应用
- 面向对象开发
- 函数式开发
- 纯函数
- 递归函数
- 回调函数
- 组合函数
- 缓存函数
- 柯里化函数
- 偏函数
- 函数防抖与节流
- 高级函数
- IIFE函数
- 模块化
- 数学对象
- 高级数组方法(reduce、filter、map、every、some、forEach、find、findIndex、include)等
- 高级对象方法(entires、defineProperty、freeze、fromEntries、assign、keys、create、hasOwnProperty)等
- this通过bind、call、apply指向偏移、同步与异步、闭包模块化、数据形变处理、性能处理
DOM/BOM
- DOM对象与方法
- 节点与遍历树
- DOM选择器
- DOM节点增删改查
- DOM样式操作
- DOM位置获取与偏移
- DOM对象与标签区别
- DOM虚拟化
- DOM事件
- Event对象
- 定时器与监听器
- 事件委托
- 事件代理
- 事件分流
- 事件冒泡
- 默认行为
- 事件捕获
- 防抖
- 节流
- 滚动
- 键盘行为
- 事件降频
- 行为锁机制
- 拖拽模组
- 碰撞检测
- 距离判断
- 三角函数
- 方向判断
- 运动框架
- 弹性运动
- 重力加速度
- DOM树
- CSSOM树
- 渲染解析
- 加载
- 回流
- 重绘
- 浏览器线程与阻塞
- BOM深入
- window对象
- navigator
- history
- screen
- location
- spa概念
- 本地传参
- 日期对象使用
- 日期格式化封装
- 随机封装
- DOM分片容器
JS业务应用扩展
- JSON对象
- 数据解析
- JSON方法
- 模板渲染
- 缓存懒加载
- 正则表达式RegExp
- 元字符
- 修饰符
- 正向预查
- 贪婪模式
- replace方法
- 分组与不分组
- test
- match与exec
- 正则库封装
- 表单校验
- 图片预存懒加载
- 自定义封装滚动组件
- 多重轮播(循环、视差、旋转木马)
- 选项卡切换
- 楼梯导航
- 吸顶导航
- 拖拽导航
- JavaScript编码风格指南
- console应用技巧
ECMAScript5 --- ECMAScript9扩展
- 版本解读
- 应用环境
- let
- const
- 解构赋值
- 箭头函数
- 对象解构
- reset参数解构
- class
- set
- get
- extends
- super
- static
- private实现
- symbol
- promise
- proxy代理拦截
- async/await
- 对象新增API
- 数组新增API
- 字符串新增API
- 原型属性
- 对象修饰
- 代理拦截
- 链式询问
- 空值合并运算符
- 泡泡龙面向对象游戏开发
HTML5 / 移动端开发 部分
HTML5标签与API
- HTML5概念
- 定义
- 新增特性
- DTD对比
- 新增H5标签
- 新增语义化H5标签
- H5表单
- H5拖拽事件
- video
- audio
- fullScreen
- FileReader文件流
- Blob对象
- sessionStorage
- localStorage
- 网络状态
- 页面生命周期
- 网页状态监听
- 地理信息与定位
- canvas画布
- worker多线程
- Notifications桌面通知
- 播放器开发
- canvas交互特效开发
移动端适配/事件
- 移动端适配概念
- 尺寸与分辨率原理
- PPI与DPI计算
- DIP与DPR设备像素概念
- 视口viewport概念
- 布局视口
- 视觉视口
- 理想视口
- 视口适配方案(Meta viewport)缩放设置
- screen窗口大小API
- 媒体查询@media
- rem适配
- vw vh适配
- 移动端适配方案
- flexible rem方案
- vh vw方案
- 复合方案
- 高清适配方案
- 移动端字体缩放解决
- 1px边框问题解决
- 半像素线
- 图片高清适配
- image-set
- srcset
- js拼接URL技巧
- IPhonex刘海屏适配
- 安全区域
- fit与env
- Meta权限管理
- 兼容优化
- IOS头部底部闪屏回退输入框问题
- 输入法空格问题
- 默认首字母大写问题
- 滑动卡顿问题等
- 终端样式美化与访问判断
- Touch事件组封装
- click延迟处理
- FastClick使用
- 禁用缩放设置理想视口
常用类库/工具
jquery: 元素选择、增删改差、事件处理、位置获取、动画过渡、高级方法、特效应用
zepto:移动端的jquery、DOM操作、移动端事件、click延迟处理、touch事件组
基础UI库: layerUI 、easyUI、bootStrap、UI模块化、UI库使用技巧、文档解读、案例调试、表单系统
iScroll、touchjs等移动端事件库使用
swiper:移动端网站触摸滑动、轮播图插件、模块化应用、源码解读
art-template: 模板引擎 模板语法、渲染方法、原生模板引擎实现
CSS预处理:sass、less使用 stylus深入学习 、预处理语法、css编程、 Minxin 、预处理函数、继承、嵌套
vscode高级插件与配置 liveserver sass
模板化应用 、预处理应用
date-picker移动端原生组件开发
- 需求分析
- 业务规则、
- 技术栈选型、
- 文件输出规则、
- 技术分析
- MVC模型概念与设计、
- 业务逻辑分类
- view层适配方案
- 原型布局搭建
- 模板化生成
- 工具函数开发、
- 面向对象式业务设计
- 功能类日期对象开发
- 交互业务封装
- 模块对接
- 优化设计
- 面向对象高级程序设计
Nodejs与工程化开发 部分
Node原生基础
- Node基础概念
- NPM命令
- V8引擎概念
- JavaScript模块化 CMD AMD UMD
- EventLoop事件循环
- 同步异步、
- 阻塞非阻塞
- 任务队列
- 宏任务
- 微任务
- 原生Node模块
- 核心模块与require
- module
- 触发器events与path模块
- fs模块
- Buffer对象
- URL模块
- HTTP模块
- stream流
- Node原生封装HTTP与文件服务器
Node框架
- express框架使用
- 中间件
- 核心对象
- 路由配置
- 模板引擎
- 数据脚本
- Router核心
- CORS配置
- 错误处理
- 校验封装
- PM2管理
- nodemoon管理
- MORGAN日志处理
- 查询正则捕获
- 中间件开发
- bodyParse等第三方中间件使用
- 文件流上传下载
- 文件流切分
webpack工程化构建
- 工程化概念
- 工程化工具介绍
- webpack基础知识
- webpack配置与运行
- plugin插件
- loader使用
- 入口出口配置
- 模块modules
- 依赖处理
- dev Server
- target
- 文件切分
- build打包
- 热处理
- package管理
- 性能优化
- 测试处理
- 第三方插件使用
- babel等
前后端数据交互
- HTTP通信交互原理
- 请求响应
- MIME
- URI地址
- 报文解析
- 端口
- 报文流
- 测试监听抓包
- TCP/IP握手机制
- 网络业务模型
- 代理
- 缓存
- 网关
- 隧道等概念
- method与请求头分类
- 基础XMLHTTPRequest对象方法属性
- 方法
- ajax异步交互
- 同源策略原理
- 原生js封装ajax交互
- jquery的ajax封装交互
- jsonp跨域处理
- cors跨域处理
- 携带cookie与跨域处理
- 代理服务器跨域处理
- cookie验证与通信
- axios库的使用 代理
- 封装
- 拦截
- 合并
- 二次封装
- 通信加密策略
- 数据对称加密
- 数据非对称加密
- RSA加密实践
- MD5加密实践
- 登录注册与鉴权机制
- Authenticity认证
- Token认证
- JWT认证
- session状态管理
- oauth认证
RESTful接口设计
- RESTful设计原则
- 状态码设计与规范
- 服务器响应规则与格式
- 前后端接口协议制定
- 传统RESTful改进
- API设计规范
- 资源定位
- JSON模式
- 合约说明
- 资源标识符
- 缓存友好API
- HTTP头管理
- 文档定义
- 松耦合原则
- 一致性
- 重用
- 稳定性原则
数据库存储
- MongoDB基础概念
- NoSQL与SQL
- CAP定理
- RDBMS
- MongoDB语法
- 指令
- 监控与GUI
- MongoDb驱动
- Mongoose应用
- 数据库创建
- 集合增删改查
- 文档增删改查
- 数据库查询
- 高级查询操作
- 通道查询
- 多条件查询
- 反向筛选
- 索引处理
- aggregate聚合管道
- validation验证
- population联表
- middleware中间件处理
- 查询ERROR类二次封装
博客后台项目实战
- 数据库设计
- 服务端路由搭建
- 接口设计与API管理
- 通信交互管道封装
- 注册登录
- 路由导航
- 前端路由管理
- 权限管理
- 用户管理
- 分类管理
- 标签管理
- 文章管理
- 模块化功能封装
- 校验库封装
- promise链式行为封装
- 异步模块处理
- SPA单页面应用初级实现
- 原生集中行为控制器
- 模板化 模块化 预处理 工程化实现前端页面
组件化封装
- 组件化基础概念
- 组件设计原则
- 组件封装
- 组件耦合与解耦
- 工程化 模板化 模块化实现原生组件化功能
vue框架部分
vue基础
- vue开发准备
- 工具与插件
- mvc mvp MVVM设计理念
- 原生js实现MVVM核心框架
- vue设计模式
- 生命周期
- 命令与属性
- 组件化
- 数据驱动与双向绑定
- 虚拟DOM概念原理
- 模板语法
- 条件与列表
- 数组监测
- 计算属性
- 事件处理
- 修饰与表单
- 监听器
- 过滤器
- methods watch computed filter对比
- 组件化开发
- 动态组件
- 组件通信
- 高级组件通信
- 插槽
- vue动画
- 实例对象
- set
- get
- nextTick
- vue插件
vue工程化
- Babel
- webpack配置vue
- vue单文件组件
- vue-cli
- 工程平台处理
- postCss
- animate
- core
- socket
- lodash工具
- vue-cli插件
- preset
- 静态资源处理
- 环境变量与膜还是切换
- 工程化部署
- 工程构建
vue Router
- vue路由概念
- 嵌套路由
- 路由视图
- 动态路由
- 路由匹配
- 编程式导航
- history
- hash模式管理
- 命名视图
- 重定向与别名
- 导航守卫
- 路由元信息
- 滚动与懒加载
- 导航故障处理
vuex
- vuex核心概念
- EventBus对比
- 状态管理模式
- Store
- state
- getter
- mutation
- action
- moudule
- vuex辅助函数与API功能
- vuex环境选择
- vuex模块化处理规则与技巧
- 对象风格提交方式
- 模块重用等
vue项目实战
- vue博客项目实战 PC 移动端
- elementUI
- vantUI
- websocket聊天室
- 虚拟人偶
- vueScroll
- store
- qs
- nprogress
- editor
- 文章分类
- 词云效果
- spa单页面应用
- 移动PC无缝切换
- 完整注册登录
- vue加密鉴权
- http封装管理
- 错误处理封装
- vuex核心状态管理
- 本地存储状态更新
- 令牌处理
- 文章富文本编辑
- 点赞
- 收藏
- 访问
- 评论
- 组件封装
- 组件复用
- 组件混合
- 高级组件开发
- 复合性组件通信
- vue中处理原生DOM行为
- vue常见错误处理
- 重置vue数据响应
- 个人信息修改
- 头像上传
- 通知组件封装
- postcss应用
- 项目打包优化