Skip to content

Commit 599ea7d

Browse files
committed
Document:优化 Roadmap 的格式
1 parent ee14a53 commit 599ea7d

File tree

1 file changed

+48
-27
lines changed

1 file changed

+48
-27
lines changed

Roadmap.md

Lines changed: 48 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,34 @@
99
账号 13000002020 密码 123456
1010
http://apijson.org:8000/auto/
1111

12-
* 新增支持 Case
12+
<h4 /> 新增支持 Case
13+
1314
实现远程函数也不方便的 SQL 内字段转换 CASE WHEN THEN ,<br />
1415
暂时还没有想好如何设计。如果是 SQL 原来的写法,则有点繁琐。<br />
1516

16-
* 新增支持 @having&
17+
<h4 /> 新增支持 @having&
18+
1719
来实现内部条件 AND 连接,原来的 @having 由 AND 连接变为 OR 连接,保持 横或纵与 的统一规则。<br />
1820
@having! 必须性不大,可通过反转内部条件来实现,但如果实现简单、且不影响原来的功能,则可以顺便加上。<br />
1921

20-
* 新增支持 @column!
22+
<h4 /> 新增支持 @column!
23+
2124
这个只在 APIJSONFramework 支持,需要配置每个接口版本、每张表所拥有的全部字段,然后排除掉 @column! 的。<br />
2225
可新增一个 VersionedColumn 表记录来代替 HashMap 代码配置。<br />
2326
需要注意的是,可能前端传参里既有 @column 又有 @column! ,碰到这种情况:<br />
2427
如果没有重合字段就忽略 @column! ,只让 @column 生效;<br />
2528
如果有有重合字段,则抛异常,转为错误码和错误信息返回。<br />
2629

