当前位置: 首页 > news >正文

企业级DevOps实战

第1章 Zookeeper服务及MQ服务

Zookeeper(动物管理员)是一个开源的分布式协调服务,目前由Apache进行维护。

MQ概念

MQ(消息队列)是一种应用程序之间的通信方法,应用程序通过读写出入队列的消息(针对应用程序的数据)通信,而无须专用连接。

MQ是一种先进先出的数据结构,是指把要传输的数据(消息)放在队列中,用队列机制实现消息传递——生产者产生消息并把消息放入队列,然后由消费者处理。消费者可以到指定队列拉取消息或者订阅相应的队列,由MQ服务推送消息。

MQ中间件是分布式系统中的重要组件,主要用于解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。

MQ的优点

1.应用解耦:通常一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理。但使用MQ中间件,在主业务完成后,发送一条MQ消息,其余模块消费MQ消息,即可实现业务,从而降低模块之间的耦合。

2.异步消息:主业务执行结束后从属业务会通过MQ异步执行,从而降低业务的响应时间,提高用户体验。

3.流量削峰:在高并发情况下,业务可以异步处理,分散高峰期业务处理压力,避免系统瘫痪。

MQ简介

RabbitMQ,ActiveMQ,RocketMQ,Kafka等。

MQ通常用于程序之间进行数据通信,程序之间不需要直接调用彼此来通信。

  RabbitMQ概念剖析

除了性能高以外,还有以下5个特点。

1.开源,性能优秀,具有稳定性保障。

2.提供可靠性消息投递模式,返回模式。

3.与Spring AMQP完美结合,API丰富。

4.集群模式丰富,表达式配置,HA模式,镜像队列模型。

5.在保证数据不丢失的前提下可保证高可靠性、可用性。

RabbitMQ完整的消息通信过程包括以下3个概念。

1.发布者:发布消息的应用程序。

2.队列:用于消息存储的缓冲。

3.消费者:接收消息的应用程序。

Kafka概念剖析

Zookeeper简介

Zookeeper是一款解决分布式应用架构中一致性问题的工具,Kafka消息队列要用到Zookeeper。在分布式应用架构(去中心化集群模式)中,需要让消费者知道现在有哪些生产者(对于消费者而言,Kafka就是生产者)是可用的。

如果没有Zookeeper注册中心,消费者如何知道生产者呢?如果每次消费者在消费之前都去连接生产者,测试连接是否成功,效率就会变得很低。

Kafka利用Zookeeper的分布式协调服务,将生产者、消费者、消息存储(broker,用于存储信息,消息读写等)结合在一起。借助于Zookeeper,Kafka能够将包括生产者、消费者和broker在内的所有组件在无状态的条件下建立起生产者和消费者的订阅关系,实现生产者的负载均衡。

第3章 Hadoop分布式存储企业实战

Hadoop实现了一个分布式文件系统,其中一个组件是HDFS。HDFS有高容错的特点,用来部署在低廉的硬件上,适合那些有超大数据集的应用程序。

HDFS放宽了POSTIX的要求,可以以流的形式访问文件系统中的数据。Hadoop框架最核心的设计师HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。

Hadoop服务组件

Hadoop生态圈的服务组件繁多,常见的有Common、HDFS、HBase、MapReduce等。

Kafka、Hive、Pig、Mahout、SparkSQL、MapReduce、Spark、Impala、Hbase、YARN、HDFS、Sqoop、Flume、Common、Zookeeper

1.Hadoop Common是Hadoop体系最底层的一个模块,为Hadoop各个子模块提供各种工具,如系统配置工具Configuration、远程调用RPC、序列化机制和日志操作等,是其他模块的基础。

2.HDFS是Hadoop分布式文件系统缩写,是Hadoop的基石。HDFS是一个具备高度容错性的文件系统,适合部署在廉价的机器上能提供高吞吐量的数据访问,非常适合具有大规模数据集的应用。

3.YARN是统一资源管理和调度平台。它解决了上一代Hadoop资源利用率低和不能兼容异构计算框架等多种问题,实现了资源隔离方案和双调度器。

4.MapReduce是一种编程模型,利用函数式编程思想,将对数据集的过程分为Map和Reduce两个阶段。MapReduce编程模型非常适合进行分布式计算。Hadoop提供MapReduce的计算框架,实现了这种编程模型,开发人员可以通过Java、C++、Python、PHP等多种语言进行编程。

