[Qt] Qt介绍 | 搭建SDK
目录
1. Qt 简介
什么是 Qt?
1.1 引入
1.2 GUI
1.3 Qt 介绍
2. Qt 发展史
3. Qt 支持的平台
4. Qt 版本信息
5. Qt 的优点
6. Qt 应用场景
7. Qt 成功案例
8. Qt 发展前景及就业分析
二. Qt 开发环境搭建
1. 开发工具概述
2.Qt SDK 安装
3.使用
1. Qt 简介
什么是 Qt?
Qt 是一个跨平台的 C++ 图形用户界面应用程序框架。
- 它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。
- 它是完全面向对象的,很容易扩展。
- Qt 为开发者提供了一种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发。
图形用户界面(GUI):指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。
1.1 引入
技术之间,具有非常强关联性
Qt 这个技术,用于进行“客户端开发”,属于前端开发中的“桌面运用开发”(电脑上的应用程序)
前置知识
- 客户端:直接和用户打交道的这一端的程序(steam,chrome......)
- 服务器:站在客户端背后的,提供支撑
- 虽然大部分的客户端程序,需要服务器。但有些程序不需要服务器,例如画图板...但同样也是直接和用户打交道,也可以称为“客户端程序”
介绍
- Qt 无法开发网页前端,也不能开发移动应用(目前支持了,但还没什么人用...
- 客户端开发的主要任务:编写和用户交互的页面
和用户交互的界面,两种典型风格:
- 命令行界面(黑框框)=>TUI
- 图形化界面=>GUI
Qt 是用来编写 桌面的 GUI 程序的一套框架
1.2 GUI
windows 下的 GUI 开发,基于 C/C++
- 提供的原生 API,开发起来非常原始,也非常繁琐
- MFC 上个世纪 90 年代,影响力还是非常深远的~~同时还有 VC6.0
- 面向对象的对 API 进行了封装,Qt(1991 年)诞生,和 MFC 不同,MFC 已经寄了,Qt 还在推陈出新,更新版本,至今任然非常有生命力
- 还有 GTK,WxWidget...
- 后来微软有了自己的语言,C#(sharp),量身定做了一套开发 GUI 技术体系~例如 WPF,UWP
开源社区推出了 Electron,本质是把基于 HTML 这样的网页,打包成一个 windows 上运行的客户端程序~
背景:Electron 这个技术体系,最初是用来开发“atom”文本编辑器的~Github 开发的,后来 atom 就寄了(因为微软推出了 vscode)
- 比较大的缺点:运行效率 还是比较低..
1.3 Qt 介绍
Qt 虽然只是上述解决方案中的其中一个,但用的公司还是挺多的
优点:能够跨平台~~(支持 Windows,macos,Linux)
- Qt 是一个 跨平台的 C++图形用户界面应用程序框架
- 框架:大佬开发出来,给普通程序员方便用的,限制程序员代码的自由~(就像围棋照着棋谱下,至少不会太差),在关键节点添加自己的代码
框架 vs 库
库和框架都是属于,大佬把一些代码写好了,让你去使用
不同点
- 库:被程序员调用(程序员是主体)
- 框架:则是占主体~程序员配合框架,完善填充框架中留出的一些细节
Java 对于框架,就更加依赖~Spring
编写 C++代码,框架当然也很重要,但 C++的生态是割裂的,离散的,不像 隔壁 Java,存在一些巨无霸社区,一统天下,C++不同的开源社区/大厂,各自有各自的框架,各自为政~
相比之下,Qt 这种,能够被大家共同认可的框架,在整个 C++生态中是不多见的
2. Qt 发展史
- 1991 年,在计算机,诞生了很多神奇的东西
比如 Qt,Python,Vim,OpenGL,Linux...
Qt 的发展
- 1991年:Qt最早由奇趣科技(Trolltech)开发;
- 1996年:进入商业领域,并成为目前流行的Linux桌面环境KDE的基础;
- 2008年:奇趣科技被诺基亚公司收购,Qt成为诺基亚旗下的编程工具;
诺基亚主推 Qt 来作为开发塞班系统应用程序的解决方案(最早的智能手机系统了)
2007 年,乔布斯发布苹果手机~标志移动互联网时代开启了
2012 年左右,iPhone4 称为一代经典,小米和华为也入场智能手机,安卓系统大规模崛起
诺基亚最后的反扑:和微软推出了 windows phone~撸没系列,没多久就没了
- 2012年:Qt被Digia公司收购;
- 2014年4月:跨平台的集成开发环境Qt Creator 3.1.0发布;同年5月20日,Qt 5.3正式版发布,至此Qt实现了对iOS、Android、Embedded等各平台的全面支持。
3. Qt 支持的平台
- Qt 支持的系统
- windows(各个版本)
- Linux,尤其是 Linux 中的 KDE 桌面基于 Qt 构建的
TUI vs GUI
Linux 主要是给服务器使用,服务器不需要图形界面
TUI,基于命令操作,门槛更高,效率也更高
GUI 基于图形化操作,门槛低,效率也低
3.Mac 系统
4.嵌入式系统
日常生活中冰箱,洗衣机,路由器...这些设备内部也有计算机,这种里面的硬件配置就不需要很高了,其中的图形化界面程序设计使用 Qt/安卓
4. Qt 版本信息
目前最新的版本是 Qt 6。但是,相对来说,Qt 6 和 Qt 5 之间的核心功能区别不大,并且企业中仍然有大量的项目在使用 Qt 5。因此后面主要用 Qt 5 来进行介绍
软件开发中,并不是越新越好,在商业软件开发中,引入新的性能,不如优先确保不引入严重的问题~
Qt 提供 商业许可 和 开源许可 两种授权方式。
- 商业许可:你想使用 Qt 开发一个程序,就可以向迪迦这个公司购买商业许可证(花钱,主要买的是技术支持!商业许可提供了更多的功能和服务)
比如:Redhat(收费 Linux 发行版)
比如,Oracle(收费的数据库)
- 开源许可:想开发一个程序,不必花钱,直接白嫖
5. Qt 的优点
- 跨平台支持广泛。
- 接口简单易学。
- 内存管理机制简化。
- 开发效率高。
- 社区活跃,市场份额增长。
- 支持嵌入式开发。
6. Qt 应用场景
- 桌面应用程序、移动应用程序、嵌入式系统等。
7. Qt 成功案例
(1)Linux 桌面环境 KDE
Linux 桌面环境中存在好几套桌面环境:
- GNOME(基于 GTK 创建)
- KDE(基于 Qt 创建)
(2)WPS Office 办公软件
(3)Skype 网络电话
Skype 是一款即时通讯软件,其具备 IM 所需的功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等功能。
它可以高清晰与其他用户语音对话,也可以拨打国内国际电话,无论固定电话、手机均可直接拨打,并且可以实现呼叫转移、短信发送等功能。
(4)Google Earth 谷歌地图
(5)VLC 多媒体播放器
(6)VirtualBox 虚拟机软件(VirtualBox 号称是最强的免费虚拟机软件)
8. Qt 发展前景及就业分析
- 行业发展方向包括 物联网、自动驾驶、智能交通、游戏开发等领域。
- 就业方面提供了广泛的职位选择和较高的薪资水平。
- 再去学安卓,ios 等图形化开发也会更加的容易上手
二. Qt 开发环境搭建
1. 开发工具概述
我们知道开发环境需要安装三个部分
1.C++编译器
2.Qt SDK(软件开发工具包)
3 . Qt 的集成开发环境(IDE)
主要开发环境有 Qt Creator(推荐)、Visual Studio 和 Eclipse。
- Qt 官方提供的 Qt Creator(最容易入门,比较方便,但有些 bug 影响使用体验)
- VS(功能更强,但需要额外的配置更多,安装 Qt 插件,把 Qt SDK 使用 VS 的编译器重新编译)
- Eclipse(并非只是 Jave IDE,可以搭配
说是安装三个东西,其实只要安装一个 Qt SDK,另外两个也就都有了
2.Qt SDK 安装
但凡需要下载安装一个程序,首选官方网站!!
Qt 下载官⽹:http://download.qt.io/archive/qt/国内清华源:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/ 进⼊官⽹,按如下图⽰进⾏相应的系统版本下载即可。
选择需要下载的版本;
安装软件的时候,所在目录,不要中文,特殊符号
给装好的 Qt 配置一下环境变量
要添加的目录:包含动态库和 exe 的
❗ 不要从搜索框搜索“环境变量”进入环境变量设置,直接搜索的话是使用用户(user)身份进入的,所以只能设置用户环境变量
要从 控制面板--系统和安全--系统--高级系统设置--环境变量 进入环境变量设置,这样的路径是使用了管理员身份进入的,就可以设置系统环境变量了
为什么要设置环境变量?
- 环境变量 是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序将要用到的信息。
- 在Windows上设置Qt的环境变量是为了能够在命令行或者其他应用程序中直接访问Qt相关的命令和工具。
环境变量,也可以理解成一种简单的“进程间通信”机制,方便程序运行时,找到位置
之后我们在搜索菜单中输入 Qt,就可以看到如下 4 个文件:
对于官方文档:读英文文档,很重要,一步步静下心来
3.使用
- Qt 会借助你编写的代码,生成代码
2. 填写类信息设置界面
使用 Qt Creator 创建项目会自动生成一些代码出来,生成的代码就包含一个类,此处就是要选择这个自动生成的类的父类是什么。
⭕对于基类的选择,目前有三种基类:
💡这里生成的文件名是和类名关联的,这样的关联并非是强制的(但推荐这么做)。
上述三个类之间的关系如下图:
💡这个 Form file 非常关键,Qt 中创建图形化界面的程序有两种方式:
- 直接通过 C++ 代码的方式创建界面。
- 通过 Form file,以图形化的方式来生成界面。此时就可以使用 Qt Designer 或者直接使用 Qt Creator 来编辑这个 ui 文件,从而以图形化的方式快速方便的生成图像界面。
Qt 内置的类 都是以 Q 为前缀开头的。
3. 选择版本控制系统
点击 “下⼀步” 进入项目管理界面。在项目管理界面可以设置作为子项目,以及加⼊版本控制系统管理。这两个功能暂时用不到,都用默认的 <None> ,然后点击 “完成”。
sum:前期 我们先选择使用 Qwight,其余创建一个新的 qt 项目,就是一路 next 就好啦~
相关文章:
[Qt] Qt介绍 | 搭建SDK
目录 1. Qt 简介 什么是 Qt? 1.1 引入 1.2 GUI 1.3 Qt 介绍 2. Qt 发展史 3. Qt 支持的平台 4. Qt 版本信息 5. Qt 的优点 6. Qt 应用场景 7. Qt 成功案例 8. Qt 发展前景及就业分析 二. Qt 开发环境搭建 1. 开发工具概述 2.Qt SDK 安装 3.使用 1. …...
工作中常用Vim的命令
Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 目录 0. ctags -R 1.认识 Vim的几种工作模式 2.高频使用命令 2.1 修改文件 2.2 关于行号 2.3 删除多行,删除部分 2.4 复制粘贴 2.5 光标移动 2.…...
【广州计算机学会、广州互联网协会联合主办 | ACM独立出版 | 高录用】第四届大数据、信息与计算机网络国际学术会议(BDICN 2025)
第四届大数据、信息与计算机网络国际学术会议(BDICN 2025)定于2025年01月10-12日在中国广州举行。会议旨在为从事“大数据”、“计算机网络”与“信息”研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发…...
CSS系列(43)-- Anchor Positioning详解
前端技术探索系列:CSS Anchor Positioning详解 🎯 致读者:探索智能定位的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Anchor Positioning,这个强大的元素定位特性。 基础概念 🚀 锚点设…...
测试带宽上行方法
测试宽带上行速度的软件有多种,以下是一些常见的选择: Speedtest 平台支持:iOS、Android、Windows、MacOS等 特点:全球知名的网络测速软件,测试结果准确,支持多平台。用户可以选择最近的服务器进行测试&am…...
pugixml XML配置文件 的增删改查
<?xml version"1.0" encoding"UTF-8"?> <SXConfiguration><LocalSetting><VMSLoginServer><exitServerName>2</exitServerName><server><name>2</name><ip>152.131.121.131</ip><…...
自动化办公-将 Excel 的 Sheet 页拆分成单独的 Excel 文件
在日常的数据处理工作中,很多时候我们会遇到一个包含多个工作表(Sheet)的 Excel 文件,可能需要将每个工作表分别保存为独立的 Excel 文件。手动进行这种操作非常繁琐且易出错,但借助 Python 中的 pandas 库,…...
安全漏洞合集
一,X-Content-Type-Options响应头降低XSS攻击的风险 在Nginx配置文件中,可以使用add_header指令来添加自定义的HTTP响应头。 (通常是nginx.conf或站点特定的配置文件)添加以下指令来设置X-Content-Type-Options响应头:…...
python 堆排序(Heap Sort)
堆排序(Heap Sort) 堆排序是一种基于二叉堆数据结构的排序算法。它的基本思想是:将待排序的数组构建成一个最大堆(或最小堆),然后依次将堆顶元素(最大值或最小值)与堆的最后一个元素…...
word中文献引用[]符号的上下标格式修改
word中文献引用[]符号的上下标格式修改 百度网址 1、查找打开使用通配符,输入[[][0-9]{1,2}[]],即可匹配所有的字[1],[12]这些字符,然后鼠标点击替换为的空白处,再点击特殊格式–>“字体”,选中上标,最…...
地心地固坐标系
地心地固坐标系(ECEF, Earth-Centered, Earth-Fixed) 是一种三维坐标系,常用于表示地球表面或地球内部的点的位置。它的特点是坐标系的原点位于地球的质心,并且坐标轴固定在地球表面,并随地球自转而旋转。 ECEF 坐标系…...
3.CSS字体属性
3.1字体系列 CSS使用font-family属性定义文本的字体系列。 p{font-family:"微软雅黑"} div{font-family:Arial,"Microsoft Yahei",微软雅黑} 3.2字体大小 css使用font-size属性定义字体大小 p{ font-size:20px; } px(像素)大小是我们网页的最常用的单…...
使用PyTorch实现的二分类模型示例,综合了CNN、LSTM和Attention技术
以下是一个使用PyTorch实现的二分类模型示例,综合了CNN、LSTM和Attention技术,并尝试满足你提出的各项需求: 1. 数据预处理 扩充输入数据维度 假设你的原始数据是二维的(例如图像或序列数据),可以通过一些变换来扩充维度。例如,对于图像数据,可以进行翻转、旋转、缩放…...
[Wi-Fi]802.11u Vs hotspot2.0
介绍 802.11u 和 Hotspot 2.0 是两个相关但不同的技术标准,它们都旨在改善无线网络的用户体验,特别是在公共 Wi-Fi 环境中。 802.11u 定义:802.11u 是 IEEE 802.11 标准的一个扩展,专注于增强无线网络的互操作性和用户体验。功能…...
VisualStudio 2019 升级遇到的问题及解决
事件起因 今天计划想研究下.net core(后面版本直接称为 .net ),发现 .net sdk 5.0 最新版本安装不成功。解决之后,真是手欠,看着Visual Studio 2019 有更新了,就直接点击了,这时才发现问题大了。。。 安装…...
Java - 日志体系_Simple Logging Facade for Java (SLF4J)日志门面_SLF4J集成logback 及 原理分析
文章目录 Pre官网集成步骤POM依赖使用第一步:编写 Logback 的配置文件第二步:在代码中使用 SLF4J 原理分析1. 获取对应的 ILoggerFactory2. 根据 ILoggerFactory 获取 Logger 实例3. 日志记录过程 小结 Pre Java - 日志体系_Apache Commons Logging&…...
机器学习-方案设计题(在线医疗诊断项目)
在一个在线医疗诊断项目中,我们希望利用机器学习算法来预测患者是否患有某种疾病。请设计一个方案,包括数据收集、预处理、特征选择、模型选择和评估等步骤来完成这个任务。 1.数据收集数据来源 电子病历系统:收集患者的基本信息&…...
基于Sentinel的服务保护方案的三种方式(请求限流、线程隔离、服务熔断)超详细讲解
目录 1、三种方式介绍 1.1请求限流 1.2 线程隔离方案 1.3 服务熔断 2、基于sentinel实现 2.1 启动sentinel 2.2 基于springboot整合sentinel 2.2.1请求限流 2.2.2请求隔离 2.2.2.1 OpenFeign整合Sentinel 2.2.3 服务熔断 2.2.3.1 编写降级代码 2.2.3.2 服务熔断 1、…...
[开源]C++代码分享
一,声明 被人水平有限,开源只是为了分享。勿喷!!!还请大佬指点。 二,代码 // --------------------------------------------------------- 头文件 ----------------------------------------------- #in…...
vulnhub ica1
搭建靶机跟之前一样 不过这个要修改一下网卡;下面链接有教程 vulnhub jangow靶机-CSDN博客 1.扫描靶机IP arp-scan -l 192.168.47.135 2.信息收集 nmap -sS 192.168.47.135 访问网站 这个是一个web应用,框架是qdpm 9.2 在kali上搜索一下发现有两个漏洞&#x…...
Linux(Centos 7.6)基础命令/常用命令说明
1.目录相关命令 命令命令说明pwd用于显示/打印当前目录位置。ls/ll 列出当前目录下的文件或者目录,ll是ls -l的别名,ls仅显示名称,ll会显示详细的目录文件信息。 cd目录切换,常见用法有,cd /切换到根目录,…...
Solon 加入 GitCode:助力国产 Java 应用开发新飞跃
在当今数字化快速发展的时代,Java 应用开发框架不断演进,开发者们始终在寻找更快、更小、更简单的解决方案。近期,Solon 正式加入 GitCode,为广大 Java 开发者带来全新的开发体验,尤其是在国产应用开发进程中ÿ…...
Browser Use:AI智能体自动化操作浏览器的开源工具
Browser Use:AI智能体自动化操作浏览器的开源工具 Browser Use 简介1. 安装所需依赖2. 生成openai密钥3. 编写代码4. 运行代码5. 部署与优化5.1 部署AI代理5.2 优化与扩展总结Browser Use 简介 browser-use是一个Python库,它能够帮助我们将AI代理与浏览器自动化操作结合起来;…...
ArcGIS中怎么进行水文分析?(思路介绍)
最近有人咨询,ArcGIS中怎么进行水文分析,大致的说一下河网提取的思路哈 解决思路:dem填洼→计算水流方向→计算水流累积矩阵→形成河网 dem填洼 计算水流方向 计算水流累积矩阵 用栅格计算器,设阈值(自己多次尝试&…...
2024年中国新能源汽车用车发展怎么样 PaperGPT(一)
概述 在国家政策的强力扶持下,2024年中国新能源汽车市场迎来了新的发展机遇。本文将基于《中国新能源汽车用车报告(2024年)》的数据,对新能源汽车的市场发展和用车趋势概述。 新能源汽车市场发展 政策推动:国家和地…...
KubeOS
title: 探秘 KubeOS:云原生操作系统的创新先锋 date: ‘2024-12-31’ category: blog tags: KubeOS云原生操作系统容器编排 sig: CloudNative archives: ‘2024-12’ author:way_back summary: KubeOS 作为一款专为云原生应用打造的操作系统,深度集成了…...
html文件通过script标签引入外部js文件,但没正确加载的原因
移动端H5应用,html文件通过script标签引入外部js文件,但没正确加载,在移动设备上难以排查。通过PC浏览器打开,发现js被阻止了:blocked:mixed-content。 原因在于: “blocked:mixed - content” 是浏览器的…...
[创业之路-225]:《华为闭环战略管理》-4-华为的商业智慧:在价值链中探索取舍之道与企业边界
目录 一、在价值链中探索取舍之道与企业边界 价值链的深刻洞察 取舍之道:有所为,有所不为 垂直整合与横向整合的平衡 企业边界与活动边界的界定 采购与外包的智慧运用 结语 二、企业外部价值流:上游、中游、下游、终端 上游…...
让 Agent 具备语音交互能力:技术突破与应用前景(16/30)
让 Agent 具备语音交互能力:技术突破与应用前景 一、引言 在当今数字化时代,人机交互方式正经历着深刻的变革。从早期的命令行界面到图形用户界面,再到如今日益普及的语音交互,人们对于与机器沟通的便捷性和自然性有了更高的追求…...
代理IP助力VR行业革新,小派科技引领技术潮流
随着VR行业的新一轮技术升级,更高分辨率、更宽视场角以及更舒适的佩戴体验已成为各大厂商竞争的核心。在这一浪潮中,小派科技凭借其最新发布的视网膜级VR头显——Crystal Super,成功吸引了市场的目光。而在这场技术革新的背后,代理…...
C#Halcon图像处理畸变校正之曲面校正
图像校正场景一般有两种,其一由镜头本身或安装角度引起,其二是被拍摄物品本身引起 理论处理流程 我的处理处理流程 1,加载网格校正图像 2,确定符合条件的网格区域 3,显示网格鞍点 4,显示网格线 5ÿ…...
JSON结构快捷转XML结构API集成指南
JSON结构快捷转XML结构API集成指南 引言 在当今的软件开发世界中,数据交换格式的选择对于系统的互操作性和效率至关重要。JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据表…...
Coroutine 基础四 —— CoroutineScope 与 CoroutineContext
1、定位 CoroutineContext,协程上下文。协程用到的所有信息都属于协程上下文,根据功能不同,划分成了不同的分类。管理流程用的是 Job,管理线程用的是 ContinuationInterceptor,等等。 CoroutineScope 的定位有两点&a…...
科技云报到:洞见2025年科技潮流,技术大融合开启“智算时代”
科技云报到原创。 随着2024年逐渐接近尾声,人们不禁开始展望即将到来的2025年。这一年,被众多科技界人士视为开启新纪元的关键节点。站在新的起点上,我们将亲眼目睹未来科技如何改变我们的世界。从人工智能到量子计算,从基因编辑…...
MySQL有哪些锁?
1.MySQL有哪些锁? 全局锁表级锁 表锁元数据锁意向锁 行级锁 记录锁间隙锁临键锁临时意向锁 我了解的是MySQL的锁可以分为全局锁、表级锁、行级锁。 我比较熟悉的是表级锁和行级锁,如果我们对表结构进行修改时,MySQL就会对这个表结构加一个…...
通过交叉实现数据触底分页效果new IntersectionObserver()(html、react、vue2、vue3)中使用
react中用法 import React, { useState, useEffect, useRef } from react;const InfiniteScroll () > {const [items, setItems] useState([]);const [loading, setLoading] useState(false);const [page, setPage] useState(1);const loaderRef useRef(null);// 模拟…...
DeepSeek-V3-Base 模型技术解析
DeepSeek-V3-Base 模型技术解析 目录 引言DeepSeek-V3-Base 模型概述模型架构 3.1 Transformer 基础3.2 DeepSeek-V3-Base 的改进 训练过程 4.1 数据预处理4.2 训练策略4.3 优化器与学习率调度 模型性能评估 5.1 基准测试5.2 实际应用案例 模型优化与调参 6.1 超参数调优6.2 …...
Qt5 中 QGroupBox 标题下沉问题解决
我们设置了QGroupBox 样式之后,发现标题下沉了,那么如何解决呢? QGroupBox {font: 12pt "微软雅黑";color:white;border:1px solid white;border-radius:6px; } 解决后的效果 下面是解决方法: QGroupBox {font: 12pt "微软雅黑";color:white;bo…...
Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本
ClamAV是一个开源的跨平台病毒扫描引擎,用于检测恶意软件、病毒、木马等安全威胁。 一、Linux Debian安装ClamAV 在Linux Debian系统上安装ClamAV,你可以按照以下步骤进行: 更新软件包列表: 打开终端并更新你的软件包列表&#…...
数据结构与算法之动态规划: LeetCode 53. 最大子数组和 (Ts版)
最大子数组和 https://leetcode.cn/problems/maximum-subarray/description/ 描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和子数组是数组中的一个连续部分 示例 1 …...
活动预告 | Microsoft Azure 在线技术公开课:使用 Azure OpenAI 服务构建生成式应用
课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft Cloud 技术的了解。参加我们举办的“使用 Azure OpenAI 服务构建生成式应用”活动,了解如何使用包括 GPT 在内的强大的…...
Python爬虫(二)- Requests 高级使用教程
文章目录 前言一、Session 对象1. 简介2. 跨请求保持 Cookie3. 设置缺省数据4. 方法级别参数不被跨请求保持5. 会话作为上下文管理器6. 移除字典参数中的值 二、请求与响应1. 请求与响应对象1.1 获取响应头信息1.2 获取发送到服务器的请求头信息 三、SSL 证书验证1. 忽略 SSL 证…...
协议幻变者:DeviceNet转ModbusTCP网关开启机器手臂智能新纪元
技术背景DeviceNet是一种广泛应用于工业自动化领域的现场总线标准,它能够实现控制器与现场设备之间的高效通信,常用于连接各种传感器、执行器以及其他工业设备,如机器人、电机驱动器等,具有实时性强、可靠性高的特点。而ModbusTCP…...
自定义有序Map
package cn.ziqirj.common.utils;import lombok.Getter; import lombok.Setter;import java.util.ArrayList; import java.util.List;/*** 模拟Map集合,key不可重复,按插入顺序排序* author zhangji** param <T>*/ public class CustomOrderlyMap&…...
CA系统的设计(CA证书生成,吊销,数字签名生成)
CA系统概述 CA认证系统是一种基于公钥密码基础设施(PKI)的信息安全技术,它可以为网络通信双方提供身份认证、数据加密、数字签名等功能。CA认证系统的核心是证书授权机构(CA),它负责为用户(节点…...
流计算需要框架吗?SPL 可能是更好的选择
流数据源通常是动态、无界的,看起来与静态、有限的批数据源区别较大,传统的数据库技术在架构上难以直接处理流数据源,只能让位于后来者。heron\samza\storm\spark\flink等计算框架最先完成突破,在流计算技术中占得先发优势。这些框…...
Vue-Router之嵌套路由
在路由配置中,配置children import Vue from vue import VueRouter from vue-routerVue.use(VueRouter)const router new VueRouter({mode: history,base: import.meta.env.BASE_URL,routes: [{path: /,redirect: /home},{path: /home,name: home,component: () &…...
MySQL 读写分离
MySQL 读写分离 一、配置主库(Master) 1.修改主库的配置文件 修改主库的 my.cnf 配置文件,生成二进制日志 (binary log) 和服务器唯一ID,这是实现主从复制的必要配置 [mysqld] # skip-grant-tables userroot port3306 basedir/usr/local/mysql datad…...
记一次音频无输出的解决方案
啊啊啊,刷个抖音就发现个死电脑死都不出声,捣鼓了一天才解决 打开wav文件时,提示错误找不到音频播放设备 0xc00d36fa 起初以为是声卡坏了,就到官网下载、更新了声卡驱动。无用什么驱动精灵也检测了,但也测不出啥来。…...
3D数学基础2
矩阵的行列式 在任意方阵中都存在至少一个标量,称作该方阵的行列式。在线性代数中,行列式有很多有用的性质 线性运算法则 方阵 M M M的行列式记作 ∣ M ∣ |M| ∣M∣或“det M”。非方阵矩阵的行列式是未定义的。 注意,在书写行列式时&…...