- 博客(95)
- 资源 (8)
- 收藏
- 关注
原创 ETL 中多源数据库元数据同步的方案设计
本文提出了一种基于JDBC DatabaseMetaData接口的统一元数据同步方案,用于解决ETL/数据集成平台中多源数据库元数据管理难题。方案核心思路是通过标准JDBC接口获取元数据,替代传统直接查询各数据库系统表的方式,实现"一次编写、多库通用"。系统采用三层元数据结构(Schema-Table-Column/Index/PK/FK),通过异步线程池和增量更新机制实现高性能同步,并支持多租户隔离。关键技术点包括:动态数据源切换、MySQL兼容处理、安全元数据读取及租户上下文传递。相
2026-07-02 16:54:36
333
原创 Excel 转图片自定义多行表头的一种实现方案
本文介绍了一套企业微信消息推送场景中的Excel转PNG图片方案。核心功能包括:1)通过JSON配置自定义多行表头,支持单元格合并;2)在表头上方添加标题行和数据日期行;3)将Excel每个sheet渲染为PNG图片;4)对超过2MB的图片进行渐进式压缩;5)支持ZIP文件编解码。方案采用Aspose Cells进行Excel操作,通过三级压缩策略(色彩优化+重编码+等比缩放)确保图片大小符合企业微信限制,同时实现了表头样式美化、列宽行高自适应等功能,形成完整的文件处理流水线。
2026-07-02 16:28:38
274
原创 Spring Cloud Stream 最佳实践指南
Spring Cloud Stream 是一个用于构建消息驱动微服务的框架,它基于 Spring Boot 和 Spring Integration,提供了一套中间件无关的编程模型。核心价值:Binder 抽象:应用代码与消息中间件(Kafka / RabbitMQ / Pulsar 等)解耦函数式编程模型风格的SupplierFunctionConsumer声明式配置:通过控制绑定、分区、消费者组、并发开箱即用。
2026-06-16 17:39:48
452
原创 Spring AMQP 最佳实践指南
本文介绍了Spring AMQP框架的核心概念与使用方法。Spring AMQP是基于AMQP协议的消息中间件框架,提供简洁API实现异步消息通信。主要内容包括: 快速集成、核心概念、消息处理、高级特性、配置管理、测试支持和最佳实践。
2026-06-16 17:35:11
340
原创 Dubbo架构深度分析
深入解析了Dubbo框架的核心架构设计与扩展机制。重点分析了SPI扩展机制的实现原理,包括扩展点接口定义、配置文件加载和ExtensionLoader核心逻辑。同时阐述了URL统一模型的设计理念与实现细节,以及自适应扩展机制如何支持运行时动态选择实现。文中还结合银行系统场景,展示了Dubbo在交易路由、负载均衡等关键业务中的实际应用,体现了该框架在配置标准化、性能优化和容错处理方面的优势。
2026-03-25 12:24:40
491
原创 移动云MAS平台短信接口
移动云MAS平台是移动出的短信平台,支持SIM卡三网通,但对电信手机号码支持度不高,实测过程经常出现因平台原因导致短信发送失败。使用MAS云平台发送短信的用户同事需要注意短信黑白名单问题,建议将常用的手机号码添加上白名单。同时,如果短信回执提示发送成功,但实际未收到短信,则需登录平台查看发送日志,具体路径查看文章末尾。
2024-02-06 15:19:49
9597
原创 nacos-datasource-plugin-extension
nacos-datasource-plugin-extension是nacos-datasource-plugin的扩展插件,支持nacos-datasource-plugin-extension使用postgresql数据库、DB2数据库和Oracle数据库。
2024-02-06 14:32:27
1673
原创 集成算法概述
集成算法一般有三种,分别是Bagging模型、Boosting模型和Stacking模型。测试时对待测试样本分别通过不同的分类器,汇总最后的结果。投票方式,可分为软投票和硬投票。Bagging模型:并行的训练一堆分类器(类似电路并联),典型代表是随机森林算法。集成算法的基本思想:训练时用多种分类器一起完成同一份任务。随机森林的多样性,即构建的树模型之间存在一定差异。Boosting模型:提升算法(类似电路串联)Stacking模型:堆联。
2023-07-05 10:42:30
555
原创 Pycharm使用Anoconda配置虚拟环境
Anaconda是一个可用于科学计算的 Python 发行版,可以便捷获取和管理包,同时对环境进行统一管理,支持 Linux、Mac、Windows系统,包含了conda、Python在内的超过1,000+开源库。它解决了官方Python 的两大痛点:第一:提供包管理功能,Windows 平台安装第三方包经常失败的场景得以解决。第二:提供环境管理功能,类似 Virtualenv,解决多版本Python并存、切换问题。
2023-07-03 16:44:23
5257
原创 KMeans聚类算法实现
Kmeans是一种无监督的基于距离的聚类算法,其变种还有Kmeans++。其中,sklearn中KMeans的默认使用的即为KMeans++。。本文主要通过纯手写的方式,帮助学习理解KMeans算法的数据处理过程。
2023-06-30 10:19:08
859
原创 KMeans算法实现图像分割
由于具有出色的速度和良好的可扩展性,Kmeans聚类算法算得上是最著名的聚类方法。Kmeans算法是一个重复移动类中心点的过程,把类的中心点,也称重心(centroids),移动到其包含成员的平均位置,然后重新划分其内部成员。k是算法计算出的超参数,表示类的数量;Kmeans可以自动分配样本到不同的类,但是不能决定究竟要分几个类。k必须是一个比训练集样本数小的正整数。有时,类的数量是由问题内容指定的。例如,一个鞋厂有三种新款式,它想知道每种新款式都有哪些潜在客户,于是它调研客户,然后从数据里找出三类。
2023-06-30 09:44:36
911
原创 alpha值大小对lasso回归结果的影响
它在某些情况下很有用,因为它倾向于选择具有较少非零系数的解决方案,从而有效地减少给定解决方案所依赖的特征数量。Lasso回归对比岭回归,只有theta项的区别,Lasso回归的theta项是加了绝对值。对比不同的alpha值的运行结果,可以发现alpha值越大,拟合的结果趋向平稳,效果越好。下面,我们通过对比实验来观察不同的alpha值对每一个产生的theta结果的影响。代码在运行过程中,针对alpha=0的情况,会发出警告,拟合不收敛。
2023-06-27 11:34:47
2225
原创 岭回归(Ridge)不同alpha值对归回结果的影响
岭回归模型用于求解回归模型,其中损失函数是线性最小二乘函数,正则化由 l2-norm给出,也称岭回归为吉洪诺夫正则化。sklearn中的Ridge内置支持多元回归(即,当 y 是形状为 (n_samples, n_targets) 的二维数组时)。岭回归,即对每一个theta(i)增加他的平方项。本次实验,我们来观察不同的alpha值对每一个产生的theta结果的影响。
2023-06-27 10:15:56
1420
原创 PolynomialFeatures中不同degree的值对拟合结果的影响
生成100个数据,其中X的取值在 [-3,3] 之间随机抽取100个,y为X的一元二次函数,其中截距项符合高斯分布。可以看出,degree的值对拟合结果的影响非常明显,degree的值越大,越容易出现过拟合的现象。多项式拟合过程中,PolynomialFeatures函数的degree值对拟合结果的影响。四、通过线性回归,拟合方程y,可以发现拟合系数和方程y的值接近。三、通过PolynomialFeatures生成多项式系数。六、对比不同degree的值对拟合结果的影响。
2023-06-26 16:26:07
825
原创 机器学习(三)线性回归原理
因此,上述公式“Y=θ1·X1+θ2·X2”即可修改为“Y=θ0+θ1·X1+θ2·X2”,将常数项“θ0”添加一个“X0”,即可用矩阵形式表示该公式。由于误差的存在,因此上述公式,Y(i)为真实值,θT·X(i)为预测值,E(i)为误差,我们希望误差项越小越好,即损失函数的结果越小越好。这里X,θ,Y均为矩阵。这里,XT·X(矩阵X的转置·矩阵X)的目的,是为了将X转换为对称阵(方阵),X和Y均为已知量。梯度方向是上升最快的方向,因此,这里的偏导结果应该取反,再加上原来θj的位置,即为更新后的位置。
2023-06-21 10:14:19
1266
原创 机器学习(二)逻辑回归
Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic 回归的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计。
2023-06-20 15:18:58
2062
原创 机器学习算法(一)KNN近邻算法
KNN(K近邻算法):K-Nearest-Neighbor算法,即K值为邻近。KNN是最简单的分类算法之一,同时,也是最常用的分类算法之一。KNN算法是有监督学习中的分类算法。
2023-06-15 12:48:33
1182
原创 K8s暴露服务-服务发现(三种常用方式)
k8s三种暴露服务(服务发现)的方式:1、Deployment+LoadBalancer模式的Service;2、Deployment+NodePort模式的Service;3、DaemonSet+HostNetwork+nodeSelector
2023-06-09 16:01:48
3968
原创 K8s 安装部署
测试ingress-nginx插件工作是否成功,部署demo(官网测试案例)设置 rsyslogd 和 systemd journald。初始化 kubernetes master/node。设置防火墙为 Iptables 并设置空规则。kube-proxy开启ipvs的前置条件。安装kubeadm,kubelet和。安装ingress-nginx插件。处理器内核 2 内存 4G。处理器内核 2 内存 4G。处理器内核 2 内存 4G。[master]上执行。配置hosts 解析。关闭 SELINUX。
2023-06-02 09:21:44
577
1
翻译 分布式存储系统Minio
概述Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。区别于分布式存储系统,minio的特色在于简单、轻量级,对开发者友好,认为存储应该是一个开发问题而不是一个运维问题。存储架构...
2020-04-08 13:34:45
1315
原创 redis基础之set和get
在redis中,存储数据的方式用很多种,这里我们介绍如何使用get、set方法在redis中存储数据。在开始之前,我们先介绍一下何为键值对。在Java中,我们常用的HashMap就是以键值对的形式存储数据的。其格式为:键名 键值在方法调用过程中,即为map.set("KeyName","KeyValue");在比如,在浏览器中,当我们使用get方式提交数据至后台时,我们可以在浏览...
2018-10-21 16:14:39
7540
原创 quartz定时任务与SpringMVC集成-自动注入管理bean
通过quartz实现定时任务的管理,由于quartz本身不支持的IOC自动注入管理bean。因此在于spring集成时,可通过自定义JobFactory的形式,通过继承AdaptableJobFactory类,将quartz对象的生命周期交给Spring IOC管理。结构: JobFactory.java——实现自动注入 DBWriter.java——实现定时任务qua...
2018-02-22 10:17:22
1315
原创 redis单节点操作封装-功能更新
博主曾与之前分享了两篇文章,一篇关于redis单节点数据库在lunix上的安装,一篇为基于redis单节点数据库的操作封装。CentOS7-源码安装redis单节点redis单点缓存数据库操作封装本文基于前文redis单点缓存数据库操作封装,添加redis服务功能。文件结构 RedisUtils.java——redis工具类,初始化配置 RedisService.jav...
2018-02-22 09:57:15
731
原创 关闭防火墙后javaweb项目无法访问
Windows Server 2008R2,一般开发时我们为了省力都不注意防火墙的设置,甚至直接关闭防火墙以图方便。而在关闭防火墙后再次开启,我们所发布的项目可能无法访问,原因就在于防火墙规则的配置。 实例情景提要: 开发中,若不小心关闭服务器防火墙并造成一下情况时: 1.所有java环境配置均正常,且web项目访问80端口,且不存在占用情
2017-09-28 18:33:57
3748
原创 Oracle基础教程-第十一章 备份与恢复
第11章 备份与恢复11.2. 物理备份与恢复 11.2.1. 冷备份查询当前数据库中的所有数据文件、控制文件、联机中作日志文件的位置。 备份在磁盘空间的备份文件 重新打开数据库 11.2.2. 热备份查看当前数据库中有哪些表空间,以及每个表空间有哪些数据文件。 将数据库以归档模式启动 将需要备份的表空间状态设置为备份状态
2017-09-14 11:44:44
918
原创 Oracle基础教程-第十章 安全管理
第10章 安全管理10.1. Oracle数据库安全性概述10.2. 用户管理10.2.1.用户管理概述1.oracle数据库初始化用户2.用户属性数据库身份验证方式 外部身份验证方式 全局身份验证方式默认表空间 临时表空间 表空间配额 10.2.2.创建用户1.创建用户的基本语法2.参数说明3.
2017-09-14 10:54:16
1674
原创 Oracle基础教程-第六章 模式对象
第六章 模式对象9.1.模式1.模式的选择与切换 9.2.表9.2.1.创建表 1.表的创建 2.创建临时表1)创建事物级别的临时表 2)创建会话级别的临时表 3.利用子查询创建表1)创建一张标准表,保存工资高于3000的员工的员工号、员工名和部门名。 2)创建一个会话级别的临时表,保存部门号、部门人数和部
2017-08-05 14:26:47
748
原创 Oracle基础教程-第五章 物理存储结构
第五章 物理存储结构1.创建数据文件1.1.向osms数据库users表空间中添加一个大小为5MB的数据文件 1.2.向osms数据库temp表空间中添加一个大小为5MB的临时数据文件 2.修改数据文件大小2.1.为osms数据库中的users表空间添加一个自动增长的数据文件 2.2.修改osms数据库中的users表空间的数据文件users02.dbf为自动增
2017-07-26 15:44:39
1022
原创 Oracle基础教程-第四章 OEM与SQL*Plus
第四章 OEM与SQL*Plus1.连接命令1.1.普通连用户接方式CONN SCOTT/SCOTT@ORCL1.2.特权用户身份连接方式CONN SCOTT/SCOTT@ORCL AS SYSDBA 1.3.断开连接DISC2.编辑命令2.1.输入执行并显示缓冲区内容,其中若以特权身份连接orcl,则查询时需在表名钱添加用户名称,即SELECT E
2017-07-24 17:20:32
1100
原创 redis单点缓存数据库操作封装
redis服务模块封装redis单节点缓存数据库操作分装类;这篇博客对应上一篇博客redis单节点源码安装。此处,继上次安装好的redis之后,通过Java访问redis,并将redis操作封装成工具类。包结构其中:——测试类:RedisTest——服务类:RedisService——工具类:RedisUtil——配置文件:redis.properties
2017-07-05 17:07:24
1408
原创 CentOS7-源码安装redis单节点
redis单节点源码安装相对比较简单,redis是一种支持分布式缓存技术的noSQL数据库,可做内存型数据库,亦可持久化,支持get,set,hget,hset等多种面向对象的存储。redis官方仅支持linux,使用win的老弟可以去下载Microsoft自己维护的windows版本。linux系统用户可去这里下载,windows用户可去这里下载。前置:—操作系统:CentOS 7.
2017-07-05 14:31:49
1030
原创 分治法实现棋盘覆盖C++
#includeusing namespace std;const int size = 8;static int tile = 1;static int board[size][size] = { 0 };class CHESSBOARD{public: /* 分治法实现棋盘覆盖 */ static void chessBoard(int tr, int tc, int
2017-06-05 20:59:35
4155
原创 C++11—迭代器类实现
//迭代器类namespace detail_range{ template class iterator { public: using value_type = T; using size_type = size_t; private: size_type cursor_; const value_type step_; value_type value_
2017-04-24 16:25:02
1501
原创 Git-本地提交及远程提交
很倒霉,当初Github删库问题,博主中了头彩,建了两年左右的giuhub账号没鸟~,新建账号后,于是就想着写一个Git版本控制的入门使用——代码的本地提交以及远程提交至Github仓库,仅涉及一个主分支。使用Git版本控制工具是开发中必不可少的过程,不过话说回来,却不一定要是用Git做版本控制,因为工具真的很多啊。本文剩余部分主要讲解如何使用Git进行本地代码提交以及远程提交到Github仓
2017-03-03 01:43:38
5150
原创 短信接口调用-手机短信,验证码
本文章短信平台接口基于中国网建SMS短信平台API,相关网址为点我打开--->中国网建SMS短信平台。注册后即可立即使用,无信息审核验证延迟。 通过中国网建第三方API发送一条短信,需要知道以下信息:用户注册时的Uid:用户名,key:短信密钥,smsMob:用户接收短信的电话号码,smsText:短信内容。获取以上信息后,配置短信平台demo,即可完成短息发送。其中,Uid以及短信密钥
2017-01-21 14:29:40
21296
7
原创 SpringMVC框架配置
配置SpringMVC架构,环境eclipse,tomcat 7,jdk 1.8,构建javaweb项目,架构包包含spring框架,Hibernate框架以及junit测试单元和其他一些依赖项。
2016-12-25 23:09:29
978
原创 如何学习前端-个人感悟
从哪里开始 当然,从最基础的开始。这里最重要的莫过于学会怎样切割页面,所谓切割,即能通过div标签的嵌套方式进行页面分割,配合少量的css样式,勾勒出想要的,但并不美观的页面。若能至此,那么就基本pass了。总结起来,即熟悉常用的标签在界面上产生的效果。 对于小白,在学习阶段,难免会碰到例如导航栏是怎么切割出来的,毫无头绪,怎么办呢? 打开浏览器,
2016-11-27 13:20:31
9536
1
CentoS-6.3-DVD1to2
2015-03-29
Teaching数据库
2016-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