话题
link ,除了分享,也是知识管理。 Node.js全栈
[http://7tszky.com1.z0.glb.clouddn.com/FvgoQmNATnByOO4B4KuYSkZHVQfv] 概述 为什么要在NODE.JS中调用动态链接库 1. 由于腾讯体系下的许多公共的后台服务(L5, CKV, msgQ等)已经有了非常成熟的C/C++编写的API,以供应用程序调用,node.js作为在公司内新兴的后台runtime在调用这些公共服务的时候没必要再造一遍轮子,而是可以将这些API编译成.so文件直接使用。 2. 对于一些密集计算型的任务可以由C++编写好模块,生成.so文件后由node.js调用。 FFI简介与安装 我们使用 node-ffi [https://github.com/node-ffi/node-ffi] 来帮助我们调用动态链接库。 FFI的全称是Foreign Function ...显示全部
2 年前发表 5364次浏览 1条评论 2次收藏
qcyhust 构建工具
PARCEL——开始前端开发零配置体验 导语: 前端开发在开启一个新的项目时总是有个绕不开的环节,那就是项目的开发配置。几年前,我们还在用grant或是gulp来定义一系列的task构建项目开发流程,再往后webpack的出现开始有了广泛的模块概念,利用各种loader或是plugin处理各个前端模块。当然,无论是gulp还是webpack,都需要编写相对应的配置文件来定制开发过程中需要的功能。业务之外的工作量总是催生人性的懒惰,这样一个打着 极速零配置 名号出现的web打包工具就很抓人眼球。这里利用 官网 [https://parceljs.org/] 的项目扩展,看看pacel的工作流程。[http://7tszky.com1.z0.glb.clouddn.com/FmemZsdC5jizPKeEX83joTmOFkt4] 项目结构 为了测试代码拆分功能,新建了一个简单的项目,结构如下: parcel └───src └─── index.html │─── index.js │─── main.js │─── handle.js ...显示全部
6 个月前发表 1943次浏览 0条评论 0次收藏
caorich React
介绍 第一印象 首先上一段代码: import {observable, observe} from'mobx' var student = observable({ name: 'unknown' }) observe(student, (change)=>{ console.info(change) /* will print: * { type: 'update', * object: { name: [Getter/Setter] }, * oldValue: 'unknown', * name: 'name', * newValue: 'foo' } */ }) student.name = 'foo' 非常直观的,student的属性改变了,监听的方法打印出了所有的变动细节。 简介 mobx是一个状态管理器,用于TFRP(transparently applying functional reactive programming)自发式函数相应式编程。 ...显示全部
7 个月前发表 1890次浏览 0条评论 0次收藏
王少飞 Node.js全栈
NODEJS进程内存的使用和原理 V8简介 nodejs代码的运行基于V8,就像java运行需要hotspot,php运行需要zend。V8的由来是,当年web2.0,google的很多业务都在web端,为了提升浏览器中js的执行效率,研发了V8。 V8每发布一个新的版本,nodejs就会相应的发布新版本来使用新版本的V8。 nodejs9以后的版本都是使用的V8 6.2版本。这个版本都有哪些改进: 1 性能优化 * 1)优化了 Object.prototype.toString 的性能,比之前提升了6.5倍 * 2)优化了 ES2015 proxies 的性能, 比之前提升了5倍 * 3)优化了 String#includes() 的性能,比之前提升了3倍 * 4)哈希查找速度更快,从而提高了Map,Set,WeakMap和WeakSet的性能 * 5)新生代内存垃圾回收采用 Parallel Scavenger 算法 2 低内存模式:semi-space为512k,低内存设备减少了发生内存不足的概率。 3 优化正则表达式规则 ...显示全部
8 个月前发表 2019次浏览 0条评论 0次收藏
程柳锋 工具建设
Webpack从2015年9月第一个版本横空初始至今已逾2载。它的出现,颠覆了一大批主流构建如Ant、Grunt和Gulp等等。腾讯NOW直播 IVWEB团队 [https://ivweb.io/] 之前一直采用Fis构建,本篇文章主要介绍从Fis迁移到webpack遇到的问题和背后的黑科技,内容包括inline-resource、多页面构建、资源压缩、文件hash、文件目录规则等等。 为什么要迁移至WEBPACK? 有两个层面的原因: * 首先webpack的社区生态火爆,插件齐全并且维护更新的很频繁,遇到了问题,比较容易解决。 * webpack里面有happypack多实例构建方案、code spliting按需加载文件等方案, 可以有效的进行打包构建持续优化, 这些在Fis里面是缺少的。 区分构建的开发OR生产环境? "scripts": { ...显示全部
8 个月前发表 2031次浏览 0条评论 0次收藏
link ,除了分享,也是知识管理。 HTML&h5
自从TLC大会结束之后,就不断有同学来咨询视频回放和讲师PPT何时放出?[https://qpic.url.cn/feeds_pic/ajNVdqHZLLBbic9icuj9NWZCqLzibNTAE4OkBDLWfKuwVt0e1qZjKaXeA/] 往下翻有惊喜↓↓↓ TLC大会视频回放: http://www.itdks.com/dakashuo/playback/1479 [http://www.itdks.com/dakashuo/playback/1479] 视频回放 [https://qpic.url.cn/feeds_pic/ajNVdqHZLLDHpnt7ZSlCzcLNV4gvUfcAMc0CxngFx4C0IeJqEBX7Aw/] TLC大会讲师PPT: https://github.com/iv-web/ppts/tree/master/TLC_ppts [https://github.com/iv-web/ppts/tree/master/TLC_ppts] ...显示全部
8 个月前发表 1448次浏览 0条评论 0次收藏
qcyhust javascript
WEBGL纹理颜色原理 导语 WebGL绘制图像时,往着色器中传入颜色信息就可以给图形绘制出相应的颜色,现在已经知道顶点着色器和片段着色器一起决定着向颜色缓冲区写入颜色信息并最终呈现出来,那么这个过程是什么样,如果图形的颜色需要用现有图片来渲染那么又该如何操作? [http://7tszky.com1.z0.glb.clouddn.com/FiH73ZJTXQb10Z3sZY2feqOwICVe] 颜色缓冲区 在绘制开始前,经常见到调用函数清空画布的代码 gl.clear(gl.COLOR_BUFFER_BIT) ,清空画布的绘图区实际上就是用之前定义好的背景颜色将颜色缓冲的的颜色清除。颜色缓冲区中存放着需要显示到画布上的像素的颜色数据,它属于帧缓存的一部分,与深度缓存、模板缓存等一起决定着最终画布上图像的显示信息。 ...显示全部
8 个月前发表 529次浏览 0条评论 0次收藏
吴浩麟 调试
在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到源码修改后的运行结果。但当涉及到需要调用微信接口时,由于不和你在同一个局域网中的用户是无法访问你的本地开发机的,就必须把修改后的代码重新发布到线上域名所在的服务器才能去验证结果。每次修改都重新发布很繁琐也很浪费时间。 本文将教你如何通过 SSH 隧道把本地服务映射到外网,以方便调试,通常把这种方法叫内网穿透。 阅读完本文后,你能解决以下常见问题: * 开发微信公众号等应用时把本地服务映射到外网,加速调试流程; * 把你正在开发的本地服务分享给互联网上其它人访问体验; * 在任何地方通过互联网控制你家中在局域网里的电脑; Sponsor [https://app.codesponsor.io/embed/3bvxELAxnq8r4wheFyRkED8U/gwuhaolin/blog.svg] [https://app.codesponsor.io/link/3bvxELAxnq8r4wheFyRkED8U/gwuhaolin/blog] 最终目的 ...显示全部
8 个月前发表 296次浏览 0条评论 0次收藏
程柳锋 工具建设
ESLint [https://eslint.org/] 于2013年6月份推出,至今4个年头,最新版本v4.8.0。它是目前主流的用于Javascript和JSX代码规范检查的利器,很多大公司比如 Airbnb [https://github.com/airbnb/javascript] 和 Google [https://google.github.io/styleguide/javascriptguide.xml] 均有一套自己的Javascript编码规范,而规范的实施背后离不开ESLint的支持。比如大名顶顶的 eslint-config-airbnb ...显示全部
9 个月前发表 522次浏览 0条评论 0次收藏
王少飞 工具建设
给大家介绍一个用户端监控平台:Badjs2.0,就是web前端脚本错误监控及跟踪解决方案。 有什么用呢?比如我们开发好了一个web应用,在本地测试没问题,但上线后用户反馈有各种问题,远程调试一看确实有问题。像这种情况如何避免呢? 用这个系统就能解决。 既然有2.0,那就肯定有1.0。 先说下1.0有哪些功能: * 一站式体系化解决方案:业务只需要简单的配置,引入上报文件,即可实现脚本错误上报,每日统计邮件跟踪方便。 * 可视化查询系统,快速定位错误信息:web应用程序脚本数量庞大,开发人员在如此之多的脚本中定位某个问题变得困难。BadJS能够巧妙定位错误脚本代码,进行反馈。通过各种查询条件,快速找到详细错误日志。 * 跨域、Script Error等棘手问题不再是难题:tryjs帮你发现一切。 * 真实用户体验监控与分析:通过浏览器端真实用户行为与体验数据监控,为您提供JavaScript、AJAX请求错误诊断和页面加载深度分析帮助开发人员深入定位每一个问题细节。即使没有用户投诉,依然能发现隐蔽bug,主动提升用户体验。 ...显示全部
10 个月前发表 705次浏览 0条评论 0次收藏
caorich 性能
做hybrid页面,需要测试其性能。我们不能认为用浏览器打开该网页得到的数据就算它线上的性能,因为webview的环境,其性能和浏览器还是有所差距的。最近一直做相关工作,积累的一些小经验,这里分享出来。 打点 统计线上hybrid页面的性能,本质上还是打点上报。打的点一般参考 performance.timing 属性。一般页面最开始给一个初始绝对时间点作为参考,其余的点减去这个初始时间就是页面渲染的相对时间了。 如果没有客户端给初始时间点,可以用 performance.timing.fetchStart 作为初始时间点。我这里根据上报情况看,fetchStart和客户端给的绝对初始时间差距并不大。另外,如果页面有重定向, performance.timing.redirectStart 参数就不为0,将这个参数值作为初始时间应该更加合理。 html文档的加载时间: performance.timing.domLoading - performance.timing.fetchStart ...显示全部
10 个月前发表 536次浏览 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 ...显示全部
10 个月前发表 406次浏览 0条评论 0次收藏