华为数据之道-读书笔记

内容简介

关键字

数字化生产

已经成为普遍的商业模式,其本质是以数据为处理对象,以ICT平台为生产工具,以软件为载体,以服务为目的的生产过程。

信息与通信技术平台(Information and Communication Technology Platform,ICT)

数据孤岛

IT系统中的数据语言不统一,不同I系统之间的数据不贯通,同样的数据需要在不同TT系统中重复录入,甚至不同I系统中的同一个数据不一致等。这些问题限制了运营效率的提升和效益的改进,华为迫切需要数字化转型来改变这种状况。

数字化转型(怎么做)

ToB / ToC

数据入湖

数据入湖 是指将数据从各种数据源(如数据库、文件系统、实时流数据等)导入到 数据湖 中的过程。数据湖是一个存储系统,能够以原始格式保存海量结构化、半结构化和非结构化数据,为后续的数据分析、机器学习和数据驱动决策提供支持。

数据消费

数据消费 是指在数据生态系统中,用户或系统通过对数据的访问、分析和处理,从而获取有价值的信息,用于支持决策、优化业务流程或推动创新。它是数据生命周期的重要阶段,通常紧接在数据存储(如数据湖或数据仓库)之后。

数据消费的核心含义

  • 数据消费的本质是将存储在数据平台中的原始数据转化为对业务有意义的洞察和价值。
  • 数据消费的形式可以多种多样,比如生成报表、构建机器学习模型、驱动实时决策等。

数据消费的常见形式

  1. 报表与可视化

    • 数据被消费为可视化的报表和图表,用于业务监控和决策支持。
    • 工具:Power BI、Tableau、FineBI 等。
    • 例子:通过销售数据生成月度销售报表。
  2. 业务分析与洞察

    • 利用统计学或分析工具,对数据进行深度挖掘。
    • 工具:Excel、Python(Pandas、Matplotlib)、R 等。
    • 例子:分析用户行为数据,发现客户流失的原因。
  3. 实时数据处理

    • 消费实时流数据,支持快速响应和实时决策。
    • 工具:Kafka、Spark Streaming、Flink 等。
    • 例子:实时监控物流运输状态。
  4. 数据驱动的自动化

    • 数据直接被系统或服务消费,用于触发自动化流程。
    • 例子:银行的风控系统根据用户交易数据自动判定风险。
  5. 机器学习与AI模型

    • 数据作为模型训练的输入,驱动机器学习或人工智能应用。
    • 工具:TensorFlow、PyTorch、Scikit-learn 等。
    • 例子:根据历史数据训练模型预测未来销售趋势。
  6. API 数据消费

    • 数据通过 API 提供给应用程序消费。
    • 例子:电商平台通过 API 查询库存数据并更新页面。

数据消费的技术架构

数据消费通常依赖于以下技术架构:

  1. 数据湖与数据仓库

    • 数据消费的基础是数据存储。数据湖存储原始数据,数据仓库存储加工后的结构化数据。
    • 工具:Hadoop、Amazon S3、Snowflake 等。
  2. 数据集成与查询

    • 数据通过 ETL 或 ELT 流程集成,并通过查询工具消费。
    • 工具:Presto、Hive、BigQuery 等。
  3. 数据可视化平台

    • 将复杂数据呈现为易于理解的图表或仪表板。
    • 工具:Tableau、Power BI、Grafana 等。
  4. 实时流处理

    • 实时数据的消费需要强大的流处理能力。
    • 工具:Kafka、Flink、Spark Streaming 等。

数据消费的挑战

  1. 数据质量
    • 如果数据不准确、不完整或不及时,会直接影响消费结果的可靠性。
  2. 访问性能
    • 当数据量过大时,如何高效查询和处理数据是一个难题。
  3. 安全与隐私
    • 数据消费涉及敏感数据时,如何确保合规性和安全性。
  4. 数据孤岛
    • 数据分散在多个系统中,导致消费过程中难以整合。

数据底座

数据底座 是一个支持企业数字化转型的核心技术平台,用来统一管理、存储和处理企业所有的数据资源。它是企业实现数据驱动决策、智能化应用的基础设施,类似于建筑物的地基,支撑着上层的各种数据应用。

