自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不积跬步无以至千里,不积小流无以成江海。一个喜欢学习分享的程序员

欢迎一起学习交流,如果私信/评论必会抽空回复,希望能帮到您。

  • 博客(211)
  • 资源 (4)
  • 收藏
  • 关注

原创 Vu3+QuaggaJs实现web页面识别条形码

QuaggaJS是一个基于JavaScript的开源图像识别库,可用于识别条形码。

2024-04-24 16:59:09 533

原创 Oracle VM VirtualBox虚拟机安装配置

1. 首先,需要从Oracle官方网站下载VirtualBox的最新版本。2. 下载完成后,双击安装包开始安装。按照安装向导的提示,同意许可协议,并选择安装位置。3. 在安装过程中,可以根据需要选择是否创建快捷方式、是否安装USB支持等附加功能。4. 完成安装后,打开VirtualBox,你会看到一个空白的虚拟机列表。

2024-04-18 18:25:25 662

原创 【数仓】数仓建模理论及步骤,ER建模,维度建模,星形模型,雪花模型,数据分层

数据仓库是一个面向主题、集成的、非易失的且随时间变化的数据集合。它主要用于组织、积累历史数据,并使用分析方法(如OLAP、数据分析)进行分析整理,以辅助决策,为管理者、企业系统提供数据支持、构建商业智能。数据仓库的特点包括面向主题性、集成性、非易失性和时变性。数仓建模的目标是在性能、成本、效率和数据质量之间找到最佳平衡点

2024-04-18 16:25:01 883

原创 【数仓】DataX 通过SpringBoot项目自动生成 job.json 文件

DataX的任务脚本job.json格式基本类似,而且我们在实际同步过程中通常都是一个表对应一个job,那么如果需要同步的表非常多的话,需要编写的job.json文件也非常多。既然是类似文件结构,那么我们就有办法通过程序自动生成相关的job.json文件。

2024-04-10 10:22:59 892

原创 【数仓】DataX软件安装及配置,从mysql同步到hdfs

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

2024-03-26 19:39:38 1161

原创 【数仓】通过Flume+kafka采集日志数据存储到Hadoop

通过将数据从不同的数据源采集并传输到指定的目的地,Flume可以帮助企业实现数据的集中存储和管理,为后续的数据分析和挖掘提供基础。它主要用于将大量的日志数据从不同的数据源收集起来,然后通过通道(Channel)进行传输,最终将数据传输到指定的目的地,如HDFS、HBase等。上表中的参数是最常用的,但并不是所有的参数都在所有版本的Flume中都可用。

2024-03-09 23:16:05 2003 11

原创 【数仓】Maxwell软件安装及配置,采集mysql数据

Maxwell是一个读取MySQL binlogs(二进制日志)的应用程序,它的主要作用是将MySQL中的变更数据(包括insert、update、delete等操作)实时捕获,并将这些变更数据以JSON格式发送到Kafka、Kinesis、RabbitMQ等流数据处理平台。总的来说,在数仓中,Maxwell的作用主要是实时捕获MySQL中的变更数据,并将这些数据以流的形式发送到下游处理平台,从而实现数据的实时同步和处理。

2024-03-08 19:30:42 1592

原创 【数仓】Kafka消息可视化工具:Offset Explorer(原名kafka Tool)

Offset Explorer(以前称为Kafka Tool)是一个用于管理和使用Apache Kafka®集群的GUI应用程序。它提供了一个直观的界面,允许用户快速查看Kafka集群中的对象以及集群主题中存储的消息。它包含面向开发人员和管理员的功能。Offset Explorer仅供个人使用。未经购买许可,不得进行任何非个人使用,包括商业,教育和非营利工作。非个人使用可在下载Offset Explorer后的30天内进行评估,之后您必须购买有效许可证或删除该软件。

2024-03-08 09:10:52 1412

原创 【数仓】flume常见配置总结,以及示例

Flume的核心组件包括Source、Channel和Sink。Source负责从数据源中读取数据,可以是文件、网络套接字、消息队列等;Channel是数据的缓冲区,用于在Source和Sink之间传输数据;Sink负责将数据写入目标存储系统,如HDFS、HBase、Kafka等。此外,Flume还支持多种类型的Source、Channel和Sink,用户可以根据实际需求进行选择和配置。

2024-03-06 09:36:31 907

原创 【数仓】flume软件安装及配置

