Skip to content

Commit 6f8eb53

Browse files
author
bajins
committed
docs: 更新多个文档中的资源链接和分类信息
- 在 DBS/PostgreSQL.md 中添加了 pgagroal 连接池工具 - 在 Go 第三方库文档中添加了 frobware、juju 和 silenceper/pool 连接池 - 在 IDE/README.md 中重新组织了测试工具分类,添加了多种性能测试和API测试工具 - 在 Java 第三方库文档中添加了 fizzed 相关工具 - 在 Java ORM 文档中补充了 JDBC 驱动和连接池的详细信息 - 在 PL/C.md 中移除了 wrk HTTP 测试工具 - 在 PL/Rust.md 中添加了 bb8 连接池 - 在 Shell/README.md 中完善了 Android SSH 客户端列表 - 在 System/Android.md 中添加了 selendroid 自动化工具 - 在 System/IOS.md 中将 raycast 更改为 alfredapp - 在 System/Windows 软件.md 中重新整理了快捷启动工具和内存监控工具分类 - 在 Web/JavaScript 第三方库文档中添加了 pactum 测试工具
1 parent 0eb0382 commit 6f8eb53

17 files changed

+179
-72
lines changed

DBS/PostgreSQL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
* [https://github.com/achristmascarl/rainfrog](https://github.com/achristmascarl/rainfrog)
3030
* [https://github.com/lesovsky/pgcenter](https://github.com/lesovsky/pgcenter)
3131
* 连接池工具 [https://github.com/pgbouncer/pgbouncer](https://github.com/pgbouncer/pgbouncer)
32+
* [https://github.com/agroal/pgagroal](https://github.com/agroal/pgagroal)
3233
* 扩展Rust开发框架 [https://github.com/tcdi/pgx](https://github.com/tcdi/pgx)
3334
* 迁移 [https://github.com/sbdchd/squawk](https://github.com/sbdchd/squawk)
3435
* 分片水平扩展 [https://github.com/pg-sharding/spqr](https://github.com/pg-sharding/spqr)

Go/Go第三方库.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
+ [https://github.com/frobware](https://github.com/frobware)
4848
+ [https://github.com/juju](https://github.com/juju)
4949
+ PostgreSQL [https://github.com/jackc/pgx](https://github.com/jackc/pgx)
50+
+ 连接池 [https://github.com/silenceper/pool](https://github.com/silenceper/pool)
5051

5152

5253

IDE/README.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -287,31 +287,50 @@
287287

288288
## 测试
289289

290+
> 性能测试主要有两种类型:
291+
>> 负载测试:检查系统在处理其设计承受的流量或负载时的性能。它能发现任何薄弱环节,并确保能够管理预期的用户数量。
292+
>>
293+
>> 压力测试:在这里,系统被推到极限之外,看看哪里会出问题。这有助于判断当情况非常激烈时的稳定性。
294+
290295
* [https://github.com/topics/testing](https://github.com/topics/testing)
291296
* [https://github.com/topics/test-automation](https://github.com/topics/test-automation)
292297
* [https://github.com/jumper2014/awesome-test-tool](https://github.com/jumper2014/awesome-test-tool)
293298

294299

295300
+ [https://github.com/mountain-loop/yaak](https://github.com/mountain-loop/yaak)
296-
+ [https://github.com/usebruno/bruno](https://github.com/usebruno/bruno)
297301
+ [https://github.com/hoppscotch/hoppscotch](https://github.com/hoppscotch/hoppscotch)
298302
+ [https://hoppscotch.io](https://hoppscotch.io)
299303
+ [https://hoppscotch.com/download](https://hoppscotch.com/download)
300304
+ [https://github.com/ling7334/hoppscotch-backend-go](https://github.com/ling7334/hoppscotch-backend-go)
301305
+ ~~[https://github.com/postwoman-team/postwoman](https://github.com/postwoman-team/postwoman)~~
302-
+ [https://github.com/apache/jmeter](https://github.com/apache/jmeter)
306+
+ [https://github.com/usebruno/bruno](https://github.com/usebruno/bruno)
307+
+ 负载/压力测试 [https://github.com/apache/jmeter](https://github.com/apache/jmeter)
303308
+ [https://github.com/Blazemeter](https://github.com/Blazemeter)
304309
+ Apache Benchmark `apt-get install apache2-utils` / `yum install httpd-tools`
305310
+ [https://www.apachehaus.com](https://www.apachehaus.com)
306311
+ [https://www.apachelounge.com](https://www.apachelounge.com)
307312
+ BitNami WAMP Stack
308313
+ WampServer
309314
+ XAMPP
315+
+ [https://github.com/mcdcorp/opentest](https://github.com/mcdcorp/opentest)
316+
+ [https://github.com/zebrunner/carina](https://github.com/zebrunner/carina)
317+
+ [https://github.com/grafana/k6](https://github.com/grafana/k6)
318+
+ [https://github.com/tsenart/vegeta](https://github.com/tsenart/vegeta)
319+
+ [https://github.com/artilleryio/artillery](https://github.com/artilleryio/artillery)
310320
+ [https://github.com/gatling/gatling](https://github.com/gatling/gatling)
311321
+ [https://github.com/locustio/locust](https://github.com/locustio/locust)
312322
+ [https://github.com/Blazemeter/taurus](https://github.com/Blazemeter/taurus)
313323
+ [https://github.com/processone/tsung](https://github.com/processone/tsung)
314-
+ [https://github.com/postmanlabs](https://github.com/postmanlabs)
324+
+ [https://sourceforge.net/projects/grinder](https://sourceforge.net/projects/grinder)
325+
+ [https://github.com/robotframework/robotframework](https://github.com/robotframework/robotframework)
326+
+ [https://github.com/EZLippi/WebBench](https://github.com/EZLippi/WebBench)
327+
+ [https://github.com/pradeep-flood/element](https://github.com/pradeep-flood/element)
328+
+ [https://github.com/perusio/httpload](https://github.com/perusio/httpload)
329+
+ [https://github.com/JoeDog/siege](https://github.com/JoeDog/siege)
330+
+ [https://github.com/yandex/yandex-tank](https://github.com/yandex/yandex-tank)
331+
+ [https://github.com/wg/wrk](https://github.com/wg/wrk)
332+
+ [https://github.com/giltene/wrk2](https://github.com/giltene/wrk2)
333+
+ 综合测试 [https://github.com/postmanlabs](https://github.com/postmanlabs)
315334
+ [https://www.getpostman.com/apps](https://www.getpostman.com/apps)
316335
+ [https://dl.pstmn.io/download/latest/win64](https://dl.pstmn.io/download/latest/win64)
317336
+ [https://github.com/topics/postman](https://github.com/topics/postman)
@@ -338,7 +357,7 @@
338357
+ [https://github.com/Postcatlab/postcat](https://github.com/Postcatlab/postcat)
339358
+ [https://github.com/Apipost-Team](https://github.com/Apipost-Team)
340359
+ [https://www.apipost.cn](https://www.apipost.cn)
341-
+ [https://github.com/apifox](https://github.com/apifox)
360+
+ [https://github.com/apifox](https://github.com/apifox) 内存占用>1G
342361
+ [https://gitee.com/apifox](https://gitee.com/apifox)
343362
+ [https://www.apifox.cn](https://www.apifox.cn)
344363
+ [https://github.com/yapi-pro/yapi](https://github.com/yapi-pro/yapi)
@@ -357,17 +376,13 @@
357376
+ [https://www.httpmaster.net](https://www.httpmaster.net)
358377
+ [https://github.com/Inflectra](https://github.com/Inflectra)
359378
+ [https://github.com/assertible](https://github.com/assertible)
360-
+ [https://github.com/grafana/k6](https://github.com/grafana/k6)
361379
+ 命令行 [https://github.com/darrenburns/posting](https://github.com/darrenburns/posting)
362380
+ vREST [https://github.com/Optimizory](https://github.com/Optimizory)
363381
+ LoadRunner [https://www.microfocus.com/zh-cn/products#all-L](https://www.microfocus.com/zh-cn/products#all-L)
364382
+ [https://liushilive.github.io/github_exercise_performance_testing](https://liushilive.github.io/github_exercise_performance_testing)
365383
+ [性能测试入门——LoadRunner使用初探](https://zhuanlan.zhihu.com/p/24812449)
366384
+ QTP [https://www.microfocus.com/zh-cn/products#all-U](https://www.microfocus.com/zh-cn/products#all-U)
367385
+ IDEA 的`Tools`菜单下有`HTTP Client`可替代postman
368-
+ 压测 [https://github.com/EZLippi/WebBench](https://github.com/EZLippi/WebBench)
369-
+ [https://github.com/perusio/httpload](https://github.com/perusio/httpload)
370-
+ [https://github.com/JoeDog/siege](https://github.com/JoeDog/siege)
371386
+ 模拟API服务 [https://github.com/mockoon/mockoon](https://github.com/mockoon/mockoon)
372387
+ [https://github.com/wiremock](https://github.com/wiremock)
373388
+ [https://github.com/ray-d-song/faker-server](https://github.com/ray-d-song/faker-server)

Java/Java第三方库.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@
8282
- 物联网 [https://github.com/jetlinks](https://github.com/jetlinks)
8383
- 元数据和治理 [https://github.com/odpi/egeria](https://github.com/odpi/egeria)
8484
- [https://github.com/JNOSQL](https://github.com/JNOSQL)
85+
- CL [https://github.com/fizzed/blaze](https://github.com/fizzed/blaze)
86+
- [https://github.com/fizzed/jsync](https://github.com/fizzed/jsync)
8587
- 解析命令行参数 [http://github.com/cbeust/jcommander](http://github.com/cbeust/jcommander)
8688
- 内嵌Python [https://github.com/invesdwin/invesdwin-scripting](https://github.com/invesdwin/invesdwin-scripting)
8789
- [https://github.com/py4j/py4j](https://github.com/py4j/py4j)

Java/ORM.md

Lines changed: 78 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
* [http://java-source.net/open-source/sql-clients](http://java-source.net/open-source/sql-clients)
1919
* JPA标准API [https://github.com/Blazebit/blaze-persistence](https://github.com/Blazebit/blaze-persistence)
2020
* 链式SQL框架 [https://github.com/jOOQ](https://github.com/jOOQ)
21+
* [https://github.com/jenetics/facilejdbc](https://github.com/jenetics/facilejdbc)
22+
* [https://github.com/eclipse-vertx/vertx-sql-client](https://github.com/eclipse-vertx/vertx-sql-client)
2123
* [https://github.com/querydsl/querydsl](https://github.com/querydsl/querydsl)
2224
* [https://github.com/BatooOrg/BatooJPA](https://github.com/BatooOrg/BatooJPA)
2325
* [https://github.com/aaberg/sql2o](https://github.com/aaberg/sql2o)
@@ -79,13 +81,76 @@
7981

8082

8183

84+
## JDBC驱动
85+
86+
- [https://github.com/pgjdbc/pgjdbc](https://github.com/pgjdbc/pgjdbc)
87+
- [https://github.com/xerial/sqlite-jdbc](https://github.com/xerial/sqlite-jdbc)
88+
- [https://github.com/arthurblake/log4jdbc](https://github.com/arthurblake/log4jdbc)
89+
90+
91+
**注意使用的MySQL Connector/J驱动**
92+
93+
- `org.gjt.mm.mysql.Driver` 用于`3.x`版本之前,在`5.1.47`以上版本不存在该类,由一个名为MM (Monty's MySQL) 的项目开发的,该项目后来被Sun Microsystems收购
94+
- `com.mysql.jdbc.Driver` 用于`5.1.6`版本之前,在MySQL AB(后被Oracle Corporation收购)接手并继续开发JDBC驱动之后使用的
95+
- `com.mysql.cj.jdbc.Driver` 用于`5.1.6`版本之后
96+
97+
> 从Java 6 `JDBC 4.0`开始,显式加载驱动类的步骤`Class.forName(…)`通常是不必要的,因为JDBC服务提供者机制会自动加载驱动
98+
99+
100+
101+
**URL及参数**
102+
103+
* [(https://mysql-net.github.io/MySqlConnector/connection-options]((https://mysql-net.github.io/MySqlConnector/connection-options)
104+
* [https://mysqlconnector.net/connection-options](https://mysqlconnector.net/connection-options)
105+
106+
> `jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false`
107+
> `&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai`
108+
109+
| 参数名称 | 参数说明 | 缺省值 | 最低版本要求 |
110+
|----------------------- |--------------------------------------------------------------------------------- |-------- |-------------- |
111+
| user | 数据库用户名(用于连接数据库) | | 所有版本 |
112+
| password | 用户密码(用于连接数据库) | | 所有版本 |
113+
| useUnicode | 是否使用Unicode字符集,使用参数characterEncoding,本参数值必须设置为true | FALSE | 1.1g |
114+
| characterEncoding | 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk、UTF-8 | FALSE | 1.1g |
115+
| autoReconnect | 当数据库连接异常中断时,是否自动重新连接? | FALSE | 1.1 |
116+
| autoReconnectForPools | 是否使用针对数据库连接池的重连策略 | FALSE | 3.1.3 |
117+
| failOverReadOnly | 自动重连成功后,连接是否设置为只读? | TRUE | 3.0.12 |
118+
| maxReconnects | autoReconnect设置为true时,重试连接的次数 | 3 | 1.1 |
119+
| initialTimeout | autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 | 2 | 1.1 |
120+
| connectTimeout | 和数据库服务器建立socket连接时的超时,单位:毫秒 | 0 | 3.0.1 |
121+
| socketTimeout | socket操作(读写)超时,单位:毫秒。 0表示永不超时 | 0 | 3.0.1 |
122+
| useSSL | 是否进行ssl连接 | | |
123+
| zeroDateTimeBehavior | 把零值日期转换为`null` | | |
124+
| serverTimezone | `GMT%2B8` `%2B``+`的转义字符,其实就是`GMT+8`('+8:00'),代表东八区`Asia/Shanghai` | | |
125+
126+
- `useTimeZone` 为true时,会开启服务器和客户端之间的时区转换,只有`useLegacyDatetimeCode = true`时才回生效
127+
- `useLegacyDatetimeCode` 默认为true,为false时: `useTimezone`, `useJDBCCompliantTimezoneShift`, `useGmtMillisForDatetimes`, `useFastDateParsing` 这几个参数都会无效
128+
129+
130+
131+
132+
## 连接池
133+
134+
> 其主要目的是减少执行数据库连接和读写作的开销。在最基本的层面,连接池是一种数据库连接缓存实现
135+
136+
137+
**为什么要连接池?**
138+
139+
> 如果我们分析典型数据库连接生命周期中涉及的步骤顺序,就能明白原因:
140+
1. 使用数据库驱动打开数据库连接
141+
2. 打开 TCP 套接字以读写数据
142+
3. 通过套接字读取/写入数据
143+
4. 关闭连接
144+
5. 关闭套接字
145+
> 显而易见,**数据库连接(创建套接字连接)是相当昂贵的操作**,因此在所有可能的使用场景中都应尽量减少(在极端情况下,最好避免)。
146+
>
147+
> 连接池仅仅实现一个数据库连接容器,允许我们重用多个现有连接,就能有效节省大量昂贵数据库访问的成本。这提升了我们数据库驱动应用的整体性能。
82148
83-
**连接池**
84149

85150
+ [https://github.com/topics/connection-pool](https://github.com/topics/connection-pool)
86151

87152

88-
- [https://github.com/brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP)
153+
- [https://github.com/brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP)
89154
- [https://github.com/alibaba/druid](https://github.com/alibaba/druid)
90155
- [https://alphahinex.github.io/2022/05/15/use-druid-to-transform-sql](https://alphahinex.github.io/2022/05/15/use-druid-to-transform-sql)
91156
- [记一次 Druid 超时配置的问题 → 引发对 Druid 时间配置项的探究](https://www.cnblogs.com/youzhibing/p/16458860.html)
@@ -96,19 +161,27 @@
96161
- [https://github.com/apache/commons-dbcp](https://github.com/apache/commons-dbcp)
97162
- [https://github.com/apache/commons-pool](https://github.com/apache/commons-pool)
98163
- [https://github.com/agroal/agroal](https://github.com/agroal/agroal)
99-
- [https://github.com/vibur](https://github.com/vibur)
100164
- [https://github.com/Chris2018998/BeeCP](https://github.com/Chris2018998/BeeCP)
101-
- [https://sourceforge.net/projects/proxool](https://sourceforge.net/projects/proxool)
165+
- [https://github.com/vibur/vibur-dbcp](https://github.com/vibur/vibur-dbcp)
166+
- [https://github.com/proxool/proxool](https://github.com/proxool/proxool)
167+
- [https://sourceforge.net/projects/proxool](https://sourceforge.net/projects/proxool)
102168
- [https://github.com/swaldman/c3p0](https://github.com/swaldman/c3p0)
103169
- [https://sourceforge.net/projects/c3p0](https://sourceforge.net/projects/c3p0)
170+
- [https://github.com/metabase/connection-pool](https://github.com/metabase/connection-pool)
171+
- [https://github.com/jakubBone/Connection-Pool-Library](https://github.com/jakubBone/Connection-Pool-Library)
104172
- [https://github.com/wwadge/bonecp](https://github.com/wwadge/bonecp)
173+
- [https://github.com/davidmoten/rxjava2-jdbc](https://github.com/davidmoten/rxjava2-jdbc)
174+
- [https://github.com/CarmJos/EasySQL](https://github.com/CarmJos/EasySQL)
175+
- [https://sourceforge.net/projects/smartpool](https://sourceforge.net/projects/smartpool)
176+
- [https://github.com/chdh/miniconnectionpoolmanager](https://github.com/chdh/miniconnectionpoolmanager)
105177

106178

107179
* [https://github.com/vladmihalcea/flexy-pool](https://github.com/vladmihalcea/flexy-pool)
108180

109181

110182

111-
**Transaction**
183+
184+
## 事务管理
112185

113186
* [https://github.com/atomikos/transactions-essentials](https://github.com/atomikos/transactions-essentials)
114187
* [Atomikos开源版本的事务管理器实现TransactionEssentials](https://blog.csdn.net/dengjili/article/details/88203047)
@@ -127,48 +200,6 @@
127200
- X/Open [https://publications.opengroup.org/s243](https://publications.opengroup.org/s243)
128201

129202

130-
## JDBC驱动
131-
132-
133-
**注意使用的MySQL Connector/J驱动**
134-
135-
- `org.gjt.mm.mysql.Driver` 用于`3.x`版本之前,在`5.1.47`以上版本不存在该类,由一个名为MM (Monty's MySQL) 的项目开发的,该项目后来被Sun Microsystems收购
136-
- `com.mysql.jdbc.Driver` 用于`5.1.6`版本之前,在MySQL AB(后被Oracle Corporation收购)接手并继续开发JDBC驱动之后使用的
137-
- `com.mysql.cj.jdbc.Driver` 用于`5.1.6`版本之后
138-
139-
> 从Java 6 `JDBC 4.0`开始,显式加载驱动类的步骤`Class.forName(…)`通常是不必要的,因为JDBC服务提供者机制会自动加载驱动
140-
141-
142-
143-
**URL及参数**
144-
145-
* [(https://mysql-net.github.io/MySqlConnector/connection-options]((https://mysql-net.github.io/MySqlConnector/connection-options)
146-
* [https://mysqlconnector.net/connection-options](https://mysqlconnector.net/connection-options)
147-
148-
> `jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false`
149-
> `&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai`
150-
151-
| 参数名称 | 参数说明 | 缺省值 | 最低版本要求 |
152-
|----------------------- |--------------------------------------------------------------------------------- |-------- |-------------- |
153-
| user | 数据库用户名(用于连接数据库) | | 所有版本 |
154-
| password | 用户密码(用于连接数据库) | | 所有版本 |
155-
| useUnicode | 是否使用Unicode字符集,使用参数characterEncoding,本参数值必须设置为true | FALSE | 1.1g |
156-
| characterEncoding | 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk、UTF-8 | FALSE | 1.1g |
157-
| autoReconnect | 当数据库连接异常中断时,是否自动重新连接? | FALSE | 1.1 |
158-
| autoReconnectForPools | 是否使用针对数据库连接池的重连策略 | FALSE | 3.1.3 |
159-
| failOverReadOnly | 自动重连成功后,连接是否设置为只读? | TRUE | 3.0.12 |
160-
| maxReconnects | autoReconnect设置为true时,重试连接的次数 | 3 | 1.1 |
161-
| initialTimeout | autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 | 2 | 1.1 |
162-
| connectTimeout | 和数据库服务器建立socket连接时的超时,单位:毫秒 | 0 | 3.0.1 |
163-
| socketTimeout | socket操作(读写)超时,单位:毫秒。 0表示永不超时 | 0 | 3.0.1 |
164-
| useSSL | 是否进行ssl连接 | | |
165-
| zeroDateTimeBehavior | 把零值日期转换为`null` | | |
166-
| serverTimezone | `GMT%2B8` `%2B``+`的转义字符,其实就是`GMT+8`('+8:00'),代表东八区`Asia/Shanghai` | | |
167-
168-
- `useTimeZone` 为true时,会开启服务器和客户端之间的时区转换,只有`useLegacyDatetimeCode = true`时才回生效
169-
- `useLegacyDatetimeCode` 默认为true,为false时: `useTimezone`, `useJDBCCompliantTimezoneShift`, `useGmtMillisForDatetimes`, `useFastDateParsing` 这几个参数都会无效
170-
171-
172203

173204

174205
## Mybatis

PL/C.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,6 @@
333333
- 模糊测试 [https://github.com/AFLplusplus/AFLplusplus](https://github.com/AFLplusplus/AFLplusplus)
334334
- [https://github.com/google/honggfuzz](https://github.com/google/honggfuzz)
335335
- [https://github.com/google/AFL](https://github.com/google/AFL)
336-
- HTTP测试 [https://github.com/wg/wrk](https://github.com/wg/wrk)
337336
- 超级马里奥64 [https://github.com/n64decomp](https://github.com/n64decomp)
338337
- 塞尔达传说时之笛 [https://github.com/zeldaret](https://github.com/zeldaret)
339338
- [https://github.com/PCSX2/pcsx2](https://github.com/PCSX2/pcsx2)

0 commit comments

Comments
 (0)