archer-framework是一个旨在构建RESful风格WEB服务的轻量级框架。
采用面向服务的设计,服务端提供的API可以为PC WEB端、移动端、微信公众号等不同的客户端提供服务。
易于构建前后端分离的应用,客户端和服务端通过服务端对外暴露的RESful API 进行交互,服务端开发人员可以专注于业务逻辑的开发,而客户端开发人员则可以采用自己熟悉的语言来做界面展现。
第三方系统可以方便的调用服务端提供的API,服务端提供的API不仅可以为内部产品进行服务,还可以为第三方系统提供服务。
多种安全策略保障服务的安全性。包括IP控制、UA控制、第三方系统接口调用频率、范围等多种安全策略。
框架采用分模块的设计,扩展性良好,框架使用者可以根据具体的应用场景进行模块的组合以及自定义。
框架内置多种服务,并且大部分都是可选和可配置的。如:安全服务、文件服务、缓存服务、EXCEL导出、短信发送服务、接口测试支持等。
这是一个框架,不是一个所谓的包含用户管理、角色管理、任务调度、流程管理,包含界面的快速开发平台或者说后台管理系统。
@Entitypublic class User extends BaseEntity{ public static final Find<User> find = new Find<User>(User.class); @Id private String id; private String name; private Integer age; public String getId() { return id; } public User setId(String id) { this.id=id; return this; } ...}
public ExecuteResult findList(String name , Integer age){ return success(User.find.query() .where() .eq("name", name) .ge("age", age) .order("name") .findList() );}
// 返回的JSON数据{ resultCode: "SUCCESS", resultMsg: "执行成功", resultCodeExt: null, resultData: [ { name: "archer", age: 28 }, { name: "framework", age: 30 } ]}
public ExecuteResult findPagedList(Integer pageIndex, Integer pageSize,String name ,Integer age){ return success( findPagedList(pageIndex, pageSize, User.find.query() .where() .eq("name", name) .ge("age", age) .order("name") );}
public ExecuteResult store(String name , Integer age){ return success( new User() .setName(name) .setAge(age) .store() );}
public ExecuteResult delete(String id){ return success( new User() .setId(id) .logicalDelete() );}
public ExecuteResult delete(User user){ return success( user.logicalDelete() );}
static String BASE_URL = "/api/v1/internal/system/user/";
@Test public void store() { post(BASE_URL + "store") .form("name", "archer") .form("age", 20) .sign() .send() .toString();}
CF上的一道题,就是求赢的概率。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<iomanip> #include<algorithm> #include<cctype> #include<stack> #include<queue> #include<string> #include<
Archer 是什么? Archer Gameware 是完整的游戏开发组件,不是一般意义上的 Game Engine,我们将其称为“Gameware”,提供功能丰富的客户端游戏引擎以及服务器端解决方案。 目前我们对引擎的功能界定包括: 采用C++编码,完全面向对象的构架 高性能3D实时渲染系统 高性能音频输出系统 室内外场景无缝结合管理器 角色骨骼动画支持 粒子系统,广告牌,灯光映射
archer 项目地址: https://github.com/jly8866/archer 安装docker版本 Pull Docker docker pull hhyo/archer 启动服务 docker run --name archery -v /Users/apbc/Works/code/archer/archer/settings.py:/opt/archer/archer/sett
Architecture不是软件,是关于软件如何设计的重要决策 Architecture不关心所有的决策,而只是关心其中的重要决策:即关系各个部分(模块)的静态关系(功能划分)和动态关系(模块交互) Architecture所要求的原则和决策会体现在Framework当中 Framework不是一个运行系统,而是系统所依赖的一个编码约束(基类和子类)和算法实现(函数调用)的集合 Frame
This guide is about Fieata online character: Archer and Mage. We collect this article just is to give a hand for the players whose job is at two characters. ---The Arhcer--- With the power of the
REST-表述性状态转移(Representational State Transfer)是Roy Fielding博士在2000年他的博士论文《基于网络软件体系结构的构架风格与设计》中提出来的概念,它是一种软件架构风格。采用REST架构风格的Web服务相比复杂的SOAP服务更加简洁、易用。 REST强调从资源的角度来观察整个网络,基于REST的架构是一种面向资源的架构(Resource-Orie
问题内容: 是否有任何Java库允许构建没有任何应用程序服务器框架的简单独立Web服务服务器? 问题答案: Java 6包含JAX-WS,这使得在独立应用程序中托管Web服务非常容易:
Swoole\Coroutine\Server 与 异步风格 的服务端不同之处在于,Swoole\Coroutine\Server 是完全协程化实现的服务器,参考 完整例子。 优点: 不需要设置事件回调函数。建立连接、接收数据、发送数据、关闭连接都是顺序的,没有 异步风格 的并发问题,例如: $serv = new Swoole\Server("127.0.0.1", 9501); //监听连接
方便的创建一个异步服务器程序,支持TCP、UDP、unixSocket 3 种socket类型,支持IPv4和IPv6,支持SSL/TLS单向双向证书的隧道加密。使用者无需关注底层实现细节,仅需要设置网络事件的回调函数即可,例子参考快速启动。 !> 只是Server端的风格是异步的(即所有事件都需要设置回调函数),也是支持协程的,开启了enable_coroutine之后就支持协程了(默认开启),
本文向大家介绍轻量级的Web框架Flask 中模块化应用的实现,包括了轻量级的Web框架Flask 中模块化应用的实现的使用技巧和注意事项,需要的朋友参考一下 Flask是一个轻量级的Web框架。虽然是轻量级的,但是对于组件一个大型的、模块化应用也是能够实现的,“蓝图”就是这样一种实现。对于模块化应用的实现,在Flask 0.2版本中进行了设计。本文暂时不对“蓝图”做详细的介绍,而是先从0.2版本
本文向大家介绍轻量级javascript 框架Backbone使用指南,包括了轻量级javascript 框架Backbone使用指南的使用技巧和注意事项,需要的朋友参考一下 Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用。 借助Backbone 我们可以使用REST的方式来最小化客户端和服务器间的数据传输,
本文向大家介绍前端轻量级MVC框架CanJS详解,包括了前端轻量级MVC框架CanJS详解的使用技巧和注意事项,需要的朋友参考一下 选择正确的库 创建一个JS APP没有好的工具是很有难度的,jQuery只是操作DOM的库,没有提供任何创建APP的基础,这就是为什么我们要一个类似CanJS的专门的库。 CanJS 是一个轻量级的MVC库,提供你创建一个JS APP所需的工具。 CanJS 是一个轻
问题内容: 是否有一个提供发布/订阅模式的Java轻量级框架? 一些理想的功能 支持泛型 向发布者注册多个订阅者 API主要是接口和一些有用的实现 完全不需要内存,持久性和事务保证。 我了解JMS,但这对我来说太过分了。发布/订阅的数据是文件系统扫描的结果,扫描结果被馈送到另一个组件进行处理,然后在将其馈给另一个组件之前进行处理,依此类推。 编辑:所有在同一过程中。bean的PropertyCha