2017 年 2 月 22 日

实例解析防抖动(Debouncing)和节流阀(Throttling)

防抖(Debounce)和节流(throttle)都是用来控制某个函数在一定时间内执行多少次的技巧,两者相似而又不同。当我们给 DOM 绑定事件的时候,加了防抖和节流的函数变得特别有用。为什么呢?因为我们在事件和函数执行之间加了一个控制层。记住,我们是无法控制 DOM 事件触发频率的。 看下滚动事件的例子: See the Pen Scroll events counter by Co ...
查看详情

2017 年 2 月 15 日

如何高效编写微信小程序?

前言 微信小程序是一个工程,就和盖房子一样,打好了地基,才能保证后续工程师建立在可靠牢固的基础上。 笔者需要经常新建项目,每次都要重复“修改项目结构 -> 从老项目中复制粘贴文件 -> 删除一些老项目中代码”这样的过程,实在是…费心费力。 另一个痛点是:每次新建小程序页面要生成三个文件名相同的文件 ( .wxml、.wxss 和 .js ),命令行太长(据微信同事:也可以 ...
查看详情

2017 年 1 月 12 日

Clean JavaScript: 写出整洁的JavaScript代码

Introduction:简介 很多开发者都会推崇Robert C. Martin的Clean Code一书中提及的软件工程准则,本文就是对于这些准则在JavaScript开发领域中的实践应用总结。本文并不仅仅是样式指南,而是对于如何编写出基于JavaScript实现的高可读性、高可用性以及可重构的软件系统。虽然本文对比的讲了很多好坏的实践,但并不是说本文就建议大家强制遵循所有的指南。实际上对于 ...
查看详情

2017 年 1 月 7 日

小米新一代大数据统计平台大公开

首次来到台北的小米研发架构师欧阳辰,看见城市中川流不息的摩托车车流,引起了他的注意:「它的特色很像大数据」,除了数量多、变化快,以及难以预测动向,摩托车也和大数据一般,都是解决人类生活在社会中的一项工具,「未来大数据会是重要的社会基础架构,就像水、电力一样。」 谈起大数据,不免回归最基本的问题:它跟传统数据分析的区隔为何。 欧阳辰表示:「在目标上,我认为两者没有区隔」,欧阳辰表示,传统 ...
查看详情

2017 年 1 月 7 日

你真的了解网站开发中的 gzip 吗?

gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chrome,firefox,IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip。gzip压缩比率在3到10倍左右,可以大大节省服务器的网络带宽。而在实际应用中,并不是 ...
查看详情

2017 年 1 月 6 日

超全面的北京网站设计切图规范指南

设计师的切图输出物是是体现一个设计师专业水准的重要标准,同时也是设计师表达自己对设计态度的最有力的语言。合适、精准的切图可以最大限度的还原设计图,起到事半功倍的效果。 如何输出具有全局把控和细节专注的高段位切图,应该是所有设计师一直需要追求的能力。 设计切图的原则 设计切图输出的目的是跟下游的工程师团队协同工作,那么在团队协作过程中,首先应该保证切图输出能够满足工程师设计效果图的高保真还 ...
查看详情

2016 年 10 月 30 日

利用阿里云容器服务打通TensorFlow持续训练链路

随着google开源TensorFlow的脚步越来越迅猛,机器学习已经渐渐由昔日王谢堂前燕,飞入寻常百姓家。如何把机器学习的成果,迅速转化成服务大众的产品。以TensorFlow为例,一个典型的交付流程,就是TensorFlow根据输入数据进行模型训练,待训练结束和验证确定后,模型会被发布到TensorFlow Serving,就可以为大众服务了。如果能像流水线生产一辆汽车一样来实现机器学习的产品 ...
查看详情

2016 年 9 月 24 日

微信小程序开发教程 0923

微信应用号(小程序,「应用号」的新称呼)终于来了! 目前还处于内测阶段,微信只邀请了部分企业参与封测。想必大家都关心应用号的最终形态到底是什么样子?怎样将一个「服务号」改造成为「小程序」? 我们暂时以一款简单的第三方工具的实例,来演示一下开发过程吧—— 序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档 ...
查看详情

2016 年 9 月 7 日

软件架构入门

软件架构(software architecture)就是软件的基本结构。 合适的架构是软件成功的最重要因素之一。大型软件公司通常有专门的架构师职位(architect),只有资深程序员才可以担任。 O\'Reilly 出版过一本免费的小册子《Software Architecture Patterns》(PDF), 介绍了五种最常见的软件架构,是非常好的入门读物。我读后受益匪浅,下面就是我的 ...
查看详情

2016 年 8 月 30 日

微信开源PhxSQL:高可用、强一致的MySQL集群

PhxSQL是由微信后台团队自主研发的一款服务高可用、数据强一致的分布式数据库服务。该服务基于Percona5.6搭建,目标在于解决MySQL在容灾和数据一致性方面的不足,并大幅简化了MySQL容灾切换的运维操作。 作者:Junchao Chen (junechen@tencent.com), Haochuan Cui (lynncui@tencent.com), Duokai Huang (m ...
查看详情