摘要: 章节目录 "第一章 spring boot 2.x基础及概念入门" "1.1.spring boot 产生的背景及其优势" "1.2.spring boot 2.x 新特性说明" "1.3.helloworld及项目结构介绍" "1.4.IDEA结合spring boot开发技巧" "第二章 RES 阅读全文
posted @ 2019-10-18 22:23 字母哥博客 阅读(1680) 评论(1) 推荐(2) 编辑
摘要: 问题背景 发电设备中常常会放置传感器(DCS)来采集数据以监控设备运转的状况,某集团设计的电力监控统计系统,需要实时采集传感器的数据后保存,然后提供按时段的实时查询统计功能。 系统设计规模将支持20万个传感器(以下称为测点),采集频率为每秒一个数据,即每秒总共会有20万条数据,总时间跨度在1年以上。 阅读全文
posted @ 2022-12-26 10:00 字母哥博客 阅读(632) 评论(1) 推荐(0) 编辑
摘要: 现代应用已经进入多数据源阶段了,不再是一个单一的数据库包打天下,一个应用中会涉及除关系数据库外各种数据源,如文本文件类数据、NOSQL、多维数据库、HTML Webservice等等,即使是关系数据库,也可能不止一个 应用这样了,那么应用中的报表自然也会涉及到多样性的数据源了 现在的报表,基本都是用 阅读全文
posted @ 2022-11-14 11:22 字母哥博客 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能 这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活、体验更好的同时,也能盘活更多数据的价值 对于应用软件厂商来说,则能省去很多开发和维护成本,还同时拓宽了自己 阅读全文
posted @ 2022-10-27 09:06 字母哥博客 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 对Excel进行解析\生成\查询\计算等处理是Java下较常见的任务,但Excel的文件格式很复杂,自行编码读写太困难,有了POI\EasyExcel\JExcel等类库就方便多了,其中POI最为出色。 POI具有全面而细致的xls读写能力 POI可读写多种Excel文件格式,既支持古老的二进制格式 阅读全文
posted @ 2022-10-13 12:09 字母哥博客 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 业务系统产生的明细数据通常要经过加工处理,按照一定逻辑计算成需要的结果,用以支持企业的经营活动。这类数据加工任务一般会有很多个,需要批量完成计算,在银行和保险行业常常被称为跑批,其它像石油、电力等行业也经常会有跑批的需求。 大部分业务统计都会要求以某日作为截止点,而且为了不影响生产系统的运行,跑批任 阅读全文
posted @ 2022-09-27 07:24 字母哥博客 阅读(625) 评论(1) 推荐(2) 编辑
摘要: 本专栏的上一篇文章写了《长篇图解etcd核心应用场景及编码实战》,本文继续。后续计划章节内容如下: 《长篇图解etcd核心应用场景及编码实战》 《搭建高可用etcd集群》 《基于etcd实现分布式锁(java代码实现)》 《基于etcd实现配置变更通知(java代码实现)》 《基于etcd实现服务注 阅读全文
posted @ 2022-09-08 14:10 字母哥博客 阅读(1328) 评论(0) 推荐(1) 编辑
摘要: 大家好啊,我是字母哥,今天写一篇关于etcd的文章,其实网上也有很多关于etcd的介绍,我就简明扼要,总结提炼,期望大家通过这一篇文章掌握etcd的核心知识以及编码技能! 本文首先用大白话给大家介绍一下etcd是什么?这部分内容网上已经有很多了。 etcd有哪些应用场景?这些应用场景的核心原理是什么 阅读全文
posted @ 2022-08-31 11:50 字母哥博客 阅读(1775) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是字母哥(coder)! 我让公司的小伙伴写一个生产级别的PostgreSQL的安装文档,结果他和我说:“不是用一个命令就能安装好么?还用写文档么?”。我知道他想说的是这个命令:yum install postgresql-server,我也是挺无语的。要知道生产级别的应用安装方式,和自己 阅读全文
posted @ 2022-08-26 12:06 字母哥博客 阅读(1661) 评论(9) 推荐(8) 编辑
摘要: 远程调试的困境 对于IOT终端产品开发来说,调试有很多问题,无法复现产品的问题、无法查看出问题当时的log、需要指导用户进行tar包升级,无法查看远程设备状态。有的时候需要一边调试问题,一边和用户沟通,需要在个人主机和服务器之间不断的切换,造成了很大的沟通麻烦。并且由于终端产品大多数都是linux 阅读全文
posted @ 2022-08-24 11:03 字母哥博客 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 一、问题的描述 在实际的系统应用开发中我经常会遇到这样的一类需求,相信大家在工作中也会经常遇到: 同一个系统在多个省份部署。 一个业务在北京是一种实现方式,是基于北京用户的需求。 同样的业务在上海是另外一种实现方式,与北京的实现方式大同小异 遇到这样的需求,我们通常会定义一个业务实现的接口,比如: 阅读全文
posted @ 2022-08-24 03:45 字母哥博客 阅读(1101) 评论(1) 推荐(5) 编辑
摘要: 所谓的延时任务给大家举个例子:你买了一张火车票,必须在30分钟之内付款,否则该订单被自动取消。订单30分钟不付款自动取消,这个任务就是一个延时任务。 我之前已经写过2篇关于延时任务的文章: 《完整实现-通过DelayQueue实现延时任务》 《延时任务(二)-基于netty时间轮算法实战》 这两种方 阅读全文
posted @ 2022-08-23 13:50 字母哥博客 阅读(2169) 评论(4) 推荐(5) 编辑
摘要: 一、时间轮算法简介 为了大家能够理解下文中的代码,我们先来简单了解一下netty时间轮算法的核心原理 时间轮算法名副其实,时间轮就是一个环形的数据结构,类似于表盘,将时间轮分成多个bucket(比如:0-8)。假设每个时间轮轮片的分隔时间段tickDuration=1s(即:指针经过每个格子花费时间 阅读全文
posted @ 2022-08-19 13:01 字母哥博客 阅读(1067) 评论(0) 推荐(4) 编辑
摘要: 实现延时任务有很多的方法,网上关于延时任务的实现的文章已经不少了。比如:实现延时任务的10种方法等等。但是这些文章基本上都是将方法大概的列举一下,给出部分示例代码,对于有经验的老程序员可能一看就知道该怎么去把它实现完整,但是对于初学者来说不够友好。所以,我打算写一个系列的文章,详细的给出每种延时任务 阅读全文
posted @ 2022-08-18 14:15 字母哥博客 阅读(1091) 评论(3) 推荐(3) 编辑
摘要: 一、什么是java反射? 在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new 类名()方式来获取该类的对象。也就是说我们需要在写代码的时候(编译期或者编译期之前)就知道我们要实例化哪一个类,运行哪一个方法,这种通常被称为静态的类加载。 但是在有些场景下,我们事先是不知道我 阅读全文
posted @ 2022-08-15 07:37 字母哥博客 阅读(2270) 评论(0) 推荐(6) 编辑
摘要: 一、应用场景 大家在使用Mybatis进行开发的时候,经常会遇到一种情况:按照月份month将数据放在不同的表里面,查询数据的时候需要跟不同的月份month去查询不同的表。 但是我们都知道,Mybatis是ORM持久层框架,即:实体关系映射,实体Object与数据库表之间是存在一一对应的映射关系。比 阅读全文
posted @ 2022-08-12 15:12 字母哥博客 阅读(6099) 评论(0) 推荐(1) 编辑
摘要: 使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员、测试人员),这种情况下图形界面就有必要了。提供图形界面的方式来操作docker也的确是比使用命令行的方式更直接、更简单。所以很多的厂商 阅读全文
posted @ 2022-08-12 07:24 字母哥博客 阅读(1058) 评论(0) 推荐(1) 编辑
摘要: 最近在写一些开源项目,想把自己写的东西放到maven中央仓库,提供给更多的人使用。所以写这一篇文章,记录一下自研开源项目jar包上传同步maven中央仓库成功的整个过程,这其中还是有不少的坑的。 首先需要在sonatype JIRA管理平台完成新建项目的申请,审核通过之后才能进行上传jar的操作 上 阅读全文
posted @ 2022-08-11 14:02 字母哥博客 阅读(2715) 评论(1) 推荐(2) 编辑
摘要: JAVA开发中经常会遇到不方便使用数据库,但又要进行结构化数据计算的场景。JAVA早期没有提供相关类库,即使排序、分组这种基本计算也要硬写代码,开发效率很低。后来JAVA8推出了Stream库,凭借Lambda表达式、链式编程风格、集合函数,才终于解决了结构化数据计算类库从无到有的问题。 Strea 阅读全文
posted @ 2022-08-11 06:48 字母哥博客 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 一、实现原理 在Servlet3协议规范中,包含在JAR文件/META-INFO/resources/路径下的资源可以直接访问。 二、举例说明 如下图所示,是我新建的一个Spring Boot Starter项目:zimug-minitor-threadpool,用于实现可配置、可观测的线程池。其中 阅读全文
posted @ 2022-08-09 11:07 字母哥博客 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 在开发spring boot应用服务的时候,难免会使用到异步任务及线程池。spring boot的线程池是可以自定义的,所以我们经常会在项目里面看到类似于下面这样的代码 @Bean public Executor taskExecutor() { ThreadPoolTaskExecutor exe 阅读全文
posted @ 2022-08-08 12:43 字母哥博客 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 数据信息化的应用与项目中,通常都会遇到报表需求,数量少的,零星需要做的,可能手工就搞定了,数量多的,长期做的,基本都会选用一个报表工具,因为长期做,就必须考虑成本了,找一个称手的工具来降本增效是非常重要的 报表工具有那么多,那就得选型,选起来复杂就会纠结,选起来简单就没什么纠结的了 比如想选一台二手 阅读全文
posted @ 2022-08-01 08:53 字母哥博客 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 前后端分离开发的场景下,开发人员的工作内容更加专注与专业,但是也产生了一些额外的沟通成本。比如:本文中为大家说明的前后端参数传递与接受方法。本文主要是面对前端使用axios,后端使用Spring进行参数接受的情况进行说明。在使用spring的时候,与前端配合开发,容易出现传参歧义的2个注解是 @Re 阅读全文
posted @ 2022-08-01 07:53 字母哥博客 阅读(878) 评论(0) 推荐(1) 编辑
摘要: 本文为大家介绍容器自启动以及docker 守护进程挂掉或者docker升级的情况下,如何保证容器服务的正常运行。主要包含三个部分 一、守护进程开机自启 在我们安装docker的时候,介绍过启动docker守护进程的命令如下,需要人工手动执行。 systemctl start docker 如果我们希 阅读全文
posted @ 2022-07-25 08:12 字母哥博客 阅读(1541) 评论(0) 推荐(2) 编辑
摘要: docker容器有三种状态运行、停止、暂停,镜像可以创建、运行容器,镜像和容器也可以转换成tar压缩包进行存储。本文为大家介绍容器的状态转换命令及镜像创建运行容器、tar包导入导出相关的命令及使用场景。 结合下文中的命令介绍来理解上面的这张图。 一、从镜像启动容器 从docker镜像启动一个容器的语 阅读全文
posted @ 2022-07-12 15:41 字母哥博客 阅读(1163) 评论(1) 推荐(0) 编辑
摘要: 一、国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的。国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升。例如: Docker 官方提供的中国 registry m 阅读全文
posted @ 2022-07-12 08:52 字母哥博客 阅读(883) 评论(1) 推荐(1) 编辑