5.Spark与MapReduce相比性能提升明显,可以与YARN集成,还提供了SparkSQL组件。

6.Hbase采用了Bigbase的数据模型——列族。Hbase擅长对大规模数据进行随机、实时读写访问。

7.Zookeeper作为一个分布式服务架构,是基于Fast Paxos算法实现的,解决分布式系统中一致性问题。提供了配置维护、名字服务、分布式同步、组服务等。

Hive是Facebook开发并使用的,是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张表,提供简单的SQL查询功能,并将SQL转化为MapReduce作业。优点是学习成本低,降低了Hadoop的使用门槛。

8.Pig与Hive类似,也是对大规模数据集进行分析和评估的工具。与Hive不同的是,Pig提供了一种高层的、面向领域的抽象语言Pig Latin。Pig可以将Pig Latin转化为Mapreduce作业。与SQL相比,Pig Latin更加灵活,但学习成本更高。

9.Impala可以对数据提供交互查询的SQL接口。Impala和Hive使用相同的统一存储平台,相同的元数据,SQL语法,ODBC驱动和用户界面。Impala还提供了一个熟悉的面向批量或者实时查询的统一平台。Impala的特点是查询速度非常快,其性能大幅度领先于Hive。Impala并不是基于MapReduce的,他它的定位是OLAP,是Google的新三驾马车之一Dremel的开源实现。

10.Mahout是一个机器学习和数据挖掘的库,它利用MapReduce编程模型实现k-means、Native、Bayes、Collaborative Filtering等经典的机器学习算法,并使其具有良好的的可扩展性。

11.Flume是一个高可用、高可靠、分布式的海量日志采集、聚合和传输系统,支持在日志系统中定制各类数据发送方,用于数据收集。Flume拥有对数据进行简单处理并写到各个数据接收方的能力。

12.Sqoop是SQL to Hadoop的缩写,主要作用是在结构化的数据存储与Hadoop之间进行数据双向交换。也就是说,Sqoop可以将关系型数据库的数据导入HDFS,Hive,也可以将其从HDFS,Hive导出到关系型数据库中。Sqoop利用了Hadoop的优点,整个导入导出都是由MapReduce计算框架实现并行化,非常高效。

13.Kafka是一种高吞吐量的分布式发布/订阅的消息系统,具有分布式、高可用的特性,在大数据系统中得到了广泛的应用。如果把大数据系统比作一台计算机,俺么Kafka就是前端总线,来你家诶了平台中的各个组件。

Hadoop除了使用web接口,还可以使用shell命令进行访问,包括了一系列的类shell命令,可直接与HDFS及其他Hadoop支持的文件系统交互。bin/hadoop fs-help命令可以列出所有Hadoop Shell支持的命令。

第4章 Service Mesh及Istio服务治理 

Service Mesh即服务网格,是一个用于处理服务之间通信的基础设施层,负责为构建复杂的云原生应用传递可靠的的网络请求,并为服务之间的通信提供了微服务所需的基本组件功能,如服务发现、负载均衡、监控、流量管理、访问控制等。

Service Mesh有以下4个特点。

1.治理能力独立(Sidecar)。

2.应用程序无感知。

3.服务通信的基础设施。

4.解耦应用程序的重试/超时、监控、跟踪和服务发现。

Service Mesh是建立在TCP层之上的微服务层。

简单来说,网络代理可以简单类比成现实生活中的中间人,因为各种原因在通信双方中间加上一道关卡。本来双方能直接完成通信,为何要多此一举呢?因为该关卡(代理)可以为整个通信带来更多的功能,如拦截、统计、缓存、注入、分发、跳板等。

用户请求出现问题无外乎两个:错误和响应慢。

官方对Istio的介绍浓缩成了一句话:

连接、安全加固、控制和观察服务的开放平台。

Istio与Kebernetes结合

Istio是微服务通信和治理的基础设施层,本身并不负责服务的部署和集群管理,因为需要和Kubernetes等服务编排工具协同工作。

Istio在架构设计上支持各种服务部署平台,包括Kubernetes等。Istio作为Google亲儿子,对自家兄弟Kubernetes的支持肯定是优先考虑的。

