- 博客(243)
- 资源 (50)
- 收藏
- 关注
原创 macOS big sur Navicat Premium12.1.15 无法正常启动
提示信息:“Navicat Premium”因为出现问题而无法打开错误日志提示Dyld Error Message: dyld: Using shared cache: 1E362DBC-F66C-3135-BCA0-C1BBAE12BC7CLibrary not loaded: @executable_path/../Frameworks/libpq.5.dylib Referenced from: /Applications/Navicat Premium.app/Contents..
2021-01-11 16:56:41
1224
6
原创 关于rebase
场景复现:本来要在refund分支上的修改的代码,结果由于分支太多写在了queue分支上如何恢复queue分支到提交之前的版本??1.git log (找到commitid)2.git reset --hard <commitid>3.任意修改一个文件4.commit and push 此时会提示merge或者rebase选择rebase即可...
2020-11-25 10:52:01
323
原创 有关git cherry-pick
事情的经过:本来要上hotfix的代码,结果写在了其他分支 B所以要把修改在分支B上的代码,merge到hotfix步骤1:在分支B上执行命令:git log列出所以的提交日志,然后找到之前的提交的hash值类型这样f39751209fe3371ebc16950dd3b80e2e7ee7fd69步骤2. 切换到分支hotfix命令 :git cherry-pick f39751209fe3371ebc16950dd3b80e2e7ee7fd69完美...
2020-10-27 09:14:07
243
1
原创 二叉查找树的算法总结
import java.util.LinkedList;public class BinarySearchTree { private Node tree;//已经准备好的二叉查找树 //快速查找 public Node find(int data) { Node p = tree; while (p != null) { if (data < p.data) p = p.left; el..
2020-10-15 19:56:15
214
原创 Design-pattern 创建型设计模式-Builder建造者模式
建造者模式|构建者模式|生成器模式实际上,建造者模式的原理和代码实现非常简单,掌握起来并不难,难点在于应用场景。比如,你有没有考虑过这样几个问题:直接使用构造函数或者配合 set 方法就能创建对象,为什么还需要建造者模式来创建呢?建造者模式和工厂模式都可以创建对象,那它们两个的区别在哪里呢?当创建一个对象是,构造函数参数很多,并且参数之间有逻辑关系。此时构造函数列表列表变的很长,代码在可读性和易用性上变差。在使用构造函数的时候,容易搞错各参数的顺序。传递进去错误的参数值,导致非常隐蔽的bug
2020-07-13 12:02:03
217
原创 网络编程
TCP|UDP 协议高性能编程专题OSI 网络七层模型为了使不同计算机厂商的计算机能够相互通信,以便在更大范围内建立计算机网络。有必要建立一个国际范围的网络体系标注
2020-06-05 18:58:03
166
转载 消息中间件选型
当然在选择之前一般也会做一些调研,不一样的选择意味着未来踩不一样的坑公司也会选择直接购买MQ的云服务,这不失为省钱的一个好办法RabbitMQ是采用Erlang语言实现的AMQP协议的消息中间件,最初起源于金融系统,用于在分布式系统中存储转发消息Kafka起初是由LinkedIn公司采用Scala语言开发的一个分布式、多分区、多副本且基于zookeeper协调的分布式消息系统,它是一种高吞吐量的分布式发布订阅消息系统,以可水平扩展和高吞吐率而被广泛使用。选型参考维度:1.功能子维度:a.
2020-05-15 16:28:24
267
原创 mock +springboot 测试基本概念
单元测试我们只需关心三样东西:设置测试数据, 设定预期结果, 验证结果。并不是所有的测试都包含着三样,有的只涉及设置测试数据,有的只涉及设定预期结果和验证.模拟替换外部依赖、执行测试代码、验证执行结果是否符合预期。简称3A原则:Arrange、Act、Assert集成测试接触单元测试的时候,一直很迷惑,我的业务逻辑那么多那么复杂,这要怎么做单元测试呢?比如说一个登陆功能,虽然它仅仅是一个登陆功能,但它背后要干的事情可不少:验证用户名,验证密码,判断网络,发起网络请求,等待请求结果,
2020-05-11 19:00:26
906
原创 zookeeper占用8080端口
mac用brew安装的zookeeper,并做了启动时开启服务(包括后台admin)今天发现启动项目,一直提示8080端口被占用后来想到了应该是zookeeper启动占用了这个端口。果然去重新修改一个新的端1.修改文件zoo.cfg文件路径ls /usr/local/etc/zookeeper/末尾添加:admin.serverPort=90002.重启:...
2020-03-18 09:52:33
1283
原创 分布式锁--zookeeper实现
zookeeper典型应用场景 数据发布订阅 命名服务 Master选举 集群管理 分布式队列 分布式锁用zookeeper实现分布式锁逻辑特性:同父的子节点不可重名所有的线程都连都同一个zookeeper上,创建同名的节点。并注册他的watcher监控所以使用临时节点,因为持久节点可能发生死锁下面的代码,有些异常,只是为了说明问题package...
2020-03-16 09:59:59
180
原创 配置中心 ---zookeeper实现
为什么需要配置中心:1.配置文件存在哪些问题:【麻烦】集群/分布式下修改配置文件,要重启,每台服务器重新部署【安全】敏感信息泄露,(开发接触的东西越少越好)【不实时】对于高并发下面,一些关键配置,需要及时更新2.统一配置中心是什么config-center分离配置信息和业务系统分离配置中心存储配置信息,业务系统找配置中心获取配置配置中心存储到 数据库/文件...
2020-03-14 17:27:42
335
原创 java自带的注解@ PostConstruct
java注解@PostConstructor1.spring项目加载数据字典@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。2.spring项目的定时任务spring自带的@schedule,没有开关,项目启动总会启动一个线程;做项目的时候就使用Java的timer,这个...
2020-03-14 17:08:48
1618
1
原创 Lambda表达式
1、Java8的Lambda特性1、Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。2、Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。3、使用 Lambda 表达式可以使代码变的更加简洁紧2、Lambda表达式的语法(arg1, arg2...) -> { body }(type1 arg1, type2 arg...
2020-03-14 16:15:26
521
转载 MySQL 四种事务隔离级别 + 锁
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...
2020-02-28 17:12:31
898
转载 MySQL 技巧:数据库实现 乐观锁 (版本控制/条件过滤)| 悲观锁(for update)
使用 MySQL 5.7 做测试,数据库引擎为 InnoDB,数据库隔离级别为可重复读(REPEATABLE-READ),读读共享,读写互斥。在这个隔离级别下,在多事务并发的情况下,还是会出现数据更新的冲突问题。先分析一下更新冲突的问题是如何产生的。假设我们有一张销量表 goods_sale ,表结构如下:字段 数据类型 说明 goods_sale_id varc...
2020-02-27 18:56:53
5148
1
原创 springboot 拦截器配置
1.准备拦截器 extends HandlerInterceptorAdapter2.注册拦截器 implements WebMvcConfigoverride方法addInterceptors(InterceptorRegister register)register.addInterceptor(上面的拦截器)...
2020-02-25 11:26:12
268
原创 有关于幂等操作--redis实现
1.写一个标注2,在需要幂等的方法上加上这个标注3.用拦截器,拦截每一个请求,从请求中获取参数,如果带有标注则进行幂等检查,如果没有则不作4.具体幂等检查(根据请求中的token和url来作为key,检查redis中是否存在然后设置该key在redis中有效期,比如2秒)代码如下标注:@Inherited@Target(ElementType.METHOD)@Re...
2020-02-23 17:11:29
626
原创 在线swagger文档本地化步骤
核心步骤:把在线的json文件转为yaml格式在线网站:https://www.json2yaml.com/把json转yaml文件保存到本地swagger文档查看方式:step1:浏览器打开地址:https://editor.swagger.io/?_ga=2.14359024.611737151.1565754758-74017250.1565754758step2:fi...
2020-02-18 12:09:05
1480
原创 线程通讯(线程协作)
实现方式:1.suspend【挂起】 resume【恢复执行】(被弃用)问题:a.不释放锁b.对执行顺序要求严格死锁情况A.同步代码中因为suspend不释放锁,resume也就获取不到锁,不能通知到suspend挂起的线程死锁情况B.执行顺序不对容易死锁:多线程不确定性导致可能先执行了resume,而此时suspend由于在sleep没收到这个通知,就再也收不到通知去执...
2019-12-15 18:30:50
214
原创 myBatis插入数据 并返回对象id
其实就是多个三个参数:1.userGenerateKeys=true2.指定使用对象的那个列作主键3.指定使用数据库的哪个列作主键<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="id" keyColumn="id" parameterType="com.entity.OrderRefundA...
2019-12-10 10:40:30
1677
原创 Amazon aws s3上传文件,在给定bucket新建文件夹
直接上硬菜:1.依赖<dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.11.625</version> </dependency&g...
2019-09-10 16:59:58
8600
原创 Docker
docker概念:是C/S架构1.镜像 image [多层文件]2.容器 container【有数据卷】3.仓库 Respository命令:docker pull [Docker Registory 地址[:端口] 仓库名[:标记]]查看整个docker情况:docker system df [disk info]查看镜像:docker image ...
2019-09-08 20:29:09
410
原创 Redis linux安装
1.获取redis资源wgethttp://download.redis.io/releases/redis-4.0.8.tar.gz2.解压tar xzvf redis-4.0.8.tar.gz3.安装命令如下:(1)cd redis-4.0.8/src(2)make test在make install之前先运行make test测试是否可以安装可能遇...
2019-09-04 13:19:02
123
原创 kibana
安装brew install kibana启动:后台启动brew services start kibana临时启动kibana查看elasticsearch:地址:http://localhost:5601
2019-09-03 10:37:35
229
原创 Swagger结合springboot使用
1.环境SpringBoot 2.0.4.RELEASESwagger 1.7.1JDK 1.82.依赖<dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId&...
2019-09-03 10:36:43
285
原创 ElasticSearch安装(mac)
一、Mac安装Elasticsearchbrew install elasticsearch二、运行Elasticsearch后台启动brew services start elasticsearch临时启动elasticsearch这里运行的端口是:9200说明启动安装启动成功...
2019-09-02 16:24:40
275
转载 有关elasticsearch + kibana
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。index ==》索引 ==》Mysql中的一个库,库里面可以建立很多表,存储不同类型的数据,而表在ES中就是type。type==》类型==》相当于Mysql中的一张表,存储json类型的...
2019-09-02 15:48:50
456
原创 ideal 切换git和svn
intellij ideal gi和svn切换:之前项目是svn的,新的项目用了gitideal按照git以后,原来老项目右键也变成了git,想把它改回来svnideal机制是这样的,如果你按照了两个,他会默认用最新安装的那个(也即是都默认变成了git)要想让某个项目切换,只需修改项目自己的vcs.xml文件就好。把那个新的注释掉就好...
2019-08-08 11:02:52
987
原创 maven仓库 jar包已下载 项目依赖依旧报错
检查和确认几点1.本地仓库是否真的下载下来看这就可以看着路径找到对应文件的位置:检查是否已经真实下载下来如果没有下载:1.找到对应的pom文件位置,注释-运行一次 ,解开注释再运行一次(ideal一般会自动)如果还没有下载下来就去想别的办法,比如修改settings.xml文件,把镜现修改为过国内的,比如阿里云如果已经下载下来,把文件夹中的xxx.properties文...
2019-08-04 01:50:23
3062
1
转载 linux 安装GIT
转载地址:https://blog.csdn.net/qq_31059985/article/details/80606882服务器 CentOS7 + git version 1.8.3.1客户端 Windows7 + git version 2.17.1.windows.2服务器端安装和配置安装Git服务器端yum install git安装完后,查看 Git 版本...
2019-07-26 22:53:35
183
原创 mysql整体文件夹备份遇到的问题
阿里云 centos mysql,不知道是什么原因突然mysql就坏了,起不来了,.sock文件生成不了,搞了好久。于是决定把数据整体备份,然后再新的好的mysql中打开具体步骤备份的数据文件夹:/var/lib/mysql在新的好的mysql中找到对应的文件夹位置,应该也是这里/var/lib/mysql把上面的文件夹的内容,copy到新的mysql对应位置中一定注意看清...
2019-06-18 08:32:28
481
原创 阿里云SSH 自动超时,解决
用SSH客户端连接linux服务器时,经常会出现与服务器会话连接中断现象,造成这个问题的原因便是SSH服务有自己独特的会话连接机制。解决方案:1、设置服务器向SSH客户端连接会话发送频率和时间#vi /etc/ssh/sshd_config,添加如下两行ClientAliveInterval 60ClientAliveCountMax 86400注:ClientAliveInte...
2019-06-17 22:33:28
3645
原创 微信支付开发(只针对公众号里的h5支付JSAPI)
微信支付后台:https://pay.weixin.qq.com只有这里设置了,程序中才能使用这个key /** * 微信支付统一下单接口 * * @param userOrder 订单信息 * @return * @throws Exception */ public WebResult wei...
2019-05-21 11:48:44
4821
原创 FreeMarker使用记录
1.在用freemarker的标签输出数字的时候,发现对象没有属性值,则报错可以再字段后加!如:${book.pic!}<option value="1" <#if product?? && product.status==1>selected</#if>>上线</option>2.在用freemarker的标签...
2019-05-20 12:02:51
146
原创 阿里云ECS搭建svn服务
官方教程:https://helpcdn.aliyun.com/document_detail/52864.html就是在最后mac 中intellij中配置的问题:虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN。安装步骤如下:1、y...
2019-05-18 00:02:18
752
原创 阿里云centos安装mysql-5.7.20-1.el6.x86_64.rpm
https://www.cnblogs.com/wsh1230/p/8119526.html安装mysql-5.7.20-1.el6.x86_64解压mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar;出来很多文件:如下只需按照其中四个就好,因为有依赖关系,所以顺序很重要step1:rpm -ivh mysql-community-common-5...
2019-04-26 16:32:55
699
原创 微信模板消息发送采坑
1.申请公众号2.新增模板(前提:认证通过)appid和appsecret找到,准备好3..第三方应用(网站,管理后台系统,h5)【必须要有域名,该域名还必须配置在白名单中】用户数据和微信用户绑定,建立一对一关系,说白了就是在自己的数据库用户表加字段,来保存一个openid具体:公众号后台配置自定义菜单跳转网页这里写: https://ope...
2019-03-30 15:54:57
2360
1
转载 Firewall防火墙开启80端口
centos7 Firewall防火墙开启80端口centos7 默认是FirewallD 提供支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,利用FirewallD开启80端口操作如下:开启80端口firewall-cmd --zone=public --add-port=80/tcp --permanent1出现success表明添加成功...
2019-03-29 18:20:24
4549
Mycat-server-1.5-RELEASE-20160301083012-linux.tar.gz
2016-04-09
ueditor工程源码
2016-04-07
myeclipse添加svn插件文件
2015-12-14
IDEA 导入setting配置文件
2018-08-05
cas-server
2016-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人