自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱丹丹的博客

记录日常学习的所见所得所感

  • 博客(73)
  • 收藏
  • 关注

原创 Flink中的状态管理

本文介绍了 Flink 中的状态管理,包括状态的定义、状态的类型、状态后端、状态持久化等内容。

2024-02-21 23:25:41 1433

原创 一文了解大数据生态

本文首先介绍了大数据的基本概念和特点,随后介绍了大数据生态的工具和技术,最后介绍了大数据的学习路线。

2024-02-21 21:48:10 491

原创 从零开始快速构建自己的Flink应用

本文介绍如何快速在本地部署属于自己的 flink 应用。

2024-02-19 21:41:32 460

原创 Flink介绍

Flink 可以处理实时产生的事件流数据,并实时进行事件处理和响应,用于物联网、智能监控等实时事件处理场景。例如,如果要将数据写入到 Kafka 主题中,可以使用 FlinkKafkaProducer,如果要将数据写入到文件中,可以使用 TextOutputFormat。:Flink 可以与机器学习库集成,实现实时机器学习模型的训练和预测,用于实时个性化推荐、实时智能客服等场景。:Flink 可以处理实时产生的大量数据,并实时进行数据分析和统计,用于监控、报警、实时指标计算等场景。

2024-02-18 17:01:50 1154

原创 分布式系统常用的模式

名称:“大使”模式介绍:作为应用程序和其他服务的“中间人”,负责应用程序和其他服务之间的通信,包括日志、监控或重试处理等任务。举例:K8S使用Envoy作为一个“大使”来简化服务之间的通信。

2023-09-06 22:22:39 386

原创 使用Docker部署debezium来监控 MySQL 数据库

Debezium是一个分布式平台,它将来自现有数据库的信息转换为事件流,使应用程序能够检测并立即响应数据库中的行级更改。Debezium构建在之上,并提供了一组兼容的连接器。每个连接器都与特定的数据库管理系统(DBMS)一起工作。连接器通过检测发生的变化来记录DBMS中数据变化的历史,并将每个变化事件的记录流式传输到。然后,消费应用程序可以从中读取结果事件记录。通过利用Kafka可靠的流平台,Debezium使应用程序能够正确和完整地消费数据库中发生的更改。

2023-09-04 23:46:43 861 2

原创 Debezium的三种部署方式

debezium 有下面三种部署方式,其中最常用的就是 kafka connect。

2023-09-02 20:04:13 1466

原创 Debezium快问快答

debezium 是一系列分布式服务的集合,这些服务可以捕获数据库中行级别的更改,应用程序可以根据这些变化来做相应的处理。debezium 在事务日志中记录提交给每个数据库表的所有行级别的更改,每个应用程序可以只读取自己感兴趣的事务日志,并按照更改时间发生的顺序查看所有的事件。

2023-09-02 19:51:20 396

原创 阿里 MySQL 规范

我们日常在使用 MySQL 的时候应该注意什么呢?

2023-08-23 21:46:25 441

原创 Docker常用命令

本文介绍 docker 的常用命令。

2023-08-19 17:22:27 33

原创 JVM 第一篇 - Java 程序的编译与优化

为了提高代码的执行效率,对于执行次数比较频繁的代码块,虚拟机会把这些热点代码编译为机器码,当再次执行到这些热点代码的时候,就不需要解释器进行解释而可以直接执行了。在分层编译的工作模式出现之前,虚拟机通常采用解释器与一个编译器搭配的方式工作,这种模式称为“混合模式”,与之对应的有“解释模式”(只使用解释器)和“编译模式”(只使用编译器)。编译器的目标是实现将程序代码翻译为本地机器码的工作,但是其难点在于翻译过程中的代码优化,是否能输出经过优化的高质量的代码。在编译完成前,热点方法仍然按照解释方法继续执行。

2023-05-11 07:00:00 646

原创 04并发编程的核心问题

并发编程有三大核心问题:分工问题、同步问题、互斥问题。

2022-11-20 22:33:46 171

原创 03并发编程概述

操作系统在启动一个程序时,往往会为这个程序创建一个进程。进程是操作系统进行资源分配的最小单位,在一个进程中可以创建多个线程。线程是比进程粒度更小的能够独立运行的基本单位,也是CPU调度的最小单元,被称为轻量级的进程。在一个进程中可以创建多个线程,多个线程各自拥有独立的局部变量、线程堆栈和程序计数器等,能够访问共享的资源。

2022-11-20 19:13:36 321

原创 02Java线程模型