各种部署平台可以通过插件方式集成到Istio中,为Istio提供服务注册和服务发现功能。

Istio架构与组件

1.数据平面:由一组代理组成,代理微服务所有的网络通信,并接收和实施来自Mixer的策略。

2.Proxy:负责高效转发与策略实现。

3.控制平面:管理和配置代理来路由流量。此外,通过Mixer实施策略与收集来自边车代理的数据。

4.Mixer:适配组件,数据平面与控制平面通过它来交互,为Proxy提供策略和数据上报。

5.Pilot:策略配置组件,为Proxy提供服务发现、智能路由、错误处理等。

6.Citadel:安全组件,提供证书生成下发、加密通信、访问控制功能。

7.Galley:配置管理、验证、分发。

Isito包括如下内容:

1.自动为HTTP、gRPC、WebSocket和TCP流量负载均衡。

2.通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。

3.可插拔的策略层和配置API,支持访问控制、速率限制和配额。

4.集群内所有流量的自动度量,具有日志记录和跟踪功能,包括集群的入口和出口。

5.通过强大的基于身份的身份验证和授权,在集群中进行安全的通信。

第5章 企业级DevOps应用实战

DevOps是一组过程、方法与系统的统称。

DevOps是一种软件开发方法。

软件在整个开发生命周期中的持续开发、持续测试、持续集成、持续部署和持续监控等活动只能在DevOps中实现,而不是敏捷开发或瀑布开发,这就是为什么顶级互联网公司选择DevOps作为其业务目标前进方向的原因。DevOps是在较短的开发周期内开发高质量软件的首选方法,可以提高客户满意度。

敏捷开发与DevOps的区别

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷开发的优点:

1.敏捷开发属于增量式开发,对于需求范围不明确、需求变更较多的项目而言,可以很大程度上响应及拥抱变化。

2.对于互联网产品而言,市场风向转变很快,需要一种及时快速的交付形式,而敏捷开发则能更好地适用于此。

3.敏捷开发可最大程度体现80/20法则的价值,通过增量迭代每次都优先交付那些能产生80%价值效益的20%功能,最大化单位成本收益。

实际上,DevOps是一种敏捷开发的方法,但已超越了它。DevOps是软件开发生命周期从瀑布式到敏捷再到精益的发展。通常情况下,出现浪费或瓶颈的场景包括不一致的环境,人工的构建和部署流程、差的质量和测试实践、IT部门之间缺少沟通和理解、频繁地中断和失败的协定,以及那些需要珍贵的资源、花费大量的时间和金钱才能保持系统运行的全套问题。

相关文章:

企业级DevOps实战

第1章 Zookeeper服务及MQ服务 Zookeeper(动物管理员)是一个开源的分布式协调服务,目前由Apache进行维护。 MQ概念 MQ(消息队列)是一种应用程序之间的通信方法,应用程序通过读写出入队列的消息&#xff0…...

C++中的new和delete

1.new和delete的语法 我们知道C语言的内存管理方式是malloc、calloc、realloc和free,而我们的C中除了可以使用这些方式之外还可以选择使用new和delete来进行内存管理。 new和delete的主要语法如下 从上面的代码我们只能知道new要比malloc好写一些,但是其…...

rtt设备io框架面向对象学习-dac设备

目录 1.dac设备基类2.dac设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.dac设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的dac.h定义了如下dac设备基类 struct rt_da…...

腾讯云幻兽帕鲁服务器配置怎么选择合适?

腾讯云幻兽帕鲁服务器配置怎么选?根据玩家数量选择CPU内存配置,4到8人选择4核16G、10到20人玩家选择8核32G、2到4人选择4核8G、32人选择16核64G配置,腾讯云百科txybk.com来详细说下腾讯云幻兽帕鲁专用服务器CPU内存带宽配置选择方法&#xff…...

796. 子矩阵的和