Apache Flume是一个分布式、可靠且可用的大数据日志采集、聚合和传输系统。它主要用于将大量的日志数据从不同的数据源收集起来,然后通过通道(Channel)进行传输,最终将数据传输到指定的目的地,如HDFS、HBase等。Flume具有高度可扩展性、容错性和灵活性,可以适应各种复杂的数据采集场景

2024-03-06 09:33:45 1237

原创 【SpringBoot3】应用程序启动监听

应用启动监听在 Spring Boot 和其他框架中扮演着重要的角色。它们的主要作用是在应用启动或关闭时触发特定的操作或任务。

2024-03-04 23:55:35 1346 4

原创 【SpringBoot3】Spring Boot Event 自定义事件的发布与监听

Spring Boot自定义事件是Spring框架中事件处理机制的一种扩展,它允许开发者在Spring Boot应用程序中定义、发布和监听自己的事件。这些事件可以用于在应用程序的不同组件之间进行通信,实现解耦和异步处理。通过自定义事件,开发者可以更加灵活地处理业务逻辑,提高系统的可扩展性和可维护性。

2024-03-04 23:31:02 1182

原创 【数仓】kafka软件安装及集群配置

Kafka集群的配置涉及多个方面,包括broker、Zookeeper、producer和consumer的配置。不过,通常我们主要关注的是broker和Zookeeper的配置,因为它们是构成Kafka集群的基础。以上只是Kafka配置的一部分,实际上Kafka的配置项非常多,可以根据具体的需求和场景进行调整。请注意,配置项的默认值可能会随着Kafka版本的更新而发生变化,因此建议查阅对应版本的官方文档以获取最准确的信息。:监听的网络端口和协议,用于客户端和其他brokers的连接。

2024-03-02 10:59:12 1360 8

原创 【数仓】zookeeper软件安装及集群配置

考虑到事务日志的写入性能会直接影响到ZooKeeper的整体性能,因此建议将事务日志存储在一个专门的、拥有良好I/O性能的磁盘上。它是以毫秒为单位的,并且ZooKeeper中所有的时间都是以这个为基础进行整数倍的配置。在配置ZooKeeper集群时,还需要设置一些其他的参数,如server.x配置项,用于指定ZooKeeper集群中的服务器地址和端口等信息。:这是ZooKeeper集群中的Follower服务器与Leader服务器之间初始连接时能容忍的最多心跳数(以tickTime为单位)。

2024-03-02 10:52:40 890

原创 【数仓】Hadoop集群配置常用参数说明

Hadoop集群中,需要配置的文件主要包括四个:核心Hadoop参数、HDFS参数、MapReduce参数、YARN参数

2024-03-01 15:07:28 986 2

原创 【数仓】Hadoop软件安装及使用(集群配置)

Hadoop集群环境配置,环境准备以及实操步骤,详细介绍Hadoop集群的各个操作步骤

2024-03-01 15:02:21 1210 7

原创 程序员是如何看待“祖传代码”的?

随着时间的推移,尽管技术栈、开发工具和编程范式可能已经发生了翻天覆地的变化,但“祖传代码”依然坚守岗位,稳定地为公司或项目提供着服务。虽然随着时间的推移,公司的业务可能已经发生了很大的变化,但这些独特的逻辑依然具有重要的历史价值,可以帮助我们更好地理解公司的发展历程。因此,在处理“祖传代码”时,程序员需要特别小心和谨慎。这些代码可能是由前几代程序员编写的,经过岁月的洗礼,它们依然在运行,支撑着公司的核心业务。而在程序员社区中,“祖传代码”则成为了一种特殊的文化符号,代表着程序员对技术的敬畏和对历史的尊重。

2024-02-29 22:29:59 901 1

原创 【数仓】数据分层概念以及相关逻辑

在数仓项目中,常见的数据分层包括以下几种:1)这一层存放原始数据,通常直接加载原始日志或数据源中的数据,并保持数据的原貌不做处理。它是后续数据处理的基础。2)该层与ODS层的数据结构和粒度保持一致,但对ODS层的数据进行了清洗,包括去除空值、脏数据和超过极限范围的数据等。有时也被称为DWI层。3)以DWD层为基础,这一层进行了轻度汇总。通常会聚集到以用户、设备、商家、商品等为主题的粒度,为上层的数据应用提供基础数据。4)面向实际的数据需求,以DWD或DWS层的数据为基础,组成各种统计报表。

