0%

SaaS平台之殇

背景

商业应用的集中式托管可以追溯到20世纪60年代的时分系统中。SaaS通常使用多租架构为多个商业组织和用户提供服务。

在多租环境中的相对低廉的用户服务开通(创建新客户),使得一些软件即服务供应商可以用免费模式来提供应用。在这种模式下,基本功能免费,增强功能或更大的范围则是要收费的。当然,也有完全对用户完全免费的SaaS,而他们的收入则产生于其它相关来源例如:广告。

SaaS的本质是将规模经济应用到软件应用的运营上。故其规模决定了其发展。而影响企业用户决定是否采用SaaS的一个最关键因素就是数据

阅读全文 »

Coffee Style Smart Computer Language

I treat the coffee-script and Literate CoffeeScript as the first coffee style smart computer language concept.
This should be the basics of the next generation Smart Computer Language.

Features:

  • Space indents for block, the curly braces are optional.
  • The brackets are optional for function revocation.
  • The array, object(dict) assignment could be no comma, instead of using the block.
  • The functional expression definition could be ‘->’ or ‘=>’.
  • Smart variable definition
    • It should be a compiler switcher.
    • The first variable assignment will be declared if no the same name variable before.
  • RTL(run-time library) replace-able.
    • you can write your own extends, for in etc rtl functions.

Pros:

阅读全文 »

生活,生命,活着的,一切都将随风而去。冬去春来,夏过秋至,金黄的树叶悠悠飘落,一片片,散落,逝水流连,周而复始。生存,成长,老去,逝去。我们追逐的,梦想的,转眼,一切都将成空。在这“《易》”的世界里面,永恒不变的唯有

我们都只是那短短的人生过客啊,观察,体验着这人生百态,感悟着不一样的人生,也许。随波逐流的人啊,活着只是活着的人啊,活在别人的目光中的人啊,你们在感悟什么,人,这,一辈子,到底该如何度过。生存的需求,物质的需求,财富的需求,有没有尽头,你在追寻什么?到底追寻的意义是什么,对你?我不知道,对于我而言,思想 也许是我能留给你的最宝贵的财富,余者皆浮云矣。人与人最最关键,重要的区别就是思想

就在这个目录里。当一切随风而去,唯有思想留下…

Loopback Framework

尽管我不怎么欣赏它的内部实现,但是不得不说这是Open API开发框架的又一次创新,使得开发API的过程更为简单和易用。
LoopBack 是一个基于Express的开源 Node.js API框架,用于快速构建自己的OpenAPI平台,提供API接口给mobile, web和其他设备。它能够同时连接多种不同的数据源,非常简单的暴露model为标准的RESTful API,用nodejs 开发API,提供JS, iOS 和 Android SDKs.

StrongLoop在2015年被IBM收购了.

Features

  • 快速创建动态 end-to-end REST APIs.
  • 连接设备/浏览器到数据和服务。
  • 使用 Android, iOS, and AngularJS SDKs 轻松创建客户端应用.
  • 提供 push, 文件管理, 第三方登录, 以及 geolocation 的附加组件.
  • 使用 StrongLoop Arc IDE 可视化的编辑,部署和监视 LoopBack API服务.
  • StrongLoop API网关充当API消费者与API提供者之间的中介,进行外部化的安全管理API。
  • 可以部署运行在内部或者云端
阅读全文 »

Promise

Promise是简化异步编程的重要概念。这篇文章介绍得不错:Simplifying Async with Promises.

简单的说,Promise(又名 Future, Delayed value, Deferred value)代表一个尚不可用的值。因为产生这个值的计算过程尚未完成。一个 Promise 是最终的成功结果或失败原因的占位符。

  • promise只有三种状态,未完成,完成(fulfilled)和失败(rejected)。
  • promise的状态可以由未完成转换成完成,或者未完成转换成失败。
  • promise的状态转换只发生一次
  • promise有一个then方法: (promise.then(onFulfilled, onRejected))
    • then方法可以接受2个回调函数作为参数。

      • 对应promise的两种状态fulfilled, rejected的回调函数。回调函数的传递参数分别是resolve(value),reject(value) 函数。
      .then(function(resolve){
              //当promise状态变成fulfilled时,调用此函数
          },function(reject){
              //当promise状态变成rejected时,调用此函数
          });
      
      .then ((resolve)->), ((reject)->))
      

Promise API 标准存在多个提案,目前看来,Promises/A+ 已经正在成为事实上的标准。

阅读全文 »

如何选择一门语言学习计算机编程

实用派的想法:

哪一门或一些语言适合你?取决于你想干什么?

  • 你是想做嵌入式系统开发?
  • 或是想数据挖掘统计分析?
  • 或是想开发web站点?
  • 或是想做原生的iOS系统开发?
  • 或是想做原生的Android系统开发?
  • 或是想做跨移动平台的开发?

不同的选择决定你会去学习使用一些不同的语言。

阅读全文 »

HTC Vive 到手,我也好好体验了一把沉浸式虚拟现实,的确震撼,尽管目前好的内容还不是很多。真的世界变了,不提游戏,很多经验的教学,难以实作的实验,在沉浸式虚拟现实中都将被改写,人类获取另类的知识体系将变容易。体验,免除危险的体验模式,从未来迎面而来。我还是先讲述自己的个人体验感受,最后再说下虚拟现实以及相关技术分析。

