话题
文章列表
何方舟 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 年前发表 3727次浏览 0条评论 0次收藏
高磊 javascript
导语 为了方便小程序应用使用微信登录态进行授权登录,微信小程序提供了登录授权的开放接口。乍一看文档,感觉文档上讲的非常有道理,但是实现起来又真的是摸不着头脑,不知道如何管理和维护登录态。本文就来手把手的教会大家在业务里如何接入和维护微信登录态 接入流程 这里官方文档上的流程图已经足够清晰,我们直接就该图展开详述和补充。 img [https://mp.weixin.qq.com/debug/wxadoc/dev/image/api-login.jpg?t=201842] 首先大家看到这张图,肯定会注意到小程序进行通信交互的不止是小程序前端和我们自己的服务端,微信第三方服务端也参与其中,那么微信服务端在其中扮演着怎样的角色呢?我们一起来串一遍登录鉴权的流程就明白了。 1. 调用wx.login生成code wx.login()这个API的作用就是为当前用户生成一个临时的登录凭证,这个临时登录凭证的有效期只有五分钟。我们拿到这个登录凭证后就可以进行下一步操作:获取 openid 和 session_key wx.login({ ...显示全部
11 天前发表 36次浏览 0条评论 0次收藏
程柳锋 javascript
导语:TypeScript(以下简称TS) 是由微软开发的编程语言,是JavaScript的超集,于2013年10月发布第一个正式版0.9。最先代码托管在Codeplex,2014年7月移到了Github。它的代码风格和C#很像,这是因为TS是由C#首席架构师设计并主导开发的。 开发环境 编辑器首选MS自家开发的VS Code (推荐)。当然,Webstorm在2016年2月推出的版本内置了TS编译器,atom 需要安装 atom-typescript包,sublime需要安装Typescript-sublime-plugin。 TS程序以.ts扩展名结尾。运行TS程序很简单,只需要安装编译器TS compile即可,需要通过npm 的方式安装它。 npm install typescript-g 安装完后,在全局会有tsc命令,需要通过它编译TS程序 tsc hello.ts 类型系统 ...显示全部
18 天前发表 60次浏览 0条评论 0次收藏
qcyhust javascript
WEBGL纹理颜色原理 导语 WebGL绘制图像时,往着色器中传入颜色信息就可以给图形绘制出相应的颜色,现在已经知道顶点着色器和片段着色器一起决定着向颜色缓冲区写入颜色信息并最终呈现出来,那么这个过程是什么样,如果图形的颜色需要用现有图片来渲染那么又该如何操作? [http://7tszky.com1.z0.glb.clouddn.com/FiH73ZJTXQb10Z3sZY2feqOwICVe] 颜色缓冲区 在绘制开始前,经常见到调用函数清空画布的代码 gl.clear(gl.COLOR_BUFFER_BIT) ,清空画布的绘图区实际上就是用之前定义好的背景颜色将颜色缓冲的的颜色清除。颜色缓冲区中存放着需要显示到画布上的像素的颜色数据,它属于帧缓存的一部分,与深度缓存、模板缓存等一起决定着最终画布上图像的显示信息。 ...显示全部
5 个月前发表 349次浏览 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 ...显示全部
7 个月前发表 263次浏览 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 ...显示全部
8 个月前发表 267次浏览 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也为我们提供了管道运算符,它的基本用法是,将上一个函数执行,且将返回值作为入参,传递给下个函数的形参。并执行下一个函数,直到全部函数执行完成,返回最后一个函数返回的结果。 例如如下三个函数 ...显示全部
8 个月前发表 468次浏览 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 年前发表 1229次浏览 0条评论 1次收藏
王少飞 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 年前发表 867次浏览 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 年前发表 754次浏览 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 年前发表 725次浏览 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 年前发表 716次浏览 0条评论 0次收藏