I'm YZF

Coding forever!

在NW.js中调用Node.js的方式及孤儿进程的解决

NW.js是一种非常不错的跨平台桌面客户端开发方案,通过他可以直接调用Node.js API,结合了浏览器端和Node.js端开发的优势。根据官方文档的说明,提供了两种方式调用Node.js。针对一般场景,这两种方式已经足够,但是对于复杂的应用,可能会出现问题,所以这里我还会介绍第三种特别的调用方式。 在前端代码中直接调用在前端代码中调用是最简单的方式,只要把模块导入进来即可,包括自己用NP......

Vue.js 2.0源码测试分析

测试是保证框架稳定性的重要方法,如今已经有很多前端测试工具可以使用,能够很方便地进行自动化测试。在vue.js 2.0的源码中,可以看到有很多测试用例,并且编写了配置进行自动化测试。如果需要对vue.js框架进行自定义修改,这些测试可以帮助你检查问题和保障稳定性。这里就将最近研究vue.js 2.0源码学习到的测试方法分享给大家。本文基于vue.js 2.0 rc3源码,一般来说正式版与rc......

React + ES6 实践中遇到的问题

问题一:Cannot read property ‘setState’ of undefined在ES6的class中React是不会自动绑定this的,所以需要自己绑定: 将onClick={this.props.onBtnClick}改成onClick={this.props.onBtnClose.bind(this)} 或者在class的构造函数中绑定this:this.handleC......

crontab的两大坑:百分号和环境变量

今天想给服务器加个自动备份mysql数据库的功能(别怪我这么久才加,阿里云每天全盘备份的,不怕丢数据库),本以为只要5分钟就能搞定的,结果入了两个大坑。 我的crontab是这样写的: 0 3 * * * mysqldump -u user -pxxxx database > "/alidata/backup/imyzf.com/$(date +%F\ %T).sql" 首先,是百分号......

使用chrome调试安卓WebView里的网页

一直在想,如果手机里的WebView也能和chrome一样审查元素就好了,结果今天,真的找到了! 该功能支持安卓4.4及以上,进入手机设置 - 开发者选项,打开USB调试,连接电脑。然后进入chrome://inspect/#devices,就会看到下图的内容(此时我已经在手机上打开自带的浏览器)。 点击inspect,就可以进入审查元素界面。 更神奇的是,不仅仅是自带浏览器,其他应用里的......

阿里云的一些使用技巧

使用阿里云一年了,感觉非常好用,使用过程中也了解到了许多技巧,特别是去年参加了阿里云开发者大会,听过一些讲座,涨了好多知识。 节约成本和提高性能是每个使用阿里云的程序猿的梦想。 先说说一些节约成本的方法吧: 合理选择带宽 1台50M的最低配ECS要3757元/月,10台5M的ECS只要1570元/月,省了多少,自己算吧。 按流量计费 对于个人用户来说,这一点非常重要,我想说,用了一年......

微信内置浏览器对WebSocket的兼容性

WebSocket是一个非常好的东西,用于开发实时应用非常好。它在微信内置浏览器上的兼容性怎么样呢?我做了一个简单测试,虽然不是很准确,但也值得参考。 测试方法很简单,我把socket.io官网的聊天室Demo发到朋友圈,看看大家能否正常使用。 总结了一下大家的反馈如下: Android版微信没问题,因为使用的是QQ浏览器内核,不受本身系统浏览器影响。 iOS版微信没问题,使用的是Saf......

HTTP与WebSocket

HTTP与WebSocket最大的不同是,HTTP每次请求都得重新连接,服务器是被动的,不能主动向客户端发送消息,WebSocket可以一直保持连接,并且服务器能主动向客户端发送消息。 还是来一个生动的例子对比一下吧,假设这是一个网页版聊天室,客户端(浏览器)想要知道有没有新消息, HTTP与服务器通信就像发邮件: 收件人:服务器发件人:客户端内容:我有收到新消息吗? 收件人:客户端发件人:......

博客搬家,新的起点

乘着过年这段时间有空,终于把博客从cnblogs(http://www.cnblogs.com/imyzf/)转移过来了,想想今天还是一个好日子呢,元宵节,到处在放烟花并且贡献大量PM2.5。 之前放在cnblogs的时候,也没怎么去写,一是懒,二是也没有多少东西写。另外一堆网站恶意抓取cnblogs上的内容,真是令人讨厌至极。(试试看百度一下imyzf,你肯定很难找到真正的我) 现在技术方......

node.js里的forEach()也是异步的吗?

node里几乎所有用到回调函数的地方,都是异步的,回调函数后面的代码很可能比回调函数中的代码后先执行,特别是数据库操作。当然,node也提供了同步版本的函数,例如文件操作,fs.readfilesync()是fs.readfile()的同步版本。 那么问题来了,foreach()是不是异步的呢?按理说,没有加sync,应该是异步的呀。 var arr = ['a', 'b', 'c'];va......