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

网络原理笔记

目录1 网络中的五元组2 协议分层OSI七层模型TCP / IP五层或四层模型封装和分用3 网络编程套接字Socket套接字网络编程TCP/UDP协议的区别4 TCP/IP协议应用层JSON进程的两个问题UDP协议TCP协议TCP 可靠传输特别重要1 确认应答可靠性机制2 超时重传可靠性机制3 连接管理可靠性机制4 滑动窗口效率机制5 流量控制效率机制6 拥塞控制可靠机制7 延迟应答效率机制8 捎带应答9 面向字节流粘包问题10 异常情况用UDP实现可靠传输(经典面试题)网络层IP地址HTTP/HTTPS1 HTTPHTTP请求RequestURL方法methodHTTP请求报头HeaderHTTP响应解释2 HTTPS一、 HTTPS 的本质二、 为什么要引入 HTTPS背景与威胁三、 HTTPS 的“三把利刃”加密机制四、 核心工作流程HTTPS 握手 (Handshake)五、 数据完整性摘要算法 (Digest) 重点总结三组密钥的配合1 网络中的五元组源IP地址 ---发件人地址源端口号 ---发件人电话目的地址 ---收件人地址目的端口号 --- 收件人电话协议 ---约定那个快递公司买什么东西服务.......2 协议分层OSI七层模型物链网输会表用TCP / IP五层或四层模型四层模型不包括物理层应用层用户自定义的协议与用户打交道接收展示用户的数据只关注物品本身传输层典型的TCPUDP完成端到端的传输的准备确定收送主机的地址的端口号网络层IP协议规划端到端之间的网络路径数据链路层网络接口层以太网协议完成点到点之间的传输每个网络设备之间的传输物理层以太网协议每一层的封装格式封装和分用封装是在发送方进行的对数据的处理分用是在接收方进行的对数据的处理3 网络编程套接字Socket套接字流套接字使用传输层TCP协议一点一点的发送和之前的文件流一样数据报套接字使用传输层UDP协议把一个报文当做一个整体一次性发送网络编程TCP/UDP协议的区别TCPUDP有连接无连接可靠传输不可靠传输面型字节流面相数据宝有接受缓冲区也有发送缓冲区有接受缓冲区无发送缓冲区大小不限大小受限一次最多传输64K全双工全双工4 TCP/IP协议应用层JSON{}表示对象[]表示数组字符串用“”包裹对象的属性用字符串表示双引号包裹属性与属性之间用逗号隔开、最后一个元素没有逗号进程的两个问题一个进程可以绑定多个端口号一个端口号不能被多个进程绑定在操作系统层面一个端口号对应一个进程通过端口号找到对应的进程UDP协议TCP协议TCP 可靠传输特别重要1 确认应答可靠性机制应答在传输层接收对方给发送方的一个回复只是一个标记并没有真实的结果 响应针对请求计算出来的响应是真实数据2 超时重传可靠性机制发送超时接收方收到了数据返回应答的时候超时3 连接管理可靠性机制作用在发送方和接收方初次建立连接的时候确认双方的收发能力初次建立时三次握手断开连接时四次挥手三次握手主机A发送SYN请求生成一个随机数据填充在序号区域主机B接收到主机A发来的SYN请求后在序号的基本上1把结果填充成确认序号中并把ACK标志位置为一表示要进行应答同时生成一个随机数据填充在序号区域并把SYN标志位置为1表示自己发送一个SYN同步请求主机A接收到主机B发来的ACKSYN请求时首先判断ACK表示主机B有应答能力再去判断SYN在序号的基础上1把结果填充在 确认序号中把ACK标志位置为1主机B接收到主机A发来的ACK表示主机A有应答能力网络验证完成建立连接成功4 滑动窗口效率机制异常情况一数据包已经抵达了但是ACK丢了异常情况二数据包直接丢了数据包没有到达主机B滑动窗口与效率窗口越大网络吞吐量越高窗口越大效率越高窗口越小效率越低如果窗口无限大就和UDP一样了5 流量控制效率机制作用用来控制发送方的窗口大小通过接收方返回来的ACK进行反制6 拥塞控制可靠机制作用通过网络的畅通程序来控制窗口的大小7 延迟应答效率机制TCP在应答时并不是每收到一个请求应答一次而是每隔记得应答一次8 捎带应答ACK是系统内核做出的应答传输层发送响应是应用层面的应用层9 面向字节流粘包问题创建一个TCP的Socket同时在内核中创建一个发送缓冲区写和一个接收缓冲区读粘包问题就是每接收到一个报文就把他放入缓冲区在读取报文时不能有效的区分每个数据名称对于粘包问题解决为每个消息定义一个分隔符或者说用一个分隔符来界边一条消息在应用层协议中定义一个区域字段用来表示当前消息的长度10 异常情况程序崩溃正常关机主机掉电或断网用UDP实现可靠传输(经典面试题)网络层IP地址IP地址是指互联网协议地址又译为网际协议地址HTTP/HTTPS1 HTTP超文本传输协议是一种应用广泛的应用层协议Fiddle 抓包工具可以捕获本机发送的所有HTTP请求相当于客户端与服务器端的中间人HTTP请求RequestURL方法methodGET和POST是 HTTP 协议中最基础、最常用的两种请求方法。虽然它们在底层都是通过 TCP/IP 协议传输数据但在设计初衷和具体表现上有着本质的区别。简单来记其核心区别GET 通常用于“获取”数据而 POST 通常用于“提交”数据。以下是它们的详细对比核心区别速览表特性GET 请求POST 请求主要功能从服务器获取资源如请求一个网页、查询数据。向服务器提交数据如提交表单、上传文件。数据传递位置数据附加在URL的末尾Query String以?分割参数间用连接。数据存放在HTTP 报文的主体Body中。数据长度限制受限于浏览器和服务器对 URL 长度的限制通常在 2KB 到 8KB 左右。理论上没有限制实际受限于服务器配置可传输大量数据。安全性较低。数据直接暴露在 URL 中会被保存在浏览器历史记录、书签和服务器日志中。较高。数据不在 URL 中显示不会被保存在浏览器历史记录中。幂等性 (Idempotency)是幂等的。多次执行相同的 GET 请求服务器状态不变得到的结果应该是一样的。非幂等。多次执行相同的 POST 请求可能会在服务器上创建多个资源如重复提交订单。缓存机制请求可以被浏览器缓存也可以被加入书签。请求不会被缓存不能被加入书签。数据类型只允许 ASCII 字符。支持多种数据类型如文本、二进制、JSON、文件等。关键差异深度解析数据的可见性与“安全性”GET的参数就像写在明信片上任何人只要看到 URL 就能看到数据例如https://example.com/search?keywordapple。因此绝对不能用 GET 请求来传输密码或敏感信息。POST的参数放在了信封里Body 中普通用户在地址栏看不到。但这并不意味着绝对安全。如果不使用 HTTPS 协议网络抓包工具依然可以轻易看到 POST 请求体中的明文数据。真正的安全性依赖于 HTTPS 加密而不是 POST 方法本身。幂等性与副作用GET 是安全的、幂等的这意味着你仅仅是去“看”一眼数据无论你看一次还是看一万次服务器上的数据都不会因此改变。这也是为什么浏览器允许你随意刷新 GET 请求的页面。POST 会产生副作用比如在购物网站点击“付款”按钮通常是一个 POST 请求。如果你在付款成功后强行刷新页面浏览器通常会弹出一个警告框“确认重新提交表单”因为再次发送 POST 请求可能会导致你被扣费两次。底层数据包传输差异技术细节在部分浏览器如早期的 Firefox 等和底层机制中发送方式略有不同GET通常产生一个TCP 数据包浏览器将 HTTP Header 和 Data 一并发送出去服务器响应 200 OK 并返回数据。POST有时会产生两个TCP 数据包浏览器先发送 HTTP Header服务器响应 100 Continue浏览器再发送 Data最后服务器响应 200 OK。这种机制的作用是先探测服务器是否愿意接收数据避免在服务器拒绝时浪费带宽上传大量体积的数据包。总结什么时候用哪个使用 GET当你的操作只是为了查询、读取或过滤信息且不需要改变服务器状态时。例如搜索引擎查询、查看商品详情、获取新闻列表。使用 POST当你的操作会改变服务器状态或者需要传输敏感、大量的数据时。例如用户登录注册、发布一条评论、修改个人资料、上传图片文件。HTTP请求报头HeaderHeader的整体格式是“键值对”结构每个键值对占一行键和值之间使用分好分割Host表示服务器主机的地址和端口号Content-Length表示body中的数据长度Content-Type表示请求的body中的数据格式User-Agent (简称 UA)表示浏览器/操作系统的属性Refercookie理解登录过程HTTP响应解释HTTP 状态码Status Code是用来表示服务器对请求的处理结果的。它们被分为五大类每一类都有特定的含义。以下是常见的 HTTP 状态码及其含义的对照表HTTP 状态码分类概览状态码范围类别描述1xx信息性状态码接收的请求正在处理2xx成功状态码请求正常处理完毕3xx重定向状态码需要进行附加操作以完成请求4xx客户端错误状态码服务器无法处理请求客户端原因5xx服务器错误状态码服务器处理请求时出错常用状态码详细列表状态码状态描述语义及常见场景200OK请求成功。表示从客户端发来的请求在服务器端被正常处理了。204No Content请求成功但返回的响应报文中不含实体的主体部分无内容。301Moved Permanently永久性重定向。资源已被分配了新的 URL以后应使用资源现在的 URL。302Found临时性重定向。资源临时移动到了新的 URL希望用户本次能访问新的 URL。304Not Modified未修改。资源未改变可直接使用浏览器缓存。400Bad Request错误请求。请求报文中存在语法错误服务器无法理解。401Unauthorized未认证。当前请求需要用户身份认证常用于登录校验失败。403Forbidden禁止访问。服务器理解请求但拒绝执行如没有访问权限。404Not Found未找到资源。服务器上无法找到请求的资源或 URL 拼写错误。405Method Not Allowed方法不允许。使用了服务器不支持的请求方法如对只支持 GET 的接口发 POST。500Internal Server Error服务器内部错误。服务器端在执行请求时发生了错误常为代码异常。502Bad Gateway网关错误。作为网关或代理的服务器从上游服务器接收到了无效响应。504Gateway Timeout网关超时。服务器作为网关未能及时从上游服务器接收响应。重点说明200 vs 204200 会返回数据如 JSON、HTML204 仅告知成功而不返回任何内容。401 vs 403401 是“你是谁我不知道请登录”403 是“我知道你是谁但你没权力干这事”。404 vs 500404 通常是前端路径写错了或资源被删了500 则是后端代码写得有问题比如触发了空指针异常。2 HTTPS一、 HTTPS 的本质HTTPS (Hypertext Transfer Protocol Secure)并非独立协议而是在HTTP协议的基础上引入了一个加密层通常是SSL或TLS。公式HTTPS HTTP 加密 认证 完整性保护。端口默认使用443端口HTTP 默认使用 80 端口。二、 为什么要引入 HTTPS背景与威胁HTTP 采用明文传输数据在互联网中经过多个节点如路由器、运营商网关时极其不安全。运营商劫持中间节点篡改 HTML 代码。例如下载一个 A 软件由于中间人修改了下载链接最后下成了 B 软件。窃听风险用户的账号、密码、支付信息对中间人完全透明。冒充风险黑客可以伪造一个一模一样的银行网站诱导用户登录。三、 HTTPS 的“三把利刃”加密机制HTTPS 通过混合加密平衡了安全与性能对称加密 (Symmetric Encryption)特点加密和解密使用同一个密钥。优点计算速度非常快。缺点无法安全地将密钥传给对方。如果明文传密钥加密就失去了意义。非对称加密 (Asymmetric Encryption)特点有一对密钥——公钥 (Public Key)和私钥 (Private Key)。公钥加密的数据只能用私钥解。优点解决了密钥传输问题。缺点计算速度慢且存在“中间人伪造公钥”的风险。数字证书 (Digital Certificate) CA 机构解决问题为了证明“公钥确实是该网站的”引入了公正的第三方机构CA (Certificate Authority)。核心内容证书包含网站信息、公钥以及 CA 机构的数字签名。四、 核心工作流程HTTPS 握手 (Handshake)这是面试和理解中最关键的部分其精髓在于用非对称加密来安全地传输对称加密的密钥。客户端请求浏览器连接服务器并索要证书。服务器响应返回包含公钥 A的数字证书。客户端验证浏览器通过内置的 CA 公钥解密证书签名确保证书未被篡改。校验域名、有效期等。生成会话密钥浏览器本地生成一个随机对称密钥 R用于后续正式通信。加密密钥 R浏览器使用服务器证书里的公钥 A对密钥 R进行加密并发送。服务器解密服务器使用只有自己才知道的私钥 A解密拿到密钥 R。加密通信开始从此以后双方的所有数据传输都使用密钥 R进行对称加密。五、 数据完整性摘要算法 (Digest)HTTPS 还利用了哈希函数如MD5或SHA系列来确保内容未被修改。特点定长无论原文多长哈希值长度固定。分散原文改一个字哈希值天差地别。不可逆无法通过哈希值还原原文。逻辑在签名时先计算证书内容的哈希再加密。客户端收到后重新计算对比一致则代表内容完整。 重点总结三组密钥的配合密钥组角色作用CA 私钥/公钥验证官服务器证书的签名与验证防止证书被冒充。服务器 私钥/公钥快递员在握手阶段加密传输“会话密钥”。对称密钥 (R)守护者握手完成后负责海量通信数据的快速加解密。

