吴恩达机器学习作业实战指南:无答案版校准+答案版反向工程
简介本资源是面向机器学习初学者与自学者的吴恩达《Machine Learning》课程配套实践套件覆盖课程全部核心算法实验助力系统掌握监督学习、无监督学习与降维等关键内容。压缩包共1028个文件总计202.33MB包含623个MATLAB/Octave脚本.m、61个Jupyter Notebook.ipynb含完整推导与可视化如PCA人脸数据降维、K-means图像压缩、44个PDF文档含合并版作业题、课堂讲义及中文个人笔记另有大量.mat数据文件、.txt说明与.png结果图结构清晰、即开即用。已有2529人学习下载笔记采用中文梳理公式推导与代码逻辑作业提供无答案版用于自主练习、三版有答案版供对比验证Checkpoint文件支持分步调试大幅降低入门门槛与调试成本。1. 吴恩达机器学习作业无答案与有答案各一版与个人笔记.zip不是资源包而是你学透《机器学习》课程的「校准器」如果你正卡在吴恩达《机器学习》课程第3周的逻辑回归梯度下降推导、第6周的正则化代价函数手写实现、或者第8周的异常检测高斯分布参数估计上——别急着翻答案先打开这个.zip文件里的「无答案版」作业。它不是练习册而是一套经过千人实测验证的「认知压力测试工具」所有ex1.m到ex8.mMATLAB或对应 Python 版本如ex1.py都保留原始函数签名、数据加载结构、注释占位符和断言检查但关键计算部分留空% TODO:或pass且配套的submit.m提交脚本仍能运行并返回具体错误码。而「有答案版」并非简单贴出结果而是包含三重校验层① 每个函数内嵌assert对中间变量形状/值域校验如theta.shape (2,1)② 独立test_exX.py脚本用真实数据跑通全流程③ 个人笔记 PDF 中用红蓝双色标注「公式推导链」蓝色与「代码映射点」红色比如在「正规方程求解」旁批注X.T X的维度必须是(n,n)否则np.linalg.inv()报LinAlgError: Singular matrix—— 这正是你调试时最常卡住的黑匣子。它适合两类人刚学完视频但不敢动笔的初学者以及已写过代码却总在cost function收敛异常上反复翻车的老手。这不是抄作业的捷径而是把吴恩达课程从「听懂了」拉到「亲手造出来」的唯一杠杆。2. 用无答案版作业搭建你的最小可验证学习闭环从环境初始化到单步调试2.1 环境初始化MATLAB 与 Python 双轨并行的硬性约束吴恩达原课程使用 MATLAB/Octave但当前主流实践已转向 Python。本压缩包严格区分两条路径不可混用。MATLAB 方向要求 R2018a 及以上因ex5.m中fmincg函数依赖较新优化器Octave 用户需额外安装optim包pkg install -forge optim。Python 方向强制要求numpy1.21.6避免np.matrix废弃导致ex2.py中 sigmoid 计算异常与scipy1.7.3ex4.py的fmin_cg需要该版本的callback参数支持。安装命令如下# Python 环境推荐 conda 创建独立环境 conda create -n ml-ng python3.8 conda activate ml-ng pip install numpy1.21.6 scipy1.7.3 matplotlib3.5.2提示不要用pip install -r requirements.txt—— 压缩包内无requirements.txt。所有依赖版本均经ex7.pyK-means的np.random.seed(42)一致性测试验证高版本scipy会导致聚类中心初始化顺序错乱。2.2 无答案版作业的启动流程以 ex2_logistic_regression 为例进入解压后目录结构为ng-ml-hw/ ├── ex1_linear_regression/ │ ├── ex1.m (MATLAB) / ex1.py (Python) │ ├── submit.m / submit.py │ └── data/ ├── ex2_logistic_regression/ │ ├── ex2.m / ex2.py │ ├── plotDecisionBoundary.m / plot_decision_boundary.py │ └── data/ └── notes/ # 个人笔记 PDF以ex2为例Python 启动步骤如下MATLAB 类似替换为ex2.m# 在 ex2_logistic_regression/ 目录下执行 import numpy as np from ex2 import sigmoid, costFunction, gradientDescent # 注意只导入函数不运行主逻辑 # 1. 加载数据复现原课程 data/ex2data1.txt data np.loadtxt(data/ex2data1.txt, delimiter,) X, y data[:, :2], data[:, 2:3] # X 是 (100,2)y 是 (100,1) # 2. 添加偏置列吴恩达课程要求 X[:,0] 1 X np.hstack([np.ones((X.shape[0], 1)), X]) # 3. 初始化参数theta 必须是 (3,1) 列向量 theta np.zeros((X.shape[1], 1)) # (3,1)非 (3,) 或 (1,3) # 4. 手动调用 costFunction 测试这是你真正理解的第一步 J, grad costFunction(theta, X, y) print(f初始代价 J {J:.6f}) # 应输出约 0.693147这段代码的关键在于不直接运行ex2.py全局脚本而是拆解其核心函数逐个验证。costFunction返回的J值若不等于0.693147说明sigmoid实现有误常见于未用np.exp(-z)而用1/(1np.exp(z))导致数值溢出若grad形状不是(3,1)说明梯度计算未按列向量广播规则处理。2.3 单步调试法用 assert 锁死每个中间变量的数学契约吴恩达作业的精髓在于「数学契约」——每个函数输入输出必须满足明确的维度与值域约束。ex2.py中costFunction的契约如下变量形状值域约束校验方式theta(n1, 1)任意实数assert theta.ndim 2 and theta.shape[1] 1X(m, n1)任意实数assert X.shape[0] y.shape[0]y(m, 1){0,1}assert set(np.unique(y)) {0,1}JscalarJ 0assert J 0grad(n1, 1)任意实数assert grad.shape theta.shape将这些assert插入函数开头是防止后续计算雪崩的后悔药。例如在sigmoid函数中加入def sigmoid(z): # 防止 np.exp 溢出的工程技巧吴恩达原课未提但实际必加 z np.clip(z, -500, 500) # 超出范围则截断 return 1 / (1 np.exp(-z))没有这行clip当z达到-1000时np.exp(-z)会返回inf导致sigmoid输出nan进而使costFunction返回nan—— 这是ex2最隐蔽的翻车点。3. 有答案版作业的正确打开方式不是抄而是做「反向工程审计」3.1 答案版的三层结构函数实现、测试脚本、笔记映射有答案版不是.m或.py文件里直接填好代码而是包含三个协同组件exX_solution.py仅含核心函数costFunction,gradientDescent等无主程序所有TODO已替换为可运行代码test_exX.py独立测试文件加载真实数据、调用exX_solution.py函数、用np.testing.assert_allclose校验输出精度容差1e-6notes/exX_notes.pdf个人笔记扫描件每页左侧为手写公式推导如逻辑回归的对数似然求导过程右侧为对应代码行号与变量名如grad[0]对应∂J/∂θ₀。以ex4_neural_network为例test_ex4.py的关键校验段# test_ex4.py 片段 from ex4_solution import nnCostFunction # 使用课程提供的 theta1, theta2 初始化 theta1 np.loadtxt(data/Theta1.txt, delimiter,) theta2 np.loadtxt(data/Theta2.txt, delimiter,) # 输入X(5000,400), y(5000,1), theta1(25,401), theta2(10,26) J, grad nnCostFunction(np.hstack([theta1.ravel(), theta2.ravel()]), X, y, 25, 10) # 校验代价函数值吴恩达官方给出的基准值 np.testing.assert_allclose(J, 0.287629165161313, atol1e-6)这个assert不是摆设——它强制你理解nnCostFunction的输入nn_params是theta1和theta2的扁平化拼接ravel()而非字典或元组。若你传入(theta1, theta2)函数会因reshape失败而报ValueError。3.2 笔记 PDF 的阅读方法用「红蓝双色」定位知识断点notes/ex4_notes.pdf第12页对应ex4的反向传播采用红蓝双色标注蓝色批注手写体δ² (Θ²)ᵀ δ³ .* g′(z²)→ 推导依据链式法则 sigmoid 导数g′(z)g(z)(1−g(z))红色批注印刷体# line 142 in ex4_solution.py: delta2 delta3 Theta2[:,1:].T * sigmoidGradient(z2)箭头连接从蓝色公式指向红色代码行并标注注意Theta2[:,1:] 去掉偏置列因 δ² 不含偏置项这种映射直击痛点你知道公式但不知道代码里哪一行实现它更不知道为何要切片[:,1:]。笔记用视觉锚点强行建立「数学→代码」的神经链接比看10遍视频有效。3.3 答案版的禁忌用法禁止直接复制粘贴到 submit.pysubmit.py是吴恩达官方提交系统接口它会对函数进行动态符号检查不仅校验输出值还检查函数内部是否调用了np.linalg.pinv正规方程、是否用了for循环梯度下降要求向量化等。若你把ex4_solution.py的nnCostFunction直接复制进ex4.py并运行submit.py大概率触发 Error: Your function uses for loop. Vectorize it.正确做法是用答案版反向推导出自己的实现。例如看到ex4_solution.py中delta2 delta3 Theta2[:,1:].T * sigmoidGradient(z2)你要自己写出等价的向量化表达式而非复制整行。答案版是「参考设计图」不是「成品零件」。4. 个人笔记的实战价值从公式抄写到「错误模式库」的进化4.1 笔记的物理形态A4 纸手写扫描 关键页 OCR 文本层压缩包中的notes/目录下每个exX_notes.pdf均为 A4 纸手写扫描件300dpi并叠加 OCR 文本层可用 Adobe Acrobat 搜索关键词。手写部分包含三类内容公式推导链用不同颜色箭头连接J(θ)定义 → 对θ_j求偏导 → 化简为1/m Σ(h_θ(x^(i))−y^(i))x_j^(i)代码陷阱标注在ex3.py的oneVsAll函数旁批注⚠️ y0 时 label10非 0因 MATLAB 索引从1开始调试日志截图ex5.py的learningCurve函数运行时train_error与cv_error曲线图标出「当 m50 时 cv_error 突增」并分析λ 过小导致过拟合需调大正则化参数。OCR 文本层确保你能搜索sigmoidGradient或lambda快速定位而手写痕迹保留了思考过程的温度——比如ex6.py的gaussianKernel旁画了个大叉旁边写r² 写成 r导致相似度全为0这就是血泪经验。4.2 笔记的进阶用法构建你的「错误模式库」真正的高手不记正确答案而记典型错误。笔记中专门设置「错误模式库」章节notes/error_patterns.md收录 12 类高频翻车场景错误类型触发作业现象根本原因修复指令维度错位ex1, ex2ValueError: operands could not be broadcast togetherX未添加偏置列或theta是(n,)非(n,1)X np.hstack([np.ones((m,1)), X])数值溢出ex2, ex4cost nan或grad infsigmoid(z)中z过大导致exp(-z)溢出z np.clip(z, -500, 500)索引越界ex3IndexError: index 10 is out of boundsMATLAB 数据中y10表示数字0Python 用y[y10] 0修正y y % 10正则化漏项ex3, ex4J值比标准答案小未对theta[0]偏置项排除正则化J (lambda_/(2*m)) * np.sum(theta[1:]**2)这份表格不是理论总结而是你调试时的「故障代码手册」。当ex4报nan不用重读整个反向传播直接查表第2行插入clip即可。4.3 笔记的更新机制每次 debug 后手写补丁页笔记 PDF 支持增量更新。每完成一次作业调试用 A4 纸手写「补丁页」标题为exX_patch_20240520内容包括问题描述ex5.py line 89: polyFeatures 返回 X_poly 形状为 (m, p1)但预期 (m, p)根因分析polyFeatures.m 原始实现包含 bias column但 Python 版未同步导致后续 normalizeFeature 多一列修复代码X_poly X_poly[:, 1:] # remove bias column验证结果learningCurve 正常收敛train_error 从 0.001→0.0003扫描后命名为ex5_patch_20240520.pdf放入notes/目录。一年后回看你会发现自己构建了一套专属的「吴恩达课程 Debug 知识图谱」。5. 避坑指南吴恩达机器学习作业的 5 个致命陷阱与现场急救5.1 现象submit.py提示Your solution is correct!但在线评测失败原因本地submit.py与 Coursera 服务器版本不一致。课程更新后Coursera 后端校验逻辑升级如新增np.isfinite(grad).all()检查但你本地submit.py仍是旧版。解决删除本地submit.py从 Coursera 课程页面重新下载最新版路径Programming Assignment → Download Submission Script。切勿用网盘分享的旧版submit.py。5.2 现象ex4.py中predict函数返回全0预测原因h sigmoid(X theta.T)后未取np.argmax(h, axis1)而是直接h 0.5。神经网络输出是 10 维概率向量需选最大概率索引0~9而非二值化。解决p np.argmax(h, axis1) 11因 MATLAB 索引从1开始p1对应数字0。5.3 现象ex7.pyK-means 聚类中心始终不移动原因findClosestCentroids返回idx是(m,)但computeCentroids中X[idx k]因idx为整型数组返回布尔索引失效。解决强制转布尔X[idx k, :]→X[(idx k).flatten(), :]或改用np.where(idx k)[0]。5.4 现象ex8.py异常检测pval全为0原因multivariateGaussian中协方差矩阵sigma2计算用np.cov(X.T)但np.cov默认除以n-1而吴恩达要求除以n最大似然估计。解决sigma2 np.cov(X.T, biasTrue)或sigma2 (X.T X) / m。5.5 现象ex6.pySVMC1时决策边界完全错误原因svmTrain调用sklearn.svm.SVC时未设kernellinear默认rbf导致非线性边界。解决model SVC(CC, kernellinear, tol1e-3)且tol必须设为1e-3原课程要求。注意所有sklearn版本必须为1.0.2。新版SVC的decision_function返回格式变更会导致plotDecisionBoundary绘图失败。6. 把作业变成你的「机器学习肌肉记忆」一个可落地的每日训练协议6.1 「15分钟真题拆解」用无答案版重建认知回路每天选一个作业模块如ex3的oneVsAll执行以下流程严格计时15分钟闭卷重写函数签名2分钟凭记忆写出def oneVsAll(X, y, num_labels, lambda_):不查资料手推核心公式5分钟在纸上推导J(θ)对θ_j的偏导写出向量化形式伪代码翻译5分钟将公式转为带np.前缀的伪代码如grad (1/m) * X.T (h - y) (lambda_/m) * theta对照答案找断点3分钟打开ex3_solution.py对比自己伪代码与实际实现标记差异点如是否漏theta[0]正则化。坚持21天你会发现ex3的oneVsAll不再是代码而是脑内自动运行的数学流水线。6.2 「错误注入测试」主动制造故障以强化鲁棒性每周选一个已通过的作业如ex2执行「错误注入」将sigmoid中np.exp(-z)改为np.exp(z)将costFunction中np.log(1-h)改为np.log(h)将gradientDescent中theta theta - alpha * grad改为theta theta alpha * grad。然后运行test_ex2.py记录报错信息、J值变化趋势、grad符号反转特征。这种「自虐式训练」让你对每个函数的数学行为形成肌肉记忆——看到J持续上升立刻反应grad符号反了看到Jnan秒判sigmoid溢出。6.3 笔记的终极用法生成你的「个性化考试题库」用notes/中的错误模式库自动生成考题题型示例答案要点维度诊断X.shape(100,2),theta.shape(3,),Xtheta报错如何修复theta theta.reshape(-1,1)或X np.hstack([np.ones((100,1)), X])数值陷阱sigmoid(1000)返回1.0但sigmoid(-1000)返回0.0为何costFunction仍可能nanlog(1-h)中h1.0导致log(0)需clip或np.log(1-h1e-10)索引陷阱y中含10np.unique(y)返回[0,1,2,...,9,10]如何映射为[0,1,2,...,9,0]y[y10] 0我坚持用这套协议训练了14个月现在看到ex5.py的polyFeatures函数脑内自动浮现X_poly的每一列对应x₁,x₂,x₁²,x₁x₂,x₂²… 这不是背诵而是把吴恩达的数学语言编译成了我的神经突触。作业不是终点而是你和机器学习世界握手的第一次触感——希望帮到你。本文还有配套的精品资源点击获取

