(转载)Git飞行规则(Flight Rules)
Git飞行规则(Flight Rules)
前言
英文原版README
翻译可能存在错误或不标准的地方,欢迎大家指正和修改,谢谢!
什么是"飞行规则"?
这是一篇给宇航员(这里就是指使用Git的程序员们)的指南,用来指导问题出现后的应对之法。
飞行规则(Flight Rules) 是记录在手册上的来之不易的一系列知识,记录了某个事情发生的原因,以及怎样一步一步的进行处理。本质上,
它们是特定场景的非常详细的标准处理流程。 […]
自20世纪60年代初以来,NASA一直在捕捉(capturing)我们的失误,灾难和解决方案, 当时水星时代(Mercury-era)
的地面小组首先开始将“经验教训”收集到一个纲要(compendium)中,该纲现在已经有上千个问题情景,从发动机故障到破损的舱口把手到计算机故障,以及它们对应的解决方案。
— Chris Hadfield, 一个宇航员的生活指南(An Astronaut’s Guide to Life)。
这篇文章的约定
为了清楚的表述,这篇文档里的所有例子使用了自定义的bash 提示,以便指示当前分支和是否有 ...
工具-插件篇
插件篇
Chrome插件
GitHub Downloader
Octotree - GitHub code tree
GitHub 加速
Sourcegraph
Awesome Autocomplete for GitHub
File Icons for GitHub and GitLab
GitHub Isometric Contributions
Markdown Menu for GitHub
超级好用的前端开发测试Chrome插件 - WEB前端助手(FeHelper)
Maven插件
flatten-maven-plugin: 处理版本占位符
IDEA插件
JRebel 热加载插件
Grep Console
代码显示 CodeGlance
页面美化
Rainbow Brackets
Atom Material Icons
Java Stream Debugger (IDEA自带)
.ignore git忽略文件
SequenceDiagram 时序图
String Manipulation
一个比较实用的字符串转换工具,比如我们平时的变量命名可以一键转换驼峰 ...
工具-网站篇
网站篇
日常使用
临时邮箱
http://24mail.chacuo.net/
https://10minutesemail.net/
ChatGPT
https://poe.com/
https://chatguide.plexpt.com/
在线作图
https://www.processon.com/
https://online.visual-paradigm.com/drive/#infoart:proj=0&dashboard
https://asciiflow.com/#/
https://handraw.top/ 手绘风格的画图网站
https://app.diagrams.net/
BPMN流程图绘制
https://demo.bpmn.io/new
文件格式转换
https://smallpdf.com/cn
https://convertio.co/zh/
https://cloudconvert.com/
https://pdftoword.55.la/pdf2cad/
https://toepub.com/
https://compr ...
工具-实用工具篇
实用工具篇
OSS工具
rclone OSS同步工具
cyberduck OSS客户端
Java工具
JVM性能监控分析工具
arthas
Jconsole: jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.
JProfiler:商业软件,功能强大.
VisualVM:JDK自带,功能强大,与JProfiler类似.
MAT:MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具.
btrace
gperftools
classfinal
ClassFinal是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework,可避免源码泄漏或字节码被反编译.
性能测试工具
ab(ApacheBench)
JMeter
stress
磁盘测试工具ezfio
nmon
MySQL工具
压测工具
mysqlslap
sysbench
命令行语法提示工具
mycli
沙箱
MySQL Sand ...
工具-编程框架篇
编程框架Java篇
数据库
数据库文档生成框架: screw
测试
造数据
easy-random
Java Faker
框架
JMH
参考文章: Java微基准测试框架JMH
Java Hamcrest
jcstress
The Java Concurrency Stress tests (jcstress) is an experimental harness and a suite of tests to aid the research in the correctness of concurrency support in the JVM, class libraries, and hardware.
单元覆盖率
JaCoCo
二维码
zxing
工具集
Hutool
Guava
ID
Hashids
OSS
Minio
模版语言
Velocity
Freemaker
Thymeleaf
表达式引擎
AviatorScript
Excel
easy-excel
Apache POI
xlsx-streame ...
OSS工具-rclone
参考文献
rclone
Install
rclone
安装
使用一键安装脚本
1sudo -v ; curl https://rclone.org/install.sh | sudo bash
使用二进制文件安装
1234567891011121314# 获取二进制压缩包,并解压curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zipunzip rclone-current-linux-amd64.zipcd rclone-*-linux-amd64# 将rclone命令放入全局命令目录,并赋予权限sudo cp rclone /usr/bin/sudo chown root:root /usr/bin/rclonesudo chmod 755 /usr/bin/rclone# 安装manpagesudo mkdir -p /usr/local/share/man/man1sudo cp rclone.1 /usr/local/share/man/man1/sudo mandb
配置
rc ...
工具-Gradle插件开发
参考文献
如何从零开发一个 gradle 插件(一)
如何从零开发一个 gradle 插件(二)
Developing Custom Gradle Plugins
Gradle 插件开发概述
深度探索 Gradle 自动化构建技术(四、自定义 Gradle 插件)
手把手教你写 Gradle 插件 | 数据采集
Gradle 基础知识
Gradle有两个重要的概念:Project和Task.
Project
IDE结构中的项目相当于一个父 Project,而一个项目中所有的 Module 都是该父 Project 的子 Project
每个 Project 都会对应一个 build.gradle 配置文件,因此使用IDE创建一个项目的时候在根目录下有一个 build.gradle 文件,在每个 Module 的目录下又各有一个 build.gradle 文件;
Gradle 是通过 settings.gradle 文件去进行多项目构建;
父 Project 对象可以获取到所有的子 Project 对象,这样就可以在父 Project 对应的 build.gradle 文件中 ...
工具-Maven
参考文献
maven仓库repositories和mirrors的配置及区别详解
深入理解maven及应用(一):生命周期和插件
Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
Maven应用实战
简介
Maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法.可以方便的编译代码、进行依赖管理、管理二进制库等等.
Maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性
利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等.
核心概念
POM
POM是指Project Object Model.pom是一个xml,在maven2里为pom.xml.是maven工作的基础,在执行task或者goal时,maven会去项目根目录下读取pom.xml获得需要的配置信息
pom文件中包含了项目的信息和maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等
pom是可以继承的,通常对于一个大型的项目或是多个mo ...
工具-Jenkins
参考文献
Jenkins进阶系列之——10Publish Over SSH插件
使用Yum安装后,默认文件目录
123456789/usr/lib/jenkins/jenkins.war WAR包/etc/sysconfig/jenkins 配置文件/var/lib/jenkins/ 默认的JENKINS_HOME目录/var/log/jenkins/jenkins.log Jenkins日志文件/etc/init.d/jenkins jenkins启动脚本
配置文件: /etc/sysconfig/jenkins
默认工作空间: JENKINS_HOME="/var/lib/jenkins"
启动目录: /usr/lib/jenkins
修改Java目录
查看Java路径: which java
12[root@holelin jenkins]# which java/usr/local/jdk1.8/bin/java
配置:
1[root@holelin jenkins]# vim /etc/rc.d/init.d/jenkins
...
Wireshark-网络抓包(一)
参考文献
WireShark数据包分析实战(第三版)
理论
监听网络线路
在交换式网络中进行嗅探
在一个交换式网络中从一个目标设备捕获网络流量的基本方法有四种:端口镜像,集线器接出(hubbing out),使用网络分流器和ARP缓存污染攻击.
使用端口镜像,必须能够通过命令行或Web管理界面来访问目标设备所连接的交换机,并且该种交换机必须支持端口镜像的功能以及有一个空闲的端口.
通用端口
制造商
命令
思科
set span <source port> <destination port>
凯创
set port mirroring create <source port> <destination port>
北电
port-mirroring mode mirror-port <source port> monitor-port <destination port>
集线器输出
需要将目标设备和分析系统分段到同一网络段中,然后把它们直接插入到一个集线器上.
操作步骤 ...