加油吧!

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

middleware4

发表于 2017-05-13 | 分类于 middleware

三层Web应用程序模型

  • 第一层浏览器是表示层,完成用户接口功能。更“瘦”
  • 第二层Web服务器是功能层,完成客户的应用功能。
  • 第三层数据库服务器是数据层,完成数据处理请求。
    Web服务器接受客户请求,建立数据库连接,请求数据处理,而后数据库结果返回Web服务器,再传至客户端。

    功能层的缺点:1.体积庞大、功能臃肿、复用性差
    2.须自己考虑诸如分布处理、负载平衡、事务逻辑、持久性和安全性等诸多问题
    所以:一分为二:显示逻辑层和业务逻辑层
    1.显示逻辑层:接受客户请求,调用业务逻辑层的服务,并将结果呈现给客户端。
    2.业务逻辑层:完成具体的业务处理。其中隐含了分布处理、负载平衡、事务逻辑、持久性和安全性等技术

    阅读全文 »

middleware3

发表于 2017-05-13 | 分类于 middleware

典型的CORBA应用实现过程:

用IDL编写对象规格说明--->编译IDL生成桩和框架    
    --->编写对象实现和服务程序代码--->编译服务程序--->运行服务程序          
    --->编写客户程序代码--->编译客户程序--->运行客户程序            
--->启动对象请求代理(ORB)内核

IDL语言

说明性语言,定义组件接口,不定义实现。
语法上可以看成C++的一个子集,规定组件的属性、所继承的父类、产生的异常、事件和各类数据类型。
编译器作用:将IDL映射到具体程序设计语言,产生桩代码和框架代码
调用请求经客户端桩传递给ORB,然后转发到服务端框架,最后到达真正要执行请求的对象实现实例

阅读全文 »

middleware2

发表于 2017-05-13 | 分类于 middleware

对象管理组织(OMG)

  • 促进在分布式系统开发中面向对象技术的理论与实践的发展。

  • 负责制订并维护一套规范
    OMG主要规范:

  • UML:Unified Modeling Language
  • CORBA:Common Object Request Broker Architecture。
  • MDA: Model Driven Architecture

    OMA 对象管理体系结构

    描述了面向对象技术在分布式处理中的运用。它包括两部分:对象模型(Object Model)和参考模型(Reference Model)。
    对象模型定义如何描述分布式异质环境中的对象
    参考模型描述对象之间的交互(组件,接口,协议)
    OMA参考模型

  • 对象请求代理
  • 对象服务
  • 公共设施
  • 领域接口
  • 应用接口

corba

orb:Object request broker

  • 对象请求代理:通过智能代理的方式处理对象请求,ORB是OMA参考模型的核心
  • 提供了最基本的通信枢纽设施(分布式对象之间透明的地发送请求或接收响应的基本机制),独立于实现对象的特定平台与技术。
  • 是基于分布式对象构建应用程序的基础设施,保证了在异构平台上对象的互操作性与可移植性
    ORB(Object Request Broker)是对象总线。
    1 通过ORB,一个client可以透明的调用同一台机器上或网络上的一个server对象的方法。
    2 ORB解释该调用并负责查找一个实现该请求的对象,
    3 找到后,把参数传给该对象,调用它的方法,最后返回结果。
    4 客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制。
    阅读全文 »

middleware1

发表于 2017-05-13 | 分类于 middleware
  • 中间件已经成为构建网络分布式异构信息系统不可缺少的关键技术,与操作系统、数据库管理系统并列为基础软件体系的三大支柱。
  • 一些典型的商务应用系统(分布式系统):
    • 股票交易系统
    • 银行应用系统
    • 客户电话中心系统
    • 采购系统
  • 现代应用系统的基本特征:
    • 分布
    • 异构: 计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;
    • 动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。
  • 2层结构的缺陷:(服务器层,客户层)
    • 客户端的负担仍比较重
    • 客户端的可移植性不好
    • 系统的可维护性不好
    • 数据的安全性
      阅读全文 »

react学习--propTypes && Mixins && ES6Classes

发表于 2017-05-03 | 分类于 react

react只能返回一个组件(坑!)

1
2
3
4
5
6
7
8
9
10
render(){
return(
<div> //必须用div包裹起来,不能返回两个标签
<input type="text" value={this.state.count} />
<div onClick={this.tick}>
Clicks: {this.state.count}
</div>
</div>
);
}

动态子级

如果子组件位置会改变(如在搜索结果中)或者有新组件添加到列表开头(如在流中)情况会变得更加复杂。如果子级要在多个渲染阶段保持自己 的特征和状态,在这种情况下,你可以通过给子级设置惟一标识的 key 来区分。

阅读全文 »

jsx.md

发表于 2017-05-02 | 分类于 react

React 的 JSX 使用大、小写的约定来区分本地组件的类和 HTML 标签。

React 可以渲染 HTML 标签 (strings) 或 React 组件 (classes)
要渲染 HTML 标签,只需在 JSX 里使用小写字母的标签名。

1
2
var myDivElement = <div className="foo" />;
ReactDOM.render(myDivElement, document.getElementById('example'));

要渲染 React 组件,只需创建一个大写字母开头的本地变量。

1
2
3
var MyComponent = React.createClass({/*...*/});
var myElement = <MyComponent someProperty={true} />;
ReactDOM.render(myElement, document.getElementById('example'));
阅读全文 »

nodejs、npm(cnpm)、bower、babel、jsx (2017.4.29)

发表于 2017-04-30 | 分类于 react

nodejs

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

npm(cnpm:淘宝 NPM 镜像)

PM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    升级npm :npm install npm -g
    安装模块 :npm install

    阅读全文 »

input文件类型上传之onchange触发问题

发表于 2017-03-15 | 更新于 2018-11-16 | 分类于 javascript

问题

使用input的文件上传在连续上传两个相同文件时没有触发change事件,纳尼?!

经过一帆查找资料,原来,使用input[type=file]上传文件,使用的是onchange去做,onchange监听的是input的value值,只有在内容发生改变的时候去触发,而value值在上传文件的时候保存的是文件的内容,连续上传相同文件的话,value值不改变,change事件进而不会触发。

原来是这样啊。如何解决呢?

在change事件函数中的最后设置当前input的value值为空就好了~

$(this).val('');
阅读全文 »
123
David

David

做一个思考者

21 日志
7 分类
22 标签
RSS
GitHub E-Mail Weibo
Links
  • Limoer的记事小本
  • 一帆
  • Andy
© 2021 David
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Muse v6.5.0