[转行Day01] 坚定信念,选好方向,努力学习

124 阅读3分钟

个人情况

本人2020年帝都末流211传统工科本硕毕业,一直就职在帝都某央企二级子公司,从事技术经济方面的工作。公司属于垄断行业但行业规模较小,工作节奏缓慢,技术水平一般,收入水平较低,且公司启动转型。考虑转行原因一是自我判断转型可能会失败,白白耽误几年的学习成长期,原因二是对程序员的工作有简单的了解,认为性格上比较合适,原因三或许是“城外的人想进去,城里的人想出来”。

方向确定

在学习之前有关的编程经历有限,通过计算机二级C语言和Python考试,在读研期间使用流体力学模拟软件Fluent时曾用C语言定制过需要的User Defined Function,计算机的基础知识掌握较少。在参考了网络上的信息之后选择学习Web前端作为入门方向,较为重要的原因是比较喜欢做出的东西呈现给很多人的感觉。

写作目的

“老师讲我听、我自己理解、我讲给别人听”是学习的三个阶段,每达到一个阶段,对知识的掌握就更深一层。因此我希望能够把我学到的知识输出出来,加深对知识的理解,更欢迎所有看到我写的文章的前辈从各个角度给我提出意见和建议。

简单梳理

为了全面了解互联网公司的典型工作分工,做了简单的调研,以便更好了解前端工作的任务。

  1. 运营:对公司的产品或服务进行组织、运行、优化。简单理解为策划活动、留住用户、生产内容等
  2. 产品经理:收集用户需求、绘制原型图、输出需求文档。简单理解为产出想法、确定需求。
  3. 设计:输出高保真设计稿。简单理解为设计交互、页面
  4. 前端:将设计稿实现为可交互的动态页面。包括Web、iOS、Android,虽然客户端不同,但使用的后端逻辑和数据库都是一致的。
  5. 后端:实现后台服务器系统,支持业务逻辑,包括服务端工程师、AI算法工程师、大数据工程师、中间件工程师、系统架构师。
  6. 其他:运维、测试、(DBA、BI、安全、搜索)。

Web前端技术栈

参考菜鸟教程Web Front-end Stack v2.5 Web-Front-End-Stack.zh-cn.png

  1. 浏览器:Chrome
  2. 渲染引擎
  3. 脚本引擎
  4. 标准:W3C
  5. 协议:HTTP
  6. 编译器:VSCode
  7. 三剑客:html(DOM,Element,Attribute),css(Selector,Priority,Specificity,Box Model),JavaScript(Prototype,Scope,Closure,JSON,AJAX)
  8. 运行时:Cookie,Local/Session Storage
  9. 编译任务
  10. 编译工具
  11. 调试
  12. 基础工具:Node.js
  13. 质量控制:ESlint
  14. 包管理:npm
  15. 测试
  16. 库/框架
  • 基础库:jQuery
  • 模块化:ES6 Module, CommonJS, AMD, UMD
  • 框架:React, Vue, AngularJS
  • UI框架:Bootstrap, ElementUI
  • Websocket
  • 数据可视化:ECharts
  • WebGL:Three.js
  • CSS3动画:Animate.css
  • 流程控制:Promise, await, async
  • 函数式编程
  • 手机UI框架
  1. CSS预处理器:LESS,Sass,Stylus
  2. 未来标准:babel
  3. 模板引擎
  4. 统一化
  5. 最佳实践:SEO,CDN,Responsiveness
  6. 安全:Sandbox,XSS,CORS
  7. 中间语言:TypeScript
  8. 移动应用开发:React Native
  9. 桌面应用开发:Electron

不知道已发布的文章是否还可以修改,如果以后遇到没见过的技术会添加到这里,留一个初步认识的印象。如有大佬介绍当前常用或流行或入门应该学习的技术,感激不尽。