我几乎每天都使用 Git,但仍然无法记住很多命令. 通常,只需要记住下图中的 6 个命令就足以供日常使用.但是,为了确保使用地很顺滑,其实你应该记住 60 到 100 个命令. Git 相关术语 Git 中不可避免会遇到下面几个术语,不搞清楚它们,后面只会更懵逼. 工作区(Working Directory) 暂存区(Stage/Index) 本地历史仓库(Repository) 远程仓库(Remote) 对照下图,下面一一进行介绍. 工作区 我们写代码的地方就是工作区,就是在电脑里能看到的目录…
1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQube对C#进行代码质量分析,则需要下载Sonar-Scanner-MSBuild和MSBuild,其中要求MSBuild在V14.0以上. 2. Sonar-Scanner for MSBuild安装与配置 1.下载SonarQube Scanner for MSBuild,它是C# Framewor…
一篇文章搞定Git--Git代码管理及使用规范   https://blog.csdn.net/weixin_42092278/article/details/90448721…
Git介绍和常用指令 介绍:Git和SVN一样都是版本控制工具.不同的是Git是分布式的,SVN是集中式的.Git开始用可能感觉难点,等你用习惯了你就会觉得svn是有点恐怖.(如果一个项目有好多人一起开发,有好多分支切来切去,如果用SVN就会让你崩溃的)集中式大概就是有一个中心代码库,大家改完代码以后都忘这个代码库提交,同样都在这里更新代码. 分布式就是没有中心数据库每个人的电脑上都有一个完整的本本库,大家可以相互推送代码和更新(为了方便也会建立一个中心库,大家都通这个中心库进行交互). 安装g…
本文介绍Spring Boot.Vue .Vue Element编写的项目,在Linux下的部署,系统采用Mysql数据库.按照本文进行项目部署,不迷路. 1. 前言 典型的软件开发,经过"需求分析","概要设计","详细设计","开发及单元测试","前后端联调","生产环境上线".到了发布到生产环节的环节,紧张的神经,终于可以松一口气了!!! 且慢,部署也是很重要的一环,稍有不慎就会&…
一.事务简介 事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 一个数据库事务通常包含了一个序列的对数据库的读/写操作.它的存在包含有以下两个目的: 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰. 当事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中的所有操作都成功完成且其结果被永久保…
本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高的,大家千万要珍惜哦(-_-). 本文目录: 0.开发环境 1.目标介绍 2.爬取目标 2.1.csdn博客 2.1.1 如何判断是否为Ajax方式异步获取的? 2.1.2 爬虫实现 2.1.2.1 修改spider接口实现 2.1.2.2 修改items.py文件 2.1.2.3 修改pipeli…
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础. PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目 采用流行的技术,如 SpringBoot.MyBatis.Redis. MySql. Mon…
git学习 一.背景(当成故事去读) Linus 虽然创建了 Linux,但 Linux 的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为 Linux 编写代码,那 Linux 的代码是如何管理的呢? 事实是,在 2002 年以前,世界各地的志愿者把源代码文件通过 diff 的方式发给 Linus,然后由 Linus 本人通过手工方式合并代码! 于是 Linus 选择了一个商业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 L…
本文总结十大经典排序算法及变形,并提供Java实现. 参考文章: 十大经典排序算法总结(Java语言实现) 快速排序算法—左右指针法,挖坑法,前后指针法,递归和非递归 快速排序及优化(三路划分等) 一.排序算法概述 1.定义 将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序. 2.分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序. 线性时间非比较类排序:不通过比较…
本文对正则表达式和 Python 中的 re 模块进行详细讲解 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 什么是正则表达式 正则表达式作用 元字符及含义 re模块详解 正则表达式修饰符 正则表达式实例 本文目录 什么是正则表达式 正则表达式(regula…
为 Windows Terminal 添加标签页 添加 Anaconda 标签页 在settings.json文件中的list列表中添加设置项: { // Make changes here to the cmd.exe profile. "guid": "{0caa0dad-35be-5f56-a8ff-afceee452369}", "name": "Anaconda", "icon": "D…
! https://zhuanlan.zhihu.com/p/442182870 Java8 新特性 学习来源于 B站 尚硅谷yyds Java学习源码 2021/11/22 距离,过年还有 57 天,想家~ JDK1.8已经发布很久了,在很多企业中都已经在使用 虽然,JDK是向下兼容的不会新特性也一样可以正常开发,但是作为程序员还是要不断更新新的技术. 不要求啥都会,但要求能看懂! Java 8 是oracle公司于2014年3月发布 是自Java 5 以 来最具革命性的版本 Java 8为J…
Ubuntu下FastDFS分布式文件系统配置与部署 白宁超 2017年4月15日09:11:52 摘要: FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站.视频网站等.本文通过两次单机环境配置均没有错误,第1-4章节主要是对FastDFS背景发展原理及linux基本介绍,如果读者只是安…
Mybatis 介绍 Mybatis 是一个开源的持久层框架,原来叫 ibatis ,它对 jdbc 操作数据库的过程进行了封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建 connection.创建 statement.手动设置参数.结果集检索等 jdbc 繁杂的过程代码. Mybatis 通过 xml 或注解的方式将要执行的各种 statement(statement.preparedStatemnt.CallableStatement)配置起来,并通过 Ja…
概述 什么是LGA.PGA.BGA类型的封装?众所周知,CPU封装的类型主要为三种:LGA,PGA,BGA,其中LGA封装是最常见的,intel处理器都是采用这种类型的封装,而PGA封装则是AMD常用的一种封装类型. PGA的全称叫做“pin grid array”,或者叫“插针网格阵列封装”.针脚在CPU上. LGA的全称叫做“land grid array”,或者叫“平面网格阵列封装”.针脚在PCB插座上. BGA的全称叫做“ball grid array”,或者叫“球柵网格阵列封装”.无针…
Flask 一 .Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器. "微"(micro) 并不表…
一.背景:SpringCloud 生态圈 在正式开始本篇文章之前我们先岔开来讲一下SpringCloud的生态圈. SpringCloud大家都比较熟悉了,它制定了分布式系统的标准规范,做了高度抽象和封装,然后将业界公司比较成熟以及经得起实际考验的框架整合起来.通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂.易部署和易维护的分布式系统开发工具包.我们之前常用的一些SpringCloud组件大部分来自于Netflix公司,比如我们熟知的Eure…
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的基本操作 添加 / 修改数据:set key value 获取数据:get key 删除数据:del key 添加 / 修改多个数据:mset key value key1 value1 获取多个数据:mget key key1 追加信息到原始数据后边(不存在时则添加):append key val…
Spring Data JPA 是在 JPA 规范的基础上进行进一步封装的产物,和之前的 JDBC.slf4j 这些一样,只定义了一系列的接口.具体在使用的过程中,一般接入的是 Hibernate 的实现,那么具体的 Spring Data JPA 可以看做是一个面向对象的 ORM.虽然后端实现是 Hibernate,但是实际配置和使用比 Hibernate 简单不少,可以快速上手.如果业务不太复杂,个人觉得是要比 Mybatis 更简单好用. 本文就简单列一下具体的知识点,详细的用法可以见参考…
作者简介 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Linux,还是虚拟化KVM或是Docker容器技术都有丰富的运维和实践经验. 前 言 K3s 是一个轻量级的 Kubernetes 发行版,在 2020 年统计的 K3s 下载量中,K3s 的全球下载量已经超过 100 万次,每周平均被安装超过 2 万次,其中 30%的下载量来自于中国.在国内已经有许多…
前言 在深入探讨Spring Cloud Gateway的细节之前,让我们了解有关反向代理和api网关模式的一些基础知识. 什么是反向代理? 反向代理是代表其他事物进行请求的事物.它的行为更像是简单的路由.它可以增加基本的安全性和监视功能,但实际上不能做某些高级事情,例如中介或业务流程.NGINX是众所周知的反向代理服务器之一. 什么是API网关? 简而言之,API Gateway是增强的反向代理,具有更高级的功能,包括编排以及增加的安全性和监视功能.Netflix Zuul(上文介绍),Ama…
一.前言 本章主要是承接上一篇讲CompletableFuture的文章,想了解的可以先去看看案例: https://juejin.cn/post/7091132240574283813 CompletableFuture已经提供了串行.并行等常用异步编排的方案,但在细节上还是有许多不足,比如回调方面,编排复杂顺序方面,就捉襟见肘了. 之前我有关注过Gitee上star量还不错的一款开源工具AsyncTool: https://gitee.com/jd-platform-opensource/a…
Spring 事务 上文 使用SpringJDBC 1.JDBC事务控制 ​ 不管你现在使用的是那一种ORM开发框架,只要你的核心是JDBC,那么所有的事务处理都是围绕着JDBC开展的,而JDBC之中的事务控制是由Connection接口提供的方法: 1.关闭自动事务提交:connection.setAutoCommit(false); 2.事务手工提交: connection.commit(); 3.事务回滚: connection.rollback(); 在程序的开发之中事务的使用是存在有前…
SDR - Spring Data Redis的简称. Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能.它提供了与商店互动的低级别和高级别抽象,使用户免受基础设施问题的困扰. Spring Boot 实战 引用依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&…
Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建议使用 Spring 配置文件的形式. Elastic-Job 需要依赖 Zookeeper 中间件,用于注册和协调作业分布式行为的组件,目前仅支持 Zookeeper.我们已经创建了 Zookeeper 集群! 环境要求 1.Java 请使用 JDK 1.7 及其以上版本. 2.Zookeeper…
阅读本文大概需要 5 分钟. 本文大纲 复制过程 数据间的同步 全量复制 部分复制 心跳 异步复制 总结 一.复制过程 Step 1:从节点执行 slaveof 命令. Step 2:从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制. Step 3:从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点. Step 4:连接建立成功后,发送 ping 命令,希望得到 pong 命令响应,否则会进行重连. Step 5:如果主节点设置了权限,那么就需要进…
Firefox 1. Firefox路径问题 firefox火狐浏览器去完成自动化测试时,代码报了如下错误: Cannot find firefox binary in PATH. mark sure firefox is installed 错误原因: firefox安装在其它路径,不是默认的安装路径 解决办法: 指定firefox可执行文件路径:webdriver.firefox.bin 代码设置: System.setProperty("webdriver.firefox.bin"…
原文  https://juejin.im/post/5d09f2d56fb9a07ec7551fb0 HashMap在日常开发中基本是天天见的,而且都知道什么时候需要用HashMap,根据Key存取Value,但是存和取的时候那些操作却是很少去研究.同时在面试中也是面试官们必问的. 以下是基于JDK1.8 正文 先看看HashMap的结构图: 1. 先来认识一下HashMap中定义的一些需要了解的成员变量 // hashMap数组的初始容量 16 static final int DEFAUL…
问:简单谈谈 Java IO 流各实现类的特性? 答:java.io 包下面的流基本都是装饰器模式的实现,提供了各种类型流操作的便携性,常见的流分类如下. 以二进制字节方式读写的流: InputStream.OutputStream: 二进制字节读写抽象类型的基类. FileInputStream.FileOutputStream: 输入输出目标是文件的流,构造支持 File 类型和 String 文件名类型及追加覆盖模式,以 byte 或 byte 数组读写文件,FileOutputStrea…