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

Linux C++网络编程-王健伟

文章目录

    • 1-1课程详细介绍
    • 1-2环境搭建详细介绍
    • 2-1nginx简介、选择理由、安装和使用
    • 2-2nginx整体结构、进程模型
    • 3-1学习nginx源码前的准备工作
    • 3-2nginx源码学法,终端和进程的关系说
    • 3-3信号的概念、认识、处理动作
    • 3-4Unix/Linux体系结构、信号编程初步
    • 3-5信号编程进阶、sigprocmask范例
    • 3-6fork函数详解、范例演示
    • 3-7守护进程详解、范例演示
    • 4-1服务器程序目录规划、makefile编写
    • 4-2读配置文件、查泄漏、设置标题实战
    • 4-3日志打印实战,优化main函数调用顺序
    • 4-4信号,子进程实战,文件IO详谈-1
    • 4-5信号,子进程实战,文件IO详谈-2
    • 4-6守护进程及信号处理实战
    • 5-1C/S, TCP/IP协议妙趣横生、惟妙惟肖谈
    • 5-2TCP三次握手详析、telnet,wireshark示范
    • 5-3TCP状态转换,TIME_WAIT,SO_REUSEADDR
    • 5-4listen()队列剖析、阻塞非阻塞、同步异步
    • 5-5监听端口实战、epoll介绍及原理详析
    • 5-6通讯代码精粹之epoll函数实战1
    • 5-7通讯代码精粹之epoll函数实战2-1
    • 5-8通讯代码精粹之epoll函数实战2-2
    • 5-9ET、LT深释,服务器设计、粘包解决
    • 5-10通讯代码精粹之收包解包实战
    • 6-1业务逻辑之多线程、线程池实战-1
    • 6-2业务逻辑之多线程、线程池实战-2
    • 6-3业务逻辑之打通业务处理脉搏实战
    • 6-4预发包,多线程资源回收深度思考-1
    • 6-5预发包,多线程资源回收深度思考-2
    • 6-6LT发数据机制深释、gdb调试浅谈
    • 6-7发数据、信号量、并发、多线程综合实战
    • 7-1过往总结、心跳包代码实战
    • 7-2控制连入数,黑客攻击防范及畸形包应对
    • 7-3超负荷安全处理、综合压力测试
    • 7-4惊群、性能优化大局观
    • 8-1结束语、课程总结
    • 9-1问题1:消息的跳跃发送

Linux C++网络编程-王健伟

1-1课程详细介绍

(1)课程总述(2)基础要求和学习方法(3)简要自我介绍、讲解特点(4)课程详细说明(5)推荐书籍(6)结语

1-2环境搭建详细介绍

(1)windows下的vs2017安装(2)准备一个word文档(3)windows下的虚拟机安装(4)虚拟机中安装linux 操作系统(5)配置固定IP地址(6)配置远程连接(7)安装编译工具gcc,g++ 等(8)共享一个操作目录

2-1nginx简介、选择理由、安装和使用

(1)nginx简介(2)为什么选择nginx (3)安装nginx,搭建web服务器(3.1)安装前提(3.2)nginx源码下载以及目录结构简单认识(3.3)nginx的编译和安装(4)nginx的启动和简单使用(4.1)通讯程序基础概念

2-2nginx整体结构、进程模型

(1)nginx的整体结构(1.1)master进程和worker进程概览(1.2)nginx进程模型(1.3)调整worker进程数量(2) nginx进程模型细说(2.1)nginx重载配置文件(2.2)nginx热升级(2.3)nginx的关闭(2.4)总结

3-1学习nginx源码前的准备工作

(1)nginx源码总述(2)nginx源码查看工具(3)nginx源码入口函数定位(4)创建一个自己的linux下的c语言程序(5)nginx源码怎么讲

3-2nginx源码学法,终端和进程的关系说

(1)nginx源码学习方法(2)终端和进程的关系(2.1)终端与bash进程(2.2)终端上的开启进程(2.3)进程关系进一步分析(2.4)strace工具的使用(2.5)终端关闭时如何让进程不退出(2.6)后台运行

3-3信号的概念、认识、处理动作

(1)信号的基本概念(2)通过kill命令认识一些信号(3)进程的状态(4)常用的信号列举(5)信号处理的相关动作

3-4Unix/Linux体系结构、信号编程初步

(1)Unix/Linux操作系统体系结构(2)signal函数范例(2.1)可重入函数(2.2)不可重入函数的错用演示