数据底座的主要组成部分

  1. 数据存储

    • 数据底座需要存储结构化、半结构化和非结构化数据,通常包括以下系统:
      • 数据湖:存储原始的、海量的多种数据类型。
      • 数据仓库:存储经过处理和结构化的数据,用于高效分析。
      • 云存储:灵活支持弹性存储(如 AWS S3、阿里云 OSS)。
  2. 数据集成

    • 将企业的多种数据源(如数据库、日志系统、实时流数据)统一整合到数据底座。
    • 工具:ETL(提取、转换、加载)工具(如 Apache NiFi、Informatica)。
  3. 数据治理

    • 确保数据的质量、规范性和安全性。
    • 包括数据清洗、数据标准化、元数据管理、数据权限控制。
  4. 数据分析与服务

    • 支持多种数据分析需求,包括统计分析、机器学习、实时处理等。
    • 提供数据 API 和服务,支持上层应用调用数据。
  5. 数据安全

    • 实现数据加密、访问控制、日志记录,确保数据合规性和安全性。
  6. 开发与运维支持

    • 为数据科学家、分析师和开发者提供统一的平台工具(如 Jupyter Notebook、BI 工具)。

ETL(提取、转换、加载)

ETL 是指 提取(Extract)、转换(Transform)、加载(Load),是一种将数据从一个或多个来源提取出来,经过转换处理后加载到目标系统(如数据仓库、数据湖)的数据集成过程。ETL 是数据处理的重要环节,广泛用于数据仓库建设、数据分析和业务报表生成。


ETL 的三个主要步骤

  1. 提取(Extract)

    • 从多个数据源中获取原始数据,包括结构化数据(如数据库表)、半结构化数据(如 JSON、XML)和非结构化数据(如文本、日志)。
    • 数据源示例:
      • 数据库(MySQL、Oracle、PostgreSQL)
      • 文件系统(CSV、Excel)
      • API 或实时流(如 Kafka)
    • 目标是尽可能完整地提取数据,同时避免影响源系统性能。
  2. 转换(Transform)

    • 对提取的原始数据进行清洗、规范化和处理,以满足目标系统的要求。通常包括以下操作:
      • 数据清洗:处理空值、重复值、异常值。
      • 格式转换:统一日期格式、单位等。
      • 数据聚合:计算总数、平均值等。
      • 维度处理:将数据映射到维度表或事实表。
      • 业务规则应用:根据业务逻辑衍生新字段或分类数据。
  3. 加载(Load)

    • 将转换后的数据加载到目标系统中,如数据仓库(如 Snowflake、Redshift)或数据湖(如 Hadoop、S3)。
    • 加载方式:
      • 全量加载:每次将所有数据重新加载到目标系统。
      • 增量加载:只加载新增或更新的数据。
    • 确保数据加载的完整性和准确性。

IoT数据

IoT数据(Internet of Things 数据)是指由物联网设备生成、收集和传输的数据。这些设备通过网络互联,可以实时感知、监测和传输信息,从而为数据分析和智能化应用提供支持。

IoT 数据的来源

IoT 数据主要来源于各种连接到互联网的设备和传感器,这些设备可以分为以下几类:

  1. 工业设备

    • 工厂中的机器、机器人、设备传感器。
    • 例如:温度、压力、振动传感器。
  2. 智能家居设备

    • 智能音箱、智能门锁、智能灯泡、智能电表。
    • 例如:记录室内温湿度、用电量、用户行为等。
  3. 可穿戴设备

    • 智能手表、健身追踪器。
    • 例如:记录心率、步数、睡眠数据。
  4. 交通工具

    • 车辆中的 GPS、车载诊断系统(OBD)。
    • 例如:车辆位置、速度、燃油使用情况。
  5. 环境监测设备

    • 气象站、空气质量监测仪。
    • 例如:二氧化碳浓度、噪声水平、降雨量。
  6. 物流与零售

    • 包括物流追踪器、智能货架、RFID 标签。
    • 例如:商品库存、运输位置、存储条件。