线程有哪几种实现方式?Java线程与操作系统线程之间又有什么关系呢?

2022-11-20 11:28:10 1424

原创 01线程概述

进程和线程并非从计算机诞生就存在,随着计算机硬件的发展,操作系统经历了从单进程、多进程、多线程,才逐渐发展为现在的并发模型。

2022-11-20 11:24:21 474

原创 ES6新特性

javascript ES6 新特性

2022-02-06 16:24:02 488

原创 ES6新特性

ES6 Tutorial资料:https://www.youtube.com/watch?v=NCwa_xi0Uuc&list=PLTjRvDozrdlw5En5v2xrBr_EqieHf7hGs&index=8&ab_channel=ProgrammingwithMosh包含以下内容: 变量的作用域 this关键字 箭头函数 arrow function 解构赋值 destructuring assignment 展开语法 spread syntax 类 clas

2022-02-06 13:03:30 448

原创 javascript基础

javascript toturior一小时入门JavaScript:https://www.youtube.com/watch?v=W6NZfCO5SIk&ab_channel=ProgrammingwithMoshJS基础语法练习题:https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/1. JS introduction1.1 JS intruduction 什么是javascri

2022-02-05 18:18:29 798

原创 npm基础

npmhttps://youtu.be/jHDhaSSKmB0npm,node package manager, Install, remove, update & list packages All about package.json local & global packages Dependencies/dev-dependencies Command & shortcuts versioning NPM scriptsnode.jsnode.js

2022-02-05 18:16:34 395

原创 深入理解计算机系统 - 第一章:计算机系统漫游

计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。下面是一个简单的hello程序,本书的目的就是要帮助你了解当你在系统上执行hello程序时,系统发生了什么,以及为什么会如何运作。本章我们通过跟踪hello程序的生命周期来开始对计算机系统的学习。它的生命周期从它被程序员创建开始,包括在系统上运行、输出简单的

2022-01-01 11:36:06 446

原创 作为Java程序员,你真的了解equals方法吗

