前端

性能优化小结

倖福魔咒の 提交于 2020-02-24 04:40:55
今年上半年公司的产品开发侧重点从开发新产品转向了性能优化和运营,因此需要我们针对性能优化这一块,制定一些计划。二月份已经进行了一些初步的实践,这里做一个小结,便于今后参考。 一、前端优化 1. 页面初始资源的加载 通过 YSLOW+PageSpeed 来进行前端性能检测,根据其给出的意见做出对应的调整。由于产品中前端页面都比较简单,目前这部分内容的评分基本符合要求。 2.JS 脚本执行效率 考虑到我们的产品大多为客户端内嵌网页,很多数据是从客户端异步获取的, JS 脚本也会受到这些数据请求时间的影响,且内嵌客户端网页不能通过 Firebug 之类的工具进行断点调试,目前的思路主要是自己写小工具,在 JS 代码中埋点,最后输出每个功能的执行时间,以此来定位性能问题触发点。 二、后端优化 1. 数据库优化 主要体现在数据库的查询操作上面,部分查询很慢。 发现: SQL 测试 解决:优化 SQL 语句或者采用高效的数据库操作工具或者进行读写分离 2.程序流程上的优化 随着需求的增加和调整,存在代码累积的问题,有时候会导致一个简单的业务中出现重复的流程。 发现: CodeReview 解决:代码重构 3.程序架构上的优化 一方面是随着项目的发展,用户量的增加,初期的程序设计不能满足现有的需求;另一方面是为了解决问题,在项目中使用了其他的框架技术,导致后期比较杂乱,难以部署维护。 发现

一款优秀的前端框架——AngularJS

烂漫一生 提交于 2020-02-23 16:40:57
前 言 AngularJS是一款为了克服HTML在构建应用上的不足而设计的优秀的前端JS框架。AngularJS有着诸多特性,最为核心的是: MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入 等等。 AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。它可通过 <script> 标签添加到 HTML 页面。   AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。   AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。   AngularJS最初是由MISKO Hevery和Adam Abrons于2009年开发。现在是由谷歌维护。它的最新版本是1.3.14。  各个AngularJS版本下载: https://github.com/angular/angular.js/releases 1. 走进 AngularJS AngularJS是为了克服HTML在构建应用上的不足而设计的。 AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。 AngularJS 把应用程序数据绑定到 HTML 元素。 AngularJS 可以克隆和重复 HTML 元素。

AngularJs学习的前景及优势

白昼怎懂夜的黑 提交于 2020-02-23 10:50:10
一、趋势 互联网未来的发展趋势是前端后端只靠json数据来进行通信。后端只处理和发送一段json数据到前端,然后计算和模板渲染都在前端进行,而前端的改动,形成json数据然后传回到后端。未来趋势就是:后台程序再也不做模板的任何处理。(说的有点猛啊)。 二、angularjs作用 AngularJS的作用简单说就是就是把后台的json数据直接用html进行渲染,然后html的操作又直接形成json数据传回后台。 未来的后台MVC,视图不再是模板了,而是一段结构整齐标准的JSON,而这个JSON作为前台的model(数据源)直接在AngularJS直接使用。或者说后台的视图是前台的模型,而整个前台就是后台的视图。后台程序再也不做模板的任何处理了。 三、angular是否简化的前端开发,是否符合未来前端的开发趋势? 以现在的js的发展程度来看,angular是符合发展趋势的: 第一、解耦前端; 第二、可以模块化; 第三、可测试; 第四、天生支持json; 第五、依赖注入。 还有一些其他特性使得angular跟随甚至是推动了前端的开发趋势。 所以说学习angular是有好处的: 1.了解前端的开发趋势 2.学习MVW(MVVM)的设计方法 3.学习模块化编程 4.学习如何测试模块 5.使用angular简化开发流程 6.随着google的大力支持和逐渐流行,公司开始使用angular

前端使用html2canvas截图,在canvas上绘制图片及保存图片

橙三吉。 提交于 2020-02-23 10:24:31
1、使用html2canvas 存在的问题: 不同的机型绘制位置不同的问题。 这个主要因为Html动态设置了html的dpr。(dpr可以解决屏幕显示不了1pxborder和无法显示小于12px的文字的问题)。 但是在绘制canvas时最好屏蔽这个属性。这个属性确定会导致html2canvas生成的canvas的尺寸不同。导致重新在此canvas里绘制图片时,在不同机型上显示的位置有出入。 使用canvas时一定要注意toDataUrl的跨域问题 2、点击保存图片 目前只有H5的,download方法。但是在手机上通用性不强。 只有和客户端交互的方式来保存图片。 3、生成2维码图片(qr_code) 4、长按保存图片(直接生成图片覆盖在Html,浏览器会自动弹出是否保存图片) 来源: https://www.cnblogs.com/qdcnbj/p/10320007.html

好程序员Web前端教程入门之MySQL命名规范及使用技巧

