Android第三次面试总结(网络篇)
在计算机网络领域,网络模型是理解通信原理的基础框架。本文将详细解析 OSI 参考模型和 TCP/IP 模型的分层结构、核心功能及实际应用,并通过对比帮助读者建立完整的知识体系。
一、OSI 参考模型:七层架构的理论基石
OSI(开放系统互连)模型由 ISO 制定,通过七层结构定义了网络通信的标准流程:
1. 物理层(Physical Layer)
- 核心功能:传输比特流,处理物理介质(电缆 / 光纤 / 无线)的电气特性
- 关键设备:网卡、集线器、中继器
- 技术要点:信号编码(如曼彻斯特编码)、接口标准(RJ45)
2. 数据链路层(Data Link Layer
- 核心功能:封装帧,实现相邻节点可靠传输
- 关键协议:以太网协议、PPP 协议
- 设备示例:交换机、网桥
- MAC 地址:唯一标识网络设备的 48 位地址
3. 网络层(Network Layer)
- 核心功能:路由选择与 IP 寻址
- 关键协议:IP、ICMP、ARP
- 设备示例:路由器
- IP 地址:32 位(IPv4)或 128 位(IPv6)逻辑地址
4. 传输层(Transport Layer)
- 功能:提供端到端的可靠通信,负责将上层数据分段并传输到目标主机,同时处理传输过程中的错误恢复和流量控制。传输层有两种主要的协议:TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)。
- 协议:
- TCP:面向连接的、可靠的传输协议,提供了数据的有序传输、错误检测和重传机制,适用于对数据准确性要求较高的应用,如文件传输、网页浏览等。
- UDP:无连接的、不可靠的传输协议,不保证数据的可靠传输,但具有较低的开销和较快的传输速度,适用于对实时性要求较高的应用,如视频流、音频流等。
5. 会话层(Session Layer)
- 核心功能:会话管理(建立 / 维护 / 终止)
- 典型协议:NetBIOS、RPC
6. 表示层(Presentation Layer)
- 功能:负责数据的表示和转换,确保不同系统之间的数据能够正确理解和处理。它处理数据的加密、解密、压缩、解压缩等操作。
- 协议:常见的表示层协议有 SSL/TLS(Secure Sockets Layer/Transport Layer Security)协议,用于实现数据的加密传输。
7. 应用层(Application Layer)
- 核心功能:直接服务用户应用
- 常见协议:
- HTTP(网页浏览)
- FTP(文件传输)
- SMTP(邮件发送)
- DNS(域名解析)
二、TCP/IP 模型:互联网的实际标准
TCP/IP 模型采用四层结构,是互联网通信的事实标准:
1. 网络接口层(Network Interface Layer)
- 对应 OSI:物理层 + 数据链路层
- 功能扩展:支持多种物理网络(以太网 / Wi-Fi/PPP)
2. 网络层(Internet Layer)
- 核心协议:IP 协议(IPv4/IPv6)
- 配套协议:ICMP(错误报告)、ARP(地址解析)
3. 传输层(Transport Layer)
- 协议选择:
- TCP(可靠传输)
- UDP(实时通信)
4. 应用层(Application Layer)
- 协议演进:
- 传统协议:HTTP 1.1、FTP
- 现代协议:HTTP/2、QUIC
三、模型对比:理论与实践的碰撞
| 对比维度 | OSI 参考模型 | TCP/IP 模型 |
|---|---|---|
| 层次数量 | 7 层 | 4 层 |
| 设计理念 | 理论导向,严格分层 | 实践导向,注重互联 |
| 协议独立性 | 支持多种协议栈 | 绑定 TCP/IP 协议族 |
| 应用场景 | 教学与理论研究 | 互联网实际部署 |
| 优缺点 | 结构清晰但实现复杂 | 高效实用但层次模糊 |
四、实际应用案例
场景:用户访问网页的数据流
- 应用层:浏览器发送 HTTP 请求
- 传输层:TCP 建立连接并分段数据
- 网络层:IP 选择路由,ICMP 处理错误
- 数据链路层:交换机根据 MAC 地址转发帧
- 物理层:光信号通过光纤传输
TCP 三次握手与四次挥手详解
一、三次握手(建立连接)
TCP 是面向连接的协议,通过三次握手建立可靠连接,过程如下:
步骤 1:客户端发送 SYN 包
- 标志位:SYN=1,ACK=0
- 序列号:seq=x
- 含义:客户端请求建立连接,初始化序列号为 x
步骤 2:服务器发送 SYN+ACK 包
- 标志位:SYN=1,ACK=1
- 序列号:seq=y
- 确认号:ack=x+1
- 含义:服务器确认客户端请求,并同步自己的序列号
步骤 3:客户端发送 ACK 包
- 标志位:ACK=1
- 序列号:seq=x+1
- 确认号:ack=y+1
- 含义:客户端确认服务器的同步,连接建立完成
状态转换:
客户端 服务器| || SYN (seq=x) ||------------------->|| | SYN+ACK (seq=y, ack=x+1)|<-------------------|| ACK (seq=x+1) ||------------------->|| [连接建立] |
二、四次挥手(终止连接)
TCP 连接终止需要四次挥手,确保数据完整传输:
步骤 1:客户端发送 FIN 包
- 标志位:FIN=1,ACK=1
- 序列号:seq=u
- 确认号:ack=v
- 含义:客户端请求关闭写通道
步骤 2:服务器发送 ACK 包
- 标志位:ACK=1
- 序列号:seq=v
- 确认号:ack=u+1
- 含义:服务器确认客户端关闭请求,继续处理剩余数据
步骤 3:服务器发送 FIN 包
- 标志位:FIN=1,ACK=1
- 序列号:seq=w
- 确认号:ack=u+1
- 含义:服务器关闭写通道,通知客户端终止连接
步骤 4:客户端发送 ACK 包
- 标志位:ACK=1
- 序列号:seq=u+1
- 确认号:ack=w+1
- 含义:客户端确认服务器关闭,连接完全终止
状态转换:
客户端 服务器| || FIN (seq=u) ||------------------->|| | ACK (ack=u+1)|<-------------------|| | FIN (seq=w)|<-------------------|| ACK (ack=w+1) ||------------------->|| [连接关闭] |
三、常见问题解析
Q1:为什么三次握手是必要的?
- 防止历史连接(如延迟的 SYN 包)被错误处理
- 实现双方序列号同步
Q2:四次挥手的原因?
- 服务器可能有未发送完的数据,需要单独确认
- 客户端和服务器的关闭操作是异步的
Q3:为什么需要 TIME_WAIT 状态?
- 确保最后一个 ACK 到达服务器
- 清除网络中所有旧数据包
- 避免新旧连接混淆
Q4:如何优化 TIME_WAIT?
- 调整内核参数(如 net.ipv4.tcp_tw_reuse)
- 使用长连接(如 HTTP Keep-Alive)
四、总结对比
| 阶段 | 操作次数 | 核心目的 | 关键标志 |
|---|---|---|---|
| 三次握手 | 3 次 | 建立可靠连接 | SYN, ACK |
| 四次挥手 | 4 次 | 优雅终止连接 | FIN, ACK |
| 关键机制 | - | 序列号同步、半关闭、2MSL 等待 | - |
SSL/TLS 协议
定义与背景
- SSL(Secure Sockets Layer):是网景公司(Netscape)在 20 世纪 90 年代开发的一种用于保障网络通信安全的协议,主要目的是在互联网上提供数据加密和身份验证功能,防止数据在传输过程中被窃取或篡改。
- TLS(Transport Layer Security):是 SSL 的后续版本,由 IETF(Internet Engineering Task Force)标准化。TLS 在 SSL 的基础上进行了改进和增强,提供了更高的安全性和更好的性能,目前已经逐渐取代了 SSL。
主要功能
- 数据加密:通过对称加密算法(如 AES)对传输的数据进行加密,确保数据在传输过程中即使被截获,攻击者也无法获取其中的敏感信息。
- 身份验证:使用非对称加密算法(如 RSA)对服务器和客户端的身份进行验证,确保通信双方的身份真实可靠。例如,服务器会向客户端发送自己的数字证书,客户端通过验证证书来确认服务器的身份。
- 完整性验证:通过消息认证码(MAC)等技术对传输的数据进行完整性验证,确保数据在传输过程中没有被篡改。
SSL/TLS 核心工作流程
1. 握手阶段(Handshake Protocol)
目标:协商加密参数、验证服务器身份、生成会话密钥。
-
ClientHello
客户端发送支持的 TLS 版本、加密套件列表(如 ECDHE+AES256+SHA384)、随机数(ClientRandom)。 -
ServerHello
服务器选择最高版本协议、加密套件、返回随机数(ServerRandom)和数字证书(含公钥)。 -
证书验证
客户端通过 CA 信任链验证服务器证书有效性(域名匹配、有效期、签名合法性)。 -
密钥交换
- 客户端生成预主密钥(PreMasterSecret),用服务器公钥加密后发送。
- 双方通过伪随机函数(PRF)混合 ClientRandom、ServerRandom、PreMasterSecret,生成主密钥(MasterSecret)。
-
会话密钥生成
主密钥进一步派生出会话密钥(加密密钥、MAC 密钥),用于后续通信。
2. 加密通信阶段(Record Protocol)
目标:使用对称加密保护数据传输。
-
数据加密
客户端和服务器用会话密钥加密应用层数据(如 HTTP 请求 / 响应)。 -
完整性验证
每条消息附加 HMAC(基于密钥的哈希),防止篡改或重放攻击。 -
压缩(可选)
对加密后的数据进行压缩(现代 TLS 默认禁用)。
3. 连接终止(Connection Closure)
-
关闭通知
任意一方发送close_notify警报,对方确认后断开连接。 -
密钥销毁
会话密钥随连接关闭失效,下次通信需重新协商。
关键技术
- 非对称加密(RSA/ECDH):安全传输预主密钥。
- 对称加密(AES/ChaCha20):高效加密大量数据。
- 数字证书:通过 CA 机构绑定服务器公钥与身份。
- HMAC:确保数据完整性和真实性。
简化版流程
- 客户端发起加密请求(Hello)。
- 服务器响应并出示证书。
- 客户端验证证书,生成临时密钥并用服务器公钥加密传输。
- 双方生成会话密钥,开始加密通信。
- 通信结束后,安全关闭连接。
HTTPS 协议
定义与背景
- HTTPS(Hypertext Transfer Protocol Secure)是在 HTTP 协议的基础上加入了 SSL/TLS 协议,通过加密和身份验证机制,为 HTTP 数据传输提供了安全性保障。HTTPS 在 URL 中使用
https://前缀,默认端口号为 443。
主要作用
- 保护用户隐私:在用户与网站进行数据交互时,如登录、支付等操作,HTTPS 可以防止用户的敏感信息(如用户名、密码、银行卡号等)被窃取。
- 防止数据篡改:确保传输的数据在到达目的地之前没有被中间人篡改,保证数据的完整性。
- 增强网站可信度:使用 HTTPS 的网站会在浏览器地址栏显示安全锁标志,向用户表明该网站是经过身份验证的,增强用户对网站的信任。
工作过程
- 客户端发起请求:客户端在浏览器中输入
https://开头的 URL,向服务器发起 HTTPS 请求。 - SSL/TLS 握手:客户端和服务器进行 SSL/TLS 握手,协商加密算法、验证身份并生成会话密钥。
- 数据传输:双方使用会话密钥对 HTTP 数据进行加密和解密,完成数据的安全传输。
- 连接关闭:数据传输完成后,关闭 SSL/TLS 连接。
核心加密算法分类
SSL/TLS 通过非对称加密、对称加密、哈希与 HMAC三大类算法协同工作,保障通信安全。
1. 非对称加密算法(密钥交换与身份验证)
- 作用:安全传输临时密钥,验证服务器身份。
- 常见算法:
- RSA
- 原理:基于大数分解难题(两个大素数乘积的因数分解)。
- 应用:加密 PreMasterSecret,数字证书签名。
- 弱点:计算效率低,密钥长度需≥2048 位(推荐 3072 位)。
- ECC(椭圆曲线加密)
- 原理:基于椭圆曲线离散对数问题。
- 优势:相同安全强度下密钥更短(256 位 ECC ≈ 3072 位 RSA),计算速度快。
- 应用:ECDHE 密钥交换(如 ECDHE-ECDSA)。
- DH(Diffie-Hellman)
- 原理:通过公开参数协商共享密钥,中间人无法推导出密钥。
- 变种:DHE(临时 DH,每次会话生成新密钥)、ECDHE(椭圆曲线 DH)。
- RSA
2. 对称加密算法(数据加密)
- 作用:高效加密传输数据。
- 常见算法:
- AES(高级加密标准)
- 分组密码,支持 128/192/256 位密钥。
- 模式:GCM(认证加密,提供完整性验证)、CBC(需配合 HMAC)。
- 应用:主流加密套件如 AES-256-GCM。
- ChaCha20
- 流密码,性能优于 AES,适合移动端。
- 常与 Poly1305 结合(ChaCha20-Poly1305)。
- 3DES
- 已过时,被 AES 取代,安全性弱于现代算法。
- AES(高级加密标准)
3. 哈希与 HMAC 算法(完整性与真实性)
- 哈希算法:
- SHA-256/SHA-384
- 生成固定长度摘要,用于数字证书签名和 HMAC。
- SHA-1
- 已被破解,禁止用于 TLS 1.3 及以上。
- SHA-256/SHA-384
- HMAC(基于密钥的哈希)
- 公式:HMAC (key, data) = H (key XOR opad || H (key XOR ipad || data))
- 作用:验证数据完整性,防止篡改和重放攻击。
二、密钥交换与协商流程
以ECDHE-RSA-AES256-GCM-SHA384套件为例:
- 客户端生成随机数
ClientRandom,发送支持的套件列表。 - 服务器选择套件,返回
ServerRandom、证书(含 RSA 公钥)。 - 客户端验证证书,生成
PreMasterSecret,用RSA 公钥加密后发送。 - 双方通过
ClientRandom + ServerRandom + PreMasterSecret,结合 **PRF(伪随机函数)** 生成MasterSecret。 MasterSecret派生出会话密钥(加密密钥、HMAC 密钥),用于后续通信。
三、数字证书与签名算法
- 证书结构:
- 包含服务器公钥、域名、有效期、CA 签名。
- 签名算法:
- SHA-256 + RSA(如 sha256WithRSAEncryption)
- SHA-384 + ECDSA(如 sha384WithECDSAEncryption)
- 验证流程:
客户端用 CA 公钥解密证书签名,比对哈希值确认证书未被篡改。
四、现代加密套件推荐
| 套件名称 | 密钥交换 | 对称加密 | HMAC 算法 | 安全性等级 |
|---|---|---|---|---|
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ECDHE-ECDSA | AES-256-GCM | SHA-384 | 高 |
| TLS_AES_256_GCM_SHA384 | AES-GCM-SIV | AES-256-GCM | SHA-384 | 最高(TLS 1.3) |
| TLS_CHACHA20_POLY1305_SHA256 | X25519(ECDH) | ChaCha20-Poly1305 | SHA-256 | 高 |
五、为什么需要多种算法?
- 非对称加密解决 “密钥交换” 问题,但速度慢。
- 对称加密解决 “数据加密” 效率问题,但需安全共享密钥。
- 哈希与 HMAC确保数据完整性和真实性。
- 数字证书通过 CA 信任链验证服务器身份,防止中间人攻击。
六、注意事项
- 避免弱算法:禁用 MD5、SHA-1、3DES、RSA 密钥长度<2048 位。
- 前向保密(FS):优先使用 ECDHE/DHE,确保旧会话密钥泄露不影响新通信。
- TLS 1.3 优化:减少握手延迟(0-RTT),强制使用 FS,淘汰过时算法。
总结:SSL/TLS 是互联网安全的基础设施,通过分层加密、身份验证和完整性保护,在不安全的网络中构建可信通信通道,其持续演进(如 TLS 1.3)不断提升用户体验与安全性。
感谢观看!!!
相关文章:
Android第三次面试总结(网络篇)
在计算机网络领域,网络模型是理解通信原理的基础框架。本文将详细解析 OSI 参考模型和 TCP/IP 模型的分层结构、核心功能及实际应用,并通过对比帮助读者建立完整的知识体系。 一、OSI 参考模型:七层架构的理论基石 OSI(开放系统…...
国产编辑器EverEdit - Hex Dump插件:看到文本的另一面!
1 Hex Dump插件 1.1 应用场景 有时可能需要显示字母的ASCII编码,或其他文字的字节编码,可以使用Hex Dump插件来完成 1.2 使用方法 安装Hex Dump插件,安装插件方法参考:扩展管理 在编辑器中选中文本,选择扩展 -> …...
random_masking 函数测试
文章目录 1. description2. excel3. pytorch code 1. description 功能:按一定比例的随机部分样本,简单来说就是按照一定的比例将行向量从小到大的顺序提取出来。思考1: 用了均匀分布,并且按照一定比例,取前prob概率来…...
TDengine 中的流式计算
简介 TDengine 中的流计算,功能相当于简化版的 FLINK , 具有实时计算,计算结果可以输出到超级表中存储,同时也可用于窗口预计算,加快查询速度。 创建流式计算 CREATE STREAM [IF NOT EXISTS] stream_name [stream_o…...
Java 大视界 -- Java 大数据在智慧交通自动驾驶仿真与测试数据处理中的应用(136)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
k8s中的组件
1.namespace Namespace 用于将集群资源划分为不同的逻辑组,方便管理和隔离 kubectl get namespace 查看所有逻辑组 kubectl describe namespace <namespace-name> 查看某个逻辑组信息详情 kubectl create namespace ... 创建逻辑组 kubectl delete names…...
JVM的一些知识
JVM简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。 JVM 和其他两个虚拟机的区别: VMw…...
【安全运营】用户与实体行为分析(UEBA)浅析
目录 用户与实体行为分析(UEBA)简介一、UEBA的核心概念1. 行为基线建立2. 异常检测3. 风险评分4. 上下文关联 二、UEBA的应用场景1. 内部威胁检测2. 外部威胁应对3. 合规性和审计支持 三、UEBA的技术实现1. 大数据技术2. 机器学习算法3. 可视化工具 四、…...
sql小记,20250319
ps:基于sqlserver 一、绩效管理系统表设计 1.表设计 Users用户表:包含id,用户名,密码。 AppraisalBases评价(职位基数)表:包含职位id,职位年终奖基数 AppraisalCoeffcients评价系数表:包含类别id, 类别&…...
C语言每日一练——day_7
引言 针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
Java使用FFmpegFrameGrabber进行视频拆帧,结合Thumbnails压缩图片保存到文件夹
引入依赖 <dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.17</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>ja…...
C#的简单工厂模式、工厂方法模式、抽象工厂模式
工厂模式是一种创建型设计模式,主要将对象的创建和使用分离,使得系统更加灵活和可维护。常见的工厂模式有简单工厂模式、工厂方法模式和抽象工厂模式,以下是 C# 实现的三个案例: 简单工厂模式 简单工厂模式通过一个工厂类来创建…...
用hexo初始化博客执行hexo init时碰到的问题
用hexo初始化博客执行hexo init时碰到的问题 $ hexo init myblog INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git fatal: unable to access https://github.com/hexojs/hexo-starter.git/: SSL certificate problem: unable to get local issuer cer…...
4.1--入门知识扫盲,ISO知识体系介绍(看一遍,协议啥的全部记住)
OSI七层模型:网络世界的"七重天"生存指南(附快递小哥版图解) “如果你觉得网络分层很抽象,那就想象自己在寄快递” —— 来自一个被三次握手逼疯的程序员 开场白:网络通信就像送外卖 假设你要给隔壁妹子送奶…...
AI训练如何获取海量数据,论平台的重要性
引言:数据——AI时代的“新石油” 在人工智能和大模型技术飞速发展的今天,数据已成为驱动技术进步的 “ 燃料 ”。无论是训练聊天机器人、优化推荐算法,还是开发自动驾驶系统,都需要海量、多样化的数据支持。 然而,获…...
Axure高级功能深度解析一一高效原型设计的利器
Axure作为一款专业的原型设计工具,凭借其强大的功能和灵活的交互设计,成为了众多设计师和开发者的首选。本文将深入探讨Axure的高级功能,帮助大家更好地利用这款工具,提升原型设计的效率和质量。 一、Axure高级功能概览 • 变量管…...
QT国产化系统软件开发
一、国产操作系统 1、鸿蒙HarmonyOS NEXT 核心架构 采用自研鸿蒙内核,完全脱离Linux与AOSP代码,基于分布式架构实现跨设备资源虚拟化整合,支持动态调度多终端硬件能力。通过分布式软总线技术(D-Bus)实现低时延…...
Git 使用SSH登陆
一、SSH介绍 SSH连接相比于HTTP连接会简单一点,因为SSH连接通过了私钥与公钥进行身份认证,这样就不需要像HTTP一样,每次clone或者操作仓库都需要输入密码 其中私钥和密钥是需要在自己电脑上生成的,通过命令即可生成一个私钥和一个…...
织梦DedeCMS修改文章【标题、短标题、关键词】长度限制
在后台虽然可以设置标题的长度,但是数据库的字段固定是60个字符,短标题是36字符,关键词30字符,所以这里教大家修改一下织梦DedeCMS修改【标题】【短标题】【关键词】长度限制 一、后台配置 1、进入dede后台管理 -> 系统 ->…...
Powershell WSL部署ubuntu22.04.5子系统
前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl...
umi自带的tailwindcss修改为手动安装
1》为什么改为手动? 主要是为了解决这个报错问题,虽然重新运行也可解决,但是总是要运行2-3次,比较麻烦 2》如何手动 1,先在devDependencies下安装这两个包 pnpm install postcss8.5.1 -D "autoprefixer"…...
Android 13 Launcher3最近任务列表“全部清除“按钮位置优化实战
一、问题背景与实现难点 在Android 13横屏设备开发中,系统默认将最近任务列表的"全部清除"按钮布局在屏幕左侧,这与用户习惯的底部布局存在明显差异。相较于Android 8.1时代SystemUI模块的实现,Android 13将相关逻辑迁移至Launche…...
基于k3s部署Nginx、MySQL、SpringBoot和Redis的详细教程
1. 安装k3s集群 1.1 单节点快速部署 # 使用root或sudo权限执行 curl -sfL https://get.k3s.io | sh -# 验证安装 sudo kubectl get nodes # 输出应为Ready状态 sudo systemctl status k3s1.2 配置kubectl权限(可选) mkdir -p ~/.kube sudo cp /etc/r…...
SQL Server数据库简介及应用
SQL Server以高性能、高可用性著称,支持Windows/Linux跨平台部署,满足混合云需求。其内存优化表、列存储索引加速数据处理,AlwaysOn可用性组保障业务连续性。安全体系集成身份验证与加密,符合企业合规要求。与Azure无缝集成&#…...
麒麟V10 arm cpu aarch64 下编译 RocketMQ-Client-CPP 2.2.0
国产自主可控服务器需要访问RocketMQ消息队列,最新的CSDK是2020年发布的 rocketmq-client-cpp-2.2.0 这个版本支持TLS模式。 用默认的版本安装遇到一些问题,记录一下。 下载Releases apache/rocketmq-client-cpp GitHubhttps://github.com/apache/roc…...
【商城实战(49)】解锁小程序端适配与优化,让商城飞起来
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配…...
使用码云搭建CocoaPods远程私有库
一、创建远程私有索引库 用来存放私有框架的详细描述信息.podspec文件 1. 创建私有库 假设码云上创建的私有库为repo-spec 2. 查看本地已存在的索引库 pod repo list 3. 将远程私有索引库添加到本地 pod repo add [https://gitee.com/jingluoguo/repo-spec.git](https://gi…...
深度学习有哪些算法?
深度学习包含多种算法和模型,广泛应用于图像处理、自然语言处理、语音识别等领域。以下是主要分类及代表性算法: 一、基础神经网络 多层感知机(MLP) 最简单的深度学习模型,由多个全连接层组成,用于分类和回…...
专访LayaAir引擎最有价值专家-施杨
在 LayaAir 引擎的资源商店中,许多开发者都会注意到一个熟悉的名字——“射手座”。他不仅贡献了大量高质量的 Shader 资源,让一些开发者通过他的作品了解到 LayaAir 引擎在 3D 视觉效果上的更多可能,也让大家能够以低成本直接学习并应用这些…...
AJAX的理解和原理还有概念
你想问的可能是 AJAX(Asynchronous JavaScript and XML) ,它并不是一门新的编程语言,而是一种在无需重新加载整个网页的情况下,能够与服务器进行异步通信并更新部分网页的技术。以下从基本概念、原理、优点、使用场景等…...
