前端、后端、运维的基本概念

在dcg实训了一段日子,虽然我们和正常工作一样分了前端、后端、运维、设计和产品等的小组,但是学习嘛,多多少少还是都要了解一点的。

来的第一天,实训的老师就对我们说 程序员,最高的境界是什么,不是工程师,不是架构师,也不是写算法而是有一个女朋友:fa-hand-o-up:。哈哈哈简直了,在这边工作室的大部分人好像大部分人都是单身的吧。 话说论技术的话,反正秃了的一般都比较腻害~~

前端

前端的东西都很杂,但是感觉应该是我比较感兴趣的地方。先不过架构师的话,前端的额很多东西都是造房子一样,有一种build一个自己喜欢的东西出来~这种建造的过程还是比较直观的。

想成为一个前端工程师,我和前端的实训老师聊了蛮多。大致有这些基础要去打好的吧。

基础篇

  • html 和css ,css的各种盒子就不说了,flex和动态,选择器,各种模型一直标签语言中自带的属性应该都是熟练知道的。
  • 另外多看书!我一般都是边看边查这种,其实建议大家把相关书籍看一两遍,就普遍的书就好了,不用特别贵的那种。 html5和css也包括在内哦。

  • js,js是我用过和py差不都方便简洁的语言了。之前使用nodejs的express框架做过网站,基本的class id选择和触发还有功能的调试和数据的调用处理会使用就好了。其实很多复杂的内容网上都有js包,就是文件(引用可以先看看有没有cdn文件哦)。进阶的使用就应该是js和后端的数据相对接吧(当然也可以使用框架的模板template)

  • dom :文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。是关于如何获取、修改、添加或删除 HTML 元素的标准。ps:好吧这段话不是我自己写的,因为我也说不太清楚。简单的理解就是html中节点/元素的对象的结构树的标准,这个标准不仅是关于html的定义和css的属性,还有js给予的方法

稍微稍微稍微有一点点的攻城狮应该知道这些吧(好吧我给自己的定位就应该是在这里了。:fa-wheelchair:)

  • json,xml的格式的数据的编写,读懂,crud【增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)】必须要掌握吧

  • Node.js 强推这个。。环境?我们看看官方给的解释:是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 [1] Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。感觉前端的同学都需要去会使用这个搭起来网站什么,本来语言就是js可以锻炼js的使用,还可以了解一些网站的框架是如何运作的,在练习js语言的同时也去熟悉后端,学习不要太片面了哦?!

  • festful api,这个网站正在build一些api。他这个概念也比较抽象,我的理解是,给不同层面之间,view model之间,客户端,服务器之间,建立一些api ,或者说交互性质的脚本,然后提供一组设计原则和约束的条件,是网站更加简洁,更有层次感,方便build缓存机制(待实现)

  • canvas、矢量图形,svg动画的了解和简单制作(看懂别人的再修改?),页面的响应式和功能。

  • 响应式,单独聊一下吧。不仅仅是根据屏幕大小再来调css,再设计html的dom tree的时候我们就应该考虑到响应式,标签使用要规范化,不然后期维护更新很辛苦的。

  • 网格布局(Grid Layout)、栅格布局、Flexbox布局、SEO(Search Engine Optimization):汉译为搜索引擎优化、sitemap网站地图构建

进阶的攻城狮发展篇(娃哈哈店长的todo-list,咕咕咕)

只列list 不做评价。想了解的百度一下。 ES6 / TypeScript - [x]MVC / MVVM / MV* - [ ]代码质量(如JSLint / ESLint / TSLint / CSLint) - [ ]安全性(如跨域)、工程化 - [ ]授权(如HTTP Basic、JWT等等)、代码分析(如Code Climate) - [ ]兼容性,跨平台,跨浏览器、跨版本 - [ ]css和html动画 - [ ]Icon 字体(感觉和美术相关的东西太难了,简单易懂的还是懂,但是细微的差异真的太头疼了) - [ ]DOM操作(如jQuery、React等等)、包管理(如npm、bower)、版本管理(如git、svn) - [ ]服务、安全、性能测试以及优化

后端

基础篇

  • HTML / CSS、Java / Python / PHP / Ruby、Web框架,如Spring MVC、Flask、Laravel、HTTP协议基础、CGI基础

之前也说过,后端的任务最简单直接的是写api接口,然后给前端传递数据。类似django的template的tags,和model class的一些处理数据的方法的构造,还有调取外界的数据的api。

运维

运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI Returner of Open Interface。

运维的话干的事情基本都和服务器有关,项目做完了啊,上线的过程,网络的优化和处理,后期的维护等等。 再短期的课程中,基本了解这些东西:

  • 文件转码:网站中不仅仅有自己的静态文件,还有用户上传、下载的文件之类的,文件转码就是将用户提交的文件进行转码、压缩,放便传输运送,也方便储存。比如用户浏览一个txt文件但是我们转码成pdf更方便用户去浏览。

  • 监控 、带宽监控 对服务监控 腾讯云:服务器相关的站点,比如腾讯云,阿牛,阿里都有提供api接口,查看数据,调取数据的。另外自己还可以写脚本去抓取数据。

  • 网站测试按钮一个个点 还是写脚本? 写的话怎么写?:功能性的东西还是需要去人工的去测试,一个个点。压力测试之类的就有一些框架了功能 压jmeter .loadrunner这些,都很好使用。

  • 测试的时候时具体怎么测试的:本地测试、网路测试

  • 运维负责项目和网络服务器的沟通是吗对相应的框架进行一定的了解,项目上线前要搭环境,前后端文件的处理,api代码、中间件的处理,还有数据库的维护和处理。项目上线的时候也可以写一个自动化的脚本,方便一些。

  • 我的网站,502怎么解决?:网关错误 查看nginx指向有没有问题, 域名到服务器查看有没有问题, 公网ip ping 一下,日志的查看!!。

  • 直播?云直播?通过云开启直播嘛阿里云提供的服务 。但是现在并不是说我搞一个直播项目,然后就可以上线了上市了,现在这些还是抓的比较严。

  • cdn不是很快是怎么回事?要换成静态资源嘛:不用,cdn节点到处都是,而且文件也不受大小的影响,对文件也有压缩功能。

  • 网站如果进行cdn配置、将网站的静态资源放在cdn上:这里还是要多说一些啊,假设我们有一个域名,一个服务器,域名是指向这个服务器的,然后我们再腾讯云或者阿里云进行cname,分配一个服务器(相当于cdn服务器了),将我们的域名暂时指向到我们cname后的cdn服务器,然后用户访问的时候会先访问cname后的服务器,如果文件存在就给用户,如果没有那域名会自动去原始服务器去调用,原始服务器有这个文件就会返回给用户,同时文件也会在cname后的服务器进行一个拷贝。

待续。。。

原创文章,转载请注明出处:https://boywithacoin.cn/article/qian-duan-hou-duan-yun-wei-de-ji-ben-si-kao/