开发手册
软件安装
- sdkman
webinstall:https://webinstall.dev/
共享
文件共享系统
seafile
clouddriver
-
minio-开源的OSS存储服务
https://docs.min.io/
http://docs.minio.org.cn/docs
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。数据库
usql:https://github.com/xo/usql
Http代理
hetty:https://github.com/dstotijn/hetty
屏幕共享&远程桌面
通过浏览器共享开发者屏幕,go实现server:https://github.com/screego/server
- 远程桌面工具:https://www.todesk.com/
- https://rustdesk.com/zh/
Mac工具
| 名称 | Version | 地址 | | —- | —- | —- | | JD-GUI:反编译工具 | | http://java-decompiler.github.io/ | | arthas:java诊断工具 | | https://github.com/alibaba/arthas | | Go2Shell:快捷打开shell | | https://zipzapmac.com/go2shell | | iTerm:好用的sh终端 | | https://iterm2.com/ | | Redis可视化工具 | | https://gitee.com/qishibo/AnotherRedisDesktopManager
下载:https://github.com/qishibo/AnotherRedisDesktopManager/releases/ | | Robo 3T:Mongo可视化工具 | | https://robomongo.org/download | | HBuilderX:前端开发工具 | | https://www.dcloud.io/hbuilderx.html | | Vs Code | | https://code.visualstudio.com/ | | Atom | | https://github.com/atom/atom | | KeyManager | | |
多版本管理(java、nodejs、go)
描述 | ||
---|---|---|
SDKMAN | jdk或常见sdk安装 | https://sdkman.io/sdks |
nvm | Nodejs版本管理 | https://github.com/nvm-sh/nvm |
java&gradle&maven
sdk list java
sdk install java 11.0.11.j9-adpt
sdk list gradle
sdk install gradle 7.0
sdk list maven
sdk install maven 3.8.1
jdk
GraalVM
OpenJDK
MAC使用android投屏工具:AirDroid
通用工具
日志聚合系统
- Loki(替换ELK):https://grafana.com/oss/loki/
代码分析统计比对
https://github.com/AlDanial/clocnpm install -g cloc
sudo apt install cloc
sudo yum install cloc
并发测试工具(替换ab)
https://github.com/rakyll/hey
SQL 评分分析soar
https://github.com/XiaoMi/soar
SQL 评审与执行 yearning
Maven私服
Artifactory
Nexus
Java反向代理&负载均衡
Traefik
JAVA监控分析
Arthas
sc 命令可以查找到所有JVM已经加载到的类。如果搜索的是接口,还会搜索所有的实现类,通过-d参数,可以打印出类加载的具体信息
sc javax.servlet.Filter
sm命令则是查找类的具体函数
sm java.math.RoundingMode
ognl命令可以动态执行代码
WEB IDE
- https://github.com/DTStack/molecule
IDE 插件
idea
aiXcoder:代码补全:
VS Code
请求模拟:Thunder Client(替代Postman)
SDK生成工具
Darabonba
Darabonba 是一种用于 OpenAPI 的 DSL 语言,可以用来生成多语言的 SDK、Code Sample、Test Case 等代码
https://github.com/aliyun/darabonbaCI/CD工具
Drone
Java工具
反编译jadx
https://github.com/skylot/jadx
对象复制mapstruct
数据库文档生成screw
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.5</version>
</dependency>
java
package com.jnliok.sql.doc;
import java.util.ArrayList;
import javax.sql.DataSource;
import org.junit.Test;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
public class GenDbDocTests {
/**
* 文档生成
*/
@Test
public void documentGeneration() {
String fileOutputDir = "/Users/jnliok/Downloads";
String fileName = "mysql_test_doc";
// 数据源
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test");
hikariConfig.setUsername("qizai");
hikariConfig.setPassword("Mysql2018");
// 设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
// 生成配置
EngineConfig engineConfig = EngineConfig.builder()
// 生成文件路径
.fileOutputDir(fileOutputDir)
// 打开目录
.openOutputDir(true)
// 文件类型
.fileType(EngineFileType.HTML)
// 生成模板实现
.produceType(EngineTemplateType.freemarker)
// 自定义文件名称
.fileName(fileName).build();
// 忽略表
ArrayList<String> ignoreTableName = new ArrayList<>();
ignoreTableName.add("test_user");
ignoreTableName.add("test_group");
// 忽略表前缀
ArrayList<String> ignorePrefix = new ArrayList<>();
ignorePrefix.add("test_");
// 忽略表后缀
ArrayList<String> ignoreSuffix = new ArrayList<>();
ignoreSuffix.add("_test");
ProcessConfig processConfig = ProcessConfig.builder()
// 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
// 根据名称指定表生成
.designatedTableName(new ArrayList<>())
// 根据表前缀生成
.designatedTablePrefix(new ArrayList<>())
// 根据表后缀生成
.designatedTableSuffix(new ArrayList<>())
// 忽略表名
.ignoreTableName(ignoreTableName)
// 忽略表前缀
.ignoreTablePrefix(ignorePrefix)
// 忽略表后缀
.ignoreTableSuffix(ignoreSuffix).build();
// 配置
Configuration config = Configuration.builder()
// 版本
.version("1.0.0")
// 描述
.description("数据库设计文档生成")
// 数据源
.dataSource(dataSource)
// 生成配置
.engineConfig(engineConfig)
// 生成配置
.produceConfig(processConfig).build();
// 执行生成
new DocumentationExecute(config).execute();
}
}