Problem: 796. 子矩阵的和 文章目录 思路解题方法复杂度Code 思路 这是一个二维前缀和的问题。二维前缀和的主要思想是预处理出一个二维数组,使得每个位置(i, j)上的值表示原数组中从(0, 0)到(i, j)形成的子矩阵中所有元素的和。这样,对于任意的子矩阵(x…...

如何在 Python 中处理 Unicode

介绍 Unicode 是世界上大多数计算机的标准字符编码。它确保文本(包括字母、符号、表情符号,甚至控制字符)在不同设备、平台和数字文档中显示一致,无论使用的操作系统或软件是什么。它是互联网和计算机行业的重要组成部分&#xf…...

CSDN文章导出PDF整理状况一览

最近CSDN有了导出文章PDF功能,导出的PDF还可以查询, 因此,把文章导出PDF,备份一下自己的重要资料。 目前整理内容如下 No.文章标题整理时间整理之后 文章更新Size (M)10001_本地电脑-开发相关软件保持位…...

jmeter-05变量(用户定义变量,用户参数,csv文档参数化)

文章目录 一、jmeter有三种变量二、用户定义变量(这个更多的可以理解为全局变量)1、设置2、引用三、用户参数(可以理解为局部变量)1、设置2、引用3、用户参数化要配合线程组的线程数使用4、结果五、csv文档参数1、创建csv文件2、设置2、引用csv文件可以配合线程组的线程数,…...

CSS之水平垂直居中

如何实现一个div的水平垂直居中 <div class"content-wrapper"><div class"content">content</div></div>flex布局 .content-wrapper {width: 400px;height: 400px;background-color: lightskyblue;display: flex;justify-content:…...

2.8日学习打卡----初学RabbitMQ(三)

2.8日学习打卡 一.springboot整合RabbitMQ 之前我们使用原生JAVA操作RabbitMQ较为繁琐&#xff0c;接下来我们使用 SpringBoot整合RabbitMQ&#xff0c;简化代码编写 创建SpringBoot项目&#xff0c;引入RabbitMQ起步依赖 <!-- RabbitMQ起步依赖 --> <dependency&g…...

Unity学习笔记(零基础到就业)|Chapter02:C#基础

Unity学习笔记&#xff08;零基础到就业&#xff09;&#xff5c;Chapter02:C#基础 前言一、复杂数据&#xff08;变量&#xff09;类型part01&#xff1a;枚举数组1.特点2.枚举&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;申明枚举变量&#xff08;3&#xff…...

容器化的基础概念:不可变基础设施解释:将服务器视为乐高积木,而非橡皮泥。

不可变基础设施解释&#xff1a;将服务器视为乐高积木&#xff0c;而非橡皮泥。 想象一下用乐高积木代替橡皮泥进行搭建。使用橡皮泥时&#xff0c;您可以直接塑形和改变它。而使用乐高积木&#xff0c;您需要逐个零件搭建特定结构&#xff0c;并在需要时整体替换它们。这就是…...

智胜未来,新时代IT技术人风口攻略-第二版(弃稿)

文章目录 抛砖引玉 鸿蒙生态小科普焦虑之下 理想要落到实处校园鼎力 鸿蒙发展不可挡培训入场 机构急于吃红利企业布局 鸿蒙应用规划动智胜未来 技术人风口来临 鸿蒙已经成为行业的焦点&#xff0c;未来的发展潜力无限。作为一名程序员兼UP主&#xff0c;我非常荣幸地接受了邀请…...

Git分支和迭代流程

Git分支 feature分支&#xff1a;功能分支 dev分支&#xff1a;开发分支 test分支&#xff1a;测试分支 master分支&#xff1a;生产环境分支 hotfix分支&#xff1a;bug修复分支。从master拉取&#xff0c;修复并测试完成merge回master和dev。 某些团队可能还会有 reale…...

数据库管理-第150期 Oracle Vector DB AI-02(20240212)

数据库管理150期 2024-02-12 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09;1 LLM2 LLM面临的挑战3 RAG4 向量数据库LLM总结 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09; 作者&#xff1a;胖头鱼的鱼…...

MySQL双写机制

双写机制 问题的出现 在发生数据库宕机时&#xff0c;可能Innodb正在写入某个页到表中&#xff0c;但是这个页只写了一部分&#xff0c;这种情况被称为部分写失效&#xff0c;虽然innodb会先写重做日志,在修改页&#xff0c;但是重做日志中记录的是对页的物理操作&#xff0c;但…...

uniapp的配置和使用

①安装环境和编辑器 注册小程序账号 微信开发者工具下载 uniapp 官网 HbuilderX 下载 首先先下载Hbuilder和微信开发者工具 &#xff08;都是傻瓜式安装&#xff09;&#xff0c;然后注册小程序账号&#xff1a; 拿到appid&#xff1a; ②简单通过demo使用微信开发者工具和…...

【ES】--Elasticsearch的分词器深度研究

目录 一、问题描述及分析二、analyze分析器原理三、 multi-fields字段支持多场景搜索(如同时简繁体、拼音等)1、ts_match_analyzer配置分词2、ts_match_all_analyzer配置分词3、ts_match_1_analyzer配置分词4、ts_match_2_analyzer配置分词5、ts_match_3_analyzer配置分词6、ts…...

【Langchain Agent研究】SalesGPT项目介绍(三)

【Langchain Agent研究】SalesGPT项目介绍&#xff08;二&#xff09;-CSDN博客 上节课&#xff0c;我们介绍了salesGPT项目的初步的整体结构&#xff0c;poetry脚手架工具和里面的run.py。在run.py这个运行文件里&#xff0c;引用的最主要的类就是SalesGPT类&#xff0c;今天我…...

Java安全 URLDNS链分析

Java安全 URLDNS链分析 什么是URLDNS链URLDNS链分析调用链路HashMap类分析URL类分析 exp编写思路整理初步expexp改进最终exp 什么是URLDNS链 URLDNS链是Java安全中比较简单的一条利用链&#xff0c;无需使用任何第三方库&#xff0c;全依靠Java内置的一些类实现&#xff0c;但…...

【网站项目】026校园美食交流系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

使用raw.gitmirror.com替换raw.githubusercontent.com以解决brew upgrade python@3.12慢的问题

MacOS系统上&#xff0c;升级python3.12时&#xff0c;超级慢&#xff0c;而且最后还失败了。看了日志&#xff0c;发现是用curl从raw.githubusercontent.com上下载Python安装包超时了。 解决方案一&#xff1a;开启翻墙工具&#xff0c;穿越围墙 解决方案二&#xff1a;使用…...

深度学习的进展

#深度学习的进展# 深度学习的进展 深度学习是人工智能领域的一个重要分支&#xff0c;它利用神经网络模拟人类大脑的学习过程&#xff0c;通过大量数据训练模型&#xff0c;使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来&#xff0c;深度学习在多个领域取得…...

[高性能] - 缓存架构

对于交易系统来说&#xff0c;低延时是核心业务的基本要求。因此需要对业务进行分级&#xff0c;还需要对数据按质量要求进行分类&#xff0c;主要包含两个维度&#xff1a;重要性&#xff0c;延时要求&#xff0c;数据质量。共包含以下三种场景&#xff1a; 1. 重要 延时性要…...

django实现外键

一&#xff1a;介绍 在Django中&#xff0c;外键是通过在模型字段中使用ForeignKey来实现的。ForeignKey字段用于表示一个模型与另一个模型之间的多对一关系。这通常用于关联主键字段&#xff0c;以便在一个模型中引用另一个模型的相关记录。 下面是一个简单的例子&#xff0…...

飞天使-k8s知识点14-kubernetes散装知识点3-Service与Ingress服务发现控制器

文章目录 Service与Ingress服务发现控制器存储、配置与角色 Service与Ingress服务发现控制器 在 Kubernetes 中&#xff0c;Service 和 Ingress 是两种不同的资源类型&#xff0c;它们都用于处理网络流量&#xff0c;但用途和工作方式有所不同。Service 是 Kubernetes 中的一个…...

任务调度

1.学习目标 1.1 定时任务概述 1.2 jdk实现任务调度 1.3 SpringTask实现任务调度 1.4 Spring-Task 分析 1.5 Cron表达式 https://cron.qqe2.com/ 2. Quartz 基本应用 2.1 Quartz 基本介绍 2.2 Quartz API介绍 2.3 入门案例 <dependency> <groupId>org.springframe…...

深刻反思现代化进程:20世纪与21世纪的比较分析及东西方思想家的贡献

深刻反思现代化进程&#xff1a;20世纪与21世纪的比较分析及东西方思想家的贡献 摘要&#xff1a;随着人类社会的快速发展&#xff0c;现代化已成为全球范围内的普遍追求。然而&#xff0c;20世纪至21世纪的现代化进程并非一帆风顺&#xff0c;它伴随着环境破坏、社会不平等和文…...

【FTP讲解】

FTP讲解 1. 介绍2. 工作原理3. 传输模式4. 安全5. 设置FTP服务器6. FTP命令 1. 介绍 FTP&#xff08;File Transfer Protocol&#xff09;是“文件传输协议”的英文缩写&#xff0c;它是用于在网络上进行数据传输的一种协议。FTP是因特网上使用最广泛的协议之一&#xff0c;它…...

java面试题整理

2023.2.14&#xff08;第二天&#xff09; 数组是不是对象&#xff1f; 在Java中&#xff0c;数组是对象。数组是一种引用类型&#xff0c;它可以存储固定大小的相同类型的元素序列。在Java中&#xff0c;数组是通过new关键字创建的&#xff0c;它们在内存中被分配为对象&…...

探索NLP中的N-grams:理解,应用与优化

简介 n-gram[1] 是文本文档中 n 个连续项目的集合&#xff0c;其中可能包括单词、数字、符号和标点符号。 N-gram 模型在许多与单词序列相关的文本分析应用中非常有用&#xff0c;例如情感分析、文本分类和文本生成。 N-gram 建模是用于将文本从非结构化格式转换为结构化格式的…...

JAVA-数组乱序

实现步骤 假设有一组数组numbers从数组中最后一个元素开始遍历设置一个随机数作为循环中遍历到的元素之前的所有元素的下标&#xff0c;即可从该元素之前的所有元素中随机取出一个每次将随机取出的元素与遍历到的元素交换&#xff0c;即可完成乱序 实例如下&#xff1a; im…...

Stable Diffusion 模型下载:majicMIX reverie 麦橘梦幻

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...

Java开发四则运算-使用递归和解释器模式

使用递归和解释器模式 程序结构设计具体实现1. 先上最重要的实现类&#xff1a;ExpressionParser&#xff08;最重要&#xff09;2. 再上上下文测试代码&#xff1a;Context&#xff08;程序入口&#xff0c;稍重要&#xff09;3. 使用到的接口和数据结构&#xff08;不太重要的…...

[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析

先看网页 代码审计&#xff1a; error_reporting(0); &#xff1a;关闭报错&#xff0c;代码的错误将不会显示 highlight_file(__FILE__); &#xff1a;将当前文件的源代码显示出来 eval($_GET[url]); &#xff1a;将url的值作为php代码执行 解题&#xff1a; 题目既然允许…...

5.深入理解箭头函数 - JS

什么是箭头函数&#xff1f; 箭头函数是指通过箭头函数表达式创建的函数&#xff0c;是匿名函数。 箭头函数表达式的语法更简洁&#xff0c;但语义有差异&#xff0c;所以用法上也有一些限制。尽管如此&#xff0c;箭头函数依旧被广泛运用在需要执行“小函数”的场景。 箭头…...

高效的工作学习方法

1.康奈尔笔记法 在这里插入图片描述 2. 5W2H法 3. 鱼骨图分析法 4.麦肯锡7步分析法 5.使用TODOLIST 6.使用计划模板&#xff08;年月周&#xff09; 7. 高效的学习方法 成年人的学习特点&#xff1a; 快速了解一个领域方法 沉浸式学习方法&#xff1a; 沉浸学习的判据&am…...

【MySQL】-17 MySQL综合-3(MySQL创建数据库+MySQL查看数据库+MySQL修改数据库+MySQL删除数据库+MySQL选择数据库)

MySQL创建数据库查看数据库修改数据库删除数据库选择数据库 一 MySQL创建数据库实例1&#xff1a;最简单的创建 MySQL 数据库的语句实例2&#xff1a;创建 MySQL 数据库时指定字符集和校对规则 二 MySQL查看或显示数据库实例1&#xff1a;查看所有数据库实例2&#xff1a;创建并…...

【教学类-46-08】20240212立体鱼1.0

前期做了一个立体春字 作品展示 背景需求&#xff1a; 在南浔古镇的非遗文化馆里看到一个新年活动折纸——年年有鱼挂饰 我从网上搜索教程&#xff0c;完全可以用15*15的手工纸给孩子们做一套。 折纸教程 视频暂时不能查看https://haokan.baidu.com/v?pdwisenatural&vid1…...

【JVM篇】什么是jvm

文章目录 &#x1f354;什么是Java虚拟机&#x1f6f8;Java虚拟机有什么用&#x1f339;Java虚拟机的功能&#x1f388;Java虚拟机的组成 &#x1f354;什么是Java虚拟机 JVM指的是Java虚拟机&#xff0c;本质上是一个运行在计算机上的程序&#xff0c;可以运行 Java字节码文件…...

Vulnhub靶场 DC-9

目录 一、环境搭建 二、信息收集 1、主机发现 2、指纹识别 三、漏洞复现 1、dirsearch目录探测 2、sqlmap注入测试 3、文件包含漏洞 4、Knockd敲门服务 5、ssh爆破 ​​​​​​​6、提权 四、提取flag 一、环境搭建 Vulnhub靶机下载&#xff1a; 官网地址&#xff1a;https://…...

day2-理解 linux 云计算

1.解释服务器是什么&#xff1b; 服务器是一种高性能计算机&#xff0c;它的主要功能是提供计算服务和资源给其他计算机使用。在网络环境中&#xff0c;服务器扮演着重要的角色&#xff0c;它们可以存储和管理大量的数据&#xff0c;处理网络请求&#xff0c;提供应用程序运行…...

Android 13.0 开启禁用系统接收短信功能

1.概述 在13.0的系统rom定制化中,在一些wifi产品的机器中,对于系统4g部分的功能需要裁剪 比如拨打电话 接听电话 短信功能等这部分 需要禁用系统对应的功能,接下来就来初步分析下系统中接收短信部分功能,然后实现禁用接收短信功能 2.禁用和启用系统短信功能实现的核心类 …...

compile error ESP32cam.h no such file or directory

解决方法 可以参考这篇文章&#xff1a; But first, you will need to download the esp32cam.h library. For this go to Github and download the esp32cam Zip. GitHub - yoursunny/esp32cam: OV2640 camera on ESP32-CAM, Arduino library 具体就是下面的这篇重要的文章 …...

使用 Chainlit, Langchain 及 Elasticsearch 轻松实现对 PDF 文件的查询

在我之前的文章 “Elasticsearch&#xff1a;与多个 PDF 聊天 | LangChain Python 应用教程&#xff08;免费 LLMs 和嵌入&#xff09;” 里&#xff0c;我详述如何使用 Streamlit&#xff0c;Langchain, Elasticsearch 及 OpenAI 来针对 PDF 进行聊天。在今天的文章中&#xf…...

Gitee的使用教程(简单详细)

1.安装git&#xff08;我的电脑自带git&#xff0c;我没弄这步QAQ&#xff09; Git (git-scm.com)https://git-scm.com/ 安装好后在桌面点击鼠标右键会出现git GUI 和 git Bash&#xff08;没有的话点击显示更多选项&#xff09; 2.去gitee上注册一个账号 工作台 - Gitee.co…...

生成树(习题)

模板】最小生成树 生成树有两种方法&#xff0c;但是我只会克鲁斯卡尔算法&#xff0c;所以接下来下面的的题目都是按照这个算法来实现的&#xff0c;首先来见一下生么是这个算法&#xff0c;在之前的我写的一篇博客中有题使叫修复公路&#xff0c;其实这一题就是使用了这个算…...

ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions

异常处理模型详解之异常处理概述 一&#xff0c;异常处理相关概念二&#xff0c;异常处理概述 一&#xff0c;异常处理相关概念 在介绍异常处理之前&#xff0c;有必要了解一些关于异常处理状态的术语&#xff1a; 当处理器响应一个异常时&#xff0c;我们称该异常被获取了&a…...

Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南

Content 一、前言二、准备工作三、安装步骤1. 启用本地仓库2. 导入CUDA GPG密钥3. 更新仓库元数据4. 安装运行时库5. 安装开发者库6. 安装代码示例7. 另外一种安装办法 四、验证安装1. 验证cuDNN版本2. 测试示例代码 五、总结 一、前言 在深度学习领域&#xff0c;高效的计算资…...

Microsoft Word 超链接

Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 ​​​ 2.3. Internet…...