假如想象 提交于 2020-02-22 19:47:49
  好程序员Web前端教程入门之MySQL命名规范及使用技巧,不懂MySQL的前端不是一个好前端,作为Web应用方面最好的关系数据库管理系统应用软件之一,MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。接下来的好程序员Web前端课程就给大家简单分享MySQL命名规范及使用技巧。   命名规范 1、库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。 b)如果大小写混合使用,可能存在abc、Abc、ABC等多个表共存,容易导致混乱。 c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段。 d)为了统一规范, 库名、表名、字段名使用小写字母。 2、库名、表名、字段名禁止超过32个字符。   库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。 3、库名、表名、字段名禁止使用MySQL保留字。   当库名、表名、字段名等属性含有保留字时,SQL语句必须用反引号引用属性名称,这将使得SQL语句书写

学Web前端开发靠谱吗?学完后可以做什么?

三世轮回 提交于 2020-02-22 18:06:51
学Web前端开发靠谱吗?相信很多想学习Web前端开发从事前端开发的人都会问这样的问题。之所以有的人学习了Web前端找不到工作,一个原因是没有学到专业知识,另一方面是没有项目经验。 对于零基础的人,为了让他们在学习期间学到真实有用的技术,千锋小编分享web前端需要学习的内容为: 1、前端页面重构。主要内容为PC端网站布局、HTML5+CSS3基础、WebApp页面布局。学习目标是完成PC端网站布局,WebApp页面布局,还要可以通过HTML5+CSS3的2D、3D等属性实现一些精美的动画效果。 2、JavaScript、PC端全栈项目开发。主要内容为原生JavaScript、面向对象进阶与ES5/ES6应用、JavaScript工具库自主研发、JQuery经典交互特效开发、HTTP协议、Ajax进阶与后端开发、前端工程化与模块化应用以及AngularJS等。学习目标是可以通过原生JavaScript开发交互功能,实现网站上的交互效果,以及模块化应用等,实现完整的前端工程。 3、Web前端框架、混合开发(Hybrid,RN)、大数据可视化。主要内容为Node.js后端开发、Vue.js前端框架、React前端框架、混合开发(Hybrid,RN)、Angular前端框架、大数据可视化等。学习目标是可以独立完成相应的项目,如微信场景,应用Vue.js/Ionic/React

常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

北慕城南 提交于 2020-02-22 17:30:57
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务。本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本的了解。如果你对 Gulp 还不是很了解,可以通过下面两篇文章快速了解 Gulp 。 由于几乎所有的插件都有非常友好的使用文档,所以本文不讨论涉及插件使用的东西,仅是一个汇总、排名不分先后。 相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三) 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四) 插件安装 gulp 插件基于 nodejs ,安装一个Gulp 插件和安装普通 Nodejs 包的方法是一样的。只需 $npm --save-dev install 插件名 就可以完成安装。 1、gulp-sass 预编译 sass 文件为 css 文件,SASS 不多说,如果项目中有使用 sass ,那么这个插件应该是必备的。前面的一篇文章中,已经对该插件有所使用了,可配置编译后输出风格、是否输出sourcemap 等常用选项。类似的项目还有 gulp-scss /

监控实时直播的四分屏的前端展示

こ雲淡風輕ζ 提交于 2020-02-21 23:55:29
完成运行效果图: 一、四分屏展示样式布局 ###1.通过html、css等来进行样式排版### 根据需求的四分屏的样式;来合理的划分出四个大块,分别用于放置四个播放器; 以四等分结构为例进行前端的排版; html样式布局: <div class="row col-sm-9 video-show"> <div class="col-md-6 window1 video-window" alt="1"> </div> <div class="col-md-6 window2 video-window" alt="2"> </div> <div class="col-md-6 window3 video-window" alt="3"> </div> <div class="col-md-6 window4 video-window" alt="4"> </div> </div> CSS样式的定义: .video-window{ float: left; margin-left: 1%; margin-bottom: 1%; width: 48%; height: 0; position: relative; padding-bottom: 25%; background-color: #000; } 用于合理的四等分四个块的大小及位置; 确定好四个块的位置过后可以

字节跳动前端面试

别来无恙 提交于 2020-02-21 22:36:05
字节跳动前端一面 给我面试的是一个二十五六左右的小哥首先是一个自我介绍然后谈了谈兴趣爱好第一问是问了一个dom的加载流程然后是让我用css3写一个微信小程序的tarbar栏,要求根据标签数量,大小自适应第二问,问了一些es6的特性,缓存加载,关于缓存的问题,面试官设置了5个场景,答的还算满意,然后问了一下有关http协议的几个状态码,关于计算机网络,让我解释了一下数据的传输流程,最后一个是让我在不生成新内存空间的情况下,把192.168.12.1转换成1.12.168.198最后让问了一下我有什么要问的我让面试官指了一下我面试当中不足的地方,面试官也一一列举了一下~比较开心的一次面试 来源: CSDN 作者: stc的博客 链接: https://blog.csdn.net/stc1247679496/article/details/104431174