
杂七杂八
文章平均质量分 81
a1405
这个作者很懒,什么都没留下…
展开
-
Git各指令的本质,真是通俗易懂啊
前言作为当前世界上最强大的代码管理工具Git相信大家都很熟悉,但据我所知有很大一批人停留在clone、commit、pull、push...的阶段,是不是对rebase心里没底只敢用merge?碰见版本回退就抓瞎?别问我怎么知道的,问就是:“我曾经就是这样啊~~”。针对这些问题,今天我就将这几年对Git的认知和理解分享出来,尽可能的从本质去讲解Git,帮助你一步一步去了解Git的底层原理,相信读完本篇文章你便可以换种姿态,更加风骚得使用Git各种指令。目录1. 基本概念1.1 Git 的转载 2022-01-12 19:48:53 · 88 阅读 · 0 评论 -
Spring Boot热部署,集成devtools
工欲善其事,必先利其器,好的编码环境能让我们事半功倍。熟悉前端的可能都知道热部署,如Vue、AngularJS等保存便自动编译,无需重启的酣畅淋漓,羡煞不已。其实完全用不着羡慕,在Spring Boot里,一切皆有可能,今天,热部署,他来了。一、Spring Boot DevToolsSpring Boot DevTools使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart Class转载 2021-09-19 12:18:48 · 422 阅读 · 0 评论 -
idea常用插件
Key Promoter X 快捷键提示插件每次都会在右下角弹窗提示,帮助我们快速熟悉快捷键。CodeGlance 显示代码缩略图插件当代码很多的时候,方便查看,很有用。MybatisX 高效操作Mybatis插件Translation 翻译插件Rainbow Brackets 彩虹括号插件成对儿的括号显示相同的颜色。自定义创建live template,快速写代码只要输入apr,就能自动提示,并且生成Autowired语句了。可以根据自己的代转载 2021-07-26 20:08:16 · 312 阅读 · 0 评论 -
Git 各指令的本质,真是通俗易懂啊!
1.基本概念1.1 Git的优势Git是一个分布式代码管理工具,在讨论分布式之前避免不了提及一下什么是中央式代码管理仓库 中央式:所有的代码保存在中央服务器,所以提交必须依赖网络,并且每次提交都会带入到中央仓库,如果是协同开发可能频繁触发代码合并,进而增加提交的成本和代价。最典型的就是svn 分布式:可以在本地提交,不需要依赖网络,并且会将每次提交自动备份到本地。每个开发者都可以把远程仓库clone一份到本地,并会把提交历史一并拿过来。代表就是Git 那Git相比于svn有转载 2021-05-26 12:17:36 · 277 阅读 · 0 评论 -
万字详解!Git 入门最佳实践 !
前言Git是程序员学习和工作都离不开发工具,今天和大家分享Git常用命令总结。Git简介Git是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用Git来做自己的文档版本管理工具。大概是大二的时候开始接触和使用Git,从一开始的零接触到现在的重度依赖,真是感叹Git的强大。Git的api很多,但其实平时项目中90%的需求都只需要用到几个基本的功能即可,所以本文将从实用主义和深入探...转载 2021-05-15 13:41:56 · 145 阅读 · 0 评论 -
JVM虚拟机-了解Java堆中对象分配、布局和访问的全过程
前言对象是Java中最常被提到的概念,也是Java的灵魂,Java中一切皆是对象。JVM是Java的根基,理解灵魂与根基是如何融合的,对于理解Java本身至关重要。对象的创建对象的创建从Java语言层面上,往往就是一个简单的new即可搞定,而深入JVM的底层,可就复杂的多了。JVM中对象的创建过程,分为如下5步,如图:类加载检查虚拟机遇到一条new指令后,会执行如下几个步骤: 首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用。 检查这个符号..转载 2021-05-13 19:56:57 · 180 阅读 · 0 评论 -
Java日志的心路历程
今天来和大家聊聊Java日志体系,Java日志体系可以说是五花八门,眼花缭乱。导致很多小伙伴因为日志标准库之间复杂的关系而感到烦恼,不知道统一系统的日志标准库需要依赖哪些jar包,百度一下所谓的博客,照着人家复制,却无法弄懂原理,甚至还有搞了半天项目因jar冲突跑不起来的,心态直接爆炸。发展史我们要正确的配置好日志,让jar相互生效,就要先理清关系,理清关系就得从它的发展史下手。System.out和System.err2001年以前,Java是没有日志库的,打印日志全凭System转载 2021-05-09 10:42:30 · 2721 阅读 · 0 评论 -
PowerDesigner 逆向工程,太实用了!
一、MySQL数据库连接(JDBC方式)JDBC的配置方式需要一些基础的环境和准备,但是也很简单,无非也就是JDK和mysql的连接jar包,这里不再展开阐述。1.1 新建一个pdm,dbms选择mysql1.2 Database - Connect 选择数据库连接1.3 配置连接信息数据库连接这里是通过一个配置文件来获取连接信息的,首次的话因为没有,所以我们需要选择Configure进行配置。1.4 填写配置信息如图,选择添加数据库资源,出现如上,相关说明如下.转载 2021-05-09 09:25:01 · 459 阅读 · 0 评论 -
分享50个让你代码更好的小建议
1. 仅仅判断是否存在时,select count 比 select 具体的列,更好。我们经常遇到类似的业务场景,如,判断某个用户userId是否是会员。「(反例):」一些小伙伴会这样实现,先查从用户信息表查出用户记录,然后再去判断是否是会员:<select id="selectUserByUserId" resultMap="BaseResultMap"> selct user_id , vip_flag from user_info where user_id ..转载 2021-04-29 15:11:53 · 193 阅读 · 0 评论 -
qs详解
简述:qs是一个增加了一些安全性的查询字符串解析和序列化字符串的库,通常有两种使用方式:1、将URL解析成对象的形式:qs.parse(str)例1:let data = 'a=1&b=2&c=3';qs.parse(data);//结果为:{a:'1',b:'2',c:'3'}例2:let data = 'a=c';qs.parse(data);//结果为:{a:'c'}例3:let data = 'foo[bar]=baz';qs.parse转载 2021-01-21 14:45:08 · 1245 阅读 · 0 评论 -
这个轮子让SpringBoot实现api加密So Easy!
SpringBoot的API加密对接在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。下面请出我们的最亮的项目rsa-encrypt-body-spring-boot项目介绍该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密 。什么是转载 2020-09-08 19:12:52 · 1819 阅读 · 2 评论 -
java系统权限设计思路总结
1.什么是权限在很多与开发者也好,与客户也好,沟通的过程中我们很多次提到了权限,但是权限具体的含义每个人理解的含义都不明确,这样很容易造成双方信息不对称,有的人就只是把权限理解成某个页面的是否可访问,但是有的人却理解成其他的东西。所以我们要彻底的定义一下权限是什么。权限到底是名词属性还是动词属性,还是名词、动词属性均包含,这对于权限的含义很重要。如果是名词属性的话,那么它应该是有具体的指代物;如果是动词,则应该具有行为表示。1.权限的名词属性:api接口、页面、功能点。2.权限的动词属性转载 2020-09-06 11:05:55 · 521 阅读 · 0 评论 -
win10如何删除SVN缓存信息
今天同步SVN的时候发现报错,SVN管理员重置了每个人的账号和密码,所以报错了,但是小编使用eclipse也没有发现填写账号密码的地方,就是报错,接下来小编记录一下解决办法。打开eclipse后,同步SVN,然后发现同步SVN报错,如下图:然后点击【窗口】,然后点击【首选项】,如下图:然后右侧可以看到SVN接口这里是【JavaHL】,如下图:然后打开电脑的【C:\Users\MJL\AppData\Roaming\Subversion\auth】,如下图:然后将这个目转载 2020-07-24 13:41:56 · 1222 阅读 · 0 评论 -
让你的 IDEA 好用到飞起来的配置
1.设置maven1.在File->settings->搜索maven2.Mavanhome directory--设置maven安装包的bin文件夹所在的位置3.Usersettings file--设置setting文件所在的位置4.Localrepository--设置本地仓库2.IDEA 设置代码行宽度1.在File->settings...转载 2020-01-27 15:02:57 · 424 阅读 · 0 评论 -
有 Bug 不会调试 ? 这篇文章很详细 !
一、Debug 开篇首先看下 IDEA 中 Debug 模式下的界面。如下是在 IDEA 中启动 Debug 模式,进入断点后的界面,我这里是 Windows,可能和 Mac 的图标等会有些不一样。就简单说下图中标注的 8 个地方: 以 Debug 模式启动服务,左边的一个按钮则是以 Run 模式启动。在开发中,我一般会直接启动 Debug 模式,方便随时调试代码。 断点:在左...转载 2020-01-27 12:14:10 · 1550 阅读 · 0 评论 -
四层、七层负载均衡的区别
在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不同的机器上...转载 2020-01-27 09:56:22 · 614 阅读 · 0 评论 -
GitHub 实现多人协同提交代码并且权限分组管理
正文:要想弄清楚github权限管理,需要了解几个概念。organization(组织) 、repository(仓库)、Team(团队)。在了解这些概念之前,先听我讲一个小故事。话说从前有个生意人,由于他聪明又能干,他开了水果摊、奶茶店、还有一个网吧。转眼10年过去了,他积累了很多钱,也有了很牛逼的权利,总的来说就是有钱有势有人,于是乎有一天他带领100个兄弟成立一个黑帮组织:青帮。组...转载 2020-01-22 13:55:24 · 420 阅读 · 0 评论 -
秒懂QPS、TPS、PV、UV、GMV、IP、RPS!
QPSQueries Per Second,每秒查询数。每秒能够响应的查询次数。QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是最大吞吐能力。TPSTransactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做...转载 2019-12-28 18:02:42 · 217 阅读 · 0 评论 -
RESTful API 设计学习笔记
1. 协议API 与用户的通信协议,总是使用 HTTPs2. 域名应该尽量将 API 部署在专用域名下:https://api.example.com如果 API 很简单,不会有进一步扩展,可以考虑放在主域名下:https://example.com/api/3. 版本应该将 API 的版本号放入 URL:https://api.example.com/v1/...转载 2019-11-22 15:24:31 · 111 阅读 · 0 评论 -
彻底理解cookie,session,token
发展史1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我来说都是全新的。这段时间很嗨皮。2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪...转载 2019-05-26 15:53:45 · 131 阅读 · 0 评论 -
62道开发人员面试经典题
1、请介绍一下你自己这是面试官100%会问的问题,一般人回答这个问题过于平常,只说姓名、年龄、爱好、所学专业等,如果你用一分钟来重复你的简历,那么,你的印象加分没有了!不妨坦诚自信地展现自我,重点突出与应聘职位相吻合的优势。你的相关能力和素质是企业最感兴趣的信息。因为,在许多情况下,在听取你的介绍时,面试官也会抓住他感兴趣的点深入询问。所以,在进行表述时,要力求以真实为基础,顾及表达的逻辑...转载 2019-05-26 17:34:08 · 2598 阅读 · 0 评论 -
从输入url到页面展示到底发生了什么
1、输入地址当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址。对于google的chrome 的浏览器,他甚至会直接从缓存中把网页展示出来,就是说,你还没有按下 enter,页面就出来了。2、浏览器查找域名的 IP 地址 1、请求一旦发起,...转载 2019-05-18 11:04:24 · 183 阅读 · 0 评论 -
聊聊前后端分离接口规范
1. 前言随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自干各自的,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚...转载 2019-06-20 13:41:36 · 151 阅读 · 0 评论 -
软件开发中会用到的图
一、背景大家应该在从事软件开发领域工作时间有一段时间之后,就开始有画图的意识,不管是懵懂的学别人还是想更好的让其它人理解自己的一个观点。所谓“一图胜千言”,我们身处于软件开发这个水很深且要求精确的复杂领域里,要想把事情做好,最基本的是要把事情想明白,其次还要让相关的人能够明白你要说的东西,进行协作。特别对于一位架构师来说,能否画得一手好图尤其重要,因为相关的干系人数较多,要让不同领域的人能...转载 2019-07-14 20:52:14 · 334 阅读 · 0 评论 -
IntelliJ IDEA 从入门到上瘾教程,2019图文版!
前言:IntelliJ IDEA如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。其实笔者也是一枚从Eclipse转IDEA的探索者,随着近期的不断开发实践和调试,逐步体会到这款智能IDE带来的巨大开发便利,在强大的插件功能支持下,诸如对Git和Maven的支持简直让人停不下来,各种代码提示,包括JS更是手到擒来,最终不得不被这款神奇的...转载 2019-07-15 11:15:39 · 139 阅读 · 0 评论 -
架构师必备,带你弄清混乱的JAVA日志体系!
引言还在为弄不清commons-logging-xx.jar、log4j-xx.jar、sl4j-api-xx.jar等日志框架之间复杂的关系而感到烦恼吗?还在为如何统一系统的日志输出而感到不知所措嘛?您是否依然存在这样的烦恼。比如,要更改spring的日志输出为log4j 2,却不知该引哪些jar包,只知道去百度一下所谓的博客,照着人家复制,却无法弄懂其中的原理?不要急,不要方!本文...转载 2019-08-16 21:02:51 · 126 阅读 · 0 评论 -
阿里云搭建web应用超详细全套完整图文教程!菜鸟也能看懂!
第一步:如何以最低价格快速买到阿里云服务器?1.1 如果我是学生,我如何通过¥9.9买到价值¥117的服务?答:用¥9.9购买云服务器ECS是阿里云学生专属活动。首先,你需要在阿里云官网注册账号。然后在阿里云官网首页点击校园扶持,经学生认证后便可购买每月¥9.9的特价云服务器。活动内容如下图1.1。 ...转载 2019-08-28 20:35:17 · 535 阅读 · 0 评论 -
彻底弄懂高内聚与低耦合
模块模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。耦合主要描述模块之间的关系, 内聚主要描述模块内部。 模块的粒度可大可小, 可以是函数, 类, 功能块等等。耦合模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立性越差。比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互...转载 2019-05-26 10:07:04 · 327 阅读 · 0 评论