Paraller's Blog

Boilerplate of Hux Blog

MYSLQ必学必会

This document is not completed and will be updated anytime. 索引 MySQL5.0之前,一个表一次只能使用一个索引,无法同时使用多个索引分别进行条件扫描。但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引分别进行条件扫描。 InnoDB的索引类型 InnoDB的索引有两类索引,聚集...

校验器模式设计

参数校验

应用工程中,数据校验是不可或缺的一环,为了避免随处散落和耦合紧密的代码,如何优雅灵活的编写校验代码,提供了一些思路供大家参考。 数据校验大体可以分为两种,参数校验(参数非空,长度等) 和 业务校验(符合业务流转要求)。 参数校验 Preconditions 入参校验是最基础的,一般包括以下几种 非空校验 业务条件校验 下游代码的前置条件校验 数据库条件校验 第...

国际化项目对时间的处理

时间戳&时区的理解

最近在做一个中美的项目,涉及对时间的转换处理,做了一些知识点的整理,防止后人采坑。 前面部分主要对时间戳的相关知识点普及,后面部分是项目中的采坑经历。 时间戳 Unix时间戳,是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,是一个绝对值。因此,严格来说,不管你处在地球上的哪个地方,任意时间点的时间戳都是相同的,与时区没有任何关系。这点有...

NoClassDefFoundError & ClassNotFoundException总结

异常定位

最近一个应用程序A,引入了一个二方包 xxx-common.jar, 能够正常运行。 然后应用B也引用了这个二方包,部署启动也都正常,但是使用 xxx-common.jar 的一个类的静态方法时,却抛出了一个异常 NoClassDefFoundError。 借这个排查的机会把这个异常重新学习了一下,首先是理解两种异常的区别,因为长得很像,大家很容易混在一起。 首先理解两种异常的区别: ...

单元测试总结

理论知识 单元测试的好处 对自己代码负责,保证代码的正确性。 有利于团队整体协作,整体代码质量,避免他人修改代码不能及时发现问题。 良好的模式设计,好的设计能够简单快速的写出单元测试 单元测试的几个特性 好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 A:Automatic(自动化) I:Independent(独立性) R:Repeat...

Git快速学习手册

快速预览重点 & git flow

This document is not completed and will be updated anytime. git 最近在重温git的一些基本知识,把原来技术团队总结的一些知识点贴在这里方便回顾,本文会提供一些git的比较好的学习资料、一些常用命令和开发流程的使用场景 Introduction Command Git-flow Skill ...

Mac高效编程基础环境-后台开发

高效开发环境

最近新买了MBP,所以把以前的环境配置整理了一遍,方便以后更换电脑能快速配置。 Mac配置 设置-触控板-配置点按(不需要按下触控板,轻点即可) 设置-鼠标-跟踪速度、滚动速度 加快 设置-辅助功能-鼠标与触控板-触控板选项:加快滚动速度 设置-辅助功能-鼠标与触控板-触控板选项:启动拖移、三指拖移 基础环境 如果对下面的工具不了解的,请百度了解一下他们 ...

高可用eureka服务发现实例

基于spring cloud 的案例进行自定义配置 简介 一个注册发现服务,类似于一个 Map数据结构保存了 实例名和 相应的域名信息,提供实例注册和返回。(保存在内存中 ) The Eureka server does not have a backend store, but the service instances in the registry all have to sen...

微服务教程-使用Spring Cloud&Eureka服务发现和注册

Microservice Registration and Discovery with Spring Cloud and Netflix's Eureka

微服务教程-使用Spring Cloud & Eureka实现服务发现和注册 概念介绍 微服务的架构不是用来构建一个庞大独立的服务的,他用来实现服务间的可靠以及高可用的服务交互 这篇文章主要是翻译外文,我们会着重关注 Spring Cloud 如何为你实现复杂的服务注册,例如Eureka 、 Consul 、 client-side load-balancing. 云通讯录...

Spring集成Quartz分布式定时任务框架

Quartz集群及理论介绍,内存释放进程过多问题

Quartz相对于其他方案解决了什么问题 无法做灾难恢复 集群环境的定时任务单一执行 缺少对任务的管理 理论原理 Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点。该集群需要分别对每个节点分别启动或停止,不像应用服务器的集群,独立的Quartz节点并不与另一个节点或是管理节点通信。Quartz应用是通过数据库表来感知到另一应用。只有使用持久...