3-5信号编程进阶、sigprocmask范例

(1)信号集(2)信号相关函数(3)sigprocmask等信号函数范例演示

3-6fork函数详解、范例演示

(1)fork()函数简单认识(1.1)fork()函数简单范例(1.2)僵尸进程的产生、解决,SIGCHLD(2)fork()函数进一步认识(3)完善一下fork()代码(3.1)一个和fork()执行有关的逻辑判断(4)fork()失败的可能性

3-7守护进程详解、范例演示

(1)普通进程运行观察(2)守护进程基本概念(3)守护进程编写规则(3.1)文件描述符(3.2)输入输出重定向(3.3)空设备(3.4)实现范例(4)守护进程不会收到的信号(4.1)SIGHUP信号(4.2)SIGINT、SIGWINCH信号(5)守护进程和后台进程的区别

4-1服务器程序目录规划、makefile编写

(1)信号高级认识范例(2)服务器架构初步(2.1)目录结构规划(2.2)编译工具make的使用概述(2.3)makefile脚本用法介绍(2.4)makefile脚本具体实现讲解

4-2读配置文件、查泄漏、设置标题实战

(1)基础设施之配置文件读取(1.1)前提内容和修改(1.2)配置文件读取功能实战代码(2)内存泄漏的检查工具(2.1)memcheck的基本功能(2.2)内存泄漏检查示范(3)设置可执行程序的标题(名称)(3.1)原理和实现思路分析(3.2)设置可执行程序的标题实战代码

4-3日志打印实战,优化main函数调用顺序

(1)基础设施之日志打印实战代码一(2)设置时区(3)基础设施之日志打印实战代码二(3.1)日志等级划分(3.2)配置文件中和日志有关的选项(4)捋顺main函数中代码执行顺序

4-4信号,子进程实战,文件IO详谈-1

(1)信号功能实战(2)nginx中创建worker子进程(2.1)sigsuspend()函数讲解(3)日志输出重要信息谈(3.1)换行回车进一步示意(3.2)printf()函数不加\n无法及时输出的解释(4)write()函数思考(4.1)掉电导致write()的数据丢失破解法(5)标准IO库

4-5信号,子进程实战,文件IO详谈-2

(1)信号功能实战(2)nginx中创建worker子进程(2.1)sigsuspend()函数讲解(3)日志输出重要信息谈(3.1)换行回车进一步示意(3.2)printf()函数不加\n无法及时输出的解释(4)write()函数思考(4.1)掉电导致write()的数据丢失破解法(5)标准IO库

4-6守护进程及信号处理实战

(1)守护进程功能的实现(2)信号处理函数的进一步完善(2.1)避免子进程被杀掉时变成僵尸进程

5-1C/S, TCP/IP协议妙趣横生、惟妙惟肖谈

(1)客户端与服务器(1.1)解析一个浏览器访问网页的过程(1.2)客户端服务器角色规律总结(2)网络模型(2.1)OSI七层网络模型(2.2)TCP/IP协议四层模型(2.3)TCP/IP协议的解释和比喻(3)最简单的客户端和服务器程序实现代码(3.1)套接字socket概念(3.2)一个简单的服务器端通讯程序范例(3.3)IP地址简单谈(3.4)一个简单的客户端通讯程序范例(3.5)客户端服务器程序综合演示和调用流程图(4)TCP和UDP的区别

5-2TCP三次握手详析、telnet,wireshark示范

(1)TCP连接的三次握手(1.1)最大传输单元MTU(1.2)TCP 包头结构(1.3)TCP 数据包收发之前的准备工作(1.4)TCP 三次握手建立连接的过程(1.5)为什么TCP握手是三次握手而不是二次(2)telnet工具使用介绍(3)wireshark监控数据包(3.1)TCP断开的四次挥手

5-3TCP状态转换,TIME_WAIT,SO_REUSEADDR

(1)TCP状态转换(2)TIME_WAIT状态(2.1)RST标志(3)SO_REUSEADDR选项(3.1)两个进程,绑定同一个IP和端口(3.2)TIME_WAIT状态时的bind绑定

5-4listen()队列剖析、阻塞非阻塞、同步异步

(1)listen()队列剖析
(1.1)监听套接字的队列
(1.2)accept()函数
(1.3)syn攻击
(2)阻塞与非阻塞I/O
(3)同步与异步I/O
(3.1)I/O复用
(3.2)思考题