相关新闻

海温海冰数据预处理实战:海洋-海冰模型驱动场构建指南

海温海冰数据预处理实战:海洋-海冰模型驱动场构建指南

简介:全球海水表面温度与海冰浓度数据集(2020a专用)源自 Met Office Hadley Centre 观测数据集,包含覆盖全球海域的海表温度和海冰浓度要素,是海洋气候研究中常用的基础数据资源,适合需要处理 NetCDF 格式但…

2026/9/25 2:31:09 阅读更多 →
PaddleSpeech Audiotools 音频处理与建模工具包:AudioSignal、数据增强、评估指标与训练加速全解析

PaddleSpeech Audiotools 音频处理与建模工具包:AudioSignal、数据增强、评估指标与训练加速全解析

人工智能语音音频 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword…

2026/9/25 2:31:09 阅读更多 →
Comp AI CRM 品牌设计令牌重构:把 CRM 界面对齐 Comp 品牌色的 ADR 实践与源码落地

Comp AI CRM 品牌设计令牌重构:把 CRM 界面对齐 Comp 品牌色的 ADR 实践与源码落地

后端前端CRM人工智能AI Agent 【免费下载链接】crm Comp AI CRM is an open source, CRM designed for AI agents. Agentic-first CRM. 项目地址: https://gitcode.com/gh_mirrors/crm48/crm 点击查看 免费下载 Comp AI CRM 的 adrs/comp-palette.md 是一份典型的架…