相关文章:

网络原理笔记

目录 1 网络中的五元组 2 协议分层 OSI七层模型 TCP / IP五层(或四层)模型 封装和分用 3 网络编程套接字 Socket套接字 网络编程 TCP/UDP协议的区别 4 TCP/IP协议 应用层 JSON 进程的两个问题 UDP协议 TCP协议 TCP 可靠传输(…...

如何用Boss-Key实现Windows窗口的智能隐藏与隐私保护?

如何用Boss-Key实现Windows窗口的智能隐藏与隐私保护? 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 你是否曾因突然有人走近…...

你的USB声卡不止能听歌:手把手教你用Python+libusb玩转UAC设备控制(获取/设置采样率、音量)

用Python操控USB声卡:从采样率调节到音频流捕获的完整指南 当我在工作室调试多麦克风阵列时,发现手动调节每个USB麦克风的采样率不仅耗时,还容易出错。那一刻我意识到,如果能用Python脚本批量控制这些设备,工作效率将大…...

拯救者Y7000系列Insyde BIOS隐藏选项终极解锁指南:3分钟获取完整控制权

拯救者Y7000系列Insyde BIOS隐藏选项终极解锁指南:3分钟获取完整控制权 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.…...

LSM-Tree存储引擎优化实战:用Cuckoo Filter替代Bloom Filter,降低LevelDB/RocksDB读放大

LSM-Tree存储引擎深度优化:用Cuckoo Filter重构LevelDB/RocksDB查询路径 在LSM-Tree存储引擎的世界里,读放大问题就像一把悬在头顶的达摩克利斯之剑。每次点查询都可能触发从MemTable到多层SSTable的级联查找,而传统Bloom Filter的局限性让这…...

2026年华为云怎么搭建Hermes Agent/OpenClaw?经验之谈

2026年华为云怎么搭建Hermes Agent/OpenClaw?经验之谈。OpenClaw和Hermes Agent是什么?OpenClaw和Hermes Agent怎么部署?如何部署OpenClaw/Hermes Agent?2026年还在为部署OpenClaw和Hermes Agent到处找教程踩坑吗?别再…...

Gramps家谱软件终极指南:三步构建专业家族历史数据库

Gramps家谱软件终极指南:三步构建专业家族历史数据库 【免费下载链接】gramps Source code for Gramps Genealogical program 项目地址: https://gitcode.com/gh_mirrors/gr/gramps Gramps是一款功能强大的开源家谱软件,专为家族历史研究者和爱好…...

告别预编译包:手把手教你为你的Qt项目定制编译Windows静态库(Qt5.15/6.5 + CMake实战)

从零构建Qt静态库:为商业项目打造极致精简的Windows部署方案 当你的Qt应用程序需要交付给客户时,几十MB的DLL依赖文件往往成为部署的噩梦。想象一下,一个简单的工具软件因为QtCore、QtGui等动态库的拖累,安装包膨胀到上百MB——这…...

保姆级教程:在ROS2 Humble下搞定大华/海康工业相机标定(附常见报错解决)

ROS2 Humble工业相机标定实战:从环境配置到参数优化的全流程指南 工业相机在机器视觉领域的应用越来越广泛,而精确的相机标定是确保测量精度的关键第一步。本文将带你从零开始,在ROS2 Humble环境下完成大华和海康工业相机的完整标定流程&…...

别再乱改了!YOLOv8添加CBAM/CA注意力模块的正确姿势(附完整代码)

YOLOv8注意力模块集成实战:从原理到部署的完整指南 在目标检测领域,YOLOv8以其卓越的速度-精度平衡成为工业界和学术界的宠儿。但许多开发者发现,当尝试为模型添加注意力机制时,常常陷入各种技术陷阱——从文件结构混乱到性能不升…...

个人飞行器-第七到八周制作步骤

站立式个人飞剑 - 每日详细制作步骤(第7-8周) 第7周:飞行训练 Day 43-44:基础飞行练习 目标:掌握基本飞行技能飞行前检查:每次飞行前: □ 电池电量:100% □ GPS:已定位(12+卫星) □ 遥控:5格信号 □ 飞控:无报错 □ 场地:空旷无风 □ 人员:飞手+观察员Day 43 …...

如何修复戴森V6/V7吸尘器电池锁死问题:开源固件终极解决方案

如何修复戴森V6/V7吸尘器电池锁死问题:开源固件终极解决方案 【免费下载链接】FU-Dyson-BMS (Unofficial) Firmware Upgrade for Dyson V6/V7 Vacuum Battery Management System 项目地址: https://gitcode.com/gh_mirrors/fu/FU-Dyson-BMS 您的戴森吸尘器突…...

Spring Data JPA动态查询:用Specification重构你的Service层,让代码清晰十倍

Spring Data JPA动态查询:用Specification重构Service层的艺术 当项目从初创阶段步入成熟期,Service层往往成为各种复杂查询逻辑的"垃圾场"。我曾见过一个订单查询接口膨胀到800行代码,各种if-else嵌套的JPQL拼接让人望而生畏。这正…...

ICode竞赛Python 5级通关秘籍:用函数让Dev和Spaceship动起来(附完整代码解析)

ICode竞赛Python 5级通关秘籍:用函数让Dev和Spaceship动起来(附完整代码解析) 在ICode竞赛的虚拟训练场里,Python 5级关卡就像一座等待征服的编程城堡。当你看到Dev和Spaceship这两个角色在屏幕上笨拙地重复相同动作时&#xff0c…...

163MusicLyrics终极指南:如何快速获取网易云和QQ音乐的歌词文件

163MusicLyrics终极指南:如何快速获取网易云和QQ音乐的歌词文件 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾经遇到过这样的情况:下载…...

猫抓浏览器插件:三步掌握网页媒体资源智能嗅探与下载技巧

猫抓浏览器插件:三步掌握网页媒体资源智能嗅探与下载技巧 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常在网上看到精彩的视…...

告别串口调试:用Python和FT232H玩转GPIO,5分钟生成你的第一个方波

用Python和FT232H实现硬件快速原型开发:从GPIO控制到方波生成实战指南 在嵌入式开发和硬件测试领域,快速验证想法往往比完美实现更重要。传统开发流程中,我们需要先搭建单片机环境、编写固件、烧录调试,这一系列操作即使对经验丰富…...

3分钟搞定B站缓存视频合并:安卓神器让离线观看更轻松

3分钟搞定B站缓存视频合并:安卓神器让离线观看更轻松 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and exports…...

用游戏化思维学Python循环:从ICode训练场代码反推关卡设计思路

游戏化Python教学:从ICode训练场代码反推关卡设计艺术 在编程教育领域,游戏化学习已经成为激发学生兴趣的有效手段。ICode国际青少年编程竞赛的训练场关卡,巧妙地将Python循环概念转化为一系列趣味挑战。本文将通过逆向工程的方法&#xff0…...

ARM MPAM技术解析:硬件级资源隔离与性能监控

1. ARM MPAM技术概述内存分区与监控(Memory Partitioning and Monitoring,MPAM)是ARMv8/v9架构中用于资源隔离与性能监控的关键技术。这项技术最初在ARMv8.4中引入,并在后续版本中不断扩展功能。MPAM的核心设计目标是解决多核系统…...

NoFences:5分钟打造整洁高效的Windows桌面分区终极指南

NoFences:5分钟打造整洁高效的Windows桌面分区终极指南 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了Windows桌面上杂乱无章的图标?每天…...

LayerDivider终极指南:如何用AI一键将插画智能分层为PSD文件

LayerDivider终极指南:如何用AI一键将插画智能分层为PSD文件 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的插画分层工作而烦恼…...

让Linux键盘会唱歌:keysound键盘音效软件完全使用指南

让Linux键盘会唱歌:keysound键盘音效软件完全使用指南 【免费下载链接】keysound keysound is keyboard sound software for Linux 项目地址: https://gitcode.com/gh_mirrors/ke/keysound 你是否厌倦了千篇一律的键盘敲击声?想要为枯燥的编程工作…...

FPGA课程设计避坑指南:手把手教你搞定单周期CPU的IO与内存访问(附Verilog代码)

FPGA单周期CPU设计实战:从地址空间划分到波形调试全解析 在数字逻辑与计算机体系结构的交叉领域,单周期CPU设计始终是理解计算机工作原理的最佳实践。不同于理论课上抽象的概念讲解,当学生真正动手用Verilog实现一个完整的CPU模型时&#xff…...

模糊测试工具:智能变异与反馈驱动的优化

模糊测试工具:智能变异与反馈驱动的优化 在软件安全领域,模糊测试(Fuzzing)是一种高效的漏洞挖掘技术,它通过向目标程序输入大量非预期数据来触发潜在错误。近年来,随着人工智能和反馈优化技术的发展&…...

位深度(Bit Depth)详解

位深度(Bit Depth)详解 位深度是数字图像和视频中的一个重要概念,它决定了每个像素可以表示的颜色数量和精度。一、基本概念 位深度(Bit Depth),也称为色彩深度或量化精度,是指用于表示每个像素…...

别再死记硬背二分模板了!用蓝桥杯真题‘子串简写‘带你理解二分的本质与应用场景

从蓝桥杯真题子串简写看二分查找的本质与实战思维 在算法学习的道路上,二分查找像是一把双刃剑——表面简单却暗藏玄机。许多学习者能够熟练背诵模板代码,却在面对真实问题时束手无策。这种现象在蓝桥杯"子串简写"这道真题中表现得尤为明显。本…...

终极完整指南:HS2-HF_Patch如何彻底改变你的Honey Select 2游戏体验

终极完整指南:HS2-HF_Patch如何彻底改变你的Honey Select 2游戏体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 如果你正在寻找一款能够一键解决…...

如何让Linux键盘变成钢琴?Keysound键盘音效软件完全指南

如何让Linux键盘变成钢琴?Keysound键盘音效软件完全指南 【免费下载链接】keysound keysound is keyboard sound software for Linux 项目地址: https://gitcode.com/gh_mirrors/ke/keysound 您是否想过让枯燥的键盘打字变得有趣?是否希望在编程时…...

别只盯着代码!C4网络技术挑战赛作品评审的‘隐形评分点’:简介、视频与开源规范

技术竞赛作品评审的五大隐形评分点:从简介撰写到开源规范的全方位指南 参加技术类竞赛时,大多数团队会把90%的精力放在代码实现和技术创新上,却往往忽略了那些看似"软性"实则直接影响评委打分的非技术环节。根据对历年C4网络技术挑…...