前言
最近尝试去写一个富文本编辑器,觉得应该也不难,但没想到还是花了不少时间去写前期的主要逻辑,其间太多的边角逻辑是没有考虑到的。原因是前期走了很多弯路,单纯的一点一点的去实现功能,有分支功能出现就一点一点的修补,到最后发现代码量很多,逻辑很复杂。最后痛下决心,静下心来分析了一下,思考用理论逻辑去铺垫根基,才算是构建了一个还算满意的基础逻辑。真心觉得,理论才是一切事情的开始点,缜密的理论逻辑才能建造基乎无 bug 的代码。
最近尝试去写一个富文本编辑器,觉得应该也不难,但没想到还是花了不少时间去写前期的主要逻辑,其间太多的边角逻辑是没有考虑到的。原因是前期走了很多弯路,单纯的一点一点的去实现功能,有分支功能出现就一点一点的修补,到最后发现代码量很多,逻辑很复杂。最后痛下决心,静下心来分析了一下,思考用理论逻辑去铺垫根基,才算是构建了一个还算满意的基础逻辑。真心觉得,理论才是一切事情的开始点,缜密的理论逻辑才能建造基乎无 bug 的代码。
配合上报一些客户端浏览器的设备类型等数据,就可以实现简单的统计啦!
额,先看下兼容性如何:http://caniuse.com/#feat=nav-timing
这篇文章中 Demo 的运行环境为最新的 Chrome 的控制台,如果你用的是其他浏览器,自查兼容性哈~
什么是依赖注入呢,我的理解,简单点就是说我的东西我自己并不像来拿着,我想要我依赖的那个人来帮我拿着,当我需要的时候,他给我就行了。当然这只是简单的理解,还是用代码解释比较清楚一些。
这里有一个 function,很简单。
1 2 3 |
var a = function(name){ console.log(name); } |
想要在浏览器端使用 ES 2015 最新语法,其实很简单,只需要一个转换器即可,Babel 是 ES 2015 最流行的转换器之一,Babel 加上各种插件和 polyfill 能基本上支持绝大部分新语法。
在你的构建中,插入一步使用 Babel 将 ES 2015 的代码转换成完全兼容 ES5 的代码的任务,你甚至都不必了解 Babel 的具体用法,就可以爽爽的开始写 ES 2015 代码了。
使用 gulp-babel 在需要的地方转换一下即可。
在 Nodejs 中,异步的 I/O 操作在完成时会触发事件队列中的具体事件。这里的主要原因是这些对象本质上是通过继承 EventEmitter 来实现对事件的处理和回调,如文件的 file 读写等。(这里的事件与 DOM 树上事件不同,不存在事件冒泡和捕获的情况。)
1 GPS 与基站定位
位置传感器通常主要指手机内部的 Global Positioning System (GPS) 模块,GPS 又称全球卫星定位系统,该系统包括太空中的 24 颗 GPS 卫星;地面上 1 个主控站、3 个数据注入站和 5 个监测站及作为用户端的 GPS 接收机。最少只需其中 3 颗卫星,就能迅速确定用户端在地球上所处的位置及海拔高度;所能收联接到的卫星数越多,解码出来的位置就越精确。
获取位置信息,核心在于获取经纬度坐标,继而在手机地图中标注出自身坐标,从而确定当前所处的位置。目前手机定位的方式有两种,一种是基于 GPS 的定位,一种是基于移动运营网的基站的定位。基于 GPS 的定位方式是利用手机上的 GPS 定位模块将自己的位置信号发送到定位后台来实现手机定位的。基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。后者不需要手机具有 GPS 定位能力,但是精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里。前者定位精度较高。
在如今机器的 CPU 都是多核的背景下,Node 的单线程设计已经没法更充分的" 压榨" 机器性能了。所以从 v0.8 开始,Node 新增了一个内置模块——“cluster”,故名思议,它可以通过一个父进程管理一坨子进程的方式来实现集群的功能。
最近读了 Steve Krug 的《Don’t Make Me Think》,这本书对于 Web 和移动可用性设计有着很有趣的见解。对于其他可用性设计的书来说,这本书更加的浅显易懂。
一、Don't make me think!!!
贯彻本书的一大定律就是:别让我思考!
作为这个信息爆炸的社会的一员,我们已经失去了耐心去仔细浏览 Web 或移动端页面内容的习惯。“ 扫描”,变成了人们使用网络的方式。中国传统观念对于“ 不求甚解” 多含贬义,然而对于如今的我们,不求甚解已经成为了常态,那么如何让用户得到最舒服的体验呢?那就是不要让用户动脑思考。
本文主要阐述使用 js 实现思维导图的关键技术点,如果还不知道什么是思维导图的同学,请自行度娘。以下是 demo 和源码的传送门:
demo:http://rockyren.github.io/mindmaptree/
源码:http://github.com/RockyRen/mindmaptree/tree/master
在源码中我使用了 svg 绘制思维导图。与 canvas 相比,svg 将图像当成对象,我们可将思维导图中节点和线等图形表现为对象,而且 svg 更适合用于动态交互的应用
Copyright © 2011-2021 AlloyTeam. All Rights Reserved. Powered By WordPress
粤ICP备15071938号-2