摘要: 消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有Rab 阅读全文
posted @ 2020-02-10 20:10 阿晨聊技术 阅读(320) 评论(0) 推荐(0)
摘要: 在Ubuntu上安装ActiveMQ 系统初始化 搭建activemq服务 监控 浏览器打开http://localhost:8161/admin/,输入admin,admin 至此,ActiveMQ搭建完成。 理解JMS( Java Message Service) Java消息服务指的是两个应用 阅读全文
posted @ 2020-02-10 20:09 阿晨聊技术 阅读(348) 评论(0) 推荐(0)
摘要: 前言 针对 ,汇总常用服务的搭建指南。 系统初始化 新买的ECS需要执行系统初始化 Postgresql 安装Postgresql 修改配置文件 修改默认用户Postgres的密码 搭建集群(可选) | 主机 | ip | | : : | : : | | Master节点 | 10.10.10.10 阅读全文
posted @ 2020-02-10 20:07 阿晨聊技术 阅读(676) 评论(0) 推荐(1)
摘要: 前言 本文是为了学习 容器的执行过程而写,不能完全代表 容器,只是简单实现了容器的 依赖注入 和 控制反转 功能,无法用于生产,只能说对理解Spring容器能够起到一定的作用。 开始 创建项目 创建Gradle项目,并修改 创建 是IOC中用于存放bean实例以及获取bean的核心接口,它的核心方法 阅读全文
posted @ 2020-02-10 20:06 阿晨聊技术 阅读(365) 评论(0) 推荐(0)
摘要: 简介 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 现在一致性hash算法在 阅读全文
posted @ 2020-02-10 20:05 阿晨聊技术 阅读(533) 评论(0) 推荐(0)
摘要: 问题描述 公司项目测试环境调用某些接口的时候,服务器立即崩溃,并一定时间内无法提供服务。 问题排查 服务器配置不够 第一反应是服务器需要升配啦,花钱解决一切!毕竟测试服务器配置确实不高,2CPU + 4Gib,能干啥?不过问题是今天突然发生的,而且说崩就崩。凭着严谨的态度,还是要刨根问底地找下问题。 阅读全文
posted @ 2020-02-10 20:03 阿晨聊技术 阅读(1764) 评论(1) 推荐(0)
摘要: 前言 在实际开发中,遇到例如货币,统计等商业计算的时候,一般需要采用java.math.BigDecimal类来进行精确计算。而这类操作通常都是可预知的,也就是通用的。所以,写了个工具类来方便以后的工作。 这是仓库地址: "仓库地址" BigDecimal的构建 一般而言,我们主要从int,long 阅读全文
posted @ 2020-02-10 20:02 阿晨聊技术 阅读(1008) 评论(0) 推荐(0)
摘要: 今天做项目的时候,发现每次拦截器日志都会打两遍,很纳闷,怀疑是Filter被执行了两遍。结果debug之后发现还真是!记录一下这个神奇的BUG! 问题描述 项目中使用的是Spring security作为权限框架,然后做了一个 作为拦截器拦截请求,校验Token,但是每次请求都会打两遍日志。下面是精 阅读全文
posted @ 2020-02-10 20:00 阿晨聊技术 阅读(3510) 评论(0) 推荐(2)
摘要: 写在前面 今天,跑在阿里云ECS上的生产环境,突然间访问异常,接口各种报错,无奈公司没有专业的运维人员,只能硬着头皮解决一下。 问题排查 先从表面看起,数据库首先报错 直观上看,设备没有可用空间,也就是磁盘满了。 进入服务器后台,执行 发现确实磁盘满了,而且满的很彻底。系统盘占用100%,估计什么服 阅读全文
posted @ 2020-02-10 19:58 阿晨聊技术 阅读(1325) 评论(0) 推荐(0)
摘要: 简单来说,CORS是一种访问机制,英文全称是Cross Origin Resource Sharing,即我们常说的跨域资源共享,通过在服务器端设置响应头,把发起跨域的原始域名添加到Access Control Allow Origin 即可。 返回新的CorsFilter(全局跨域) 在任意配置类 阅读全文
posted @ 2020-02-10 19:56 阿晨聊技术 阅读(6879) 评论(0) 推荐(0)
摘要: 简介 "XXL JOB" 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官方文档很完善,不多赘述。本文主要是搭建 和简单使用的记录。 搭建xxl job admin管理端 运行环境 Ubuntu 16.04 6 阅读全文
posted @ 2020-02-10 19:54 阿晨聊技术 阅读(1283) 评论(0) 推荐(0)
摘要: 前言 为了将 "阿里云短信开箱即用" 发布到Jcenter仓库,前前后后花费了1天半的时间,把端午节都搭进去了。终于今天收到了Jcenter的消息,自己发布的包被添加到了Jcenter仓库,也算给开源社区做了次小贡献😁😁😁。 现在记录下踩过的坑。 注册Jcenter账号 要注意的地方,Jcen 阅读全文
posted @ 2020-02-10 19:53 阿晨聊技术 阅读(447) 评论(0) 推荐(0)
摘要: 前言 在VM虚拟机搭建Ubuntu系统学习或者测试时,常常要使用 安装测试,但是由于系统自带的下载源在国外服务器上,下载速度慢的无法忍受。所以我们需要切换为国内镜像源,能显著加快安装包下载速度。 步骤 国内镜像源 | 名称 | 地址 | | | | | 阿里镜像源 | http://mirrors. 阅读全文
posted @ 2020-02-10 19:51 阿晨聊技术 阅读(2124) 评论(0) 推荐(1)
摘要: 简介 使用 自动装配简化对接阿里云短信过程。 小工具一枚,欢迎使用和Star支持,如使用过程中碰到问题,可以提出Issue,我会尽力完善该Starter。 版本基础 如何使用 Maven Gradle 👉注意:需要引入 仓库 参数配置 以 举例 基本使用 同步发送短信 为了方便使用,接口上进行了方 阅读全文
posted @ 2020-02-10 19:49 阿晨聊技术 阅读(508) 评论(0) 推荐(0)
摘要: 新建普通用户 为普通用户添加公钥 设置 SSH,打开密钥登录 阅读全文
posted @ 2020-02-10 19:47 阿晨聊技术 阅读(519) 评论(0) 推荐(0)
摘要: 安装Apache2 安装Mysql 安装PHP 部署PHP官网 👉这里的zip压缩包,是已经install后的phpcms,因为项目经理给我的就是安装好的,所以就直接用了。 反正原理都一样,配置Apache解析域名指向路径就行。 配置Apache 域名解析 配置你的域名指向你的服务器就行。这里略过 阅读全文
posted @ 2020-02-10 19:46 阿晨聊技术 阅读(590) 评论(0) 推荐(0)
摘要: Ubuntu16.04安装MongoDB指南 系统初始化 安装mongodb mongodb默认是监听在127.0.0.1端口的,要开启外网连接,需要修改mongodb配置文件: 修改为 连接mongodb 使用工具 "robo 3t" ,添加连接信息 启用密码访问 mongodb默认是不开启密码登 阅读全文
posted @ 2020-02-10 19:44 阿晨聊技术 阅读(185) 评论(0) 推荐(0)
摘要: 官方定义 BeanFactory:Spring Bean容器的根接口 FactoryBean:各个对象的工厂接口,如果bean实现了这个接口,它将被用作对象的工厂,而不是直接作为bean实例。 源码解析 BeanFactory 从源码的方法定义上,就可以看出, 作为bean的容器管理器,提供了一系列 阅读全文
posted @ 2020-02-10 19:42 阿晨聊技术 阅读(330) 评论(0) 推荐(0)
摘要: 前言 在Web应用开发中,安全一直是非常重要的一个方面。在庞大的spring生态圈中,权限校验框架也是非常完善的。其中,spring security是非常好用的。今天记录一下在开发中遇到的一个spring security相关的问题。 问题描述 使用spring security进行授权登录的时候 阅读全文
posted @ 2020-02-10 19:35 阿晨聊技术 阅读(6326) 评论(3) 推荐(0)
摘要: 如果遇到了Spring MVC报错400,而且没有返回任何信息的情况下该如何排查问题? 问题描述 一直都没毛病的接口,今天测试的时候突然报错 ,而且Response没有返回任何信息。 解决方案 尝试了一下午,终于找到了排查这类问题的办法。 我们知道,在Spring MVC里面, 负责所有异常的统一处 阅读全文
posted @ 2020-02-10 19:32 阿晨聊技术 阅读(1928) 评论(0) 推荐(0)
摘要: 准备 Person实例 xml bean配置 入口 使用Debug进入 构造函数,源码如下 super(parent) 一步步向上调用父类构造函数,路径为 ClassPathXmlApplicationContext AbstractXmlApplicationContext AbstractRef 阅读全文
posted @ 2020-02-10 19:30 阿晨聊技术 阅读(287) 评论(0) 推荐(0)
摘要: Spring事件驱动模型,简单来说类似于Message Queue消息队列中的Pub/Sub发布/订阅模式,也类似于Java设计模式中的观察者模式。 自定义事件 Spring的事件接口位于 ,源码如下: 继承了Java的事件对象 ,所以可以使用 方法来获取到事件传播对象。 自定义Spring事件 然 阅读全文
posted @ 2020-02-10 19:06 阿晨聊技术 阅读(2494) 评论(0) 推荐(2)
摘要: @feignclient和@requestmapping混用的时候出错 重写springmvc扫描controller时不带有@feignclient才实例化 SpringCloud使用Zuul出现“Forwarding error”错误解决方法 在application.yml中添加ribbon的 阅读全文
posted @ 2020-02-10 19:05 阿晨聊技术 阅读(509) 评论(0) 推荐(0)
摘要: Spring Boot Starter是什么? 依赖管理是任何复杂项目的关键部分。以手动的方式来实现依赖管理不太现实,你得花更多时间,同时你在项目的其他重要方面能付出的时间就会变得越少。 Spring Boot starter 就是为了解决这个问题而诞生的。Starter POM 是一组方便的依赖描 阅读全文
posted @ 2020-02-10 19:03 阿晨聊技术 阅读(821) 评论(0) 推荐(0)
摘要: 通读Spring IoC容器官方文档,对IoC容器有一个大致的了解。 环境 JDK1.8 Spring Framework Version :4.3.18.RELEASE 容器概述 接口 代表Spring IoC容器,负责实例化,配置和组装bean。 在独立应用程序中,通常会创建一个 或者 的实例。 阅读全文
posted @ 2020-02-10 19:00 阿晨聊技术 阅读(496) 评论(0) 推荐(0)
摘要: 指南 maven 配置文件 配置 实践 不需要额外编写FeignOkHttpConfig,feign本身已经存在FeignOkHttpAutoConfiguration了,不需要额外配置。 阅读全文
posted @ 2020-02-10 18:59 阿晨聊技术 阅读(2630) 评论(0) 推荐(0)
摘要: 前言 作为Key value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系。但是,除了常规的数值或 "字符串" ,Redis的键值还可以是以下形式之一: "Lists (可重复列表) " "Sets (不可重复集合) " "Sorted sets (不可重复有序集合) " " 阅读全文
posted @ 2020-02-10 18:56 阿晨聊技术 阅读(282) 评论(0) 推荐(0)
摘要: 前言 Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如各类语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。 键值相关命令 keys 返回满足给定pattern的所有key 用表达式 ,代表取出所 阅读全文
posted @ 2020-02-10 18:55 阿晨聊技术 阅读(319) 评论(0) 推荐(0)
摘要: 全量迁移 备份数据 正式迁移 首先要修改备份文件 .sql的owner,防止权限出现错误。 【注意点】该迁移操作会覆盖原来的数据库,所以最好创建一个新库。 列出所有表名和数据库名 PostgreSQL 中 有时候想删除数据库(drop database swiftliveqaapi;),发现提示“E 阅读全文
posted @ 2020-02-10 18:54 阿晨聊技术 阅读(1109) 评论(0) 推荐(0)
摘要: 前言 本文是对Nginx配置SSL证书的总结。 申请SSL证书 你可以从任何证书提供商处申请证书,这里以 "阿里云" 为例。 打开阿里云SSL证书控制台,点击购买证书 选择免费型一年期的证书,点击立即购买 注意,1年到期后别忘记重新申请证书! 支付 放心大胆的支付吧,不用钱! 验证SSL证书 购买完 阅读全文
posted @ 2020-02-10 18:53 阿晨聊技术 阅读(551) 评论(0) 推荐(0)
摘要: 简介 lombok是一个编译级别的插件,它可以在项目编译的时候生成一些代码。通俗的说,lombok可以通过注解来标示生成 `settter`等代码。 引入 创建gradle项目 注解 @NonNull 标记字段不可为null 对应的字节码文件: @Getter/@Setter 自动生成getter和 阅读全文
posted @ 2020-02-10 18:51 阿晨聊技术 阅读(535) 评论(0) 推荐(0)
摘要: 定义与类型 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法 让类的实例化推迟到子类中进行。 类型:创建型 适用场景 创建对象需要大量重复的代码 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 一个类通过其子类来指定创建哪个对象 优点 用户只需要关心所需产品对 阅读全文
posted @ 2020-02-10 18:50 阿晨聊技术 阅读(267) 评论(0) 推荐(0)
摘要: 定义与类型 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于GOF23种设计模式 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心 优点 只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节 缺点 阅读全文
posted @ 2020-02-10 18:49 阿晨聊技术 阅读(194) 评论(0) 推荐(0)
摘要: 学习Java设计模式之前,有必要先了解设计模式原则。 开闭原则 定义 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭 用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性及可维护性 Coding 创建接口 创建实现类 测试类 控制台输出 如果现在要打折出售课程,按照开闭原则来设计,对 阅读全文
posted @ 2020-02-10 18:48 阿晨聊技术 阅读(308) 评论(0) 推荐(0)
摘要: 定义 统一建模语言(英语: Unified Modeling Language ,缩写UML)是非专利的第三代建模和规约语言。 UML特点 UML是一种开放的方法 用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法。 UML展现了一系列最佳工程实践,这些最佳实践在对大 阅读全文
posted @ 2020-02-10 18:47 阿晨聊技术 阅读(602) 评论(0) 推荐(0)
摘要: 前言 后端接口开发中,涉及到用户私密信息(用户名、密码)等,我们不能传输明文,必须使用加密方式传输。这次政府项目中,安全测试组提出了明文传输漏洞,抽空研究了下Java加解密相关知识,记录下。 散列函数 Java提供了一个名为 的类,它属于 包。 此类支持诸如 ,`SHA 256 MD5`之类的算法, 阅读全文
posted @ 2020-02-10 18:46 阿晨聊技术 阅读(494) 评论(0) 推荐(0)
摘要: 总览 forEach() method in Iterable interface(Iterable接口中的forEach()方法) default and static methods in Interfaces(接口中的默认和静态方法) Functional Interfaces and Lam 阅读全文
posted @ 2020-02-10 18:42 阿晨聊技术 阅读(331) 评论(0) 推荐(0)
摘要: Jackson常用注解 序列化注解 @JsonAnyGetter 像普通属性一样序列化Map 序列化示例: @JsonGetter 将指定的方法标记为 方法。可以用来代替 序列化示例: @JsonPropertyOrder 用在类上,在序列化的时候自定义属性输出顺序 序列化示例: @JsonRawV 阅读全文
posted @ 2020-02-10 18:40 阿晨聊技术 阅读(976) 评论(0) 推荐(0)
摘要: 简介 FastDFS是一个开源的分布式文件系统, "官方介绍" 有详细的介绍,不多赘述。本文主要是FastDFS的搭建及采坑指南。 Step By Step Guide 系统 阿里云ECS Ubuntu 16.04 编译环境 按需安装,这里是针对新的ubuntu系统 磁盘目录 |说明|位置| | | 阅读全文
posted @ 2020-02-10 18:38 阿晨聊技术 阅读(984) 评论(0) 推荐(0)
摘要: 在日常开发中,如果使用hibernate的话,常常会被hibernate的事务搞得焦头烂额。今天解决了之前项目中一直存在的问题,记录一下。 问题描述 有一张表TemplateCopy,如下 关联了两张表: 简单的看一下,TemplateCopy中有一堆SubDomainWeightsCopy,和一堆 阅读全文
posted @ 2020-02-10 18:37 阿晨聊技术 阅读(4578) 评论(0) 推荐(0)
摘要: 准备 按照 "Cassandra集群部署" 搭建两台测试机,环境信息如下: | 名称 | IP | 数据中心名称 | | | | | | node 01 | 192.168.198.130 | datacenter1 | | node 02 | 192.168.198.131 | datacente 阅读全文
posted @ 2020-02-10 18:36 阿晨聊技术 阅读(1288) 评论(0) 推荐(0)
摘要: 目前我又用回了vmware,原因是,Hyper V性能不如vmware,而且导出的虚拟机文件,再导入会出现奇怪的问题。不省心。 Hyper V是什么 Hyper V硬件要求为Windows 10 企业版、专业版或教育版,如果你使用的是Mac或者Linux的电脑,可以不往下看了。 虚拟机大家都懂吧,简 阅读全文
posted @ 2020-02-10 18:32 阿晨聊技术 阅读(8727) 评论(0) 推荐(0)
摘要: 利用业余时间撸了一个Spring Jpa代码生成器 "jpa codegen" 。 简介 这是一款基于 模板驱动的代码生成器。 依据现有的实体类代码,自动生成CRUD代码,解放双手,加快开发速度。 生成的代码包括但不仅限于(可以自定义生成模块) Form表单代码 Repository代码 Servi 阅读全文
posted @ 2020-02-10 18:28 阿晨聊技术 阅读(4963) 评论(0) 推荐(0)
摘要: 每次重装系统后的开发环境搭建,总是会花费大量的时间精力,软件下载安装啦,配置修改啦等等,索性把这些流程记录一下,毕竟时间就是金钱。 软件列表 JDK1.8 IntelliJ IDEA Navicat数据库管理工具 Postman Git SourceTree XShell5 DevCenter(ca 阅读全文
posted @ 2020-02-10 18:24 阿晨聊技术 阅读(255) 评论(0) 推荐(0)
摘要: 前言 最近,入手了一台二手Dell工作站M4800,价格为3600,配置如下 个人感觉还是很好用的,配置够用,关键是用料真的足!虽然是16年的机器,但是做工吊打一众游戏本。 然后,重点来了,我安装上了黑苹果macOs Mojave,等于说花了3600买了台MBP,而且是非常的高配。 目前使用上基本完 阅读全文
posted @ 2020-02-10 18:18 阿晨聊技术 阅读(3840) 评论(1) 推荐(0)
摘要: 写在前面 Chrome浏览器是最适合开发者使用的浏览器,不仅仅是因为Chrome对于Js的友好支持,更是由于Chrome支持丰富且功能强大的插件,扩展了浏览器的功能和使用体验。 在这些插件里面,相信你一定使用过 "TamperMonkey" ,他可以让你加速下载百度网盘,跟百度限速说拜拜,也可以让你 阅读全文
posted @ 2020-02-10 18:16 阿晨聊技术 阅读(6971) 评论(0) 推荐(1)
摘要: 写在前面 本文介绍如何使用 清除可清除的空间 可以看到,可清除的空间达到了125.79GB,虽然说不影响系统的使用,但是在使用时间机器进行备份的时候,仍然会将可清除空间当成备份的一部分,造成备份文件过大,首次备份时间过长。 准备 清除可清除空间,你只需要 CleanMyMac X 这个工具即可,我分 阅读全文
posted @ 2020-02-10 18:14 阿晨聊技术 阅读(1351) 评论(0) 推荐(0)
摘要: 常用软件工具收藏集,收藏了在工作生活中遇到的好用实用的软件。 开发工具 "BeyondCompare破解版" "Navicat Premium 12破解版" "markdown pad2破解版" 密码:23w2 "RedisDesktopManager 免费版" 密码:ciq1 "QTransate 阅读全文
posted @ 2020-02-10 18:12 阿晨聊技术 阅读(624) 评论(0) 推荐(0)
摘要: Postman是什么 Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。 Postman安装 官网下载(FQ) "https://www.getpostman.com/downloads/" 蓝奏云 "http 阅读全文
posted @ 2020-02-10 18:09 阿晨聊技术 阅读(642) 评论(0) 推荐(0)