自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 问答 (5)
  • 收藏
  • 关注

原创 数据仓库的 DWD 分层架构:构建高效数据平台的基石

DWD 分层架构是数据仓库设计中的一种经典分层方式,通常将数据仓库划分为ODS、DWD、DWS 和 ADS四层。每一层都有明确的职责,通过分层设计,可以实现数据的逐步加工、优化存储、提升查询效率,并支持多样化的业务需求。DWD 分层架构的核心优势在于:•更贴近业务需求:每一层的数据都针对特定的业务场景进行设计和优化。•提高数据质量:通过逐层清洗和转换,确保数据的准确性和一致性。•优化查询性能:通过预计算和聚合,显著提升查询效率。•支持复杂分析:从明细数据到汇总数据,满足不同用户的分析需求。

2025-03-23 20:30:17 1117

原创 Shell 脚本中的 `read` 命令:灵活处理用户输入

是 Shell 脚本中非常强大的命令,支持多种选项,可以灵活地处理用户输入。命令支持多种选项,可以灵活地处理用户输入,使得脚本更加交互式和用户友好。是一个内置命令,用于从标准输入(通常是键盘)读取用户输入,并将其保存到变量中。• 用户输入的内容不会显示在终端上,通常用于输入密码等敏感信息。用户输入的内容会被保存到指定的变量中,供后续脚本使用。用户输入指定数量的字符后,• 将用户输入的内容保存到数组中,而不是单个变量。• 从指定的文件描述符读取输入,而不是标准输入。• 用于显示提示信息,提示用户输入内容。

2025-03-18 21:31:28 716

原创 Shell脚本中command的使用指南