27-
* 新增支持 TSQL 的 @explain
30+
<h4 /> 新增支持 TSQL 的 @explain
31+
2832
目前 APIJSON 支持 [Oracle](https://github.com/APIJSON/APIJSON/tree/master/Oracle)[SQL Server](https://github.com/APIJSON/APIJSON/tree/master/SQLServer) 这两种 TSQL 数据库(群友测试 IBM DB2 也行)。<br />
2933
但是 "@explain": true 使用的是 SET STATISTICS PROFILE ON(具体见 AbstrctSQLConfig 和 AbstrctSQLExecutor) <br />
3034
执行后居然是 SELECT 查到的放在默认的 ResultSet,性能分析放在 moreResult,<br />
3135
因为这个问题目前以上两个数据库的性能分析 @explain 实际并不可用,需要改用其它方式或解决现有方式的 bug。<br />
3236

3337

38+
<h4 /> 新增支持分布式
3439

35-
* 新增支持分布式
3640
"@url": "http://apijson.cn:8080/get"
3741
```js
3842
{
@@ -51,7 +55,8 @@ http://apijson.org:8000/auto/
5155
或许可以加一个 ~ 前缀表示异步?例如 "@url": "\~http://apijson.cn:8080/get",由调用方保证没有被下方对象依赖。<br />
5256

5357

54-
* 新增支持 Union
58+
<h4 /> 新增支持 Union
59+
5560
虽然可以通过 INNER JOIN + 条件 OR 连接来替代它的功能,但没法达到它能用索引的性能。<br />
5661
支持 UNION 很有必要,但 UNION ALL 几乎没有需求,如果实现简单、且不影响原来的功能,则可以顺便加上。
5762

@@ -82,7 +87,8 @@ LIMIT 10 OFFSET 0
8287
```
8388

8489

85-
* 新增支持 With
90+
<h4 /> 新增支持 With
91+
8692
可以减少子查询执行次数,提高性能。
8793
```js
8894
{ //看看关注的人最近有什么动态(分享、评论)
@@ -135,37 +141,45 @@ SELECT * FROM `sys`.`Comment` WHERE ( (`userId` IN `sql` ) ) ORDER BY `date` DES
135141
APIJSON 提供了各种安全机制,可在目前的新增或改进。
136142

137143

138-
* 防越权操作
144+
<h4 /> 防越权操作
145+
139146
目前有 RBAC 自动化权限管理。<br />
140147
APIJSONORM 提供 [@MethodAccess](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/MethodAccess.java) 注解来配置 <br />
141148
APIJSONFramework 则使用 [Access 表](https://github.com/APIJSON/APIJSON/blob/master/MySQL/single/sys_Access.sql) 记录来配置 <br />
142149
[AbstractVerifier](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java) 中,假定真实、强制匹配。 <br />
143150

144151

145-
* 防 SQL 注入
152+
<h4 /> 防 SQL 注入
153+
146154
目前有 预编译 + 白名单 校验机制。具体见 [AbstractSQLExecutor](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java)[AbstractSQLConfig](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java)
147155

148-
* 防恶意复杂请求
156+
<h4 /> 防恶意复杂请求
157+
149158
目前有限流机制,getMaxQueryCount, getMaxUpdateCount, getMaxObjectCount, getMaxSQLCount, getMaxQueryDepth 等。 <br />
150159
https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/Parser.java
151160

152161

153162
### 优化性能
154-
* 解析 JSON
163+
164+
<h4 /> 解析 JSON
165+
155166
优化 [AbstractParser](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractParser.java)[AbstractObjectParser](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java) 解析 JSON 性能。
156167

157-
* 封装 JSON
168+
<h4 /> 封装 JSON
169+
158170
优化 [AbstractSQLExecutor](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java) 封装 JSON 性能。
159171

160-
* 拼接 SQL
172+
<h4 /> 拼接 SQL
173+
161174
优化 [AbstractSQLExecutor](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java) 拼接 SQL 性能。<br />
162-
#完善功能 中 Union 和 With 也是优化 SQL 性能的方式。
175+
[完善功能](https://github.com/APIJSON/APIJSON/blob/master/Roadmap.md#%E5%AE%8C%E5%96%84%E5%8A%9F%E8%83%BD) 中 Union 和 With 也是优化 SQL 性能的方式。
176+
177+
<h4 /> 读写缓存
163178

164-
* 读写缓存
165179
[AbstractSQLExecutor](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractParser.java) 使用了 HashMap<String, JSONObject> queryResultMap 存已解析的对象、总数等数据。<br />
166180
[AbstractSQLExecutor](https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java) 使用了 HashMap<String, JSONObject> cacheMap 存已通过 SQL 查出的结果集。<br />
167181

168-
* ... //欢迎补充
182+
<h4 /> ... //欢迎补充
169183

170184

171185

@@ -174,15 +188,17 @@ APIJSON 代码经过商业分析软件 [源伞Pinpoint](https://www.sourcebrella
174188
https://github.com/APIJSON/APIJSON/issues/48 <br />
175189
但我们需要再接再厉,尽可能做到 99.999% 可靠度,降低使用风险,让用户放心和安心。
176190

177-
* 减少 Bug
191+
<h4 /> 减少 Bug
192+
178193
#### 1.[APIAuto](https://github.com/TommyLemon/APIAuto) 上统计的 bug
179194
账号 13000002000 密码 123456
180195
http://apijson.org:8000/auto/
181196

182197
#### 2.其它发现的 Bug
183198
https://github.com/APIJSON/APIJSON/issues?q=is%3Aissue+is%3Aopen+label%3Abug
184199

185-
* 完善测试
200+
<h4 /> 完善测试
201+
186202
1.在 [APIAuto](https://github.com/TommyLemon/APIAuto)-机器学习自动化接口管理平台 上传更多、更全面、更细致的测试用例、动态参数等
187203
http://apijson.org:8000/auto/
188204

@@ -191,7 +207,7 @@ https://gitee.com/TommyLemon/UnitAuto
191207

192208

193209
### 完善文档
194-
* 中文文档
210+
<h4 /> 中文文档
195211

196212
#### 1.通用文档
197213
https://github.com/APIJSON/APIJSON/blob/master/Document.md
@@ -202,7 +218,8 @@ https://github.com/APIJSON/APIJSON/tree/master/APIJSON-Java-Server
202218
#### ... //欢迎补充
203219

204220

205-
* English Document
221+
<h4 /> English Document
222+
206223
Translation for Chinese document.
207224
https://github.com/APIJSON/APIJSON/blob/master/README-English.md
208225
https://github.com/APIJSON/APIJSON/blob/master/Document-English.md
@@ -211,17 +228,19 @@ https://github.com/ruoranw/APIJSONdocs
211228

212229

213230
### 丰富周边
214-
* 新增或完善各种语言 ORM 库
231+
<h4 /> 新增或完善各种语言 ORM 库
232+
215233
Go, Kotlin, Ruby 等。<br />
216234
https://github.com/APIJSON/APIJSON#%E7%94%9F%E6%80%81%E9%A1%B9%E7%9B%AE <br />
217235

218-
* 新增或完善 Demo
236+
<h4 /> 新增或完善 Demo
237+
219238
JavaScript 前端,TypeScript 前端,微信等小程序,<br />
220239
Android 客户端,iOS 客户端,C# 游戏客户端等。<br />
221240
Java, C#, Node, Python 等后端 Demo 及数据。<br />
222241
https://github.com/APIJSON/APIJSON
223242

224-
* 新增扩展
243+
<h4 /> 新增扩展
225244

226245
#### 1.基于或整合 APIJSONORM 或 APIJSONFramework 来实现的库/框架
227246

@@ -237,15 +256,17 @@ https://github.com/APIJSON/APIJSON
237256

238257

239258
### 推广使用
240-
* 为 APIJSON 编写/发表 博客/文章/资讯 等
259+
<h4 /> 为 APIJSON 编写/发表 博客/文章/资讯 等
260+
241261
https://github.com/APIJSON/APIJSON#%E7%9B%B8%E5%85%B3%E6%8E%A8%E8%8D%90
242262

243263

244-
* 登记正在使用 APIJSON 的公司或项目
264+
<h4 /> 登记正在使用 APIJSON 的公司或项目
265+
245266
https://github.com/TommyLemon/APIJSON/issues/73
246267

247-
* 在社交技术群、论坛等聊天或评论时推荐 APIJSON
268+
<h4 /> 在社交技术群、论坛等聊天或评论时推荐 APIJSON
248269

249-
* ... //欢迎补充
270+
<h4 /> ... //欢迎补充
250271

251272

0 commit comments

Comments
 (0)