IoT 数据的特点

  1. 实时性

    • IoT 数据通常以流数据的形式实时产生,适合用于实时监控和快速响应。
    • 例如:传感器每秒传输一次温度数据。
  2. 多样性

    • IoT 数据可以是结构化、半结构化或非结构化的,包含数值、文本、图片、视频等。
    • 例如:结构化的电量数据,非结构化的设备日志。
  3. 海量性

    • 由于设备数量庞大,数据生成频率高,IoT 数据通常呈现出“数据爆炸”的特点。
    • 例如:一台传感器每天产生上 GB 的数据。
  4. 分布式来源

    • 数据来自分布在不同地点的设备,具有高度分散性。
    • 例如:不同城市的环境监测设备生成的数据。
  5. 时序性

    • 数据通常是以时间序列形式产生,带有时间戳,用于分析变化趋势。
    • 例如:每天记录温度变化曲线。

IoT 数据的存储与处理

由于 IoT 数据量大、种类多且实时性强,对数据存储和处理系统的要求较高。

存储方式

  1. 云存储

    • 使用云平台(如 AWS、Azure、阿里云)存储数据,具有弹性扩展性。
    • 例如:将 IoT 数据存储在 AWS IoT Core。
  2. 边缘计算

    • 在设备附近(边缘)处理和存储部分数据,降低传输延迟。
    • 例如:工业设备实时分析振动数据,异常时才上传到云。
  3. 数据湖与数据仓库

    • 数据湖(如 Hadoop、AWS S3):存储原始数据。
    • 数据仓库(如 Snowflake、Redshift):存储结构化数据用于分析。

处理方式

  1. 实时数据处理

    • 使用流处理框架(如 Apache Kafka、Flink)分析实时数据。
    • 例如:监控车辆速度,超速时发出警报。
  2. 批量数据分析

    • 将 IoT 数据定期导入数据仓库,使用大数据工具(如 Spark)进行批处理。
    • 例如:分析一周内设备的运行状态。
  3. 机器学习与AI

    • 使用 AI 模型对 IoT 数据进行预测和异常检测。
    • 例如:预测工业设备的故障。

Mapping

Mapping 在开发中通常指的是数据或信息之间的映射关系,即将一种数据结构、字段或实体转换成另一种对应的数据结构或字段,以便在不同系统或模块之间进行数据的传递或处理。Mapping 是软件开发中常见的概念,广泛应用于数据传输、转换、模型映射等场景。

Mapping的常见场景

Mapping 的作用

  1. 数据转换

    • 将数据从一种格式或结构转换为另一种,以满足不同模块或系统的需求。
  2. 系统集成

    • 在多个系统之间共享数据时,通过映射来解决字段或数据结构不一致的问题。
  3. 降低耦合性

    • 使用映射层可以隔离不同系统或模块的实现细节,降低代码的耦合性。
  4. 提升代码可维护性

    • 通过统一的映射规则或工具,简化数据转换的逻辑,方便后续维护。

常见的 Mapping 技术与工具

  1. 编程语言中的工具

    • Java:ModelMapperMapStruct
    • Python:pydanticMarshmallow
    • JavaScript:手动映射(如使用 map() 方法)。
  2. 数据库工具

    • Hibernate、JPA(ORM 工具)。
    • 数据库视图用于映射复杂字段。
  3. ETL 工具

    • Apache Nifi、Talend、Informatica,用于跨系统的大规模数据映射和转换。
  4. 配置文件与规则

    • JSON、YAML 配置文件中定义的映射规则。
    • 自定义映射规则文件。

逻辑实体

物理表

虚拟表

视图

数据模型

数据模型 是一种对现实世界数据及其相互关系的抽象表达,用来描述数据的结构、操作和约束。它是数据库设计、数据处理和数据管理的基础工具,帮助我们理解和组织复杂的数据。

Data Lab

Data Lab 是指企业数据管理和分析中的一个核心功能模块或场景,通常代表了一个集中的数据实验室(Data Laboratory)或分析平台。它的主要目标是为用户提供灵活的探索、分析和试验数据的环境,帮助实现业务洞察和智能决策。