5-5监听端口实战、epoll介绍及原理详析

(1)监听端口
(1.1)开启监听端口
(2)epoll技术简介
(2.1)epoll概述
(2.2)学习epoll要达到的效果及一些说明
(3)epoll原理与函数介绍
(3.1)课件介绍
(3.2)epoll_create()函数
(3.3)epoll_ctl()函数
(3.4)epoll_wait()函数
(3.5)内核向双向链表增加节点
(3.6)源码阅读额外说明

5-6通讯代码精粹之epoll函数实战1

(1)一个更正,一个注意
(2)配置文件的修改
(3)epoll函数实战
(3.1)ngx_epoll_init函数内容
(3.2)ngx_epoll_init函数的调用

5-7通讯代码精粹之epoll函数实战2-1

(1)ngx_epoll_process_events函数调用位置
(2)ngx_epoll_process_events函数内容
(2.1)事件驱动
(3)ngx_event_accept函数内容
(3.1)epoll的两种工作模式:LT和ET
(4)总结和测试
(5)事件驱动总结
(6)一道腾讯后台开发的面试题

5-8通讯代码精粹之epoll函数实战2-2

(1)ngx_epoll_process_events函数调用位置
(2)ngx_epoll_process_events函数内容
(2.1)事件驱动
(3)ngx_event_accept函数内容
(3.1)epoll的两种工作模式:LT和ET
(4)总结和测试
(5)事件驱动总结
(6)一道腾讯后台开发的面试题

5-9ET、LT深释,服务器设计、粘包解决

(1)ET,LT模式深入分析及测试
(2)我们的服务器设计
(2.1)服务器设计原则总述
(2.2)收发包格式问题提出
(2.3)TCP粘包、缺包
(2.4)TCP粘包、缺包解决

5-10通讯代码精粹之收包解包实战

(1)收包分析及包头结构定义
(2)收包状态宏定义
(3)收包实战代码
(4)遗留问题处理
(5)测试服务器收包避免推诿扯皮

6-1业务逻辑之多线程、线程池实战-1

(1)学习方法
(2)多线程的提出
(3)线程池实战代码
(3.1)为什么引入线程池
(4)线程池的使用
(4.1)线程池的初始化
(4.2)线程池工作的激发
(4.3)线程池完善和测试

6-2业务逻辑之多线程、线程池实战-2

6-3业务逻辑之打通业务处理脉搏实战

(1)线程池代码调整及补充说明
(2)线程池实现具体业务之准备代码
(2.1)一个简单的crc32校验算法介绍
(2.2)引入新的CSocket子类
(2.3)设计模式题外话
(2.4)消息的具体设计
(3)threadRecvProcFunc()函数讲解
(4)整体测试工作的开展
(4.1)不做背锅侠
(4.2)客户端测试代码的调整

6-4预发包,多线程资源回收深度思考-1

(1)业务逻辑细节写法说明
(2)连接池中连接回收的深度思考
(2.1)灵活创建连接池
(2.2)连接池中连接的回收
(3)程序退出时线程的安全终止
(4)epoll事件处理的改造
(4.1)增加新的事件处理函数
(4.2)调整对事件处理函数的调用
(5)连接延迟回收的具体应用

6-5预发包,多线程资源回收深度思考-2

(1)业务逻辑细节写法说明
(2)连接池中连接回收的深度思考
(2.1)灵活创建连接池
(2.2)连接池中连接的回收
(3)程序退出时线程的安全终止
(4)epoll事件处理的改造
(4.1)增加新的事件处理函数
(4.2)调整对事件处理函数的调用
(5)连接延迟回收的具体应用

6-6LT发数据机制深释、gdb调试浅谈

(1)水平触发模式下发送数据深度解释
(2)gdb调试浅谈

6-7发数据、信号量、并发、多线程综合实战

(1)发送数据指导思想
(2)发送数据代码实战
(2.1)信号量
(2.2)数据发送线程
(2.3)可写通知到达后数据的继续发送
(2.4)发送数据的简单测试
(3)发送数据后续处理代码

7-1过往总结、心跳包代码实战

(1)前面学习的总结
(2)心跳包概念
(2.1)什么叫心跳包以及如何使用
(2.2)为什么引入心跳包
(3)心跳包代码实战
(3.1)接收心跳包与返回结果
(3.2)处理不发送心跳包的客户端
(3.3)测试代码的书写

