今天看到消息称,网易博客将在18年11月30号全面关闭。我最早使用网易博客,也不过是2008年,大概写了两三年之后,就厌烦了浮夸的界面,和莫名其妙的广告,并且开始维护自己的独立域名博客。媒体称blogbus等为个人博客并不完全正确,因为“个人”这个词用在第三方平台上并不恰当,顶多算“博客服务”,就像公众号一样,称“个人公众号”也很奇怪。所以说,并不能称个人博客完蛋了,迟早有一天博客又会受到亲耐,至少在传播学意义上RSS还很有市场。就让那些公众号,微博,朋友圈儿都去吧,没事,我还是会常常在自己的博客写点东西。
其实很简单,substr按字,substring按位:
var str = '我很高兴ho~'
str.substring(str.length - 5, 5) // 高兴h
str.substr(str.length - 5, 5) // 高兴ho~
开源已经是软件领域占据绝对主导的一种策略。但是,很不幸,大部分人对开源的认知都无外乎两个点:“免费”“开箱即用”。所谓免费就是说你开源的软件,我不用买许可证,直接用,你的协议最好还是MIT,这样我用起来一点版权顾虑都没有。开源=免费,这几乎成为行业共知。而“开箱即用”则体现在使用者对开源软件的依赖性,它们希望一个开源软件可以按照自己的想法工作,如果不行的情况下,就去给软件作者提issue。实际上,在我看来,“免费软件”和“开源”完全是两个层面的事。开源的真正意义是,让原本封闭的独裁的技术公开,让其他开发者可以从中学习,在自己的产品里使用开源代码里面的思想、思路、甚至是实现方式,而非提供完整的产品免费给人用。但现在行业里面曲解开源精神,以github为主导的开源世界实际上是推崇“开源免费软件”这一完整的概念,而非“开源”概念本身,也就是说,一个开源项目的作者,被要求把这个项目做成一个完整的,其他开发者拿过去就开箱即用的,而且还要有完整文档的,甚至issue反馈即时的项目。这其实是做软件的思路,而非做开源的思路,开源变成了软件的一种分发方式,开源精神本身反而在这种潮流中被淡忘,甚至如果不按这种模式行事的开源项目,还会被数落。开发者不仅不感谢开源者将自己的思想公之于众,反而以形式化的要求去数落他,这样而言,他大可以不开源了,自己好好把项目做好,赚更多钱,而对于那些叫嚣开源项目完整性的人,多半不喜欢去看源码,而喜欢看文档,也就是那类拿来主义而已。
isObject
JS里面判断一个变量是否为object类型其实比较麻烦,除了array和null会干扰以外,我们知道,所有的衍生数据类型的本质都是object,要想知道一个数据是否是单纯的object,我们就要排除这些干扰,直接检测这个变量的constructor:
function isObject(value) { return value && typeof value === 'object' && value.constructor === Object }
-
运行了一下代码发现constrcutor单词拼写错误,改正constructor
-
已修正,谢谢指出#589 回复给#588 否子戈 2018-08-27 18:22
终于又重写完一个库,改名为databaxe,是一个前端数据请求管理相关的库,在datamanager.js的基础上修改而来,使用了indexedDB和webworker,是一个现代化的数据请求管理工具。它的理念什么的已经在相关文章里面介绍过了:
这次的改版(改名)是为了简化概念,重新提炼api,并且将同步转化为异步,将之前容易混淆的地方全部修改过,变成单一可理解的api。特别是对get方法进行改造,之前的get方法基于localStorage,是同步的,现在基于indexedDB,是异步的,与数据请求保持一致的行为操作模式,让使用起来更方便新手入门。同时开放了dispatch接口,时它拥有更新本地数据的能力。
要了解这个库移步DataBaxe。