数据治理

对企业的数据管理和利用进行评估、指导和监督,通过提供不断创新的数据服务,为企业创造价值

数据源

指业务上首次正式发布某项数据的应用系统,并经过数据管理专业组织认证,作为企业范围内唯一数据源头被周边系统调用。

数据Owner

公司数据 Owner 是公司数据战略的制定者、数据文化的营造者、数据资产的所有者和数据
争议的裁决者,拥有公司数据日常管理的最高决策权。

数据 Owner 的职责包括:
① 负责数据管理体系建设。
② 负责信息架构建设。
③ 负责数据质量管理。
④ 负责数据底座和数据服务建设。
⑤ 负责数据争议裁决。

数据Owner要负责所辖领域的信息架构建设和维护,负责保障所辖领域的数据质量,承接公司各个部门对本领域数据的需求,并有责任建立数据问题回溯和奖惩机制,对所辖领域的数据问题及争议进行裁决,公司有权对不遵从信息架构或存在严重数据质量问题的责任人进行问责。

主数据

参与业务事件的主体或资源,是具有高业务价值的、跨流程和跨系统重复使用的数据。主数据与基础数据有一定的相似性, 都是在业务事件发生之前预先定义;但又与基础数据不同,主数据的取值不受限于预先定义的数据范围,而且主数据的记录的增加和减少一般不会影响流程和IT系统的变化

元数据

定义数据的数据,是有关一个企业所使用的物理数据、技术和业务流程、数据规则和约束以及数据的物理与逻辑结构的信息

元数据是描述数据的数据,用于打破业务和IT之间的语言障碍,帮助业务更好地理解数据。
元数据通常分为业务、技术和操作三类。
其中:

业务元数据:用户访问数据时了解业务含义的途径,包括资产目录、Owner、数据密级
等。
技术元数据:实施人员开发系统时使用的数据,包括物理模型的表与字段、ETL 规则、
集成关系等。
操作元数据:数据处理日志及运营情况数据,包括调度频度、访问记录等。

数据导航/数据地图DMAP


汇聚/钻取/切片

数据粒度

SLA

第一部分

第一章

数字化转型目标

数字化转型蓝图

数据工作框架

数据体系建设的整体框架

第二章

数据治理体系框架

数据管理总纲

第三章

数据分类管理框架

数据分类

基础数据治理

    基础数据是用于分类或目录整编的数据,通常有一个有限的允许、可选值范围。也就是常见的基础码值。如性别、币种、业务单类型等。

      基础数据治理无论对优化业务流程还是数据分析都有较高的价值。一方面是增强与外部系统、提高业务敏捷度;另一方面,减少mapping的开发,支持业务端到端分析,增加业务确定性。码值管理最好通过系统来管控,目前的工作里也遇到这类问题,因为老系统之前较为混乱,新建系统建了一套全新的,但当时相关标准管理系统不完善,且在新老mapping上并不完善,导致数据部门很难开展工作。         

基础数据治理的价值

基础数据治理的收益

基础数据治理的框架

主数据治理

        主数据具有高业务价值的、可以在企业内跨流程跨系统被重复使用的数据,具有唯一、准确、权威的数据源。通常是业务事件的参与方,参与方在业务中是一个很重要的概念。常见的主数据有机构主数据、员工主数据、产品主数据、财务主数据等。

     华为的主数据范围包含客户、产品、供应商、组织和人员。每个主数据都有相应的架构、流程及管控组织来负责管理。目前的工作里也各自新建域来管理相应的主数据,但缺少良好的流程和管控,产品功能存在但实际转起来时没有那么顺畅,需要不断打磨。最后的目的是保证数出一孔,提高数据质量、支持交易流打通等。

主数据管理策略

主数据管理框架

客户主数据

客户数据是企业最重要的主数据之一,几乎贯穿所有业务经营活动。客户数据在全流程中的及时性、准确性、完整性、一致性、有效性、唯一性是业务高效运作、经营可控的重要保障。随着业务发展,华为客户数量迅速增长,客户数据种类复杂多样,因此要构建客户数据管理和服务化能力,以满足经营分析、交易打通、内外部遵从、客户价值挖掘等核心要求,支撑面向多BG的战略转变。