7-2控制连入数,黑客攻击防范及畸形包应对

(1)控制并发连入数量
(2)黑客攻击的防范
(2.1)flood攻击防范
(2.2)畸形数据包防范
(3)超时直接提出服务器的需求

7-3超负荷安全处理、综合压力测试

(1)输出一些观察信息
(2)遗漏的安全问题思考
(2.1)收到太多数据包处理不过来
(2.2)积压太多数据包发送不出去
(2.3)连入安全的进一步完善
(3)压力测试前的准备工作
(3.1)配置文件内容和配置项确认
(3.2)整理业务逻辑函数
(4)压力测试
(4.1)最大连接只在1000多个
(4.2)学习忠告

7-4惊群、性能优化大局观

(1)cpu占比与惊群
(2)性能优化大局观
(3)性能优化的实施
(3.1)绑定cpu、提升优进程先级
(3.2)TCP/IP协议的配置选项
(3.3)TCP/IP协议额外注意的一些算法、概念等
(4)配置最大允许打开的文件句柄数
(5)内存池补充说明

8-1结束语、课程总结

(1)课程概要总结
(2)课程技术总结
(3)项目的用途总结
(4)学习方法总结
(5)架构师之路
(6)卷2的计划
(7)再见

9-1问题1:消息的跳跃发送

问题1:消息的跳跃发送

相关文章:

Linux C++网络编程-王健伟

文章目录 1-1课程详细介绍1-2环境搭建详细介绍2-1nginx简介、选择理由、安装和使用2-2nginx整体结构、进程模型3-1学习nginx源码前的准备工作3-2nginx源码学法,终端和进程的关系说3-3信号的概念、认识、处理动作3-4Unix/Linux体系结构、信号编程初步3-5信号编程进阶…...

接收网络包的过程—— IP层->TCP层->Socket层

在 tcp_v4_rcv 中,得到 TCP 的头之后,我们可以开始处理 TCP 层的事情。因为 TCP 层是分状态的,状态被维护在数据结构 struct sock 里面,因而我们要根据 IP 地址以及 TCP 头里面的内容,在 tcp_hashinfo 中找到这个包对应…...

HTTP 响应头信息

