- 博客(96)
- 收藏
- 关注
原创 png转jpg,直接改后缀?
将PNG文件扩展名改为JPEG的扩展名(.jpg或.jpeg)不会更改图像的格式。它只是更改了文件扩展名,这可能导致一些图像查看器和编辑器无法正确识别和处理该文件。PNG和JPEG是两种不同的图像文件格式,它们有着不同的压缩算法和特点。PNG是一种无损压缩的图像格式,可以保留图像的所有细节和信息,并且通常用于处理需要高质量图像的情况,例如网站设计、图形设计、图像处理等。而JPEG则是一种有损压缩的图像格式,可以在文件大小与图像质量之间做出折衷。通常用于数字照片、网络图片等需要快速加载和小文件大小的场景。
2023-06-14 09:43:29 7336
原创 Docker常用命令
说明:有镜像才能创建容器,我们这里使用 centos 的镜像来测试,就是虚拟一个 centos!docker cp 容器id:容器内路径 目的主机路径。查看容器中运行的进程信息,支持 ps 命令参数。docker inspect 容器id。从容器内拷贝文件到主机上。查看容器/镜像的元数据。
2023-04-02 23:01:08 305 1
原创 执行yum软件包索引步骤报错
综合来看,这条命令序列的作用是清除系统中所有软件源的缓存和元数据信息,并从软件源中下载最新的软件包信息并更新系统中已安装的软件包,最后重新生成本地的软件源缓存和元数据信息,从而保证系统中的软件包一直处于最新的状态,提高系统的安全性和稳定性。通过将这个配置文件下载到本地系统的/etc/yum.repos.d/目录下,可以让yum软件包管理器使用阿里云的软件源来下载和安装软件包,从而避免了从官方网站下载软件包速度慢、不稳定的问题,同时也能够提高软件安装的成功率和稳定性。执行rm -rf删除所有。
2023-03-31 16:46:18 682
原创 Docker入门
2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将 Docker项目开源。Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行 环境能够做到“一次封装,到处运行”。关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环 境的兼容,对运维人员是极大的考验!软件可以带环境安装?
2023-03-31 15:42:14 940 1
原创 设计模式系列文章-2.设计原则及单例模式
所以,普通的长方形是适合这段代码的,正方形不适合。双重检查锁模式是一种非常好的单例实现模式,解决了单例、性能、线程安全问题,上面的双重检测锁模式看上去完美无缺,其实是存在问题,在多线程的情况下,可能会出现空指针问题,出现问题的原因是JVM在实例化对象的时候会进行优化和指令重排序操作。枚举类实现单例模式是极力推荐的单例实现模式,因为枚举类型是线程安全的,并且只会装载一次,设计者充分的利用了枚举的这个特性来实现单例模式,枚举的写法非常简单,而且枚举类型是所用单例实现中唯一一种不会被破坏的单例实现模式。
2023-02-24 09:58:11 319
原创 设计模式系列文章-1.设计模式的概述及UML图
"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。
2023-02-23 09:46:20 360
原创 Kafka的消费者
自动提交会丢消息: 因为如果消费者还没消费完poll下来的消息就自动提交了偏移量,那么此 时消费者挂了,于是下一个消费者会从已提交的offset的下一个位置开始消费消息。可以根据消费速度的快慢来设置,因为如果两次poll的时间如果超出了30s的时间间隔,kafka会认为其消费能力过弱,将其踢出消费组。kafka如果超过 10 秒没有收到消费者的心跳,则会把消费者踢出消费组,进行rebalance,把分区分配给其他消费者。消费者建立了与broker之间的⻓连接,开始poll消息。设置自动提交参数 - 默认。
2023-02-21 09:15:37 715
原创 Kafka集群及副本的概念
Kafka只在partition的范围内保证消息消费的局部顺序性,不能在同一个topic中的多个partition中保证总的消费顺序性。可以提供callback,让broker异步的调用callback,告知生产者,消息发送的结果。在集群中,不同的副本会被部署在不同的broker上。消费组中消费者的数量不能比一个topic中的partition数量多,否则多出来的消费者消费不到消息。isr: 可以同步的broker节点和已同步的broker节点,存放在isr集合中。每个文件中的这些内容要调整。
2023-01-28 10:04:47 740
原创 kafka的关键细节 以及 分区和主题的概念
时候,key是consumerGroupId+topic+分区号,value就是当前offset的值,kafka会定期清理topic里的消息,最后就保留最新的那条数据 因为__consumer_offsets可能会接收高并发的请求,kafka默认给其分配。消息的发送方会把消息发送到broker中,broker会存储消息,消息是按照发送的顺序进行存储。单播消息:一个消费组里 只会有一个消费者能消费到某一个topic中的消息。[> 一个主题中的消息量是非常大的,因此可以通过分区的设置,来分布式存储这些消息。
2023-01-28 09:48:43 659
原创 kafka的介绍和基本使用
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编 写,Linkedin于 2010年贡献给了Apache基金会并成为顶级开源 项目。
2023-01-20 12:37:29 1307
原创 KAFKA 消息队列的分类
Message Queue(MQ),消息队列中间件。很多人都说:MQ通过将消息的发送和接收分离来实现应用程序的异步和解偶,这个给人的直觉是——MQ 是异步的,用来解耦的,但是这个只是 MQ的效果而不是目的。MQ真正的目的是为了通讯,屏蔽底层复杂的通讯协议,定义了一套应用层的、更加简单的通讯协议。一个分布式系统中两个模块之间通讯要么是HTTP,要么是自己开发的(rpc)TCP,但是这两种协议其实都是原始的协议。HTTP 协议很难实现两端通讯——模块 A 可以调用 B,B 也可以主动调用。
2023-01-20 12:19:19 620 1
原创 Flink 真正的流式处理演示(基于Netcat)
前面的章节,我们讲了DataSet API和DataStreamAPI处理文本数据,文本其实就是一个批数据的形式,这个章节我们来操作一下真正的流式的环境。
2023-01-18 10:46:28 372
原创 Flink DataSet API和DataStream API 对于WordCount的演示
Flink DataSet API和DataStream API 对于WordCount的演示
2023-01-18 10:10:17 645
原创 入门postgre sql(PG的下载和安装,包括普通用户源码构建的安装方式)
postgre sql 的安装和下载,普通用户非root用户的安装
2023-01-17 15:35:52 4567
原创 入门PostgreSQL,pg的历史,为什么说pg是国产化的方向,与mysql的比较
pg的历史,为什么说pg是国产化的方向,与mysql的比较
2023-01-17 15:31:57 5942
原创 JVM垃圾回收机制、JVM垃圾回收算法、JVM CMS与G1垃圾收集,JVM内存模型
C C++ 需要自己回收垃圾重复回收: 回收掉别人的东西忘记回收: 内存泄漏Java虚拟机做自动化回收。
2023-01-09 17:12:30 355
原创 HADOOP-3.2.2安装
zookeeper集群安装从官网下载hadoop-3.2.2.tar.gz地址:https://hadoop.apache.org/release/3.2.2.html集群规划上传安装hadoop-3.2.2.tar.gz 包解压到安装目录(我用的普通用户)2.修改配置文件core-site.xml3. 修改hdfs-site.xml4. 修改修改yarn-site.xml5.修改workers文件(老版本叫slave文件)6.修改hadoop-env.sh7.修改mapre
2023-01-05 11:36:04 1743
原创 剖析免密登录,集群之间的免密登录
每台主机authorized_keys文件,该文件就是身份验证的钥匙,该文件里如果有另一台主机的公钥(id_rsa.pub),那么另一台主机就可以无密码登录该主机。原理就是这样,同上在其他机器上同样操作,注意这里的 本机节点登录本机节点也是要密码的,我们也要把本身节点的公钥拷贝到anthorized_keys文件中。本身节点的 .ssh 文件下是没有 anthorized_keys文件的,所以我们可以创建也可以将id_rsa.pub(公钥)进行拷贝。此时在 家目录的.ssh目录下,会生成两个文件 分别为。
2022-12-30 19:24:30 937
原创 带你走进知识图谱的世界
知识图谱最开始是Google为了优化搜索引擎提出来的,推出之后引起了业界轰动,随后其他搜索公司也纷纷推出了他们的知识图谱。知识图谱发展到今天,不仅是应用在搜索行业,已经是AI的基础功能了。那到底知识图谱是什么?有什么能力?怎么应用?这就是本文想要讨论的内容。1. 定义官方定义:知识图谱是一种基于图的数据结构,由节点(point)和边(Edge)组成,每个节点表示一个“实体”,每条边为实体与实体之间的“关系”,知识图谱本质上是语义网络。实体指的可以是现实世界中的事物,比如人、地名、公司、电话、动物等;
2022-12-02 11:13:27 507
原创 写了半个月近3万字,助你直接上手Flink,原来这就是流批一体的处理方式
在 Flink 中,应用程序由数据流组成,这些数据流可以由用户定义的运算符(注:有时我们称这些运算符为“算子”)进行转换。这些数据流形成有向图,从一个或多个源开始,以一个或多个输出结束。Flink 支持流处理和批处理,它是一个分布式的流批结合的大数据处理引擎。在 Flink 中,认为所有的数据本质上都是随时间产生的流数据,把批数据看作是流数据的特例,只不过流数据是一个无界的数据流,而批数据是一个有界的数据流(例如固定大小的数据集)。如下图所示:因此,Flink 是一个用于在无界和有界数据流上进行有状态
2022-11-19 09:00:00 1263 4
原创 RESTful 接口设计拓展,接口设计注意事项,注解的简化
postman 显示也可以换成Employee employee 对象的方式,也是可以成功传递参数的。
2022-11-18 08:30:00 907 18
原创 RESTful 接口设计
接口要获取参数路経中参数必须使用注 @PathVariable ,目的是让 springmvc 参数解析器从路径中解析出参数并进行赋值。方案2:使用参数路怪方式比如:/ employees /{ id }将请求参数作为路径一部分,进打 url 区分。客户端访问 http://Localhost:80/employees/1 1就是 id 参数值。参数路径:/ employees /( id } 其中{ id }参数占位符。方案1:使用多级路経方式比如:/ employees / detail。
2022-11-17 17:59:48 1480 18
原创 Restful接口设计介绍及项目准备工作
Web2.0阶段的到来,客户端不仅仅是pc端,可能是移动app、也可能是小程序,这就要求提供一套统一的API接口,不同类型的客户端基于相同的协议/规则来调用该API接口并获取预期的数据。1.请求路径:由当前接口操作的资源决定,一般使用所操作资源的复数作为资源的路径 再RESTful眼中,一切皆资源,每个资源都有一个唯一的资源定位符(URL)OPTIONS :获得客户端针对一个资源能够实施的操作:(获取该资源的 api 能够对资源做什么操作的描述)在域名反写的下面再建一个Java文件,名为App。
2022-11-16 23:08:17 1145
原创 Restful 接口设计-前言(手把手教你入门到精通)
API(Application Programming Interface, 应用程序接口),是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或者硬件得以访问一组例程的能力,而无需访问源码,或者理解内部的共组机制的细节。Web 开发技术的发展可以粗略划分成以下几个阶段静态内容阶段:在这个最初的阶段,使用 Web 的主要是一些研究机构。Web 由大量的静态 HTML 文档组成。CGI 程序阶段:在这个阶段, Web 服务器增加了一些编程 APl。
2022-11-15 19:51:34 665
原创 猿创征文|大数据开发必备的数据采集工具汇总
随着大数据近几年的发展,已经在国内外的开发市场积累出一大批大数据开发的技术型人才,不论是批处理还是流处理各大公司都研究出一套专门解决自身公司业务的大数据解决方案。它们是市面上大数据组件的融合碰撞产生的适合自身的。在数据处理的最前端一定是数据的采集技术,数据的采集技术也是百家争鸣,一片蓝海,对于一个优秀的大数据开发工程师,我们怎么将这些技术栈灵活的应用,前提是我们要对其认真的研究,理解其最佳的应用场景,今天我来带大家认识5种数据采集工具。
2022-11-14 15:47:51 4068 2
原创 大数据基础之-深入理解java的注解与反射
/注解可以显示显示值 @MyAnnotation2(name = "查德" , school = {"西北大学" , "西工大" }) // @MyAnnotation2() public void test() {} } //定义一个注解 //表示注解可以用在哪个地方 @Target(value = {
2022-11-13 17:59:12 669
原创 数据结构与算法-双向链表的操作
和遍历单链表一样,知识可以向前遍历,也可以向后遍历查找。因为是双向链表,因此我们可以实现自我删除某个节点。1.直接找到要删除的这个节点,比如:temp。1.先找到双向链表的最后节点。我们这里是添加到链表的最后。
2022-11-13 10:35:54 237
原创 数据结构与算法-从尾到头打印单链表(百度面试题)
(这样做会破坏原来的单链表的一个结构【不建议这么操作】)可以利用栈这个数据结构,将各个节点压入栈中,然后利用栈的。System.out.println(“翻转打印”);我们发现出栈的数据顺序和进栈的顺序正好是相反的。编写方法reversePrint()的特点就实现了逆序打印的效果。至此实现了单链表的逆序打印。先将单链表翻转然后再链表。
2022-11-11 14:44:34 290
原创 数据结构与算法-腾讯面试题单向链表的翻转
从头到尾遍历原来的链表,没遍历一个节点,就将其取出,并放在新的链表的最前端;定义一个节点reverseHead = new HeroNode();原来链表的head.next = reverseHead.next;至此实现了单向链表的翻转。
2022-11-10 11:47:46 463
原创 数据结构与算法-单链表的常见面试题(单链表的长度,单链表倒数第k个数据)
4.我们遍历size - index个,如果找到就返回该节点,负责返回空。2.同时接收index, index指的是倒数第index个节点。3.先把链表从头到尾遍历,得到链表的总长度。1.编写一个方法,接受head节点。在上一节代码的基础上我们来学习。编写找倒数第k个节点的方法。运行结果(倒数第2个)在main方法中加入。在main方法中调用。
2022-11-08 19:27:33 217
原创 数据结构与算法-单向链表的修改和删除操作
被删除的节点,将不会有其他引用指向,会被垃圾回收机制回收。然而我们发现李逵别名不是李鬼,我们要对其进行修改。再main方法中加入update()我们在插入李鬼后,再去修改,运行程序。在主方法中加入删除方法,我们删除5号。先找到需要删除的节点的前一个节点;在上面的代码基础上定义几个英雄。我们发现李鬼已经改为了黑旋风。我们编写update()方法。编写方法deleteHero。我们再次定义对的Hero。我们发现李逵已经不见了。
2022-11-07 12:13:54 466
原创 微服务-开篇
另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。微服务架构是互联网很热门的话题,是互联网技术发展的必然结果,各大互联网公司也有自研的微服务框架,虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如 Dubbo 、Spring Cloud 、Spring Cloud Alibaba。3.微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的;
2022-11-07 11:48:19 276
原创 数据结构与算法-链表剖析
1.链表是有序列表;2.链表是以节点的方式来存储的;3.每个节点包含data域, next域(指向下一个节点);4.链表分带头节点的链表和没有头节点的链表,根据实际需求来确定;5.如图(实际图)我们发现:链表的各个节点不一定是连续存放的;
2022-11-06 11:48:32 290
原创 数据结构与算法-数组模拟环形队列
1.把front的含义做一个调整:front指向队列的第一个元素,也就是arr[front ]为第一个元素,front的初始值为0;2.rear变量的含义做一个调整:rear指向队列的最后一个元素的后一个位置。其中涉及到的一些公式,可以验证它,如果你验证也是没问题的,请记住就OK了,需要动动脑子才想的明白。上一篇数组模拟队列我们发现,我们发现队列无法复用,一次性的,为了解决这个问题,我们改变思路。3.当队列满时,条件时(rear + 1) % MaxSize = front。5.队列中有效数据的个数。
2022-11-05 16:31:10 168
大数据+hadoop生态+必须掌握的知识点
2022-11-20
后端开发/大数据开发 + RESTful API + 项目(依赖+启动类+实体类+controller层+统一响应对象)
2022-11-18
技术到了30岁,应该怎么办?
2022-09-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人