[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"consumer-news-detail-962":3,"consumer-news-interaction-962":41,"consumer-news-related-962":44},{"detail":4,"item":36},{"card":5,"schemaVersion":23,"fields":24,"content":30},{"id":6,"kind":7,"targetType":8,"targetId":9,"subtype":7,"typeLabel":10,"title":11,"subtitle":12,"summary":13,"coverUrl":14,"badgeText":15,"href":16,"sourceName":12,"meta":17,"metrics":20,"tags":21,"resolved":22},"NEWS_ARTICLE:962","news","NEWS_ARTICLE",962,"资讯","基于增强QUIC协议优化弱网下的直播观看体验","博客园","如今，直播已成为电商、教育、娱乐等各领域信息传递与线上消费的重要载体，而网络质量则是决定直播体验的核心命脉。然而，当用户一旦置身于地铁、户外等弱网环境中，画面卡顿、画质模糊、音画错位等问题便接踵而至，原本精彩的直播瞬间变得支离破碎，用户观看体验随之直线下降。 基于此，HarmonyOS SDK远场通","https:\u002F\u002Foscimg.oschina.net\u002F\u002FAiCreationDetail\u002Fup-d5a5690fbed726571a684c85eec1789e.png","","\u002Fnews\u002F962",[18,19],"2026","综合技术",{},[19],true,"consumer-content-detail-v1",{"sourceName":12,"authorName":25,"categoryName":19,"summary":13,"description":13,"publishTime":26,"updateTime":27,"sourceUrl":28,"language":29},"HarmonyOS_SDK","2026-09-09T14:32","2026-09-11T15:22","https:\u002F\u002Fwww.cnblogs.com\u002FHarmonyOSSDK\u002Fp\u002F22905803","中文",{"format":31,"policy":32,"normalized":22,"html":33,"text":34,"wordCount":35,"hasBody":22},"HTML","NEWS_CONTENT_V1","\u003Cp>如今，直播已成为电商、教育、娱乐等各领域信息传递与线上消费的重要载体，而网络质量则是决定直播体验的核心命脉。然而，当用户一旦置身于地铁、户外等弱网环境中，画面卡顿、画质模糊、音画错位等问题便接踵而至，原本精彩的直播瞬间变得支离破碎，用户观看体验随之直线下降。\u003C\u002Fp>\n\u003Cp>基于此，HarmonyOS SDK\u003Ca href=\"https:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002Fdoc\u002Fharmonyos-guides\u002Fremote-communication-kit-guide?ha_source=hms1\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">远场通信服务\u003C\u002Fa>（Remote Communication Kit）提供了QUIC长连接能力，能够在即时通讯、实时推送、在线直播等场景中，显著提升通信效率，即使在弱网环境下，也能保障直播画面无卡顿、无时延，有效提高用户使用体验。\u003C\u002Fp>\n\u003Cp>\u003Cimg alt=\"1.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Foscimg.oschina.net\u002F\u002FAiCreationDetail\u002Fup-d5a5690fbed726571a684c85eec1789e.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Ch3>实现原理\u003C\u002Fh3>\n\u003Cp>当应用冷启动时，传统网络请求需要经历域名解析、TCP连接建立、TLS握手等连接过程，在一次完整的请求中，连接阶段的操作会消耗大量时间，从而影响用户首屏加载体验。而QUIC长连接基于QUIC（Quick UDP Internet Connections）协议实现，相比传统的TCP协议，QUIC在速度、灵活性和稳定性方面更具备核心优势。\u003C\u002Fp>\n\u003Cp>我们以应用接收长连接服务端消息推送场景为例来进行说明。在服务端主动推送消息的场景下，QUIC长连接通过无队头阻塞的多路复用及更少的握手次数，有效优化传统HTTP\u002F1.1及HTTP\u002F2协议中的队头阻塞与多次握手问题，降低网络延迟和资源消耗。此外，QUIC长连接能够保持连接的持久性，减少连接建立和断开频率，进一步提升通信效率。\u003C\u002Fp>\n\u003Cp>\u003Cimg alt=\"2.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Foscimg.oschina.net\u002F\u002FAiCreationDetail\u002Fup-b5f19bbea4f6cd543b5d1c341438720f.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Ch3>能力优势\u003C\u002Fh3>\n\u003Cp>● 抗弱网算法\u003C\u002Fp>\n\u003Cp>采用智能丢包重传与动态抖动缓冲技术，显著提升抗网络丢包和抖动能力，在30%丢包率下仍保障音视频清晰流畅。\u003C\u002Fp>\n\u003Cp>● 物理链路无感切换\u003C\u002Fp>\n\u003Cp>支持Wi-Fi与蜂窝网络间无缝迁移，连接自动保持无需重建，用户无感知，通话或直播不中断，体验稳定可靠。\u003C\u002Fp>\n\u003Cp>● 多路复用\u003C\u002Fp>\n\u003Cp>单连接内并行传输多路数据流，彻底消除队头阻塞，降低传输延迟，提升带宽利用率与并发性能，尤其适配实时通信场景。\u003C\u002Fp>\n\u003Ch3>接收长连接服务端消息推送的开发实现步骤\u003C\u002Fh3>\n\u003Col>\n \u003Cli>在.cpp文件导入模块。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>#include \"RemoteCommunicationKit\u002Frcp_quic.h\"\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n#include &lt;string.h&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>在CMakeLists.txt文件中添加以下lib依赖包。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>librcp_quic.so\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>自定义全局变量，可用于QUIC连接与流配置。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>uint64_t g_StreamId = 0;\nuint64_t userData = 0;\nchar *alpn = \"h3\";\nconst char *serverName = \"www.example.com\"; \u002F\u002F 示例代码，仅用于展示调用，实际运行请替换为真实的QUIC协议服务端地址\nuint64_t serverPort = 443; \u002F\u002F 示例代码，仅用于展示调用，实际运行请替换为真实端口\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>自定义回调方法，用于后续步骤注册监听事件，可在回调中补充需要的业务逻辑。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>\u002F\u002F 连接成功时触发\nvoid OnConnectedImpl(Rcp_QuicConn *conn, void *userObject) {\n    (void)conn;\n    if (userObject == NULL) {\n        return;\n    }\n}\n\n\u002F\u002F 异常发生时触发\nvoid OnErrorImpl(Rcp_QuicConn *conn, void *userObject, Rcp_QuicErrorCode errCode, const char *errDetail) {\n    (void)conn;\n    if (errCode == 0 || userObject == NULL || errDetail == NULL) {\n        return;\n    }\n}\n\n\u002F\u002F 连接关闭时触发\nvoid OnClosedImpl(Rcp_QuicConn *conn, void *userObject) {\n    (void)conn;\n    if (userObject == NULL) {\n        return;\n    }\n}\n\n\u002F\u002F 接收到对端传输数据时触发，需要返回接收到的数据大小\nvoid OnReceiveDataImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId,\n                       const Rcp_QuicStreamData *streamData) {\n    (void)conn;\n    (void)streamId;\n    (void)userObject;\n    uint64_t totalBytes = 0;\n    for (uint32_t i = 0; i &lt; streamData-&gt;iovLen; i++) {\n        totalBytes += streamData-&gt;iov[i].length;\n    }\n    return totalBytes;\n}\n\n\u002F\u002F 接收到流事件时触发\nvoid onQuicStreamEventImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId, Rcp_QuicErrorCode errCode,\n                           const char *errDetail) {\n    (void)conn;\n    (void)userObject;\n    (void)streamId;\n    (void)errCode;\n    (void)errDetail;\n}\n\n\u002F\u002F 接收到对端创建流时触发\nvoid OnStreamInboundImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId) {\n    (void)conn;\n    (void)userObject;\n    g_StreamId = streamId;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>初始化QUIC配置项。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>\u002F\u002F 创建QUIC会话对象，用于管理全局资源\nRcp_QuicSession *session = HMS_Rcp_QuicCreateSession();\n\u002F\u002F 创建QUIC连接对象，需要指定ALPN协议和用户对象\nRcp_QuicConn *conn = HMS_Rcp_QuicConnCreate(alpn, &amp;userData);\n\u002F\u002F 设置连接建立成功时的回调\nHMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_CONNECTED_FUNCTION, &amp;OnConnectedImpl, 0);\n\u002F\u002F 设置发生错误时的回调\nHMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_ERROR_FUNCTION, &amp;OnErrorImpl, 0);\n\u002F\u002F 设置连接关闭时的回调\nHMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_CLOSED_FUNCTION, &amp;OnClosedImpl, 0);\n\u002F\u002F 设置服务端创建流时的回调\nHMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_STREAM_INBOUND_FUNCTION, &amp;OnStreamInboundImpl, 0);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>与服务端进行连接。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>HMS_Rcp_QuicConnConnect(session, conn, serverName, serverPort);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>服务端主动创建流，客户端接收到OnStreamInboundImpl回调后，为返回的对端流streamId设置监听事件。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>HMS_Rcp_QuicStreamSetOpt(conn, g_StreamId, RCP_QUIC_STREAM_EVENT_FUNCTION, &amp;onQuicStreamEventImpl, 0);\nHMS_Rcp_QuicStreamSetOpt(conn, g_StreamId, RCP_QUIC_STREAM_DATA_FUNCTION, &amp;OnReceiveDataImpl, 0);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n \u003Cli>业务完成后，关闭连接并释放资源。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>\u002F\u002F 关闭流\nuint64_t appErr = 0; \u002F\u002F 自定义业务状态码，服务端在流关闭时可以接收到此状态码用于对关闭原因进行判断\nHMS_Rcp_QuicConnStreamShutdown(conn, g_StreamId, RCP_QUIC_STREAM_SHUTDOWN_WRITE, appErr);\nHMS_Rcp_QuicConnStreamShutdown(conn, g_StreamId, RCP_QUIC_STREAM_SHUTDOWN_READ, appErr);\n\n\u002F\u002F 销毁连接对象，关闭所有流并释放连接资源\nif (conn != NULL) {\n    HMS_Rcp_QuicConnDestroy(conn);\n}\n\n\u002F\u002F 销毁会话对象，释放QUIC全局资源\nif (session != NULL) {\n    HMS_Rcp_QuicDestroySession(session);\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>了解更多详情&gt;&gt;\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>访问\u003Ca href=\"https:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002Fdoc\u002Fharmonyos-guides\u002Fremote-communication-kit-guide?ha_source=hms1\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">远场通信服务联盟官网\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>获取\u003Ca href=\"https:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002Fdoc\u002Fharmonyos-guides\u002Fremote-communication-quic-persistent-connection?ha_source=hms1\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">使用QUIC协议进行网络通信开发指导文档\u003C\u002Fa>\u003C\u002Fp>","如今，直播已成为电商、教育、娱乐等各领域信息传递与线上消费的重要载体，而网络质量则是决定直播体验的核心命脉。然而，当用户一旦置身于地铁、户外等弱网环境中，画面卡顿、画质模糊、音画错位等问题便接踵而至，原本精彩的直播瞬间变得支离破碎，用户观看体验随之直线下降。 基于此，HarmonyOS SDK远场通信服务（Remote Communication Kit）提供了QUIC长连接能力，能够在即时通讯、实时推送、在线直播等场景中，显著提升通信效率，即使在弱网环境下，也能保障直播画面无卡顿、无时延，有效提高用户使用体验。 实现原理 当应用冷启动时，传统网络请求需要经历域名解析、TCP连接建立、TLS握手等连接过程，在一次完整的请求中，连接阶段的操作会消耗大量时间，从而影响用户首屏加载体验。而QUIC长连接基于QUIC（Quick UDP Internet Connections）协议实现，相比传统的TCP协议，QUIC在速度、灵活性和稳定性方面更具备核心优势。 我们以应用接收长连接服务端消息推送场景为例来进行说明。在服务端主动推送消息的场景下，QUIC长连接通过无队头阻塞的多路复用及更少的握手次数，有效优化传统HTTP\u002F1.1及HTTP\u002F2协议中的队头阻塞与多次握手问题，降低网络延迟和资源消耗。此外，QUIC长连接能够保持连接的持久性，减少连接建立和断开频率，进一步提升通信效率。 能力优势 ● 抗弱网算法 采用智能丢包重传与动态抖动缓冲技术，显著提升抗网络丢包和抖动能力，在30%丢包率下仍保障音视频清晰流畅。 ● 物理链路无感切换 支持Wi-Fi与蜂窝网络间无缝迁移，连接自动保持无需重建，用户无感知，通话或直播不中断，体验稳定可靠。 ● 多路复用 单连接内并行传输多路数据流，彻底消除队头阻塞，降低传输延迟，提升带宽利用率与并发性能，尤其适配实时通信场景。 接收长连接服务端消息推送的开发实现步骤 在.cpp文件导入模块。 #include \"RemoteCommunicationKit\u002Frcp_quic.h\" #include \u003Cstdio.h> #include \u003Cstdlib.h> #include \u003Cstring.h> 在CMakeLists.txt文件中添加以下lib依赖包。 librcp_quic.so 自定义全局变量，可用于QUIC连接与流配置。 uint64_t g_StreamId = 0; uint64_t userData = 0; char *alpn = \"h3\"; const char *serverName = \"www.example.com\"; \u002F\u002F 示例代码，仅用于展示调用，实际运行请替换为真实的QUIC协议服务端地址 uint64_t serverPort = 443; \u002F\u002F 示例代码，仅用于展示调用，实际运行请替换为真实端口 自定义回调方法，用于后续步骤注册监听事件，可在回调中补充需要的业务逻辑。 \u002F\u002F 连接成功时触发 void OnConnectedImpl(Rcp_QuicConn *conn, void *userObject) { (void)conn; if (userObject == NULL) { return; } } \u002F\u002F 异常发生时触发 void OnErrorImpl(Rcp_QuicConn *conn, void *userObject, Rcp_QuicErrorCode errCode, const char *errDetail) { (void)conn; if (errCode == 0 || userObject == NULL || errDetail == NULL) { return; } } \u002F\u002F 连接关闭时触发 void OnClosedImpl(Rcp_QuicConn *conn, void *userObject) { (void)conn; if (userObject == NULL) { return; } } \u002F\u002F 接收到对端传输数据时触发，需要返回接收到的数据大小 void OnReceiveDataImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId, const Rcp_QuicStreamData *streamData) { (void)conn; (void)streamId; (void)userObject; uint64_t totalBytes = 0; for (uint32_t i = 0; i \u003C streamData->iovLen; i++) { totalBytes += streamData->iov[i].length; } return totalBytes; } \u002F\u002F 接收到流事件时触发 void onQuicStreamEventImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId, Rcp_QuicErrorCode errCode, const char *errDetail) { (void)conn; (void)userObject; (void)streamId; (void)errCode; (void)errDetail; } \u002F\u002F 接收到对端创建流时触发 void OnStreamInboundImpl(Rcp_QuicConn *conn, void *userObject, uint64_t streamId) { (void)conn; (void)userObject; g_StreamId = streamId; } 初始化QUIC配置项。 \u002F\u002F 创建QUIC会话对象，用于管理全局资源 Rcp_QuicSession *session = HMS_Rcp_QuicCreateSession(); \u002F\u002F 创建QUIC连接对象，需要指定ALPN协议和用户对象 Rcp_QuicConn *conn = HMS_Rcp_QuicConnCreate(alpn, &userData); \u002F\u002F 设置连接建立成功时的回调 HMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_CONNECTED_FUNCTION, &OnConnectedImpl, 0); \u002F\u002F 设置发生错误时的回调 HMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_ERROR_FUNCTION, &OnErrorImpl, 0); \u002F\u002F 设置连接关闭时的回调 HMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_ON_CLOSED_FUNCTION, &OnClosedImpl, 0); \u002F\u002F 设置服务端创建流时的回调 HMS_Rcp_QuicConnSetOpt(conn, RCP_QUIC_CONN_STREAM_INBOUND_FUNCTION, &OnStreamInboundImpl, 0); 与服务端进行连接。 HMS_Rcp_QuicConnConnect(session, conn, serverName, serverPort); 服务端主动创建流，客户端接收到OnStreamInboundImpl回调后，为返回的对端流streamId设置监听事件。 HMS_Rcp_QuicStreamSetOpt(conn, g_StreamId, RCP_QUIC_STREAM_EVENT_FUNCTION, &onQuicStreamEventImpl, 0); HMS_Rcp_QuicStreamSetOpt(conn, g_StreamId, RCP_QUIC_STREAM_DATA_FUNCTION, &OnReceiveDataImpl, 0); 业务完成后，关闭连接并释放资源。 \u002F\u002F 关闭流 uint64_t appErr = 0; \u002F\u002F 自定义业务状态码，服务端在流关闭时可以接收到此状态码用于对关闭原因进行判断 HMS_Rcp_QuicConnStreamShutdown(conn, g_StreamId, RCP_QUIC_STREAM_SHUTDOWN_WRITE, appErr); HMS_Rcp_QuicConnStreamShutdown(conn, g_StreamId, RCP_QUIC_STREAM_SHUTDOWN_READ, appErr); \u002F\u002F 销毁连接对象，关闭所有流并释放连接资源 if (conn != NULL) { HMS_Rcp_QuicConnDestroy(conn); } \u002F\u002F 销毁会话对象，释放QUIC全局资源 if (session != NULL) { HMS_Rcp_QuicDestroySession(session); } 了解更多详情>> 访问远场通信服务联盟官网 获取使用QUIC协议进行网络通信开发指导文档",3502,{"id":6,"kind":7,"title":11,"summary":13,"image":14,"href":16,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":40},"2026 · 综合技术","#2563eb","16 \u002F 10",[19],{"targetType":8,"targetId":9,"likedByMe":42,"likeCount":43,"commentCount":43,"contentLikeCount":43,"contentCommentCount":43,"sourceLikeCount":43,"sourceCommentCount":43},false,0,[45,51,57,64,71,78,84,91],{"id":46,"kind":7,"title":47,"summary":48,"image":15,"href":49,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":50},"NEWS_ARTICLE:1011","上周热点回顾（8.31-9.6）","热点随笔： &#183; 被罚了500后，整个人都变老实了 (欢醉) &#183; 2016已经是十年前了 (三范式) &#183; 都是 AI 写代码，为什么 C# 比 Java 快半拍 (张善友) &#183; OpenClaw 2.0 发布：史上最大更新，8 大新功能 + 2 个破坏性变更必看","\u002Fnews\u002F1011",[19],{"id":52,"kind":7,"title":53,"summary":54,"image":15,"href":55,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":56},"NEWS_ARTICLE:1023","数位 DP 进阶","数位 DP 进阶 日期：2026-07-14 关键词：动态规划、数位 DP、记忆化搜索 涉及题目：P2602 [ZJOI2010] 数字计数 | P4124 [CQOI2016] 手机号码 | P3286 [SCOI2014] 方伯伯的商场之旅 数位 DP 梳理一下数位 DP 的核心思想。 数位 D","\u002Fnews\u002F1023",[19],{"id":58,"kind":7,"title":59,"summary":60,"image":61,"href":62,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":63},"NEWS_ARTICLE:1025","Ninja 使用笔记","title: Ninja 使用笔记 author: 凌杰 date: 2026-08-10 tags: 自动化构建 categories: 软件使用经验 [!NOTE] 笔记说明 这篇笔记是《[[Makefile 使用笔记]]》的姊妹篇，将用于记录本人在使用 Ninja 这款项目构建工具过程中所记录","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F691082\u002F202609\u002F691082-20260906155027127-1498408465.png","\u002Fnews\u002F1025",[19],{"id":65,"kind":7,"title":66,"summary":67,"image":68,"href":69,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":70},"NEWS_ARTICLE:838","AI 学习笔记：LLM 的微调实验","title: LLM 的微调实验 author: 凌杰 date: 2026-08-21 tags: LoRA, LLaMA-Factory, Qwen categories: 人工智能 [!NOTE] 笔记说明 这篇笔记对应的是《[[关于 AI 的学习路线图]]》一文中所规划的第三个学习阶段。其中","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F691082\u002F202609\u002F691082-20260902122904258-1285666483.png","\u002Fnews\u002F838",[19],{"id":72,"kind":7,"title":73,"summary":74,"image":75,"href":76,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":77},"NEWS_ARTICLE:843","介绍一下常用的Token鉴权方案","本文梳理 Session‑Cookie、JWT、OAuth2.0、SSO 主流 Token 鉴权方案，对比各方案适用场景。重点讲解生产级 JWT 双 Token 架构，给出 RS256 非对称加密、Redis 黑名单、网关统一鉴权等 Java 实战代码。剖析 JWT 注销、并发刷新、令牌泄露等落地痛","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F739056\u002F202609\u002F739056-20260902114155245-1924311389.png","\u002Fnews\u002F843",[19],{"id":79,"kind":7,"title":80,"summary":81,"image":15,"href":82,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":83},"NEWS_ARTICLE:854","分治：序列分治（CDQ）与点分治","分治：序列分治（CDQ）与点分治 一、分治思想概述 分治（Divide and Conquer）是算法设计中最核心的思想之一。它的基本策略是： 分（Divide）：将原问题划分为规模更小的子问题。 治（Conquer）：递归地求解子问题（若子问题足够小则直接求解）。 合（Combine）：将子问题的","\u002Fnews\u002F854",[19],{"id":85,"kind":7,"title":86,"summary":87,"image":88,"href":89,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":90},"NEWS_ARTICLE:863","弱模型不能裸奔：Agent Harness 凭什么真实有效","Harness 不是给弱模型贴的创可贴。它是把工程纪律——验证、门禁、不变量、路由——变成架构里一等公民的方式。模型每半年换一代，今天省钱的 Flash 明天可能就过时了，但那套'默认怀疑、机器校验、按决策密度调度'的流程会留下来，并且越跑越值钱。\n弱模型不能裸奔。给它穿上 harness，便宜才真","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F510\u002F202608\u002F510-20260830181633785-1171146572.jpg","\u002Fnews\u002F863",[19],{"id":92,"kind":7,"title":93,"summary":94,"image":95,"href":96,"meta":37,"badge":10,"author":12,"stats":-1,"accent":38,"coverRatio":39,"tags":97},"NEWS_ARTICLE:865","焕新鸿蒙应用权限管理方案，应用授权体验再升级","作为用户或应用开发者，或许经历过类似的体验场景：使用应用的过程中，触发应用某些功能会需要访问你的位置、麦克风、相机等常用权限，若为了保护隐私拒绝授权后，想要使用功能时，再次打开却找不到设置入口；或开启流程繁琐，需要经过频繁跳转和设置。这一问题不仅影响用户体验，还可能造成应用功能不可用、用户流失，也制","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F2396482\u002F202609\u002F2396482-20260901170248450-744043562.png","\u002Fnews\u002F865",[19]]