上篇中解释到什么是架构风格和应该以怎样的视角来理解REST(Web的架构风格).本篇来介绍一组自洽的术语,用它来描述和解释软件架构:以及列举下对于基于网络的应用来说,哪些点是需要我们重点关注的. 1 软件架构 软件架构方面研究的是如何以最佳的方式划分一个系统.如何标识组件.组件之间如何通信.信息如何表达.组成系统的元素如何独立的进化,以及如何表达上述的内容.一个优秀的架构并非凭空靠想象得来的,每一个架构级的决策,都应该根据被设计的系统功能.行为和社交三方面的需求而作出.这是一个基本的设计原则,即…
上篇文章介绍了一组自洽的术语来描述和解释软件架构:如何利用架构属性评估一个架构风格:以及对于基于网络的应用架构来说,那些架构属性是值得我们重点关注评估的.本篇在以上的基础上,列举一下一些常见的(REST除外)的适用于基于网络应用的架构风格,并使用对比架构属性的方式对其进行评估. 1 架构风格所产生的架构属性 架构设计的目的是为了满足或者超出应用的需求,而不是为了创造出一种特殊的交互拓扑或者一种特殊的设计方式.当设计一个系统时所选择的架构风格,必须与这些需求保持一致,而不是相抵触.因此应该依据这些…
链接上文[解读REST] 2.REST用来干什么的?,上文中解释到什么是架构风格和应该以怎样的视角来理解REST(Web的架构风格).本篇来介绍一组自洽的术语,用它来描述和解释软件架构:以及列举下对于基于网络的应用来说,哪些点是需要我们重点关注的. 1 软件架构 软件架构方面关注的是如何以最佳的方式划分一个系统.如何标识组件.组件之间如何通信.信息如何表达.组成系统的元素如何独立的进化,以及如何表达上述的内容.一个优秀的软件架构并非凭空靠想象得来的,每一个架构级的决策,都应该根据被设计的系统功能…
服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Core.Utility;@{ string ButtonScript = string.Empty;}@if (Rattan.Basic.Globals.GetIsAuth(ViewBag.AuthValues, "QuickExport")){ ButtonScript = @"…
基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢wangpengqi的共享. 一.简单介绍 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然如今也有管脚全兼容的单核.本文要介绍的就是当中的一款低功耗处理器OMAP L138. OMAP L138包含一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核…
http://www.meritdata.com.cn/article/90 PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备.模型构建.模型评估.模型管理.海量数据处理和高纬数据可视化分析能力. Pluto平台设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准).Pluto强大的数据挖掘功能将复杂的统计方法和机…
基于SpringCloud分布式架构 为什么要使用分布式架构 Spring Cloud 专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖 分布式/版本化配置 服务注册和发现 路由 Service-to-Service 调用 负载均衡 断路器 分布式消息传递 这是分布式的优点,这样看起来可能比较抽象,举个例子来说,对于单体服务来说,如果我想更新订单中的某个功能,我是不是需要重启整个服务. 这个时候就会导致整个项目都处于不可用状态,或者在处理订单的时候由于程序代码写的有问题,导致死锁了,这个…
由于笔者最近有比赛项目要赶,这个基于C/S架构的3D对战网络游戏C++框架也遇到了一点瓶颈需要点时间沉淀,所以近一段时间不能保证每天更新了,会保持不定期更新.同时近期笔者也会多分享一些已经做过学过的C++.服务器端开发.游戏开发相关的内容给大家(因为这些内容已经熟悉也积攒了一定量现有的笔记所以整理成博客会相对轻松些).感谢大家支持,深鞠躬.过两天笔者要去上海参加C++大会,回来后会把参会感悟也分享给大家的^__^.喜欢技术人的纯粹,没有等级之分,希望我们能一路一起进步,共同成长.…
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/34084935    某b项目是我首次採用was环境下架构和开发的手机wap应用.虽然做到了该项目的主程.但对此项目的全面构件依旧有不清楚的地方,因此在这里我仅仅能简单的谈谈开发中遇到的问题怎么处理和应对办法.          记得第一天接触这个项目时.仅仅记得些案例代码(不知道那些是对的.那些是错的)似曾相识,但不懂怎样动手写下第…
摘要:本文充分利用SOA架构松耦合的特点,通过规范统一网络接口实现业务系统整合,既提升系统安全性,又简化资源访问操作,具有重要的理论和现实意义. 统一身份认证旨在将分散在各个信息系统中的用户和权限资源进行统一集中管理,提升系统安全性,简化资源访问操作.各家金融机构的业务系统由于开发时期不同,支撑技术各不相同,系统环境彼此独立,统一身份认证体系需要面对跨平台.跨系统的巨大挑战.近年来,面向服务架构SOA(Service Oriented Architecture)技术为松散集成业务系统的统一身份认…
本文基于hadoop2.x架构详细描述了mapreduce的执行过程,包括partition,combiner,shuffle等组件以及yarn平台与mapreduce编程模型的关系. mapreduce的简介和优点 mapreduce是一个分布式运算程序的编程框架,是hadoop数据分析的核心. mapreduce的核心思想是将用户编写的逻辑代码和架构中的各个组件整合成一个分布式运算程序,实现一定程序的并行处理海量数据,提高效率. 海量数据难以在单机上处理,而一旦将单机版程序扩展到集群上进行分…
前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/onlineexam,如果喜欢的话请帮我Mark个Star. 由于仓库有点大,GitHub clone失败的用码云吧,地址:https://gitee.com/quanbisen/onlineexam,如果有用,在GitHub帮我mark个star. 摘 要 随着计算机软件技术的高速发展,现代社会正快速迈入了一…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 通常,身份认证(Authentication)和授权(Authorization)都会放在一起来讲.但是,由于这俩英文相似,且"认证授权"四个字经常连着用,导致一些刚接触这块知识的读者产生混淆,分不清认证和授权的区别,甚至认为这俩是同一个.所以,我想先给大家简单区分一下身份认证和授权. 身份认证 确认执行操作的人是谁. 当用户请求后台服务时,系统首先需要知道用户是谁,是张三.…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 在开始之前,如果你还不了解基于Cookie的身份认证,那么建议你先阅读<基于Cookie的身份认证>后再阅读本文. 另外,为了方便大家理解并能够上手操作,我已经准备好了一个示例程序,请访问XXTk.Auth.Samples.JwtBearer.HttpApi获取源码.文章中的代码,基本上在示例程序中均有实现,强烈建议组合食用! Jwt概述 Jwt是什么 Jwt是一个开放行业标准(RFC75…
What is IPC IPC [Inter-Process Communication] 进程间通信,指至少两个进程或线程间传送数据或信号的一些技术或方法.在Linux/Unix中,提供了许多IPC.Unix七大IPC: Pipe:无名管道,最基本的IPC,单向通信,仅在父/子进程之间,也就是将一个程序的输出直接交给另一个程序的输入.常见使用为 ps -ef|grep xxx FIFO [(First in, First out)] 或 有名管道(named pipe):与Pipe不同,FIF…
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.…
<深入理解mybatis原理> MyBatis的架构设计以及实例分析 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现. 一.MyBatis的框架设计   注:上图很大程度上参考了iteye 上的chenjc_it   所写的博文原理分析之二:框架整体设计 中的MyBatis架构体图,chenjc_it总结的…
以需求用例为基,抽象接口,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段.研发准备阶段.研发测试阶段)16个小历程(*)确定好边界,明确好对接产物,做好服务管理. 基于SOA架构的TDD测试驱动开发模式 服务治理要先于SOA 简述我的SOA服务治理 从页面走向单元实现真正的业务驱动 1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务…
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.…
HTTP介绍 HTTP协议是互联网上应用最广泛的协议,它是一种无状态的数据传输协议,规定了数据请求方和数据响应方的数据传输方式:使用HTTP协议可以跨平台,跨语言的进行数据传输和展示. 目前的Web应用基本都是基于HTTP协议实现的,无论是查看新闻,网上购物还是在线聊天,只要是通过浏览器打开的应用基本都遵循HTTP协议. 当客户端(eg:浏览器,Httpclient,telnet...)向服务器(eg:Tomcat,Weblogic..)请求某个Web资源(eg: 查看网页,购物,在线游戏...…
目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) - 外部网络:(上图中黑线) - 存储网络:(图中红线) - 租户网络:(图中红线) 目录 除去我们上一节提到的cisco 的ACI是与思科封闭,自成一体的SDN解决方案以外,大部分SDN的解决方案的重点都不在硬件设备上.常见SDN解决方案的目的都是尽量在现有的成熟交换机或者标准白牌openflow…
企业信息化建设过程中,业务系统各自为政.相互独立造成的"数据孤岛"现象尤为普遍,业务不集成.流程不互通.数据不共享--.这给企业进行数据的分析利用.报表开发等带来了巨大困难.在此情况下,数据仓库的建设就显得必不可少了,将相互分离的业务系统的数据源整合在一起,建立一个统一的数据采集.处理.存储.分发.共享中心,实现企业全局数据的系统化运作管理,为DSS(决策支持系统).BI(商务智能).经营分析系统等深度开发应用奠定基础,挖掘数据价值. 在企业搭建数据仓库的过程中,有一个核心环节--ET…
引导期间的内核选项     Linux允许用户把内核配置选项传给引导记录,再有引导记录传给内核,以便对内核进行调整.     start_kernel中调用两次parse_args,用于引导期间配置用户输入数据.     parse_param是一个函数,用于解析输入的内核配置选项的参数字符串.字符串的格式为:name_variable=value.寻址特定关键字,并调用对应的函数. 注册关键字:     用宏进行定义: __setup(string, fn) string表示关键字,fn表示关…
内容全部来自: How to create/restore a slave using GTID replication in MySQL 5.6 需求说明 需求: 对于已经存在的 MySQL 主从架构, 新增加 Slave 节点. 所以需要解决的问题是保证主从数据可以同步. 遇到的问题 : 主节点的 binlog 因为轮替原因, 当开启 Slave 的时候, 会报错: slave 需要的 binlog 已经被 purge. 解决过程 : dump主的数据, 从节点 RESET MASTER,…
背景描述 最近接到一个需求,就是要求我们的 WPF 客户端具备本地化功能,实现中英文多语言界面.刚开始接到这个需求,其实我内心是拒绝的的,但是没办法,需求是永无止境的.所以只能想办法解决这个问题. 首先有必要说一下我们的系统架构.我们的系统是基于 Prism 来进行设计的,所以每个业务模块之间都是相互独立,互不影响的 DLL,然后通过主 Shell 来进行目录的动态扫描来实现动态加载. 为了保证在不影响系统现有功能稳定性的前提下,如何让所有模块支持多语言成为了一个亟待解决的问题. 刚开始,我 G…
2012年应届毕业加入阿里巴巴,主导了闲鱼基于Flutter的新混合架构,同时推进了Flutter在闲鱼各业务线的落地.未来将持续关注终端技术的演变及趋势 Flutter的优势与挑战 Flutter是Google开源的跨端便携UI工具包,除了具有非常优秀的跨端渲染一致性,还具备非常高效的研发体验,丰富的开箱即用的UI组件,以及跟Native媲美的性能体验.由于它的众多优势,也使得Flutter成为了近些年来热门的新技术. 通过以上的特点可以看出,Flutter可以极大的加速客户端的研发效率,与此…
SOA:Service Oriented Architecture面向服务的架构.也就是把工程拆分成服务层.表现层两个工程.服务层中包含业务逻辑,只需要对外提供服务即可.表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现. 如何实现远程通信? 1.Webservice:效率不高基于soap协议.项目中不推荐使用. 2.使用restful形式的服务:http+json.很多项目中应用.如果服务太多,服务之间调用关系混乱,需要治疗服务. 3.使用dubbo.使用rpc协议进行远程调用,…
最近,在学习java虚拟机的内容中,在此总结和记录下学到的. 一.JVM在计算机中的位置 在我们初学java时,便知道java源文件文件会先通过Java编译器编译成字节码文件,这个过程是java编译过程.而我们的java虚拟机执行的就是字节码文件.这个字节码文件可以来自许多地方,例如kotlin,scala等.但只要它能符合java虚拟机的规范,他就可以执行该字节码文件.下面,我们先来看下jvm在我们计算机中的位置. 首先,在我们计算机硬件上的第一层软件就是操作系统了,而jvm是基于操作系统之上…
说起互联网.电商的数据分析,更多的是谈应用案例,如何去实践数据化管理运营.而这里,我们要从技术角度分享关于数据的技术架构干货,如何应用BI. 原文是云猴网BI总经理王卫东在帆软大数据上的演讲,以下是整理的文字稿. 在电商领域,我们一般认为所有的数据都可以分为四大类型,流量.销量.商品和会员,这也是最基础的报表需求. 流量部分,可以分为受访.点击.搜索.来源等等.这些流量信息运用的重点在于一些广告包括一些产品的改版以及搜索引擎的相关信息展示.虽然这方面百度.GA可以给你提供这方面的信息,但未必能完…