- 博客(48)
- 收藏
- 关注
原创 css考点
CSS单行居中,两行居左,超过两行省略: http://web.jobbole.com/88219/ 引导动画的实现方式: https://juejin.im/post/5bac9bd0e51d450e516296d0层叠顺序: http://web.jobbole.com/88209/内联元素被设置为绝对定位,固...
2018-09-28 11:51:00 255
原创 前端开发过程中如何确保软件的质量?
前端代码的规范 理想状态 HTML CSS JavaScript三部分组成 按照约定好放置正确的位置 命名规范化 必要的注释 缩进格式等规范 风格统一 团队使用开发相同的工具以及插件 注重页面性能 2. 代码是可测试的采用多种测试策略相结合(黑盒测试+白盒测试等) 测试覆盖率高 A/B测试 ....... 3. 上线之后有应急通道...
2018-08-14 15:15:18 702
原创 测试(软件质量)
----------------------------------------------------------------------------软件质量定义,从3方面评价:1、符合需求规格:这是生产者关于质量的观念,质量就是满足生产者的需求或规格说明书---内部质量:从软件启动到交付用户之间产生的所有中间产品的质量2、符合用户显式要求:符合用户所明确说明的目标---验收质量:用户...
2018-08-14 14:40:58 1186
原创 测试(Q-A)
您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后...
2018-08-13 00:40:12 516
原创 测试(流程相关)
黑盒测试什么是黑盒测试 又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构 黑盒测试方法 功能划分 等价类划分 边界值分析 因果图 错误推测等 什么是白盒测试 白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行 白盒测试...
2018-08-12 23:04:08 326
原创 测试(常识基本概念)
软件测试概念广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致软件测试目的测试的目的就是发现软件中的各种缺陷 测试只能证明软件存在缺陷,不能证明软件不存在缺陷 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭 以较少的用例、时间和人力找...
2018-08-12 22:23:40 325
原创 测试(生命周期阶段)
软件生命周期(SDLC)的六个阶段1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深...
2018-08-12 22:11:08 1346
原创 前端知识点总结——JS基础
http://www.jqhtml.com/15086.htmlhttps://segmentfault.com/a/1190000013400739
2018-07-17 17:36:50 228
原创 CSS布局解决方案(终结版)
http://www.jqhtml.com/15075.htmlhttps://segmentfault.com/a/1190000013565024
2018-07-17 17:20:07 189
原创 前端笔试面试
怎么样从web前端方面优化性能?至少列举5点? 1) HTML部分 u 语义化HTML:好处在于可以使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发;u 减少DOM节点:加速页面渲染;u 给图片加上正确的宽高值:这可以减少页面重绘,同时防止图片缩放;u 防止src属性和link的href属性为空:当值为空时,浏览器很可能会把当前页面当成其属性值加载;u 正确的闭合标签:如避...
2018-06-29 15:12:37 345 2
原创 Vue.js双向绑定的实现原理
大致思路: 首先Vue会使用documentfragment劫持根元素里包含的所有节点,这些节点不仅包括标签元素,还包括文本,甚至换行的回车。 然后Vue会把data中所有的数据,用defindProperty()变成Vue的访问器属性,这样每次修改这些数据的时候,就会触发相应属性的get,set方法。 接下来编译处理劫持到的dom节点,遍历所有节点,根据nodeType来判断节点类型,根据节点本...
2018-06-14 22:12:27 175
原创 git要点
git三层结构工作区working directory暂存区staging index版本库git directory(Repository)Git文件的四种状态untracked未被追踪Modified在工作区修改了未添加到暂存区Staged 添加到了暂存区未添加到版本库Committed数据被安全的存储在本地库中Git的安装下载..$ git --version :查看git版本几个简单的...
2018-06-08 17:41:02 202
原创 浏览器缓存
浏览器缓存分类: 强缓存(直接拿来用,不通信) expires 过期时间(客户端的绝对时间) cache-Control 相对时间 客户端的 3600秒;俩个都有的话以后者为准 协商缓存(问下服务器) last-modified if-modified-since 上次请求的时间给服务器 etag 哈希值 if-none-match 缓存类型浏览器缓存分为强缓存和协商缓存:...
2018-06-08 17:13:00 232
转载 JavaScript运行机制
JavaScript是单线程的。 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个...
2018-06-08 14:45:11 246
原创 随机森林
随机森林是一种集成算法(Ensemble Learning),它属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能。其可以取得不错成绩,主要归功于“随机”和“森林”,一个使它具有抗过拟合能力,一个使它更加精准。 特征选择目前比较流行的方法是信息增益、增益率、基尼系数和卡方检验。这里主要介绍基于基尼系数(GINI)的
2018-04-26 09:30:33 1312
原创 es6(三)
promise:作用: 解决异步回调问题传统方式,大部分用回调函数,事件触发等ajax(url,{ //获取token ajax(url,()=>{ //获取用户信息 ajax(url, ()=>{ //获取用户相关新闻 }) })})promise语法:第一种{ /
2018-04-04 10:41:14 189
原创 es6(二)
扩展运算符... rest运算符 <script> let arr = ['apple','banana','orange']; console.log(arr); console.log(...arr); </script>... : [1,2,3...
2018-03-27 09:59:29 167
原创 es6(一)
1. let、constlet 1.没有预解析,不存在变量提升; 2.同一个作用域里, 不能重复定义变量,可以赋值; 3.for循环,for循环里面是父级作用域,里面又一个;const:定义变量不能修改;定义完变量 就必须有值,不能后赋值,不能修改, 一般定义配置文件;但是对象是可以修改的, Object.freeze(对象) 让它不能修改 因为对象本身就可以引用2. 解构...
2018-03-27 09:50:23 223
原创 let var区别
Javascript ES6 let 和 var 比较 不同点在于:作用域 var关键词的作用域是最近的函数作用域(如果在函数体的外部就是全局作用域) let关键词的作用域是最接近的块作用域(如果在任何块外就是全局作用域),这将会比函数作用域更小。 同样, 像var 一样, 使用let 声明的变量也会在其被声
2018-02-28 11:53:42 224
原创 node.js(1)
回调函数Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。 Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个
2018-02-06 16:12:31 164
转载 node.js Mac安装环境
选v8.x.x LTS版本(第一个数字是偶数的版本)安装成功后: 用npm -v 新建一个js文件,nodejsTest.js , 输入下面的代码, 并保存 var http = require("http"); http.createServer(function(request, response) { response.wr
2018-02-02 11:21:25 236
翻译 面试
JavaScript 的 typeof 返回哪些数据类型?首先,JavaScript 中一共有两大数据类型:基础类型引用类型基础类型包括:Number、String、Boolean、Null、Undefined、Symbol(该类型位 ES2015 中新增类型)引用类型包括:Object typeof 运算符把类型信息以字符串形式返回,需要注意的是 ty
2017-12-14 15:59:45 244
转载 前端安全
谈谈对前端安全的理解,有什么,怎么防范前端安全问题主要有XSS、CSRF攻击XSS:跨站脚本攻击它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。XSS的防御措施:过滤转义输入输出避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关使用cookie的httpOnl
2017-12-14 14:44:44 216
翻译 前端工程化
如何提高前端工程师的开发效率变得非常重要。这就是前端工程化所要解决的问题前端工程化需要解决以下问题:规范性,文本编辑器很方便,但语法提示,风格检查会迫使你去将自己的IDE打造起来的。资源管理,前端最头疼的事情,所幸我们有Webpack!自动化任务,debug、build、deploy、test、documentation等。模块化开发,划分好模块总是便于
2017-12-13 09:45:43 238
转载 执行上下文
执行上下文生命周期:this全局执行上下文:this的值是window函数执行上下文:this的值两种:1.函数中this指向某对象,因为函数作为对象的方法:怎么看函数是对象的方法,一种是直接写在对象里面(不是嵌套在对象方法中的函数,不懂再看看栗子3),另一种是通过call等方法直接绑定在对象中。2.函数中this指向window:函数独
2017-12-08 15:50:34 368
原创 js_遇到的问题
js判断浏览器类型 function getOS(){var OsObject = "";if(navigator.userAgent.indexOf("MSIE")>0){return "MSIE";}if(isFirefox = navigator.userAgent.indexOf("Firefox")>0){return "Firefox";}i
2017-11-13 21:45:32 205
转载 js原型对象
我们看图来了解构造函数,原型对象,对象实例之间的关系:1.构造函数有prototype属性指向原型对象2.原型对象有个constructor属性指回构造函数3.每个对象实例有个_proto_属性(浏览器支持的)指向原型对象isPrototypeOf() 来检测对象的原型和原型对象是否有关系Object.getPrototypeOf() 获取对象实
2017-11-06 14:52:22 277
原创 js_basic(0)
基本数据类型: string boolean Number Undefined引用数据类型: object(Array Date RegExp Function Null)分号: 只有在缺少了分号无法解析的时候 js才会填补分号; 1. return break continue 和随后的表达式
2017-11-03 11:41:38 321
转载 javascript设计模式和构造函数返回值
javascript设计模式和构造函数返回值 工厂模式 function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = f
2017-11-03 11:02:15 293
转载 浏览器页面加载解析渲染机制
浏览器页面加载解析渲染机制(一)一:为什么要了解浏览器渲染页面和加载页面机制,主要还是性能的优化。了解浏览器如何进行加载,我们可以在引用外部样式文件,外部js时,将他们放到合适的位置,使浏览器以最快的速度将文件加载完毕。了解浏览器如何进行解析,我们可以在构建DOM结构,组织css选择器时,选择最优的写法,提高浏览器的解析速率。了解浏览器如何进行渲染,明白渲染的过程,我们
2017-11-03 10:52:19 309
转载 sublime常用快捷键
sublime常用快捷键Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行(按住-继续选择下行)Ctrl+M 光标移动至括号内开始或结束的位置Ctrl+T 词互换Ctrl+U 软撤销Ctrl+P 查找当前项目中的文件和快
2017-11-01 21:18:33 197
原创 jquery_ajax
Ajaxload( ) Get请求 $( ' temp ' ) . load ( " xx.html " , " code = 123 "); Post请求 $( ' temp ' ) . load ( " xx.html " , { code:123 , unit : ' A '
2017-11-01 18:13:04 228
原创 jquery动画
动画: fadeIn( ) fadeOut( ) animate ( ) fast: 200ms slow 600ms 默认 400msjquery.fx.off = true ; 禁用动画$( " #mesg " ) . fadeIn( "fast " ,function ( ) { } )
2017-11-01 17:23:13 181
原创 jquery_basic(1)
jquery处理事件 可一次对多个选中对象注册程序 bind() 可一次对多个选中对象注册程序1. $(' p ').click( f ) === $(' p ').bind ( ' click ' , f ) ; 2 . $(' p ').bind ( ' click ' , data , f ) ; data
2017-11-01 11:01:13 246
原创 jquery_basic(0)
$("div").each( function(idx) { } )回调函数参数(index ,element) 设置复合样式是可以的,但是获取不行: $("div.note").css( { "border","solid black 2px" } ); ok $("h1").css({ backgroundColor : " black ",
2017-10-31 10:58:38 240
原创 react_basic(10)
//React 组件的数据可以通过 componentDidMount 方法中的 Ajax 来获取,当从服务端获取数据库可以将数据存储在 state 中,再用 this.setState 方法重新渲染 UI。当使用异步加载数据时,在组件卸载前使用 componentWillUnmount 来取消未完成的请求。var UserGist = React.createClass({
2017-10-25 15:14:03 226
原创 react_basic(8)
//Hello 组件加载以后,通过componentDidMount 方法设置一个定时器,每隔100毫秒重新设置组件的透明度,并重新渲染: //componentDidMount:在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问. 可以在这个方法中调用
2017-10-25 14:43:56 193
原创 react_basic(6)
// React 组件 API。以下7个方法:设置状态:setState替换状态:replaceState设置属性:setProps替换属性:replaceProps强制更新:forceUpdate获取DOM节点:findDOMNode判断组件挂载状态:isMounted (返回值:true或false,表示组件是否已挂载到DOM中)//setState
2017-10-25 14:30:57 194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人