虚拟现实

虚拟现实(Virtual Reality),又称虚拟实境,简单来说就是用电脑模拟一个虚拟世界,让人感觉自己完全置身于这个虚拟的世界当中,从而忘掉自己所处的真实世界。目前主要是通过对人的眼睛和耳朵的欺骗,以及附加在头盔上的传感器来实现VR。

尽管离《黑客帝国》描述的场景距离还相当长远,但至少目前已经可以让人产生身在虚拟世界的幻觉了。尽管依然存在这样那样的不足:

  • 纱窗效应,因为屏幕离眼睛的距离近,所以可以看到点阵,但是可以忍受。
    • vive 和 rift 的单眼屏幕分辨率为: 1080 x 1200, 90HZ的刷新率,110度的视场。
    • psvr 的单眼屏幕分辨率为: 960 x 1080, 120hz刷新率。
  • 如果没有近视的人,那么看久了眼睛会难受,毕竟屏幕放得太近了,当然可以调整镜片的距离(牺牲视场)
    • 好处是,如果有轻度近视,那么不需要带眼镜也可以玩,如果一定要带眼镜,那么尽量选择度数浅些的眼镜
  • 线缆一不留意就会缠住自己【Vive的房间模式】
  • 如果在虚拟世界中身体处于运动状态,但是实际身体并没有运动下,会导致眩晕,尤其是在没有任何理由的情况下,出现场景移动或者漂移。
阅读全文 »

要理解移动互联网首先要理解互联网,要搞清楚互联网思维是啥,首先也要理解互联网的本质,而要理解互联网的本质则首先要从互联谈起,何谓互联,互,彼此也;联,沟通也。互联网就是搭建的P2P的彼此沟通的网络。那么何谓移动,移动我的理解是设备,尤其是随身设备的上网能力。那么移动互联网和互联网有什么不同之处么?我觉得没有根本的不同,唯一不同的是时间和地点,从间断固定到随时随地。对于家居设备的上网,目前炒作的物联网(IoT),也只不过是将一个个的设备作为“网上服务”放到了家庭,使得我们可以在家以外也能控制而已。因此这里说道的移动互联网思维其实主要还是在探索互联网思维。

互联网的本质

无论移动互联网还是互联网,我们如果思考下它的本质,想想它的本质是什么?那么不难发现,它的本质无疑是最终用户(Peer)的互联互通。那么互联互通的本质又是什么?而当互联网最终用户膨胀到足够规模的时候,我们发现,它正在改变世界。Why? 它是如何做到的呢?

互联网的本质是对等(互联),因为要对等互联,所以才有了开放和标准。因为完全开放和标准化,才有足够多组织细胞接入,从而形成群体。群体在互联网上产生信息和消费信息,从而导致信息爆炸大数据。

开放与标准

阅读全文 »

随着近两年来nodejs的迅速走红(这个npm的功不可灭),nodejs实际上成为js服务端和工具桌面端开发事实上的标准。似乎用javascript开发桌面应用时代正在来临。各种开发桌面应用的js框架工具陈出不穷,下面主要介绍的是一些开源项目js框架工具 for Desktop Application。

阅读全文 »

什么是无后端构建开发

无后端构建是希望通过云服务将后端从前端开发中彻底解耦。和云存储不同之处在于它不仅仅是数据存储,它还是一套解决方案,它通过将后端任务从前端代码中剥离出来的一套SDK,让前端开发者把全部注意力放在前端交互用户体验。而让后端开发者聚焦后端任务的解耦,统一后端数据,并使得后端更具有灵活性和伸缩性。

这个趋势意味着互联网数据正在由人读(human-readable)时代向机读(computer-readable)过渡。虽然语义网的w3c已经提出好久(1999),相关标准(RDF/OWL/RIF)也是许久前就制定了,但是在互联网上的实际应用中,总是雷声大,雨点小,普及率最高的RSS和FOAF(Friend Of A Friend)也只是这小众。这归结于丑陋的XML格式,虽说是机读,但是实际上描述定义这些机读格式的也是人啊,如果格式的可读性差,操作复杂,那么自然愿意使用的开发者就少。

而API则不然,这是程序开发中与外部系统交流理所当然的接口,是每个开发者都在用的,一看就懂的。当然API也有好坏之分,编写制定好的API接口比开发应用更难。这需要你具备更强的架构设计能力,从具体中提炼出通用的操作能力,以及要求可读性更强的命名能力。

自从互联网上分布式 Restful 体系架构提出后,web上的 OpenAPI 也在日益增多,但是大部分OpenAPI还是在各行其是。认证这块,虽然有统一的标准OAuth, 但是对普通开发者来说,还需要去了解OAuth的内部原理,使用上还是难用,而且各个站点对OAuth的具体实现上,又略有差异,这更增加开发者的负担。所以目前出现具体针对各大站点的OAuth认证的二次封装的开发库,降低普通开发者的使用难度。现在这些基础通用操作再次被“无后端”构建模式统一封装和组织,使得普通开发者更加容易的使用。再次降低了开发者的门槛,开发者可以完全不管后端的架构设计和组织了。那么遵循这样的普及,互联网上会有越来越多的各式各样的云服务API平台,未来的互联网架构也将从独立的web站点,变成了彼此分享协作的WebApp。

阅读全文 »