目录作为Java程序员,你真的了解equals方法吗Object类到底要不要重写equals方法?高质量重写equals方法的诀窍代码实战不同数据类型的比较方法equals方法相关的其他一些tips总结作为Java程序员,你真的了解equals方法吗在Java编程语言中,一切皆对象。而所有类的超类都是Object对象,本文我们来了解一下Object类中的equals方法。Object类首先我们来看一下Object类中equals方法的定义:public class Object { pub

2021-12-10 00:25:54 3444

原创 计算机网络学习笔记-第一章-概述

计算机网络文章目录计算机网络第一章 概述1.1 计算机网络在信息时代的作用1.2 因特网概述1.2.1 基本概念1.2.2 因特网发展的三个阶段阶段一:从单个网络到ARPANET向互联网发展阶段二:逐步建成三级结构的因特网阶段三:逐步形成了多层次ISP结构的因特网1.2.3 因特网的组成1.3 三种交换方式1.3.1 电路交换1.3.2 报文交换1.3.3 分组交换1.4 计算机网络的定义1.5 计算机网络的分类1.6 计算机网络的性能指标1.6.1 速率1.6.2 带宽1.6.3 吞吐量1.6.4 时延

2021-09-15 00:53:49 343

原创 设计模式之美-1-面向对象

设计原则与思想: 面向对象文章目录设计原则与思想: 面向对象1.面向对象编程1.1 面向对象编程v.s.面向对象编程语言1.2 面向对象分析, 设计, 编程2.面向对象编程的四大特性2.1 封装 encapsulation2.2 抽象 abstraction2.3 继承 inheritance2.4 多态 polymorphism3.面向对象v.s.面向过程3.1面向过程编程与面向过程编程语言3.2面向对象编程相比面向过程编程的优势3.3看似面向对象编程实际是面向过程编程风格的代码4.接口v.s.抽象类4

2021-09-13 20:40:48 171

原创 设计模式之美-0-前言

前言文章目录前言1.学习设计模式的好处2.如何评价代码质量的高低2.1代码质量评价的特点和难点2.2常用、重要的几个评价标准2.3 如何写出高质量的代码3.学习大纲3.1 面向对象设计思想3.2 设计原则3.3 设计模式3.4 编程规范3.5 代码重构五者之间的联系1.学习设计模式的好处应对面试中的设计模式相关问题告别被别人吐槽的烂代码提高复杂代码的设计和开发能力如何分层、分模块?应该怎么划分类?每个类应该具有哪些属性、方法?怎么设计类之间的交互?该用继承还是组合?该使用接口还是抽象

2021-09-13 20:34:37 91

原创 HashMap源码核心方法简单分析

HashMap源码分析文章目录HashMap源码分析介绍层次关系基本思想类属性基本结构核心方法分析介绍层次关系public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, SerializableHashMap类继承了抽象类AbstractMap,实现了Map接口。基本思想HashMap的底层实现基于数组+链表+红黑树。类属性// 默认的初

2021-03-21 22:35:22 72

原创 数据结构与算法10:图与图搜索

文章目录图的概念与定义图的表示与存储图的表示邻接矩阵邻接表图的应用拓扑排序最短路径单源最短路径 Dijkstra两点之间最短路径 Floyd最小生成树KruskalPrim图搜索深度优先遍历(depth first search,DFS):广度优先遍历(breadth first search,BFS):隐式图搜索N皇后问题骑士游历问题八数码总结图的概念与定义定义:图由顶点的有穷非空集合和顶...

2020-01-17 10:16:45 262

原创 Surprise库使用总结

文章目录Surprise库1. 加载数据模块2. 模型训练前的数据划分模块2.1 交叉验证数据划分2.2 训练集测试集划分3 构建算法模块3.1 记号说明3.2 基于统计的算法3.3 基于近邻(协同过滤)的方法3.3.1 [相似度计算模块](https://surprise.readthedocs.io/en/stable/similarities.html)3.3.2 [预测算法](https:...

2020-01-04 09:34:02 5812 1

原创 数据结构与算法9:堆与堆排序

文章目录堆堆的定义堆的存储堆的操作堆排序堆堆的定义堆是一个完全二叉树堆中每一个节点的值,都必须大于等于或小于等于其子树中每个节点的值。对于完全二叉树来说,除了最后一层,其他层的节点都是满的,而且最后一层的节点靠左排列,这种性质导致了完全二叉树可以使用数组完美的进行存储。对于每个节点的值都大于等于子树中节点值的堆叫做大顶堆,每个节点都小于等于子树中每个节点的值的堆叫做小顶堆。大顶堆的...

2019-12-03 13:44:32 219

原创 数据结构与算法8:树、二叉树及其遍历

文章目录树树的定义树的抽象数据类型树的存储结构二叉树二叉树的遍历树树的定义定义:树是n个节点的有限集。n=0时称为空树。在任何一棵非空树中:(1)有且仅有一个特定的节点称为根节点(root);(2)当n>1时,除根节点外的其他节点可分为m个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,称为根(root)的子树(SubTree)。特点:树是一种一对多的数据结构。...

2019-11-29 22:22:32 256

原创 数据结构与算法7:递归&二分查找

文章目录递归(recursion)二分查找二分查找的递归实现二分查找的非递归实现适用场景相关的面试题二分查找的变形问题递归(recursion)递归需要满足的三个条件:1. 一个问题的解可以分解为几个子问题的解2. 这个问题与分解得到的子问题,除了数据规模不同,求解思路完全一样3. 存在递归终止条件递归代码的编写:1. 找到将大问题分解为小问题的规律,基于此写出递推公式2. 推敲...

2019-10-16 22:41:34 460

原创 数据结构与算法6:八大排序算法总结

文章目录排序算法的分析角度冒泡排序 bubble sort插入排序 insert sort选择排序 select sort归并排序 merge sort快速排序 quick sort桶排序 bucket sort计数排序 counting sort基数排序 radix sort总结比较排序算法的分析角度执行效率(时间复杂度)最好情况,最坏情况,平均情况时间复杂度及其对应的输入数据比较同...

2019-10-16 22:20:33 369

原创 数据结构与算法5:散列表

文章目录散列表的由来散列函数散列冲突及其解决方法开放寻址法 Open Addressing线性探测法 Linear Probing二次探测 Quadratic Probing双重散列 double hashing链表法 Chaining总结相关面试题散列表+链表散列表的由来散列表(Hash Table)由数组拓展而来,利用了数组支持按照下标随机访问数据的特性。我们通过散列函数把元素的键值映射为...

2019-10-16 16:54:56 246

原创 数据结构与算法4:操作受限的线性表——队列queue

文章目录定义基本操作实现顺序队列循环队列链式队列循环队列与链式队列的比较队列的应用栈与队列的比较定义队列和栈一样,是一种操作受限的线性表。队列只允许在队头进行删除操作,叫做出队enqueue,在队尾进行插入操作,叫做入队enqueue。是一种先进先出(First In First Out)的线性表,简称为FIFO。基本操作入队列enqueue,在队列末尾插入一个元素。出队列dequeu...

2019-10-15 11:04:03 798

原创 数据结构与算法3:操作受限的线性表——栈

文章目录栈(stack)的定义栈的抽象数据类型栈的顺序存储栈的链式存储栈的应用栈(stack)的定义例子弹夹式手枪压入子弹浏览器前进后退键文档图像软件中的撤销操作定义定义:栈(stack)是限定只在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈.栈又称为后进先出(Last In Firs...

2019-10-12 22:04:41 899

原创 数据结构与算法2:线性表的顺序存储与链式存储

文章目录线性表定义线性表的抽象数据类型(Abstract Data Type)线性表的顺序存储结构线性表的链式存储结构单链表(single linked list)静态链表 (static linked list)循环链表(circular linked list)双向链表(double linked list)链式存储结构与顺序存储结构的比较线性表定义线性表(List):零个或多个数据元...

2019-10-09 11:30:23 710

原创 数据结构与算法1:数据结构与算法介绍

文章目录数据结构定义逻辑结构与物理结构抽象数据类型常见的数据结构算法(Algorithm)算法设计的要求算法时空复杂度基本算法推荐书单数据结构定义数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据结构阐述了数据的逻辑结构和存储结构及其操作。程序设计的实质:对确定的问题选择一种好的结构,加上设计一种好的算法。程序设计=数据结构+算法基...

2019-10-09 10:39:48 1019

原创 常见的离散变量概率分布(伯努利分布、二项分布、多项分布、beta分布、dirichlet分布)

伯努利分布(bernoulli)伯努利试验:只有两种结果的单次随机试验,如掷一枚硬币。伯努利分布(0-1分布、两点分布):进行一次伯努利试验,表示单个二元变量x∈{0,1}x\in \{0,1\}x∈{0,1}的分布,使用单个连续变量μ∈[0,1]\mu\in[0,1]μ∈[0,1]表示x=1x=1x=1的概率。Bern(x∣μ)=μx(1−μ)1−xBern(x|\mu)=\mu^x(1...

2019-10-04 22:03:53 2061

原创 leetcode-数组之和类题目

1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。(1)暴力两层循环class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]...

2019-09-22 09:03:25 274

原创 牛客网&赛码网 输入输出格式

目录牛客网&赛码网输入输出牛客网单行输入多行输入,每一行是一个测试样例多个测试用例,每个测试用例有多行赛码网单个输入,单个输出单行多个输入,单行多个输出,空格分割多个测试案例,每个测试案例多行牛客网&赛码网输入输出最近面临频繁的笔试,美团和携程的笔试题均在赛码网上进行。如果对赛码网的输入输出格式不熟悉,在做编程题的时候很容易陷入深深的自我怀疑,这里对牛客网和赛码网的编程题输入输...

2019-09-04 23:32:35 5038

原创 NLP岗位面试总结

1. NLP工程师的职责和工作内容注:以下五个问题难度递增分类问题:文本分类、情感分析(二分类和多分类);匹配问题:检索与某句话类似的话,或者与它相关的回答。如kaggle的quora question pairs比赛;翻译问题:文本翻译;结构化预测:将一段文本转化为结构化的输出序列,如将文本中的词进行词性标注,语法树生成;人机对话:建模为马尔科夫决策过程,当前要采取的动作和上一个状...

2019-01-05 21:30:32 4096

这是一套基于 YOLOV5 模型的安全区域检测代码

这是一套基于 YOLOV5 模型的安全区域检测代码

2024-02-21

使用 Python 绘制的红色爱心

功能:使用Python3编程语言,基于 turtle 库绘制一个大大的红色爱心 使用说明:代码运行之后在窗口中间出现一个红色爱心

2024-02-21

阿里巴巴MySQL开发规范

阿里巴巴MySQL开发规范,从建库建表、创建索引、编写 SQL 三个方面,适用于想学习和进阶MySQL 的人员。

2024-02-21

软件测试工程师 50 道面试题

软件测试工程师 50 道面试题

2024-02-21

使用 Python3 编写的春节烟花代码,运行后再空白处点击即可生成绚丽多变的烟花

内容概要:基于 python3 开发的烟花代码 使用场景:运行后,在弹出的面板中点击即可产生放烟花的效果 使用说明:运行前需要本地安装python3,运行过程中如果代码报 module 找不到,需要使用 python 下载相关依赖。

2024-02-21

空空如也

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

TA关注的人

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