为您找到搜索结果:1775个
当当网开源Dubbox,扩展Dubbo服务框架支持REST风格远程调用
当当网近日开源了Dubbox项目,可为Dubbo服务框架提供多项扩展功能,包括REST风格远程调用、Kryo/FST序列化等等。当当网架构部和技术委员会架构师沈理向InfoQ中文站介绍了Dubbox项目,开发背景和主要特点描述如下:Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即DubboeXtensions)。主要的新功能包括:支持REST风格远程调用(HTTP+JSON/XML):基于非常成熟的JBossRestEasy框架,在dubbo中实现了REST风格(HTTP+JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的OpenAPI、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。另外,REST调用也达到了比较高的性能,在基准测试下,HTTP+JSON与Dubbo2.x默认的RPC...
Jersey框架一:Jersey RESTful WebService框架简介
Jersey系列文章:Jersey框架一:JerseyRESTfulWebService框架简介Jersey框架二:Jersey对JSON的支持Jersey框架三:Jersey对HTTPS的支持 开发RESTfulWebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务为了简化使用JAVA开发RESTfulWebService及其客户端,一个轻量级的标准被提出:JAX-RSAPIJerseyRESTfulWebService框架是一个开源的、产品级别的JAVA框架,支持JAX-RSAPI并且是一个JAX-RS(JSR311和JSR339)的参考实现Jersey不仅仅是一个JAX-RS的参考实现,Jersey提供自己的API,其API继承自JAX-RS,提供更多的特性和功能以进一步简化RESTfulservice和客户端的开发 Maven版本:3.1.0Jersey版本:1.18JDK版本:1.7.0_65...
分布式服务框架:Zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步,配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等。Zookeeper总体结构Zookeeper服务自身组成一个集群(2n+1个服务允许n个失效)。Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。Zookeeper逻辑图如下:客户端可以连接到每个server,每个server的数据完全相同。每个follower都和leader有连接,接受leader的数据更新操作。Server记录事务日志和快照到持久存...
《腾讯敏捷框架TAPD》研究
TAPD采用FDD模式开发,FDD即特征驱动开发。FDD的核心是面向产品的功能点,但这个功能点是从客户角度出发的,并不是从系统角度出来的。功能点是用一个短句描述出一个业务需求,而这个业务需求的粒度是按开发时间来衡量的(一般不超过两个星期)。特征与用例的相似之处是,两者都可以用短句(动宾短语)来描述;两者的不同之处在于,用例用UML的用例图来表示,而特征是用四色原型(类图)来表示。注意,TAPD只是参考了FDD,不是完全的FDD。所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。产品经理这个角色有点Scrum的ProductOwner的味道。但产品特性和backlog相差甚远,因为产品特性只是一个动宾短语,而backlog却是一个完整的故事(story),包括一系列的元素:ID(统一标示)Name(名称)Imp(重要程度)Est(初始估算)Howtodemo(如何做演示)Notes(其它) TAPD参考了Scrum,项目管理过程同Scrum的过程比较类似,包括每天的晨会、迭代、timebox、每个迭代之后会有showcase、回顾总结等。Scrum中的tim...
java 框架Nutz
Dao--针对 JDBC 的薄封装,事务模板,无缓存Ioc--JSON风格的配置文件,声明时切片支持Mvc--注解风格的配置,内置多文件上传功能Json--解析和渲染Castors--Java对象类型转换Lang--更简洁的Java函数以及更丰富的反射支持Aop--轻便快速的切面编程支持Plugin--轻便的插件机制Resource--资源扫描它所有的功能均不依赖第三方jar包这就意味着:如果一个Web应用,你在WEB-INF/lib下只需要放置一个nutz.jar就够了当然你要使用连接池,数据库驱动等功能,还需要自行添置jar包。如果你觉得Hibernate控制比较繁琐,iBatis编写SQL又比较麻烦,Nutz.Dao 专为你设计。如果你觉得在多个服务器部署或者修改Spring配置文件很麻烦,Nutz.Ioc 专为你设计如果你觉得直接写XML配置文件很麻烦,可视化编辑器又没控制感,Nutz.Mvc 专为你设计如果你觉得JSON转换很麻烦(要写超过一行以上的代码),Nutz.Json 专为你设计如果你觉得Java语法不如Ru...
panabit允许一台代理服务器只能收QQ企业邮箱,和内网ip通讯,限制除了QQ企业邮箱以外的所有内容规则
环境:可访公网网的内网网段:192.168.0.0/24(员工网段) 192.168.2.0/24(服务器网段)两个内网网段。不能访问公网的内网网段:192.168.4.0/244网段利用foxmail设置代理服务器通过pop协议收腾讯企业邮箱的邮件(服务器ip和端口号是113.108.16.119:995)。代理服务器IP:192.168.2.91附上panabit的配置,注意策略的第100和101的规则。"开发组"策略用于对可访公网网的内网网段进行限速,就不列举出来了。流量控制策略:策略调度表编号是否有效在线用户日期时刻策略组添加时段>>1有效不限每周:星期一~星期五07:30:00~20:00:00开发部编辑 删除 2有效不限每周:星期一~星期日00:00:00~23:59:59研发代理上网编辑 删除 研发代理上网策略组:序号线路数据流向内网地址外网地址协议应用共享移动设备动作单IP限速DSCP优先级匹配后添加策略>>&nb...
Web service 框架比较CXF xfire aisx2 aisx
Web服务框架。它还体现了从Axis1.x系列获得的经验和最近两年在Web服务领域的发展。推出Axis2的主要原因之一是从速度和内存方面获得更好的性能——不过还添加了一些新特性和功能。大部分新特性都是为了提高Axis2的易用性,并同时保留通过各种方式扩展功能的空间。大部分新功能所添加到的主要领域如下所示:新XML对象模型(AXIOM) 与Axis1.x相比,Axis2构建于全新的体系结构之上。引入Axis2的主要原因之一是获得合适的XML处理模型。Axis1.x使用DOM作为其XML表示机制,但使用DOM的缺点是,需要在内存中保存完整的对象层次结构(与传入消息对应)。对于小消息,这将不是问题,但对于大型消息就是问题了。为了克服此问题,Axis2引入了新的XML表示形式作为其基础。基于消息传递的核心 Axis2核心是纯SOAP处理引擎,并不了解数据绑定、传输、WSDl等内容。Axis2核心的主要功能是处理传输消息,并将其交付给目标应用程序。与Axis1.x一样,Axis2也具有用于扩展其主要功能的处理程序概念。Axis1.x并没有异步Web服务调用的概念,它完全绑定到...
分布式服务框架ZooKeeper
Zookeeper分布式服务框架是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。第一步:主机名称到IP地址映射配置vim/etc/hosts192.168.1.85zookper_01192.168.1.86zookper_02192.168.1.87zookper_03第二步:安装JDK.tar-zxvfjdk1.6.0_45.tar.gz-C/apps/product/ln-s/apps/product/jdk1.6.0_45javavim/etc/profileJAVA_HOME=/apps/product/javaCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarPATH=$JAVA_HOME/bin:$PATHexportJAVA_HOMECLASSPATHPATH查看jdk版本:java-version第三步:安装Zookeepertar-zxvfzookeeper-3.3.6.tar.gz-C...
使用Struts框架,实现用户登陆功能
前言:本篇文章是本人这周学习的一个小结,在自我总结的同时,希望也能够给其他同学带来一点帮助。本文主要知识是参照书本上的知识点以及网上其他博客文章,在上机操练后的所得,具体源码主要来自http://blog.csdn.net/lovesummerforever/article/details/17348871。本文主要包括以下三点:MVC设计模式基本概念、Struts工作原理、使用Struts框架实现用户登陆具体实例操作。 一、 MVC设计模式 在了解MVC模式之前,先要弄清楚什么是设计模式。 设计模式是一套被反复使用、多数人知晓的、代码设计经验的总结,模式必须是典型问题的解决方案。设计模式的作用是解决一类问题的成功经验,是为了可重用代码、让代码更容易被他人理解、保证代码的可靠性。 MVC是一种流行的软件设计模式,这种模式将应用程序实现分为模型(Model)、视...
框架基础之Hibernate简介
框架基础之Hibernate简介1、什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序中使用,也可以在Servlet或JSP的Web应用中。 总之,可以简单的理解为Hibernate是基于JDBC技术基础上衍生而来,并在此基础上使得由原来直接操纵数据库变成直接操作映射数据表后生成的Java类,从而实现对象编程思维来操纵数据库。 2、Hibernate理论基础概要 Hibernate是一个JDO(JavaDataObject,Java对象持久化)工具。它的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样我们就只需要操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(...
Python学习笔记_04:Django框架简介
/目录1什么是Django?2Django框架的开发环境搭建3Django操作MySql数据库简介4功能强大的Django管理工具应用 Django是应用于Web开发的高级动态语言框架,最初起源于美国芝加哥的Python用户组,具有新闻从业背景的AdrianHolovaty是Django框架的主要开发者。在Adrian的带领下,Django小组致力于为Web开发者贡献一款高效、完美的Python框架,并且在BSD(BerkeleySoftwareDistribution,伯克利软件套装)开放源代码协议许可下授权给开发者自由使用。 Django拥有完善的模板机制、对象关系映射机制以及用于动态创建后台管理界面的功能。使用Django框架来开发Web应用,可以快速设计和开发具有MVC层次的Web应用。Django框架是从实际项目中诞生出来的,该框架提供的功能特别适合于动态网站的建设,特别是管理接口。 Django框架作为一种快速的网络框架,具有以下特点:l 组件的合理集成l 对象关系映射和多数数据库支持l 简洁的URL设...
Python基于Flask框架配置依赖包信息的项目迁移部署小技巧
一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上。 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚拟环境中配置依赖包信息不同。如果重新迁移到一个新的虚拟环境后,又重新来一个一个的配置依赖包,那将会很浪费时间。 下面介绍一个简单易用的技巧,也是我自己在书本上看到的,以防每次配置需要翻阅书籍的麻烦,所以单自写一篇文章作记录,方便自己以后查看,也希望给其他学习的同学有点帮助。 完成项目相关代码编写后,打开本机CMD,进入项目虚拟环境Scripts目录下,具体操作如下: 输入cdE:WorkPlaceGit_pythonMyDemo-tenvenvScripts进入到上面命令指定目录。 然后输入命令activate (PS:此命令会在路径前显示虚拟环境名称,比如我的虚拟环境名称是venv,则会显示(venv))。 然后输入命令cd..再次输入命令cd.. (PS:cd...
基于Python3.6使用Django框架连接mysql数据库的驱动模块安装解决办法
使用PyMySQL模块,直接使用pipinstallpymysql即可。参考文章:https://www.cnblogs.com/wcwnina/p/8719482.html原文内容:python3不支持MySQLdb,可用pymysql代替。cmd安装pymysql:pipinstallpymysql。在项目文件夹下的_init_.py添加如下代码即可。importpymysqlpymysql.install_as_MySQLdb()然后在Terminal中执行数据库迁移命令:pythonmanage.pymakemigrationspythonmanage.pymigrate 本文强烈建议使用办法2来实现。因为使用办法1中的pymysql模块,在项目后续操作mysql数据库中可能会出现一些因为模块问题而很难解决的bug。 此处建议使用mysqlclient模块。要注意,python3是不能直接使用pipinstallmysqlclient来安装mysqlclient的,但是Python2可以这样操作实现。那么Python3如何正确安装好m...
TensorFlow实战Google深度学习框架1-4章学习笔记
/目录第1章深度学习简介第2章TensorFlow环境搭建第3章TensorFlow入门第4章深层神经网络 对于许多机器学习问题来说,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要很多的时间和精力,有时甚至需要整个领域数十年的研究投入。 深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征。并使用这些组合特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联,还能自动从简单特征中提取更加复杂的特征。 深度学习在很多领域都有非常出色的表现,例如在计算机视觉、语音识别、自然语言处理和人机博弈等。 TensorFlow主要依赖两个工具包——ProtocolBuffer和Bazel。 ProtocolBuffer是谷歌开发的处理结构化数据的工具,和XML或者JSON格式的数据有较大的区别。首先ProtocolBuffer序列化之后得到的数据不是可读的字符串,而是二进制流。其次,XML或JSON格式的数据信息都包含在了序...
TensorFlow实战Google深度学习框架5-7章学习笔记
/目录第5章MNIST数字识别问题第6章图像识别与卷积神经网络第7章图像数据处理 MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练数据,10000张图片作为测试数据。以下代码是使用TensorFlow读取MNIST数据集,如果本地不存在则自动下载到本地指定的目录,并打印数据集的训练集、验证集和测试集的维度大小。fromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.read_data_sets("./MNIST_data/",one_hot=True)print("Trainingdatasize:",mnist.train.num_examples)print("Validatingdatasize:",mnist.validation.num_examples)print("Testingdatasize:",mnist.test.num_exa...