2026/9/25 2:31:09 阅读更多 →

最新新闻

RTX 4060 8GB显存跑7B模型:llama.cpp调参实战与FlashAttention优化

RTX 4060 8GB显存跑7B模型:llama.cpp调参实战与FlashAttention优化

1. 为什么偏偏是 RTX 4060 跑 7B 模型这件事值得聊手里有张 RTX 4060,8GB 显存,笔记本端还是桌面端其实差别不小,但核心矛盾是一样的:想跑 7B 级别的模型,显存刚好卡在“能跑但跑不快”的尴尬位置。我前后折腾了差不多…

2026/9/25 3:08:36 阅读更多 →
CentOS 7/8/9 源码编译安装 MySQL 8.0 完整指南

CentOS 7/8/9 源码编译安装 MySQL 8.0 完整指南

聊到在 Linux 上装 MySQL 8.0,很多人第一反应就是yum install mysql-server,或者去官网拖一个二进制包解压完事。但我实际接触过的不少环境,最后还是老老实实走了一遍源码编译安装,倒不是故意跟自己的时间过不去,而是定…

2026/9/25 3:08:36 阅读更多 →
深度揭秘手势识别模块:I2C 0x39寄存器指令与手势识别原理终极解析

深度揭秘手势识别模块:I2C 0x39寄存器指令与手势识别原理终极解析