2024-02-29 11:34:37 1783

原创 【数仓】基本概念、知识普及、核心技术

数仓的定义:数仓的特点:数仓与数据库的区别:数仓的架构:数仓的应用:数仓的发展趋势:数据建模:数据抽取、转换和加载(ETL):数据质量管理:数据安全与隐私:元数据管理:数据仓库的性能优化:数据仓库与数据湖:实时数据仓库:数据仓库的维护和升级:数仓,即数据仓库(Data Warehouse),是一个大型、集中式的存储和处理数据的系统,通常用于支持企业或组织的决策分析处理。数仓的主要目标是提供决策支持,它整合来自不同业务系统的数据,并进行清洗、转换和加载,以提供一致、准确、及时的数据视图。

2024-02-28 17:56:23 1054 4

原创 【SpringBoot3】统一参数校验

使用@Valid注解在Spring MVC和其他Java EE应用程序中带来了显著的好处。它简化了验证逻辑,使得代码更加清晰和易于阅读,通过将验证规则与业务逻辑分离,提高了代码的可维护性。此外,@Valid注解提供了丰富的验证功能,包括分组验证和自动处理异常,使得验证过程更加灵活和高效。由于其与Spring框架的紧密集成,开发者能够更容易地利用Spring提供的其他功能,如数据绑定和类型转换

2024-02-28 13:48:32 1247

原创 【SpringBoot3】统一数据响应,全局异常处理以及通用响应处理

在Spring Boot中设计一个优秀的异常处理机制,可以确保应用程序在遇到错误时提供清晰、一致的响应,同时提高系统的健壮性和可维护性。1)定义自定义异常类;2)创建全局异常处理器;3)定义统一的异常响应格式;4)异常分层;5)日志记录;7)提供友好的用户错误信息;8)处理全局异常

2024-02-27 18:42:38 1571 5

原创 程序员为什么不喜欢关电脑?

程序员的工作通常涉及复杂且连续的任务,如编写代码、运行测试、调试程序等。这些任务往往需要花费大量的时间和精力。关闭电脑可能会中断这些任务,导致程序员需要重新加载项目、恢复工作状态等,这不仅浪费了时间,还可能打断他们的思维流程。

2024-02-27 09:33:52 848

原创 【SpringBoot3】SpEL表达式详细使用说明

SpEL(Spring Expression Language)是Spring框架提供的一种功能强大的表达式语言,用于在运行时查询和操作对象。主要特点和用途包括:1. 简洁性:SpEL表达式使用简洁的语法,使得在Spring配置和代码中能够更简洁地表达复杂的逻辑。2. 动态性:SpEL表达式能够在运行时动态地解析和执行,从而提供了更大的灵活性。3. 强大的功能:SpEL表达式支持各种功能,如方法调用、字符串模板、集合操作、逻辑运算等,使得在Spring配置和代码中能够完成复杂的逻辑处理。

2024-02-26 17:29:26 1838 6

原创 计算机专业必看的几部电影

计算机专业的学生和从业者可以通过观看与计算机科学和技术相关的电影来扩展视野、激发灵感和思考。以下是一些建议的计算机专业必看的电影,它们涵盖了虚拟现实、人工智能、网络安全、密码学等多个领域

2024-02-26 00:15:14 128

原创 【SpringBoot3】Spring Security 常用配置总结

1、记住我 rememberMe2、退出处理3、持久化登录令牌4、并发登录控制,后登录踢掉前面登录5、主动踢人下线6、允许跨域处理7、跨域攻击防护

2024-02-23 19:48:25 1794 5

原创 【SpringBoot3】Spring Security使用mybatis-plus存储用户角色权限,实现动态权限处理

一、使用mybatis-plus存储用户角色权限1)创建相关数据库表2)从数据库中读取用户、角色、权限数据3)登录成功返回token4)访问相关资源时,通过自定义的过滤器解析token,判断权限动态权限可以通过创建自定义类(如 `MyAuthorizationManager`)实现接口 `AuthorizationManager`,在实现类的 `check()` 方法中判断用户是否有请求资源的权限。

2024-02-23 14:31:36 764

原创 【SpringBoot3】Spring Security 详细使用实例(简单使用、JWT模式)

Spring Security 使用起来非常简单,只要引入相关依赖包,然后增加注解`@EnableWebSecurity`就可以。同时提供了丰富的扩展点,可以让你自定义权限校验策略。常见的使用场景分两类:1. 有session模式,通常是前端不分离的项目,使用cookie + session 模式存储以及校验用户权限;2. 无session模式,通常是前后端分离项目,使用Jwt形式的Token校验权限