这些选项可以帮助你在脚本中更灵活地处理命令,尤其是在需要忽略别名或函数时。• 显示命令的详细描述(包括别名、函数、内置命令等)。• 表示选项结束,后面的内容被视为命令参数。• 如果命令是 Shell 内置命令(如。可以忽略别名和函数,直接执行原始命令。)查找命令,忽略用户自定义的路径。被定义为别名,也会执行原始的。:使用默认的系统路径查找命令。• 显示命令的路径或类型。• 使用默认的系统路径(:显示命令的路径或类型。:显示命令的详细描述。

2025-03-18 21:16:10 271

原创 Shell脚本中的弱治简写

更强大的条件测试,支持逻辑运算符和模式匹配。:从 Here Document 读取输入。:如果上一条命令成功,则执行下一条命令。:如果上一条命令失败,则执行下一条命令。未设置或为空,则设置默认值并返回。未设置或为空,则使用默认值。:将输出重定向到文件(覆盖)。:将输出重定向到文件(追加)。:检查上一条命令是否成功。:检查上一条命令是否失败。:获取数组的第一个元素。:文件或目录是否存在。:执行命令并返回输出。:获取数组的所有元素。:将命令放到后台执行。:字符串是否不相等。:循环 1 到 5。

2025-03-18 21:11:57 415

原创 Flink 中的滚动策略(Rolling Policy)

Flink 的滚动策略(Rolling Policy)是一个非常重要的功能,尤其在处理大量数据输出时,能帮助管理文件的大小、滚动周期和数据的合理分配。通过合理配置。

2025-02-25 15:33:36 750

原创 深入理解 Flink 中的 .name() 和 .uid() 方法

在 Flink 中,.name()和.uid().name():提升作业可读性,便于调试和监控,帮助开发人员快速识别作业中的具体操作。.uid():确保操作的唯一性,特别在涉及状态管理和容错恢复时,保证作业状态的一致性和正确性。在实际开发中,建议为每个操作设置合理的.name()和.uid(),以确保作业的高可维护性、容错性和可调试性。

2025-02-25 15:14:09 1102

原创 Flink Checkpoint机制详解

Checkpoint是一种状态快照机制,用于在流处理作业中定期保存作业的状态。Flink作业通常会在内存中维护一些状态(如窗口、聚合结果、历史记录等),当作业运行中发生故障时,Checkpoint能帮助系统恢复到最近的有效状态,从而避免丢失数据或重复处理数据。Flink的Checkpoint机制不仅能够保证作业的容错性,还能够支持精确一次(exactly-once)语义,即每条数据只会处理一次,即使发生了故障也能正确恢复。

2025-02-25 14:52:25 745

原创 深入浅出讲解匿名类与 Lambda 表达式

匿名类(Anonymous Class)是一种没有名字的类,它是 Java 中的一种特殊语法。通常,匿名类用于实现接口或者继承一个类,特别是在代码中仅使用一次的时候。与普通类不同,匿名类没有显式声明类名,而是直接在代码中定义。new 接口/类名() {// 实现方法Lambda 表达式是 Java 8 引入的一种新特性,它允许我们以更加简洁的方式实现接口,特别是对于函数式接口(只含有一个抽象方法的接口)。Lambda 表达式的主要目的是减少样板代码,使得代码更加简洁和易读。

2025-02-24 15:49:36 986

原创 优化 Flink 消费 Kafka 数据的速度:实战指南

Flink 默认的 Kafka 消费者并行度可能较低,导致消费速度无法充分利用 Kafka 的吞吐能力。等多个方面,详细解析如何优化 Flink 消费 Kafka 的速度。,这可能导致 Flink 处理 Kafka 数据时。,看看消费速度是否有提升,再尝试优化其他参数。,否则部分消费者会空闲。,进而影响 Kafka 的消费速率。,可以从以下几个方面进行优化: ✅。默认情况下,Kafka 消费者。在 Flink 代码中,可以。在 Kafka 消费者配置中,Kafka 消费者的数量。数据时,你可能会遇到。

2025-02-21 15:21:57 1505

原创 /etc/profile vs ~/.bashrc:如何正确使用?

/.bashrc需求推荐方案只对当前用户生效,且在 WSL 终端或 IDEA 终端使用~/.bashrc适用于所有用户,并在 SSH 登录时生效适用于所有用户,包括非交互式 shell如果你主要在交互式终端里使用环境变量或别名,建议放在~/.bashrc。如果你想要全局生效(如 SSH 登录),建议放在。如果你想所有进程都能使用,建议放在。

2025-02-13 10:24:34 1210

原创 不知道MySQL密码怎么办?|不卸载重装的处理办法

以上就是解决 MySQL 密码丢失并重置密码的完整步骤。在没有密码的情况下,我们通过跳过权限表启动 MySQL,然后重置密码。重置后,确保恢复 MySQL 服务正常运行,并验证密码是否生效。

2025-02-10 15:45:12 490

原创 SOLID原则:让你的代码更优雅,更易维护

SRP:一个类只做一件事。OCP:扩展功能无需修改原有代码。LSP:子类能完全替代父类。ISP:接口设计应精细,避免臃肿。DIP:依赖抽象而不是实现。这些原则共同帮助开发者设计高内聚、低耦合的系统,提高代码质量和系统的可维护性。

2025-01-22 20:42:08 693

原创 深入理解 Spring 的 Lazy Loading:原理、实现与应用场景

通过灵活地使用延迟加载,可以显著优化应用程序的启动时间和资源利用率,特别是在复杂项目或资源密集型应用中。延迟加载(Lazy Loading)是 Spring 容器管理 Bean 的一种策略,指。这是 Spring 提供的一种优化机制,用于提高启动效率和降低资源占用。对于使用 Java 配置的项目,可以在配置类中的。注解,可以让单例 Bean 延迟加载。

2025-01-22 17:06:05 716

原创 如何“看到” Spring 容器?

Spring 容器是一个运行时的抽象工具,用来管理 Bean 的生命周期和依赖。虽然它本身不可直接观察,但可以通过以下方式间接“看到”容器的内容或行为。通过这些方式,虽然容器本身是抽象的,但开发者可以直观地感知它的存在和运行状态,从而更高效地调试和开发 Spring 应用程序。通过日志可以清晰看到容器的初始化过程、Bean 的加载顺序以及依赖注入的细节。验证容器是否正确加载了特定 Bean,并且依赖注入是否成功。Spring 容器的实例化是通过。就是 Spring 容器的实例。帮助理解当前使用的容器是。

2025-01-22 16:41:36 302

原创 Spring 容器与 Bean 的关系

Spring 容器是 管理 Bean 的核心机制,它的主要职责是:以下是对容器和 Bean 关系的详细解析:Spring 容器根据配置或注解创建 Bean 的实例:示例:构造器实例化通过容器获取 Bean输出:(2) 注入依赖:解决对象之间的依赖关系依赖注入(DI) 是 Spring 容器的核心功能之一。示例:构造器注入依赖当容器实例化 时:Spring 容器负责管理 Bean 的整个生命周期:示例:生命周期回调输出:1.3 容器和 Bean 的协作机制

2025-01-22 16:37:44 959

原创 Spring Bean Scope 全面解析:如何根据职责选择合适的作用范围?

在 Web 应用中处理用户请求时,直接使用 Singleton 来处理会话级数据,可能导致数据混乱。Prototype Scope 会导致每次获取 Bean 时都创建新实例,可能引发性能问题。Spring 提供了多种作用范围,根据应用场景选择合适的 Scope,可以更高效地管理资源。如果一个类存储状态(如用户数据),却被设置为 Singleton,会导致线程安全问题。Spring 支持多种方式来定义 Bean 的 Scope。

2025-01-22 16:16:26 1111

原创 Spring 依赖注入详解:创建 Bean 和注入依赖是一回事吗?

是 Spring IoC(控制反转)容器的核心功能。它的目标是将对象的依赖(如其他对象或配置)从对象本身中剥离,由容器负责注入这些依赖。构造器注入 > Setter 注入 > 字段注入(特殊情况可用)。通过 Setter 方法注入依赖。通过类的构造器将依赖传递给对象。直接将依赖注入到类的字段上。

2025-01-22 16:12:01 575

原创 Spring 中 Bean 是什么?从类到 Bean 的核心概念解析

Spring Bean 是一个被容器实例化、配置和管理的对象,通常是应用程序的服务类、数据访问对象(DAO)或模型类。通过理解 Spring Bean 的概念及其与容器的关系,能够更高效地构建松耦合、易扩展的应用系统。是类的一个实例,但只有当它被 Spring 容器管理时,才被称为 Bean。是 Java 的基本构造块,是代码中的模板,用于定义对象的行为和属性。,它是 Spring 应用程序的核心组件,用来实现各种业务逻辑和功能。在 Spring 中,Bean 是一种特殊的 Java 对象,

2025-01-22 16:08:33 907

原创 Flink底层架构与运行流程

这张图展示了Flink程序的架构和运行流程。

2025-01-21 10:08:16 827

原创 Flink在流处理中,为什么还会有窗口的概念呢

流数据是无限的,没有明确的结束点,而窗口将数据分割成有限的块,方便处理。窗口操作使得我们可以对流数据进行有意义的处理(如聚合、统计等)。不同类型的窗口(滚动、滑动、会话等)提供了灵活的方式来处理不同的场景。时间窗口保证了对事件的时间控制和聚合,让流处理更具可操作性。通过窗口,Flink 能够让无限流数据处理变得有序、可控,同时也提高了实时计算的准确性和效率。

2025-01-21 09:28:10 1169

原创 Flink的流处理和批处理

流处理(Stream Processing)适用于实时和持续不断到达的数据,强调对无界数据流的处理。批处理(Batch Processing)适用于有限的数据集,强调对有界数据流的高效批量处理。Flink提供了流批统一的框架,允许在相同的 API 下处理这两种类型的数据,使得流处理和批处理可以灵活结合,适应不同的需求。

2025-01-21 09:27:01 1027

原创 Flink 的核心特点和概念

Flink 是一个流式处理框架,专注于高吞吐量、低延迟的数据流处理。它能处理无限流(即实时数据流)和有限流(批处理),具有很强的灵活性和可扩展性,广泛应用于实时数据分析、监控系统、数据处理平台等场景。

2025-01-21 09:21:47 923

原创 PostgreSQL 用户和数据库创建流程

创建数据库用户:你通过创建了devuser用户,并赋予了创建数据库的权限。配置 PostgreSQL 认证方式:修改了配置文件,以确保devuser用户可以通过密码登录。创建数据库:你为devuser创建了一个新的数据库devdb。登录数据库并创建表:成功登录devdb数据库并创建了users表。

2025-01-20 21:20:21 860

原创 postgresql的用户、数据库和表

用户(User/Role):身份认证和授权的实体,控制谁能访问数据库。数据库(Database):存储数据的容器,一个PostgreSQL实例可以包含多个数据库。表(Table):数据库中存储数据的结构,包含多个列和行。PostgreSQL的权限管理系统使得可以根据角色来控制哪些用户可以访问哪些数据库,以及他们可以执行哪些操作。

2025-01-20 15:37:42 5064

原创 WorldQuant--发送post请求时no location的处理办法

当你准备了一堆alpha通过循环进行simulate的时候,由于登录过期等问题可能会出现如下报错。

2025-01-18 18:40:30 405

原创 什么是正则表达式

正则表达式是一个强大的工具,可以帮助你在字符串中查找、替换、验证等。它的灵活性和表达力非常强,但也因为规则的复杂性,可能需要时间去熟悉。

2025-01-15 14:39:55 650

原创 PostgreSQL 的一些常用命令

的一些常用命令,分为连接数据库、用户和权限管理、表管理、查询数据等多个方面进行讲解,帮助你快速熟悉 PostgreSQL 的操作。

2025-01-12 19:41:07 535

原创 在 Vue.js 中实现防抖处理(Debounce)

是一种优化技术,指在连续触发某一操作时,只在最后一次触发后的一段时间内执行操作,避免频繁触发。对于登录按钮来说,防抖的作用是防止用户快速多次点击导致多次发送请求。通过以上方式,防抖处理已经集成到登录按钮的逻辑中,让用户操作更加流畅,同时防止重复请求。可以在组件中定义一个通用的防抖函数,或者使用第三方库(如 Lodash)提供的。用防抖包装登录逻辑,确保快速连续点击只会触发一次登录请求。如果你项目中已经安装了 Lodash,可以直接使用其。修改登录按钮的点击事件,从直接调用。

2025-01-12 12:04:08 274

原创 什么是 XSS(跨站脚本攻击)?

是一种常见的安全漏洞,攻击者通过在页面中注入恶意脚本代码,诱导用户的浏览器执行这些代码,从而达到窃取用户数据、伪造操作或劫持用户会话的目的。如果你想了解具体实现的代码或者更多示例,我可以进一步说明!XSS 的攻击目标通常是用户的浏览器,而不是服务器本身。

2025-01-12 11:39:26 694

原创 Vue CLI 通过 NODE_ENV 确定当前是开发还是生产环境

前缀的变量才会被暴露到客户端,其余的环境变量(如。的值,Vue CLI 能自动加载对应的。的值,执行不同的逻辑。)只会用于构建阶段。

2025-01-11 22:24:46 433

原创 Token主流认证方式及其应用场景

【代码】Token主流认证方式及其应用场景。

2025-01-11 22:10:27 915

原创 Docker容器的运行和管理

*docker run**用于启动新容器,并配置容器的运行参数。****用于在运行中的容器中执行命令,支持交互式终端。****连接到容器的主进程标准输入、输出和错误流,用于查看容器的输出。还可以使用其他命令(如docker rm等)进行容器管理和调试。这些命令是Docker容器运行和管理的基础,掌握它们可以帮助你高效地操作容器,实现开发、调试和部署工作。

2025-01-11 21:20:04 705

原创 Docker挂载点

VOLUME指令用于在Dockerfile中指定容器的挂载点。它会在容器的文件系统中创建一个卷(volume),并将其挂载到容器的指定路径。这条指令会在容器中创建一个挂载点/data,它会将宿主机上的一个目录(通常是临时的或匿名的卷)挂载到该路径。使用VOLUME指令时,它并不会指定宿主机的路径,而是由Docker自动管理该卷。这种方式主要适用于容器之间共享数据,但不依赖于宿主机文件系统路径。挂载点通过VOLUME指令或-v--mount参数,将宿主机的目录或文件系统挂载到容器内,便于数据持久化和共享。

2025-01-11 21:17:28 862

原创 Docker的CMD指令

CMD指令用于指定容器启动时执行的默认命令,帮助设置容器运行时的主进程。CMD可以使用三种格式来指定命令,推荐使用命令行参数格式(exec form)。CMD定义的命令可以在docker run命令中被覆盖,这使得容器在运行时更具灵活性。CMD通常用于指定长时间运行的进程,如Web服务器或后台服务。

2025-01-11 21:15:07 1092

原创 Dockerfile的作用

Dockerfile文件包含了镜像构建过程中的所有步骤,它们按照顺序执行,以生成一个定制化的镜像。Dockerfile通常用于自动化构建Docker镜像,尤其在持续集成/持续部署(CI/CD)流程中,Dockerfile能确保一致性和可重复性。基本格式:Dockerfile使用一组关键字(或指令),如FROMRUNCOPYCMD等,按顺序构建镜像。例如,使用FROM指令指定基础镜像,使用RUN指令安装软件,使用COPY指令将文件从本地复制到镜像中,等等。可扩展性。

2025-01-11 21:10:58 993

原创 Docker镜像和容器的关系

镜像是只读的模板:镜像定义了容器的基础环境,它是静态的,可以被多次使用,保证了应用在不同环境中可以一致地运行。容器是镜像的实例:容器是镜像的一个具体实例,它是一个动态的实体,在运行过程中可能会发生变化,容器包含了运行时所需的所有状态和数据。关系:容器是镜像的运行时表现,而镜像是容器的蓝图。容器通过镜像创建,并基于镜像提供的环境和依赖运行应用程序。

2025-01-11 21:07:27 522

原创 Docker容器的本质

Docker容器不是操作系统:容器本身并不包含操作系统,只是通过宿主机的内核来运行。它们相对于虚拟机更加轻量和高效。共享内核:容器共享宿主机的操作系统内核,而不是每个容器都有自己的内核,这减少了资源消耗和提升了启动速度。独立的文件系统、网络配置和进程空间:虽然容器共享内核,但每个容器都有自己的文件系统、网络和进程空间,从而确保了容器的隔离性。

2025-01-11 21:04:52 337

原创 git在本地创建新分支并将该分支推送到远程仓库

选项,Git 会自动为本地分支设置与远程分支的关联。如果一切正常,应该会显示本地分支已与远程分支关联。

2025-01-10 14:54:11 1090

原创 如何查看Linux服务器的硬件配置

Linux系统提供了多种命令和工具来查看硬件配置信息。

2025-01-10 13:55:37 2397

原创 如何查看当前所处的git分支以及当前git分支与远程仓库中的哪个分支关联

通过以上命令,你可以清晰地了解当前所在的分支,以及该分支与远程仓库中哪个分支存在关联。

2025-01-10 09:39:01 568

空空如也

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

TA关注的人

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