HTTP 响应头信息 HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。 在本章节中我们将具体来介绍HTTP响应头信息。 应答头说明Allow服务器支持哪些请求方法(如GET、POST等)。Content-Encoding文档的编码(Encode&#x…...

Android获取原始图片Bitmap的宽高大小尺寸,Kotlin

Android获取原始图片Bitmap的宽高大小尺寸,Kotlin val options BitmapFactory.Options()options.inJustDecodeBounds trueval decodeBmp BitmapFactory.decodeResource(resources, R.mipmap.p1, options)//此时,decode出来的decodeBmp宽高并不是原始图…...

数据结构之数组:简介、特性与应用

文章目录 🌾引言🌾数组的定义与特性🌿数组的定义🌿数组的特性🌿数组的优缺点 🌾数组的应用场景🍁数组的基本应用🍁动态数组(Dynamic Array)🍁多维…...

Hexo 还是 Hugo?Typecho 还是 Wordpress?读完这篇或许你就有答案了!

Hexo 首先介绍的是 Hexo,这也是咕咕没买服务器之前折腾的第一个博客。 演示站点:https://yirenliu.cn 用的主题是 butterfly,想当年刚用的时候,作者还没建群,现在 qq 群都有上千人了,GitHub 上的星星数量也有 2.7k 了。 优点 如果你不想买服务器,但也想折腾一个博客,…...

ChatGPT重磅升级!集简云支持GPT4 Turbo Vision, GPT4 Turbo, Dall.E 3,Whisper等最新模型

在11月7日凌晨,OpenAI全球开发者大会宣布了 GPT-4的一次大升级,推出了 GPT-4 Turbo号称为迄今为止最强的大模型。 此次GPT-4的更新和升级在多个方面显示出强大的优势和潜力。为了让集简云用户能快速体验新模型的能力,我们第一时间整理了大会发…...

Oracle 中的操作符

1.union:对两个结果集进行并集操作&#xff0c;不包括重复行&#xff0c;同时进行默认规则的排序&#xff1b; SELECT * FROM emp WHERE sal < 1500 UNION SELECT * FROM emp WHERE sal BETWEEN 1000 AND 2000 order by 1 2.union All&#xff1a;对两个结果集进行并集操…...

python之UDP网络应用程序开发

文章目录 版权声明UDP网络应用程序开发UDP初识UDP知识要点socket类的使用UDP发送数据开发流程分析UDP服务客户端通信栗子UDP广播发送 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明&#xff0c;所有版权属于黑马程序员或相关权利人所有。…...

中低压MOSFET 2N7002W 60V 300mA 双N通道 SOT-323封装

2N7002W小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-323封装形式。超高密度电池设计&#xff0c;适用于极低的ros (on)&#xff0c;具有导通电阻和最大直流电流能力&#xff0c;ESD保护。可应用于笔记本中的电源管理&#xff0c;电池供电系统等产品应…...

kafka的设计原理

文章目录 1 Kafka简介2 Kafka的架构2.1 Kafka 一些重要概念2.2 工作流程2.3 副本原理2.4 分区和主题的关系2.5 生产者2.5.1 分区可以水平扩展2.5.2 分区策略 2.6 消费者2.6.1 消费方式2.6.2 分区分配策略 2.7 数据可靠性保证2.7.1 副本数据同步策略2.7.2 ACK 应答机制2.7.3 可靠…...

CANdelaStudio 使用教程5 编辑DID

文章目录 在哪编辑DID的分类编辑快照数据添加 DID 在哪编辑 DID的分类 编辑快照数据 添加 DID...

RESTful API 架构快速入门 Flask实现

RESTful 简介 1.1 为什么要使用 RESTful 架构&#xff1f; Representational State Transfer&#xff08;REST&#xff09;是一种面向资源的架构风格&#xff0c;广泛应用于网络服务的设计和开发。使用RESTful架构有以下几个优点&#xff1a; 简单性和可扩展性&#xff1a; RE…...

gitee仓库使用教程

下载安装git&#xff1b;在本地项目文件夹右击鼠标点击Git Bash Here;输入git init&#xff0c;这个目录变成git可以管理的仓库&#xff0c;会出现一个.git文件夹&#xff0c;如果没出现的话需要选择“显示隐藏文件”&#xff08;不会的同学自行百度一下&#xff09; 4.绑定本地…...

【ARM CoreLink 系列 3.2 -- CCI-400,CCI-500, CCI-550 差异】

文章目录 CCI-400 和 CCI-500 差异ARM CCI-400ARM CCI-500ARM CCI-550CCI-400 和 CCI-500 差异 ARM的 CCI(Cache Coherent Interconnect)系列产品是用于多核处理器之间的高性能缓存一致性互连。CCI-400 和 CCI-500 是该系列中的两种设计,它们旨在允许多个处理器核心和其他资…...

Java8 对象List 排序

目录 1.stream流式排序 1.使用说明: 2.多字段排序 2.Collections.sort(......) 排序 1.stream流式排序 Java8提供了流式操作来简化我们的编程&#xff0c;比如排序、分组、过滤、Map操作等API&#xff0c;配合Lambda表达式给我们编程带来了很大的便利&#xff0c;这篇文章重…...

【深度学习】DAMO-YOLO,阿里,701类通用检测模型,目标检测

https://github.com/tinyvision/DAMO-YOLO/blob/master/README_cn.md DAMO-YOLO是由阿里巴巴达摩院智能计算实验室TinyML团队开发的一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法&#xff0c;在实现SOTA的同时&#xff0c;保持了很高的推理速度。DAMO…...

Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

文章目录 300.最长递增子序列思路代码实现 674. 最长连续递增序列思路代码实现 718. 最长重复子数组思路代码实现 300.最长递增子序列 题目链接 思路 单个字符都是一个长为1的子序列&#xff0c;直接初始化dp为1。先固定一个元素位置i&#xff0c;判断0-i范围内到i的最长子序…...

浅析基于物联网的远程抄表系统的设计及应用

安科瑞 华楠 摘 要&#xff1a;本文基于物联网的概念&#xff0c;使用 ZigBee、通用分组无线服务技术两种无线通信技术相结合的方式实现远程抄表并对数据进行存储和管理。此系统设计主要分为硬件方面的设计和软件方面的设计&#xff0c;硬件方面的设计需要完成三个部分的硬件制…...

springboot(ssm付费自习室管理系统 自习室预约平台Java(codeLW)

springboot(ssm付费自习室管理系统 自习室预约平台Java(code&LW) 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&am…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...