mui框架基于htm5plus的XMLHttpRequest,封装了常用的Ajax函数,支持GET、POST请求方式,支持返回json、xml、html、text、script数据类型; 本着极简的设计原则,mui提供了mui.ajax方法,并在mui.ajax方法基础上,进一步简化出最常用的mui.get()、mui.getJSON()、mui.post()三个方法。
详细请看这篇文章:http://www.bcty365.com/content-146-2390-1.html
举个简单的例子:
var address_url=htts+'mobile/index.php?act=member_address&op=address_list'
mui.post(address_url,{key:ukey},function(data){
var address_list=data.datas.address_list||{}
for(var i=0i<address_list.lengthi++)
{
if(address_id==address_list[i].address_id)
{
address_html='<a class="mui-navigate-right" onclick="add_new_address()">'
address_html+='<span>姓名:'+address_list[i].true_name+'</span>'
address_html+='<span class="xxdz">详细地址:'+address_list[i].area_info+' '+address_list[i].address+'</span>'
address_html+='<span>联系电话:'+address_list[i].mob_phone+'</span>'
address_html+='</a>'
document.querySelector('#shrxx').innerHTML=address_html
document.querySelector('input[name="address_id"]').value=address_list[i].address_id
document.querySelector('input[name="area_id"]').value=address_list[i].area_id
document.querySelector('input[name="city_id"]').value=address_list[i].city_id
offpay()
}
}
},'json')
api 全称 Application Programming Interface,也就是应用程序接口的意思。我举个例子:用户在一个商城通过客户端进行了一些 *** 作,我们要记录用户的这些 *** 作并且做出处理回应就需要通过后端来处理,通过数据库来保存相关信息,那么前端和后端就是通过 api 来进行数据交互的。api(一般情况下我们开发都叫它做:接口),例如用户在购物车添加了一个商品,那么前端就将这个商品的相关信息通过 api 发送给后端,后端进行处理,保存在数据库,然后从数据库返回新的记录,前端再将新的数据显示给用户。
简单点来说,pai 就是拿来传递数据的,当然api的作用不仅仅是前端和后端,还可以是前端和其他平台进行数据传递。
如何看待国产数据库SequoiaDB开源总的来说,我认为有几点吧
1)相比mongo还是有中文的齐全文档,作为中国的码农。。英文文档看得还是头疼啊。
2)应该说开源社区这边的支持还是比较快速的,在群里提问基本当天都会有人回答,然后在刚开始配置和对接程序的时候原厂的同学还在区里手把手教了我们的工程师。。还是很给力的
3)总体上说使用和迁移转换时候不会不上手,不过现在据说多了SQL的支持,还没有尝试过,听起来很厉害的样子,不过他们原生的 *** 作语句也还是很好理解的
如何看待yandex开源clickhouse这个列式文档数据库Yandex在2016年6月15日开源了一个数据分析的数据库,名字叫做ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊讶的是,这个列式存储数据库的跑分要超过很多流行的商业MPP数据库软件,例如Vertica。如果你没有听过Vertica,那你一定听过 Michael Stonebraker,2014年图灵奖的获得者,PostgreSQL和Ingres发明者(Sybase和SQL Server都是继承 Ingres而来的), Paradigm4和SciDB的创办者。Michael Stonebraker于2005年创办Vertica公司,后来该公司被HP收购,HP Vertica成为MPP列式存储商业数据库的高性能代表,Facebook就购买了Vertica数据用于用户行为分析。
简单的说,ClickHouse作为分析型数据库,有三大特点:一是跑分快, 二是功能多 ,三是文艺范
1. 跑分快: ClickHouse跑分是Vertica的5倍快:
ClickHouse性能超过了市面上大部分的列式存储数据库,相比传统的数据ClickHouse要快100-1000X,ClickHouse还是有非常大的优势:
100Million 数据集:
ClickHouse比Vertica约快5倍,比Hive快279倍,比My SQL快801倍
1Billion 数据集:
ClickHouse比Vertica约快5倍,MySQL和Hive已经无法完成任务了
2. 功能多:ClickHouse支持数据统计分析各种场景
- 支持类SQL查询,
- 支持繁多库函数(例如IP转化,URL分析等,预估计算/HyperLoglog等)
- 支持数组(Array)和嵌套数据结构(Nested Data Structure)
- 支持数据库异地复制部署
3.文艺范:目前ClickHouse的限制很多,生来就是为小资服务的
- 目前只支持Ubuntu系统
- 不提供设计和架构文档,设计很神秘的样子,只有开源的C++源码
- 不理睬Hadoop生态,走自己的路
如何看待阿里巴巴宣布开放开源AliSQL数据库其实有点类似,谷歌开放安卓系统给大家免费用,
某些技术别人要模仿不难,而且专利有效期也不长,
谷歌可能觉得还不如一下子公开了,大家一起弄,能迅速占领市场
如何看待黑客入侵数据库内网。内鬼和外面的黑客一起合作搞的。内鬼的话就比较容易了。
如何看待美国研发的数据库TokuDB?测试过 TokuMX, 性能确实不错,但稳定性堪忧,mongodb 3.0 后引入了 wiredtiger engine,与 tokumx 差距缩小了
研究过 TokuMX 和 TokuDB 用的索引数据结构,很巧妙的设计,虽然树的深度加倍了,但插入时间确实大幅度降低了。
最后没有采用。
如何看待免费开源CRM免费开源CRM基本上很难满足企业的实际业务需求,可以考虑一款支持用户个性化定制的CRM,百会的CRM就不错,它可以根据用户需求,在最短时间内定制出来并让用户看到效果。满意之后再付费,没有后顾之忧。定制工具简单,定制速度快。用户完全可以自己 *** 作去满足未来业务的变化。另外它基于SAAS模式的在线租用形势,可以为企业节省购买硬件、安装调试、后期升级的费用成本。定期的售后回访还可以解决不少使用中的问题。
如何看待Facebook已开源React NativeReact Native项目成员Tom Ohino发表的React Native: Bringing modern web techniques to mobile(墙外地址)详细描述了React Native的设计理念。Ohino认为尽管Native开发成本更高,但现阶段Native仍然是必须的,因为Web的用户体验仍无法超越Native:
1. Native的原生控件有更好的体验;
2. Native有更好的手势识别;
3. Native有更合适的线程模型,尽管Web Worker可以解决一部分问题,但如图像解码、文本渲染仍无法多线程渲染,这影响了Web的流畅性。
Ohino没提到的还有Native能实现更丰富细腻的动画效果,归根结底是现阶段Native具有更好的人机交互体验。笔者认为这些例子是有说服力的,也是React Native出现的直接原因。
图3 - Ohino在F8分享了React Native(Keynote)
Learn once, write anywhere
“Learn once, write anywhere”同样出自Ohino的文章。因为不同Native平台上的用户体验是不同的,React Native不强求一份原生代码支持多个平台,所以不提“Write once, run anywhere”(Java),提出了“Learn once, write anywhere”。
图4 - “Learn once, write anywhere”
这张图是笔者根据理解画的一张示意图,自下而上依次是:
1. React:不同平台上编写基于React的代码,“Learn once, write anywhere”。
2. Virtual DOM:相对Browser环境下的DOM(文档对象模型)而言,Virtual DOM是DOM在内存中的一种轻量级表达方式(原话是ligheight representation of the document),可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信(React Native通信机制详解 « bang’s blog)。
3. Web/iOS/Android:已实现了Web和iOS平台,Android平台预计将于2015年10月实现(Blog | React)。
前文多处提到的React是Facebook 2013年开源的Web开发框架,笔者在翻阅其发布稿时,发现这么一段:
图5 - 摘自React发布稿(2013)
1. 加亮文字显示2013年已经在开发React Native的原型,现在也算是厚积薄发了。
2. 最近另一个比较火的项目是Flipboard/react-canvas · GitHub(详见 @rank),渲染层使用了Web Canvas来提升交互流畅性,这和上图第一个尝试类似。
React本身也是个庞大的话题不再展开,详见facebook/react Wiki · GitHub。
笔者认为“Write once, run anywhere”对提升效率仍然是必要的,并且和“Learn once, write anywhere”也没有冲突,我们内部正在改造已有的组件库和HybridAPI,让其适配(补齐)React Native的组件,从而写一份代码可以运行在iOS和Web上,待成熟后开源出来。
持续更新...
二、规划
下图展示了业务和技术为React Native所做的改造:
图6 - 业务和技术改造图6 - 业务和技术改造
自下而上:
1. React Node:React支持服务端渲染,通常用于首屏服务端渲染;典型场景是多页列表,首屏服务端渲染翻页客户端渲染,避免首次请求页面时发起2次请求。
2. React Native基础环境:
2.1. Framework集成:尽管React Native放出了Integration with Existing App文档,集成到现有复杂App中仍然会遇到很多细节问题,比如集成到天猫iPad客户端就花了组里iOS同学2天的时间。
2.2. Neorking改造:主要是重新建立session,而session通常存放于 header cookie中,React Native提供的网络IO fetch和XMLHttpRequest不支持改写cookie。所以要不在保证安全的条件下实现fetch的扩展,要么由native负责网络IO(已有session机制)再通过HybridAPI由JS调用,暂时选择了后者。
2.3. 缓存/打包方案:只要有资源从服务器端加载就避免不了这个话题,React Native也是如此,缓存用于解决资源二次访问时的加载性能,打包解决的是资源首次访问时的加载性能。
3. MUI是一套组件库,目前会采用向React Native组件补齐的思路进行改造。
4. HybridAPI是阿里一组Hybrid API,此前也在多个公开场合(如传感器 @杭JS)分享过不再累述,React Native建立了自己的通信机制,看起来更高效(未验证),改造成本不大。
5. 最快的一个业务将于4月中上线,通过最初几个业务改造推动整体系统的改造,如果效果如预期则会启动更大规模的业务改造。
更多详细规划和进展,以及性能、稳定性、扩展性的数据随后放出。
三、风险
1. 尽管Facebook有3款App(Groups、Ads Manager、F8)使用了React Native,随着React Native大规模应用,Appstore的政策是否有变不得而知,我们只能往前走一步。
* 更新:
2015.7.28 AppStore审核政策调整:允许运行于JavascriptCore的动态加载代码,下图是此前的审核政策,对比加亮部分的改变。
qt支持国产数据库吗应用程序很多情况下需要 *** 作数据库。QT支持多种数据库,但是很多情况需要安装DLL驱动。这就有点麻烦,想当初想用MYSQL的结果就是因为驱动很难装,然后就使用了SQLITE。如果对数据库的要求不是很高的话,Sqlite应该可以满足需求了。
如何看待数据库技术向大数据技术发展的必然随着数据的积累,一些记载对象的业务状态的数据越来越多,所以就慢慢的形成各行业的大数据,当然有些大数据库,是有可用之处,有些大数据就是个垃圾。
请采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)