2024-02-23 09:34:07 1583

原创 【SpringBoot3】Spring Security 常用注解

Spring Security 6 的常用注解包括以下几种,通过这些注解可以更加方便的控制资源权限。- `@Secured` :方法执行前检查,直接判断有没有对应的角色- `@PreAuthorize`:方法执行前检查,根据SpEL表达式执行结果判断是否授权- `@PostAuthorize`:方法执行后检查,根据SpEL表达式执行结果判断是否授权

2024-02-19 18:36:11 1259 3

原创 【SpringBoot3】Spring Security 核心概念

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC、DI(依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。此外,Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,致力于为Java应用程序提供身份验证和授权的能力。

2024-02-19 11:31:02 1046

原创 【SpringBoot3】Spring 请求处理流程,自定义返回类型处理(HttpMessageConverter)

Spring MVC 架构,以下是处理流程:1、客户端发送请求。2、DispatcherServlet 接收请求。3、HandlerMapping 进行映射,找到处理请求的 Controller。4、Controller 方法处理请求。5、数据绑定与验证(如果有的话)。6、返回数据或视图给 DispatcherServlet。7、ViewResolver 解析视图:如果返回的是视图名。8、视图渲染,生成最终的响应结果。9、DispatcherServlet 将最终的响应返回给客户端,请求

2024-02-01 12:22:03 1137 5

原创 【SpringBoot3】什么是SpringBoot Starter,创建自己的Starter

Spring Boot Starter 是 Spring Boot 中的一个重要概念,它简化了Spring应用程序的初始化和开发过程。整合依赖:Spring Boot Starter 将与特定功能相关的依赖整合在一起,使得开发者只需要在项目中引入相应的Starter,就可以快速地使用该功能。这大大简化了依赖管理和配置过程。自动配置:Spring Boot Starter 提供了自动配置功能,可以根据项目中的依赖和环境自动完成配置。这避免了手动配置的繁琐和易错性,使得开发者能够更加专注于业务逻辑的实现。

2024-01-29 15:56:33 1068 6

原创 【SpringBoot3】集成Knife4j、springdoc-openapi作为接口文档

Knife4j是一个基于 Swagger 实现的接口文档管理工具,它提供了一套简单易用的 UI 界面,用于展示和管理 Swagger 生成的 API 文档。与传统的 Swagger UI 相比,Knife4j 在 UI 设计和功能上进行了改进和增强,使得接口文档的浏览和管理更加方便和直观。Knife4j 提供了一个美观、直观的界面,用户可以通过该界面轻松地浏览和理解 API 文档,以及进行相关操作。

2024-01-29 15:54:18 3222

原创 【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2024-01-22 18:41:32 5549 10

原创 【SpringBoot3】Spring Boot 3.0 集成 Redis 缓存

Redis缓存是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它主要用于作为数据库、缓存和消息中间件,以快速读写和丰富的数据结构支持而著称。在应用程序和数据库之间,Redis缓存作为一个中间层起着关键作用。通过将常用的数据存储在Redis内存中,可以快速读取,从而避免了从数据库进行复杂的查询操作,减轻了数据库服务器的压力,并提高了应用程序的性能和响应速度。

2024-01-22 11:47:06 3300 8

原创 【SpringBoot3】IDEA常用插件介绍Tabnine,GsonFormat,Maven Helper等

本文主要介绍一些比较实用的IDEA插件,帮助广大开发者提升开发效率,愉悦编码!

2024-01-19 10:28:54 1734 8

原创 【SpringBoot3】使用 devtools 实现代码热部署

Spring Boot DevTools是一组用于提高开发人员生产力,并加速Spring Boot应用程序开发的工具。它提供了一些功能,可以帮助开发人员更快速地构建应用程序,并减少常见的开发问题。自动重新加载:当应用程序中的代码发生变化时,DevTools会自动重新加载应用程序,而无需手动重新启动服务器。这可以节省大量时间,尤其是在开发过程中进行代码调试和迭代时。实时监控:DevTools提供了实时的应用程序监控功能,可以显示应用程序的运行状态、内存使用情况、线程状态等信息。

2024-01-16 15:35:01 1245 18

原创 【SpringBoot3】Spring Boot 3.0 介绍以及新特性

Spring Boot 3.0 是 Spring Boot 框架的一个重要版本,它在保持了 Spring Boot 的一贯优点的同时,也进行了一些重要的改进和更新。Spring Boot 3.0 对 Java 版本的要求进行了更新。这个版本要求使用 **Java 17** 作为最低版本,以利用最新的语言特性和性能改进。如果你正在使用的是 Java 8 或 Java 11,则需要先升级 JDK 版本,然后再开发 Spring Boot 3.0 应用程序。

2024-01-16 11:29:41 4825 8

原创 【docker】Docker Stack 详细使用及注意事项

Docker Stack 是 Docker Swarm 环境中用于管理一组相关服务的工具。它使得在 Swarm 集群中部署、管理和扩展一组相互关联的服务变得简单。主要用于定义和编排容器化应用的多个服务。Docker Stack 是 Docker Swarm 中的一个高级特性,用于在集群环境中管理复杂的多服务应用。它基于 Docker Compose 文件格式,但扩展了这种格式的功能,以适应集群和大规模部署的需求。

2024-01-12 15:29:34 2240 10

原创 【docker】Docker Swarm 核心概念及详细使用

Docker Swarm 是 Docker 的原生集群管理工具。它的主要作用是将多个 Docker 主机集成到一个虚拟的 Docker 主机中,为 Docker 容器提供集群和调度功能。通过 Docker Swarm,您可以轻松地管理多个 Docker 主机,并能在这些主机上调度容器的部署

2024-01-12 14:04:30 1078

原创 【docker】docker-compose.yml 语法详解

docker-compose.yml文件是Docker Compose的核心,用于定义服务、网络和数据卷。该文件使用YAML格式编写,其默认路径为`./docker-compose.yml`,可以使用`.yml`或`.yaml`作为文件扩展名。在docker-compose.yml文件中,可以定义多个服务,每个服务可以包含一系列配置选项,例如镜像名称、容器端口、环境变量等。还可以定义网络和数据卷,以便在多个容器之间共享网络和数据。网络可以设置为公共或私有,数据卷可以设置为持久化或非持久化

2024-01-09 15:15:44 2344 8

视频解说设计模式,设计模式的由来,分类,以及关联

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。

2024-01-03

快速排序算法解说,动画演示

快速排序是一种分治思想的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 快速排序的时间复杂度为O(nlogn),它的性能比冒泡排序和插入排序要好得多,特别是在大型列表上。

2024-01-03

归并排序解说,动画演示

归并排序是一种分治思想的排序算法,它的基本思想是将待排序的数组分成若干个子序列,每个子序列都是有序的,然后再将子序列合并成一个有序的数组。 归并排序的时间复杂度为O(nlogn),它的性能比冒泡排序和插入排序要好得多,特别是在大型列表上。

2024-01-03

希尔排序算法解说,动画演示

希尔排序是一种改进的插入排序算法,它的基本思想是将待排序的数组按照一定的间隔进行分组,对每组使用插入排序算法进行排序,然后缩小间隔,再对分组进行排序,直到间隔为1为止。 逐渐减小间隔大小的方法有助于提高排序过程的效率,可以减少比较和交换的次数。这是希尔排序算法的一个关键特点。 希尔排序的时间复杂度为O(n^2),但实际上它的性能比插入排序要好得多,特别是在大型列表上。希尔排序的性能取决于间隔序列的选择,但是目前还没有一种最优的间隔序列。

2024-01-03

选择排序算法解说,动画演示

选择排序是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。 选择排序的时间复杂度为O(n^2),这使得它在大型列表和实际应用中效率低下。但是,由于其简单性,它是向初学者教授排序的好算法。

2024-01-03

排序算法详解,动画演示

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成。 冒泡排序的时间复杂度为O(n^2),这使得它在大型列表和实际应用中效率低下。但是,由于其简单性,它是向初学者教授排序的好算法。

2024-01-03

Spring2.0中文教程

Spring2.0中文教程 文档清晰、全面、非扫描件

2011-06-23

Oracle性能优化-SQL编写的一般规则

Oracle性能优化-SQL编写的一般规则。总结了oracle性能问题的方方面面

2011-06-23

project培训手册

写的非常好。简单明了,归纳的非常精确,值得大家一看

2011-06-19

loadRunner8.1教程

方便、易用的压力测试工具,方便导出测试报告。可以用于测试web应用,客户端应用等

2011-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除