这里的“多BG”指的是“多业务群”(Business Groups)的意思。华为作为一个全球化的大型企业,通常会根据不同的产品线、市场需求、技术方向等,划分为多个业务群(BGs)。这些业务群可能包括消费业务、企业业务、运营商业务等。每个BG都有其独立的目标、运作模式和管理需求。因此,“支撑面向多BG的战略转变”意味着要建立一个能够支持多个业务群战略需求的系统或平台,以确保客户数据能够在各个业务群之间高效流通和利用。

事务数据治理

事务数据用于记录企业经营过程中产生的业务事件,其实质是主数据之间活动产生的数据。如一条xx订单数据。

    事务数据会调用主数据和基础数据,当然也有自身的数据。如一张订单上,一般有客户、产品、机构主数据,币种、订单类型等基础数据,也有订单金额、订单号等事务数据。因此,事务数据治理的重点是管理好事务数据对主数据和基础数据的调用,以及事务数据之间的关联关系,确保上下游传递顺畅,数仓中间层建模时就是事实表表来源。

报告数据治理

 报告数据是对数据进行处理加工后,用作业务决策依据的数据。主要是指维度、指标。

观测数据治理

观测数据是观测者通过观测工具获取观测对象行为/过程的记录数据。如系统日志、物联网数据、GPS数据等。

 观测对象主要是人、事、物和环境,观测对象要定义成业务对象进行管理。观测方式分为软感知(使用软件或各种技术进行数据收集,比如某log日志)和硬感知(收集对象为物理世界中物理实体,如IOT数据)。

规则数据治理

规则数据是结构化描述业务规则变量(一般为决策表、关联关系表、评分卡等形式)的数据,是实现业务规则的核心数据。无法实例化,只能以逻辑实体存在。如某下单流程中的定价规则,风控规则等。业务规则/规则变量->规则数据,一个业务规则可以包含0-N个规则数据。

非结构化数据

外部数据

外部数据是指华为公司引入的外部组织或者个人拥有处置权利的数据,如供应商资质证明、消费者洞察报告等。外部数据治理的出发点是合规遵从优先,与内部数据治理的目的不同。

元数据

元数据是定义数据的数据,是有关一个企业所使用的物理数据、技术和业务流程、数据规则和约束以及数据的物理与逻辑结构的信息。属于描述性标签,描述了数据、相关概念以及他们之间的关系,如业务术语、指标定义、表/字段描述等。

元数据设计原则

数据资产编码

数据资产编码(DAN,Data Asset Numbering) 是一种对数据资产进行唯一标识的编码体系,用于帮助企业对其数据资产进行统一管理、标识和追踪。

Schema (skiːmə,s给m)是数据库的设计图,定义了数据的结构、类型和关系,为数据存储、管理和使用提供规范。

元数据注册

元数据注册 是指将元数据(Metadata)按照一定的规范和标准,登记到一个元数据管理平台元数据仓库中,以便统一管理和使用。这个过程确保企业或组织中的数据资源可以被清晰地描述、分类和追踪,从而实现对数据的全面理解、利用和管控。

元数据注册有4种模式,一对一模式(逻辑实体和物理表一对一)、主从模式(一对多,逻辑实体对应多张物理表)、主扩模式(一对多主物理表为核心表,少数属性存在其他物理表中)和父子模式(多个逻辑实体业务属性完全相同,按照不同场景区分逻辑实体,但落在同一物理表中)。

第二部分

第四章

企业级信息架构

信息架构原则

第五章

数据底座总体架构

数据湖

数据湖(入湖方法)

  这里区分下物理入湖和虚拟入湖:

        (1)物理入湖是指将原始数据复制到数据湖中,主要有批量集成、数据复制同步(实时,CDC)、消息集成(实时,API提取数据,MQ工具)和流集成(实时,Pipline工具)。

        (2)虚拟入湖是指原始数据不在数据湖中进行物理存储,而是通过建立虚拟表的集成方式实现入湖,实时性强,一般面向小数据量应用,数据量过大可能影响源系统。主要是面向需要低数据低时延、高灵活性和临时模式(不断消费下的模式)的消费场景。如Denodo中的逻辑数据架构,支持数据虚拟化。