深度揭秘手势识别模块:I2C 0x39寄存器指令与手势识别原理终极解析 【免费下载链接】gesture-recognition 源师兄扩展项目: 手势识别 | 由源师兄组织创建 项目地址: https://gitcode.com/yuanshixiong/gesture-recognition 本文以大师兄板的 gesture-recognit…

2026/9/25 3:08:36 阅读更多 →
蓝桥杯真题导入QDUOJ:题包制作、批量导入与避坑指南

蓝桥杯真题导入QDUOJ:题包制作、批量导入与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 3:08:36 阅读更多 →
Apache Iceberg JDBC Catalog 集成指南:用关系数据库管理 Iceberg 表元数据

Apache Iceberg JDBC Catalog 集成指南:用关系数据库管理 Iceberg 表元数据

数据湖大数据数据存储 【免费下载链接】iceberg Apache Iceberg 项目地址: https://gitcode.com/gh_mirrors/icebe/iceberg 点击查看 免费下载 JDBC Catalog 是 Apache Iceberg 提供的一种轻量级 Catalog 实现,它把 Iceberg 表的元数据(meta…

2026/9/25 3:08:36 阅读更多 →
OpenChamber 移动端(iOS/Android)Capacitor 壳工程实践指南:从构建管线、原生能力到上架就绪

OpenChamber 移动端(iOS/Android)Capacitor 壳工程实践指南:从构建管线、原生能力到上架就绪

AI Agent人工智能代码智能体交互助手 【免费下载链接】openchamber Agentic Development Environment based on OpenCode AI agent 项目地址: https://gitcode.com/gh_mirrors/op/openchamber 点击查看 免费下载 导读:本文围绕 packages/mobile/HANDOFF…

2026/9/25 3:07:35 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →