话题
文章列表
何方舟 javascript
TOP JAVASCRIPT FRAMEWORKS & TOPICS TO LEARN IN 2017 作者: Eric Elliott 原文: https://medium.com/javascript-scene/top-javascript-frameworks-topics-to-learn-in-2017-700a397b711#.2i6o5ik9g [https://medium.com/javascript-scene/top-javascript-frameworks-topics-to-learn-in-2017-700a397b711#.2i6o5ik9g] 译:Adamhe JavaScript的普及导致了一个非常活跃的技术,框架和类库的生态系统。 随着这充满令人惊叹的多样性和能量的生态圈的到来,许多人的烦恼也变得越来越多 什么样的技术才是你应该关注的呢? 在哪里投入你的时间才能获得最大的利益? 哪些技术栈是是招聘公司现在所需要的? 哪些技能又具有最大的增长潜力? 现在知道的最重要的技术是什么? ...显示全部
1 年前发表 1779次浏览 0条评论 0次收藏
qcyhust javascript
WEBGL纹理颜色原理 导语 WebGL绘制图像时,往着色器中传入颜色信息就可以给图形绘制出相应的颜色,现在已经知道顶点着色器和片段着色器一起决定着向颜色缓冲区写入颜色信息并最终呈现出来,那么这个过程是什么样,如果图形的颜色需要用现有图片来渲染那么又该如何操作? [http://7tszky.com1.z0.glb.clouddn.com/FiH73ZJTXQb10Z3sZY2feqOwICVe] 颜色缓冲区 在绘制开始前,经常见到调用函数清空画布的代码 gl.clear(gl.COLOR_BUFFER_BIT) ,清空画布的绘图区实际上就是用之前定义好的背景颜色将颜色缓冲的的颜色清除。颜色缓冲区中存放着需要显示到画布上的像素的颜色数据,它属于帧缓存的一部分,与深度缓存、模板缓存等一起决定着最终画布上图像的显示信息。 ...显示全部
2 个月前发表 174次浏览 0条评论 0次收藏
qcyhust javascript
WEBGL-从2D开始 导语 在网页上绘制3D图形已经不再是什么新鲜的事情,时不时都能遇到一个炫酷的3D模型让人感叹未来的无限可能,在某些使用场景下,用3D呈现内容会更能抓住用户的注意力,新技术如AR、3D全景的不断成熟也在加速构建3D世界的脚步。 技术上我们已经有足够多的手段去实现一个三维世界,比如css3可以实现3D变换、动画,html5 canvas 2D画布可以模拟3D物体甚至实现3D的效果。而本文要讨论的webgl相对来说会更加底层,它建立在OpenGL ES 2.0( 嵌入式OpenGL,一个适用于移动设备的3D图形标准 )之上,对曾经从事过OpenGL 3D图形开发的人员来说非常容易入门。 WebGL本质来讲仍然是html5画布的功能,浏览器提供一系列的编程接口来在html和JavaScript的环境中绘制3D图形。它利用图形硬件( GPU ...显示全部
4 个月前发表 131次浏览 0条评论 0次收藏
qcyhust javascript
YEOMAN-GENERATOR中的RUN LOOP实现 导语 在上一篇yeoman( 利用yeoman构建项目generator [https://ivweb.io/topic/59999645e85cf527bb60f0d5] )的构建项目介绍文中提到过一个yeoman genenrator的run loop。当时提到“每一个添加进去的方法都会在generator调用的时候被调用,而且通常来讲,这些方法是按照顺序调用的”以及简单介绍了yeoman的方法执行顺序,这篇文章将仔细分析run loop的具体实现。 RUN LOOP 所谓的run loop是IOS开发中的一个概念,具体来说是一个与线程相对应的对象,用它来实现线程自动释放池、延迟回调、触摸事件、屏幕刷新等功能。线程一般在执行完任务后就直接退出,run loop这个循环会让线程处于接受消息->等待->处理的循环中,直到接受到退出的信号才会结束循环。 yeoman中的run ...显示全部
5 个月前发表 174次浏览 0条评论 0次收藏
biliou javascript
PIPELINE-OPERATOR 此前,如果我们需要实现函数1的返回值域给函数2调用 最简单的方式是 A(B(C())) 面向对象的话可以 let obj = { value: void0, A() { this.value = 1; returnthis; }, B() { this.value += 2; returnthis; }, C() { this.value *=3; returnthis; } } obj .A() .B() .C() 如果在node端我们还可以使用.pipe .pipe(A()) .pipe(B()) .pipe(C()) 基本使用 而在Es2017中,TC39也为我们提供了管道运算符,它的基本用法是,将上一个函数执行,且将返回值作为入参,传递给下个函数的形参。并执行下一个函数,直到全部函数执行完成,返回最后一个函数返回的结果。 例如如下三个函数 ...显示全部
5 个月前发表 330次浏览 0条评论 0次收藏
helinjiang javascript
我们即将讨论的是如何在前端项目中引入自动化测试。虽然文章聚焦的是前端项目,但实际上讨论的内容也适合 Node 端应用。 [http://7tszky.com1.z0.glb.clouddn.com/Fq-4isCzf_KhoK0MnIPwb9eD8wOq] 这是本系列文章的第一章,主要内容是对前端自动化测试有一个初步的了解。适合入门学习。 1. 引入自动化测试的必要性 好处很多,包括减少错误、提高效率等,尤其是前端项目越来越庞大且多人维护时,前端自动化测试就会显得尤其重要。 代价也有,毕竟需要额外的学习成本。但在你的项目中加入测试,也许没你想象的那么困难。 2. BDD VS TDD 说起测试,需要先说一下主流的测试类型,包括 BDD 和 TDD,有点枯燥,但有必要有个简单的了解,因为会影响选择如何测试的策略。 * TDD(Testing Driven Developement,测试驱动开发),强调的是一种开发方式,以测试来驱动整个项目,即先根据接口完成测试编写,然后在完成功能时要不断通过测试,最终目的是通过所有测试。 * BDD(Bebavior Driven ...显示全部
1 年前发表 970次浏览 0条评论 0次收藏
王少飞 javascript
在做业务时我们用react+redux框架,其中redux的reducers是用的纯函数。这里什么是纯函数?为什么要用纯函数?纯函数的好处是什么?接下来的我们一起研究下。 redux强调reducers一定要是纯函数[http://7tszky.com1.z0.glb.clouddn.com/Fv8Fmer6v0TwE13LwPzb2gHgV26z] 什么是纯函数 满足以上两条的函数成为纯函数: * 在相同的输入值时,需产生相同的输出。函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关 * 不能有语义上可观察的函数副作用,诸如“触发事件”,使输出设备输出,或更改输出值以外物件的内容等 -------------------------------------------------------------------------------- [http://7tszky.com1.z0.glb.clouddn.com/FiGG7SaMUz2C7UWCiZM_Kimf9IIw] 图一 ...显示全部
1 年前发表 710次浏览 0条评论 0次收藏
link ,除了分享,也是知识管理。 javascript
行业新闻 1. Facebook开源跨平台前端布局引擎Yoga [http://www.infoq.com/cn/news/2016/12/Facebook-open-front-end-Yoga?utm_campaign=infoq_content>utm_source=infoq>utm_medium=feed>utm_term=global] 不同于其它的一些布局框架,比如bootstrap的栅格系统或Masonry,它们要么不够强大,要么不支持跨平台。Yoga遵循了Flexbox规范,同时又将布局元素抽象成Node,为各个不同平台暴露出一组标准的接口,这样不同的平台只需实现这些接口就可以了。 1. 盘点2016年互联网界发生的十大事件 [http://www.infoq.com/cn/news/2016/12/Inventory-10-Internet-2016?utm_campaign=infoq_content>utm_source=infoq>utm_medium=feed>utm_term=global] 2016年年度互联网界大事件盘点 ...显示全部
1 年前发表 648次浏览 0条评论 0次收藏
朱灵子 javascript
行业新闻 1. TypeScript 2.1发布 [http://www.infoq.com/cn/news/2016/12/TypeScript-2-1-publish?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global]TypeScript是微软开发的一个JavaScript的超集,提供了最新的JavaScript特性以及可选的静态类型。近日,TypeScript 2.1发布。该版本提供了功能更为强大的类型检查器,并且让开发人员可以编写出更简洁的代码。 2. 微软欲将手机变成真正的PC ...显示全部
1 年前发表 647次浏览 0条评论 0次收藏
link ,除了分享,也是知识管理。 javascript
行业新闻 1. WebAssembly浏览器预览版收集社区反馈 [http://www.infoq.com/cn/news/2016/11/webassembly-browser-preview?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global]WebAssembly的开发已经进入浏览器预览阶段,这是标准化路上的一个重要里程碑。 2. Vue 2.1.0 发布了:新功能 scoped slots [https://gist.github.com/yyx990803/faebe22e8763f5b17572b35ed96f52fe]A scoped slot is a special type of slot that functions as a reusable template (that can be passed data to) instead of already-rendered-elements. ...显示全部
1 年前发表 632次浏览 0条评论 0次收藏
kurtshen javascript
译自 The ECMAScript 2016 change you probably don't know [https://www.nczonline.net/blog/2016/10/the-ecmascript-2016-change-you-probably-dont-know/] , Posted at October 18, 2016 by Nicholas C. Zakas. 与ECMAScript 6(也称为ECMAScript 2015)相比,ECMAScript 2016是对JavaScript语言规范的一个小更新。 这是由于ECMAScript版本现在决定将修订发布的周期变为每年更新,实际上只是已准备好的所有功能的快照。因此,大多数资源仅列出ECMAScript 2016中的两个显着变化: * 1.添加乘幂(**)运算符 * 2.添加Array.prototype.includes()方法 这些功能对JavaScript开发人员具有最直接的影响,但是,还有一个常常被遗忘的重大变化。 这是我在我的书《 Understanding ECMAScript 6 ...显示全部
1 年前发表 636次浏览 0条评论 0次收藏
kurtshen javascript
ES6 新增了几种集合类型,本文主要介绍Set以及其使用。 其基本描述为 Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。 它的声明 new Set([iterable]); 其中iterable是一个可迭代对象,其中的所有元素都会被加入到 Set 中。null被视作 undefined。也可以不传入[iterable],通过其add方法来添加元素。 对于ruby或者是python比较熟悉的同学可能会比较了解set这个东东。它是ES6 新增的有序列表集合,它不会包含重复项。 SET的属性 * Set.prototype.size:返回Set实例的成员数量。 * Set.prototype.constructor:默认的构造Set函数。 SET方法 * add(value):添加某个值,返回Set结构本身。 * delete(value):删除某个值,返回一个布尔值,表示删除成功。 * has(value):返回一个布尔值,表示参数是否为Set的成员。 * clear():清除所有成员,没有返回值。 ...显示全部
1 年前发表 624次浏览 0条评论 0次收藏