开发手册
软件安装
- 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 javasdk install java 11.0.11.j9-adptsdk list gradlesdk install gradle 7.0sdk list mavensdk 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 clocsudo apt install clocsudo 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.Filtersm命令则是查找类的具体函数sm java.math.RoundingModeognl命令可以动态执行代码
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 {/*** 文档生成*/@Testpublic 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();}}