批量集成

数据复制同步

消息集成

流集成

数据虚拟化

结构化数据入湖

结构化数据是指由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。

触发结构化数据入湖的场景有两种:

第一,企业数据管理组织基于业务需求主动规划和统筹;

第二,响应数据消费方的需求。

结构化数据入湖过程包括:数据入湖需求分析及管理、检查数据入湖条件和评估入湖标准、实施数据入湖、注册元数据。

非结构化数据入湖

数据主题联结

第六章

数据服务

数据地图

服务+自助

数字化运营过程

第三部分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7341.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rocketmq-product-send方法源码分析

先看有哪些send方法 首先说红圈的 有3个红圈。归类成3种发送方式。假设前提条件,发送的topic,有3个broker,每个broker总共4个write队列,总共有12个队列。 普通发送。负载均衡12个队列。指定超时时间指定MessageQueue,发送&#…

新电脑安装系统找不到硬盘原因和解决方法来了

有不少网友反馈新电脑采用官方u盘方式装win10或win100出现找不到硬盘是怎么回事?后来研究半天发现是bios中开启了rst(vmd)模式。如果关闭rst模式肯定是可以安装的,但这会影响硬盘性能,有没有办法解决开启rst模式的情况安装win10或win11呢&…

蓝桥杯之c++入门(一)【第一个c++程序】

目录 前言一、第⼀个C程序1.1 基础程序1.2 main函数1.3 字符串1.4 头文件1.5 cin 和 cout 初识1.6 名字空间1.7 注释 二、四道简单习题(点击跳转链接)练习1:Hello,World!练习2:打印飞机练习3:第⼆个整数练习4&#xff…

Electron学习笔记,安装环境(1)

1、支持win7的Electron 的版本是18,这里node.js用的是14版本(node-v14.21.3-x86.msi)云盘有安装包 Electron 18.x (截至2023年仍在维护中): Chromium: 96 Node.js: 14.17.0 2、安装node环境,node-v14.21.3-x86.msi双击运行选择安…

【机器学习】自定义数据集使用框架的线性回归方法对其进行拟合

一、使用框架的线性回归方法 1. 基础原理 在自求导线性回归中,我们需要先自定义参数,并且需要通过数学公式来对w和b进行求导,然后在反向传播过程中通过梯度下降的方式来更新参数,从而降低损失值。 2. 实现步骤 ① 散点输入 有一…

微服务搭建----springboot接入Nacos2.x

springboot接入Nacos2.x nacos之前用的版本是1.0的,现在重新搭建一个2.0版本的,学如逆水行舟,不进则退,废话不多说,开搞 1、 nacos2.x搭建 1,首先第一步查询下项目之间的版本对照,不然后期会…

扣子平台音频功能:让声音也能“智能”起来

在数字化时代,音频内容的重要性不言而喻。无论是在线课程、有声读物,还是各种多媒体应用,音频都是传递信息、增强体验的关键元素。扣子平台的音频功能,为开发者和内容创作者提供了一个强大而灵活的工具,让音频的使用和…

全面了解 Web3 AIGC 和 AI Agent 的创新先锋 MelodAI

不管是在传统领域还是 Crypto,AI 都是公认的最有前景的赛道。随着数字内容需求的爆炸式增长和技术的快速迭代,Web3 AIGC(AI生成内容)和 AI Agent(人工智能代理)正成为两大关键赛道。 AIGC 通过 AI 技术生成…

【Uniapp-Vue3】动态设置页面导航条的样式

1. 动态修改导航条标题 uni.setNavigationBarTitle({ title:"标题名称" }) 点击修改以后顶部导航栏的标题会从“主页”变为“动态标题” 2. 动态修改导航条颜色 uni.setNavigationBarColor({ backgroundColor:"颜色" }) 3. 动态添加导航加载动画 // 添加加…

GitLab配置免密登录和常用命令

SSH 免密登录 Windows免密登录 删除现有Key 访问目录:C:\Users\Administrator\ .ssh,删除公钥:id_rsa.pub ,私钥:id_rsa 2.生成.ssh 秘钥 运行命令生成.ssh 秘钥目录( ssh-keygen -t rsa -C xxxxxx126.…

Spring Boot 自动配置

目录 什么是自动配置? Spring 加载 Bean ComponentScan Import 导入类 导入 ImportSelector 接口的实现类 SpringBoot 原理分析 EnableAutoConfiguration Import(AutoConfigurationImportSelector.class) AutoConfigurationPackage SpringBoot 自动配置流…

16.好数python解法——2024年省赛蓝桥杯真题

问题描述 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位…)上的数字是奇数,偶数位(十位、千位、十万位…)上的数字是偶数,我们就称之为“好数”。 给定一个正整数N,请计算从1到N一共有多少个好数。 输入格式 一个整数N。 输出格式 一个整数代表答案。 样例输入 1 …

wxwidgets直接获取系统图标,效果类似QFileIconProvider

目前只做了windows版本&#xff0c;用法类似QFileIconProvider // 头文件 #ifndef WXFILEICONPROVIDER_H #define WXFILEICONPROVIDER_H#include <wx/wx.h> #include <wx/icon.h> #include <wx/image.h> #include <wx/bmpcbox.h> // Include for wxB…

微服务学习-服务调用组件 OpenFeign 实战

1. OpenFeign 接口方法编写规范 1.1. 在编写 OpenFeign 接口方法时&#xff0c;需要遵循以下规范 1.1.1.1. 接口中的方法必须使用 RequestMapping、GetMapping、PostMapping 等注解声明 HTTP 请求的类型。 1.1.1.2. 方法的参数可以使用 RequestParam、RequestHeader、PathVa…

鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)

目录 鸿蒙模块概念 HAP entry feature har shared 使用场景 HAP、HAR、HSP介绍 HAP、HAR、HSP开发 应用的启动 AbilityStage UIAbility WindowStage Window 拉起应用到显示到前台流程 鸿蒙模块概念 HAP hap包是手机安装的最小单元&#xff0c;1个app包含一个或…

想品客老师的第六天:函数

函数基础的部分写在这里 函数声明 在js里万物皆对象&#xff0c;函数也可以用对象的方式定义 let func new Function("title", "console.log(title)");func(我是参数title); 也可以对函数赋值&#xff1a; let cms function (title) {console.log(tit…

Python:元组构造式和字典推导式

&#xff08;Python 元组构造式和字典推导式整理笔记&#xff09; 1. 元组构造式 1.1 创建元组 使用圆括号&#xff1a; tuple1 (1, 2.5, (three, four), [True, 5], False) print(tuple1) # 输出: (1, 2.5, (three, four), [True, 5], False) 省略圆括号&#xff1a; tup…

Linux之Tcp粘包笔记

目录 一.网络传输四层模型 二.数据传输中数据包传输的两个限制概念 三.数据传输的中粘包问题 四.数据组装的原因 Nagle算法原理: 五.关闭Nagle优化处理粘包问题吗&#xff1f; 六.粘包处理方法 a.设置消息边界&#xff1a; b.定义消息长度&#xff1a; 七.UDP是否会出…

【C语言算法刷题】第2题 图论 dijkastra

题目描述 一个局域网内有很多台电脑&#xff0c;分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样&#xff0c;所以感染时间不一样&#xff0c;感染时间用 t 表示。 其中网络内一台电脑被病毒感染&#xff0c;求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不…

软件测试压力太大了怎么办?

本文其实是知乎上针对一个问题的回答&#xff1a; 目前在做软件测试&#xff0c;主要负责的是手机端的项目测试&#xff0c;项目迭代很快&#xff0c;每次上线前验正式都会发现一些之前验测试包时候没有发现的问题&#xff0c;压力太大了&#xff0c;应该怎么调整 看过我之前其…