- 博客(4138)
- 收藏
- 关注
原创 PHP SOAP 扩展漏洞 CVE-2026-6722 影响范围判定与升级清单
这与"回归修复"有本质区别——回归修复只对出现问题的那几个版本有意义,而长期存在的缺陷则覆盖了所有包含该代码的版本。PHP 官方对版本的维护是分阶段的:每个大版本有固定的活跃支持期和安全支持期,到期后即进入终止支持状态。安全领域的通行做法是把"未验证"当作"不安全",而不是当作"安全"。此外还有一个常被忽略的点:即便当前项目没有使用 SOAP 扩展,运行在终止支持版本上的系统依然暴露在其他历史累积的缺陷之中。因此,“未列出"并不等于"不受影响”,它更常见的含义是"不在支持范围内,未做验证,也不会修"。
2026-11-08 02:32:04
2
原创 Node.js ORM 工具类持有共享状态引发的查询串扰
自己写一个轻量的 MySQL ORM 时,很容易把 SQL 的各个片段(条件、排序、分页)作为实例属性攒起来,最后拼装。这样的类在单请求下工作正常,一旦并发就会出现条件串到别人查询上的诡异结果。
2026-11-08 02:30:16
2
原创 Jupyter内联绘图尺寸过小的调整方法
如果在创建画布之前就设了尺寸,或者在绘图函数内部临时设了尺寸,前者不生效,后者可能被后续的布局覆盖。直接调用绘图函数时,它会自己建一个默认尺寸的画布,此时你设的尺寸作用在另一个对象上,自然看不到效果。于是在同一个会话里,先画的图还是老尺寸,后画的才是新尺寸,看起来像是"改了一半"。想一次性改掉默认值,不知道改哪里,改了之后新图生效旧图不生效,看起来像是没生效。容器类布局函数也接受尺寸参数,但它们的参数是高度乘以宽度,和画布尺寸的宽乘以高顺序相反,这一点很容易写反,写反之后得到一张又高又窄的怪图。
2026-11-08 02:28:16
2
原创 Spark中按分组取第一行或TopN的多种写法
如果在同一层里既取最大值又取类别,类别走的是另一个聚合路径,两者没有关联,得到的是各自独立的极值,组合起来就可能是现实里不存在的行。这是窗口函数的典型用法:它在不减少行数的前提下给每行附加一个基于组内位置的数值,因此可以既保留原始列,又知道这一行在组内的排名。分区和排序是两件事,缺一不可。本意是每组取一条,结果某些组出现了两条甚至更多,原因是该组里有两个类别碰巧数值相同,并列第一,于是都保留了。还有人用聚合函数取最大值,得到的结果里数值对了,但类别名不对——类别显示的是一个奇怪的值,和那个最大值并不对应。
2026-11-08 02:26:01
2
原创 含自定义子层的 tf.keras.Sequential 能否完整序列化——U-Net 解码块
只是把类登记进全局表,前提是定义它的模块已经被导入。键名的形式是包名>注册名,与装饰器里的package和name一一对应。若只需要恢复权重、不需要完整图结构,也可以先构造模型、跑一次前向让它建好变量,再用只导入权重。
2026-11-08 02:24:01
2
原创 Node.js 读写 PHP 序列化数据的完整闭环
这一步得到的 PHP 格式字符串是对的,但还需要再编成 base64 才能按原来的格式存回数据库。很多人的思路卡在这里:一直在找"某种能直接生成目标格式的函数",但只要把它拆成两个环节,答案就非常朴素——序列化和 base64 编码都是各自独立的标准操作。既然读的时候是"先解 base64、再反序列化",写的时候就必须是"先序列化、再编 base64",顺序严格相反。,而不是数字或布尔。如果需要双写过渡期,可以保留原列不动,新增一列 JSON,两套都写,确认无误后再切换读取来源。,结果拿到的是乱码或错误。
2026-11-07 02:30:52
4
原创 MySQL 行转列——按另一张表的取值决定多个列的更新
要把table1里A到E这五列,按"该型号在table2里有没有出现过对应字母"逐列置成Y或NULL,难点不在UPDATE,而在于——你无法用行转列函数处理列名,得反过来把行转成列。
2026-11-07 02:29:13
305
原创 NumPy 中 flatten 与 ravel 的差别
对于不连续的数组,例如转置后的矩阵、按列切片的数组,一维视图无法用单一线性步长表达,此时 ravel 只能退化为复制。无论原数组是否连续,代价都是 O(n) 的时间和一份等量的额外内存。它的原则是「能用视图就用视图,不能用就报错」,比 ravel 更严格,因为 ravel 在不能视图时会静默复制,而 reshape 会明确失败或者在参数允许时才复制。比如对一个转置后或者切片步长不为 1 的数组做展平,ravel 有时会悄悄复制,此时它返回的又不是视图了,之前依赖「改视图能改原数组」的代码失效。
2026-11-07 02:27:38
5
原创 Kafka 消息是否必须带键与保留策略的关系
第二条是压缩,它保留每个键的最新值、删除更早的同键记录,这条路径必须有键,因为没有键就无法判断哪两条记录指同一个实体。需要压缩语义时,键是硬前提。这样的结果是消息均匀铺开到各个分区,吞吐好,但同一个业务实体的消息可能落到不同分区,消费端就看不到它们之间的相对顺序。如果某个键的值特别多,例如用国家代码做键,热点分区会拖慢整体消费,此时可以考虑在键后拼接分片后缀,把热点拆开,代价是同一实体的顺序保证范围被缩小到分片内。不带键时偶尔能看到顺序错乱,加了键之后就好了,但说不清为什么,也不知道这个保证的边界在哪里。
2026-11-07 02:25:33
5
原创 单变量逻辑回归 IRLS 在大规模重采样下的加速策略
有一个随机森林式的分类流程:构造 N 棵三层决策树,每棵树的三个节点分别对应变量 x1、x2、x3,每个节点的数据都从一个超大数据集里随机重采样(例如每类 5000 条)。于是总共要跑 3N 次单变量逻辑回归。用 Cython 实现的 IRLS(带 Firth 修正以应对线性可分带来的偏差)比 sklearn 快好几倍,但 profiling 显示 36335 次调用仍占总耗时的 50%。
2026-11-07 02:23:43
8
原创 Maven 构建解析器不识别新语法导致编译失败的对策
但这里升级无效,因为问题不在插件版本,而在插件依赖的那个解析库版本。为了判断哪些文件需要重新编译、哪些可以跳过,插件需要读取源文件的信息:包名、导入的类、模块声明、类之间的引用关系。还有一种可能值得排除:如果这个源文件根本不参与编译(比如被放在错误的目录、或者模块名配置有冲突),那么解析报错可能只是流程中的一个副作用,而非真正的问题根源。这一点在排查时要特别注意——如果升级了所有能升级的东西还是同样的报错,那基本可以排除"版本太旧"这个方向,应该往依赖树的更深处找。增量编译的依赖分析是解析源码的主要动机。
2026-11-06 02:29:37
8
原创 MySQL 统计并发资源最大同时使用数的 SQL 写法
软件授权校验经常需要回答一个问题:同一时刻最多有多少个资源在同时使用。资源占用记录是若干条起止时间区间,同一资源的区间可能互相重叠,直接 count 会把重叠算重。这类"区间并发峰值"问题在 SQL 里有标准的解法:事件网格加 gaps and islands。
2026-11-06 02:27:51
6
原创 MySQL 1055 报错与 only_full_group_by 的成因
写这段语句的人本意是「按证明类型去重,每种类型留一条记录」,在旧版本里确实能跑,于是惯性认为语法没问题。这个开关的作用是:SELECT 列表里出现的非聚合列,必须全部出现在 GROUP BY 里,或者能从 GROUP BY 的列函数推导出来。回到这条语句,SELECT 列表里有 id、user_id、bill_id、file_name 等十几个列,GROUP BY 只有 proof_type 一个列。第一条路,如果业务语义确实是「每个 proof_type 只留一条」,那么必须明确指定留哪一条。
2026-11-06 02:25:50
6
原创 批处理脚本获取命令行参数的完整方式
批处理在参数解析上的表达能力有限,若需要「命名参数」「默认值」「布尔开关」,建议迁移到 PowerShell 或 Python。会被解析成「取第 1 个参数,后面拼接字符 0」,而不是「取第 10 个参数」。现象五:处理完前几个参数之后想取剩下的全部,发现命令行里根本没有类似「从第 n 个参数开始取到末尾」的写法。现象四:想遍历所有参数,写了个循环从 1 数到某个固定值,结果多传少传都会出问题,还不知道参数总共有几个。表示「取第 1 个参数并去掉外层引号」,既能处理带空格的路径,又能在循环里逐项消费参数。
2026-11-06 02:24:01
6
原创 三种图像相似度比较算法的取舍
图像中边缘、角点这类区域的信息量远高于平坦区域,只提取这些「重要位置」并用局部邻域构建描述子,就天然具备了对尺度、旋转、光照的不变性——因为描述子是在尺度空间提取并按主方向归一化的。它的鲁棒性最好,代价是提取和匹配都比较昂贵:朴素实现下,若每张图有 n 个关键点、库里有 m 张图,暴力匹配的复杂度约为 O(n²m),需要配合四叉树、二叉空间划分等索引结构才能实用。现象三:图像有轻微旋转或颜色偏移,肉眼看上去完全一致的两张图,算法给出的相似度却低得离谱,业务上不断误报「不是同一张」。代价是实现难度最高。
2026-11-06 02:22:10
5
原创 Laravel 12 中 CORS 预检失败的排查与配置要点
第三,中间件本身是否生效。Laravel 12 默认已在全局中间件栈里注册了处理 CORS 的中间件,但如果项目自定义了全局栈、或者中间件的注册顺序被调整,预检请求可能在到达它之前就被别的中间件(例如某些认证中间件)拦掉了。下的一层,且要与实际的请求前缀完全一致。,无论服务端返回什么头它都照单全收,所以它能通过完全不能作为 CORS 配置正确的证据。,才会继续发真正的请求。之后,如果之前执行过配置缓存,新配置不会立即生效,读到的仍是缓存里的旧值。是两个不同的 origin,端口不同也算不同,需要逐个列出。
2026-11-05 02:31:59
5
原创 MySQL 根据中间表标签集合匹配批量回填多语言字段
一套老的双语标签系统里,英文标签和西文标签被拆成了两套完全独立的记录,只通过"分类编号相差 10"和"挂在相同的对象集合上"产生间接关联。现在要把西文名称回填到英文标签行上,手工处理 6000 条记录不现实,得用中间表的集合相等关系来自动配对。
2026-11-05 02:29:40
5
原创 Matplotlib 绘制二维热力图的三种方式
选不同的映射表,同一份数据会呈现完全不同的观感:有的从黑到红再变白,适合表现强度;这个函数原本是给照片用的,为了让放大后的图像不出现马赛克,它默认在像素之间做平滑计算。要让坐标轴显示物理量,需要用范围参数显式给出左、右、下、上四个边界值,否则读图的人只能看到序号。此时改用对数或分位数归一化,把颜色资源分配给真正有差异的区间,同时务必在颜色条上标明映射方式。多数图像函数默认把第一行画在最上方,这个默认行为一旦与预期不符,整张图看起来就像上下翻转了。缺点是对数据量较大的矩阵,标注会挤成一团,此时应关掉标注。
2026-11-05 02:27:56
5
原创 批处理for循环的数值迭代写法
批处理对括号内的换行、变量展开时机都有特殊规则,这也是延迟展开问题的高发区。现象三:循环体里想执行多条命令,直接把第二行换行写,结果只有第一行被当作循环体,其余命令在循环结束后只执行一次,逻辑完全错乱。适用场景:需要在每轮里做若干操作,比如批量重命名、按序号拷贝文件、依次调用子任务。适用场景:循环层数多、需要字符串格式化与异常处理、或者要与其他系统交互的任务。适用场景:任何需要在循环里累加、拼接字符串、或者根据上一轮结果做判断的场景。,循环要么不执行,要么只跑一轮,参数个数不对时解析器给出的提示毫不直观。
2026-11-05 02:25:36
4
原创 tf.data map 里加了 Python 函数就变慢——并行化与向量化的正确用法
tf.data管线里往map()塞了一个只做x * 2的小函数,训练就明显变慢。函数本身几乎不耗算力,慢的是调用方式。
2026-11-05 02:23:22
321
原创 JavaScript 正则中点号漏掉的四个行终止符与全匹配写法
这就解释了那种「不对称」的观感——它不是针对 U+2028/U+2029 的特例,而是「行终止符」这个集合本身的边界。匹配:U+0085(NEL)、U+00A0(不换行空格)、U+FEFF、各种零宽字符都属于。只是一个字符转义,严格代表 U+000A 这一个码点,并不代表「任意换行」。标志让点号连行终止符一起匹配,这是语言层面给出的正解,比任何字符类技巧都直白。只匹配「换行」而不匹配其他东西时用这种写法,比笼统的「任意字符」更可控。的定义是「匹配除行终止符以外的任意字符」,所以它排除的是。
2026-11-04 02:31:43
7
原创 MySQL 存储过程中 CASE 表达式混用导致的 1064 语法错误
在存储过程里写批量时区换算,把CASE表达式直接放进子句,执行时报 1064 语法错误,提示位置指向as 'offz'。错误本身不在 CASE 的判断逻辑,而在三个语法细节上。
2026-11-04 02:29:41
136
原创 Matplotlib 散点图标记尺寸 s 参数的单位与换算
对应的不是 10×10 像素,而是面积为 100 平方点的标记,其边长约 10 点。实际画出来,点明显比 10 像素大得多,而且换一台机器、换一个导出分辨率,同一份代码得到的点大小又不一样。只是正比,并不相等。圆形标记的着色面积是 πr²/4 这样的比例关系,方形是边长的平方,三角形又是另一套系数。下占的像素数不同,但物理尺寸一致——它在屏幕上看差不多大,只是导出图的像素密度变了。文档里的单位写作 pt 的平方,也就是点(point)的平方。至于「按直观感觉线性增长」的映射,实践中更接近人的感知的是。
2026-11-04 02:27:28
7
原创 加自增主键列能否让表满足 2NF——部分函数依赖的本质
一个很诱人的想法:表里有复合主键、又存在部分函数依赖,那我把复合主键约束去掉,加一列自增 ID 当主键,不就"没有部分依赖"了吗?答案是不能——2NF 约束的是,而候选键是一个语义概念,不由你声明哪列是 PRIMARY KEY 决定。
2026-11-04 02:25:24
9
原创 pybind11 返回 torch.Tensor 触发段错误——from_blob 与张量所有权
buf,{batch, neurons, h, w}, // 显式 sizesuint8_t(ptr);}, // 自定义 deleterfrom_blob在不传sizes时无法推断形状,只靠后续reshape极易让元素总数与实际字节数不匹配,这本身就是尺寸敏感崩溃的帮凶。无论走不走零拷贝,都建议显式传sizes与strides。
2026-11-04 02:23:09
10
原创 Java 空指针提示信息中参数名缺失的编译选项根源
这是判断问题出在「编译期没生成」还是「运行期被剥掉」的分水岭:自己编译的类里没有,是方案三的问题;自己编的类里有、只有 JDK 类的消息退化,是方案一的问题。这种带具体变量名的空指针提示,来自 JEP 358 引入的「有用的空指针信息」。它的原理是:JVM 在抛出异常时,分析导致空指针的那条字节码指令,从。在对外接口和关键路径上显式校验并给出有业务含义的消息,比依赖运行时推断的变量名可靠得多。是非常常见的操作,而本地开发用的是完整 JDK,所以两边表现不一致——,JDK 自带类的调试符号就会被剥掉。
2026-11-03 12:28:48
7
原创 MySQL 分组汇总时取组内第一个非空值——NULLIF 配合 MAX 聚合的写法
订单、流水类表里常有这种结构:一个业务编号对应多行记录,金额分散在收入行与支付行,而描述性字段(如商品明细)只在其中一行有值。直接按编号分组聚合时,描述列取到的往往是空字符串甚至 NULL,拿不到想要的那一行。原因出在 GROUP BY 对非聚合列的处理规则上。
2026-11-03 12:27:12
8
原创 JavaScript 对象数组分组求和的实现
每一层都累计自己那一层的和,因此既能拿到 Phase 级总计,也能下钻到 Step 级明细,不必重复遍历。缺点是结构变成嵌套 Map,输出成表格还要再摊平一次,适合需要多层级联动筛选的报表。加二次遍历)在十万条量级上的差距通常在几十毫秒内,真正的瓶颈往往是后面的 DOM 渲染。这是函数式设计的取舍:分组和聚合各自可复用,不强行绑在一起。分组产生的是「键 → 数组」的映射,聚合要对每个数组再做一次 reduce。分两步走,读起来最接近「先分组、再汇总」的思维顺序,适合逻辑要给别人看的代码。
2026-11-03 12:24:54
6
原创 Windows命令行输出彩色文本的两种方式
Windows 10 以下的系统本身不支持 ANSI 颜色,办法是换一个支持它的终端宿主:ConEmu、Cmder、Mintty(Git Bash 与 Cygwin 默认使用的就是它)、或者用 ANSICON 给系统控制台打一层补丁。ANSI 转义序列是终端世界事实上的标准:一串以 ESC 控制字符(码值 27)开头的字符,后面跟上格式参数,终端解析后改变后续输出的显示属性。还有一个必须注意的点:颜色输出到文件时,转义字符会被一并写入,因此脚本里应该先判断输出是否为交互式终端,是才启用颜色。
2026-11-03 12:22:41
103
原创 mlr3 encode 管道误编码目标列——selector 选择器的正确用法
用 mlr3 搭建「由国旗属性推断宗教信仰」的分类流程时,只接受数值型特征,而数据里大量列是 factor,必须在图里插入编码管件。这一步最容易踩的坑不是编码方式,而是选择器把目标列一起选中、又把二值因子列漏掉。
2026-11-03 12:20:17
88
原创 Java 反射读取 TYPE_USE 注解为何在字段上取不到
这样字段和类型上都会落注解,两种读法都能拿到。JSpecify 作为后来的规范选择了更准确的类型层。这些位置用只能标注字段、参数、方法的注解是表达不出来的。空值性是类型系统的一部分,放在类型层才严密。,那唯一不会立刻报错的解释就是「标注类型」,于是 javac 按类型注解处理;(元素可空)在反射里对应的是不同层级,取错层会得到相反结论。Java 消解这个歧义的办法,是去看注解自己的定义:如果。所以 javac 把它解释成类型注解,而不是字段注解。把层级差异收在一处,调用方不必记住每个位置的正确读法。
2026-11-02 11:06:40
297
原创 MySQL WHERE 与 ORDER BY 字段不同导致索引失效——复合索引列序设计
一张五百万行的订单表建了复合索引,按状态过滤再按时间排序的查询走索引、无文件排序;换成按客户过滤、仍按时间排序,执行计划立刻变成全表扫描加。同样的,为什么换个过滤字段索引就"失效"了?
2026-11-02 11:04:41
98
原创 Matplotlib 中 cla、clf 与 close 的区别与选用
为了清理现场,随手加了一句清理调用,下一次运行要么报出对已销毁对象的操作错误,要么整个窗口直接消失,后续的。用错了不会立刻炸,往往在几十轮之后才以「图不对」「内存涨」「窗口没了」的形式暴露出来。这比逐个跟踪引用更省心,代价是会把当前进程所有图形都关掉,因此只适合放在任务边界,不要放在循环内部。,几百轮之后内存占用会明显攀升,并且可能触发「打开的图形过多」的告警。作用于「当前活动图形」,在多图场景下「当前」是谁可能与你以为的不同;引用就悬空了,继续在上面调用绘图方法不会画到你的画布上,甚至可能报错。
2026-11-02 11:02:20
8
原创 MapReduce 在 .NET 中的等价实现与适用场景
查资料看到的例子几乎都是 Hadoop 生态、Java 或者函数式语言,很难找到 C# 对应的写法。如果数据已经超出单机内存、需要容错和多机调度,那么单机 LINQ 就不够了,此时才需要考虑 Hadoop / Spark 这一类分布式计算框架。只要项目里用到了 C# 3.5 及以上版本的 LINQ,就不需要自己实现 Map 和 Reduce 函数。,第二个参数是一个"累加器函数",接收"当前累积值"和"当前元素",返回新的累积值。它听起来很宏大,但落到自己的日常开发里,似乎很少遇到非它不可的情况。
2026-11-02 11:00:25
475
原创 PyTorch 输入与权重设备不一致报错的排查
对于普通张量,搬运返回的是一个新对象,原对象纹丝不动。框架不会自动搬运,因为自动搬运意味着隐式的、昂贵的数据拷贝,与显式的性能设计取向相悖。如果模型在前向过程中临时创建了张量(例如位置编码、掩码、缓存),这些张量不会被模型的搬运操作带走——搬运只作用于已经注册为参数或缓冲区的成员。数据加载器每次吐出的批次,来自数据集对象,而数据集通常是按原始数据的方式构造的,位于内存里。把模型搬到显卡上之后,第一次跑训练循环往往会撞上这样一条报错:输入张量是 CPU 上的类型,而权重是显卡上的类型,两者应当一致。
2026-11-02 10:58:39
7
原创 Java sealed 接口是否带来 JVM 运行时优化
如果发现来了别的实现,JIT 会触发去优化(deoptimization),把已优化的帧退回到解释器状态,重新走一遍慢路径,随后基于新的类型信息重新编译。而 sealed 体系的工作方式与这个模型不兼容:只要某个类型的全限定名出现在允许列表里,任何类加载器都能加载它,哪怕是一个此刻还不存在、之后动态生成的类加载器。它采取的工作方式是:先假设调用点是单态的,生成对应的内联代码;换句话说,JVM 早就用「乐观 + 探测 + 去优化」的机制解决了单态假设的问题,根本不需要 sealed 提供静态保证。
2026-11-01 02:55:30
7
原创 Julia 中 Symbol 与字符串的区别及使用场景
既然要把代码当数据,就必须有一种方式来表示「赋值」「函数调用」这类语法结构,也必须有一种方式来表示代码里的变量。另一种说法强调符号会被「内部化」,即由语言实现统一缓存以便快速比较,但这只是实现层面的优化,即使换一个不做缓存的实现,语言的语义也完全不变。如果列名可能来自外部输入且数量不可控,先用白名单校验,只允许有限的、预先约定的名字通过转换,避免名字池被无限撑大。由语言统一管理的名字池是有成本的,把大量不可控的外部文本转成符号,会不断往池子里塞新条目且难以回收,表现为内存持续上涨。名字程序生成用方案二;
2026-11-01 02:52:08
9
原创 Java 8 用 Stream 转换 Map 值类型的几种写法
的两个参数都是函数:第一个从 Entry 里取键,第二个从 Entry 里算新值。,每次读取时才执行转换函数,不复制数据。需要注意的是:视图是只读的,写入会抛异常;而且转换函数每次访问都会重新执行,转换开销大的场景反而不划算。键一旦被归一化(去空格、转小写、截断),原本不同的键就可能变成同一个,三个参数的合并函数在这种场景下是必需品而不是可选项。的转换不能拆成清晰的「map 阶段 + collect 阶段」,而是要把「保留键」和「转换值」这两件事一起塞进。(比如查不到记录返回空),两个参数的写法会直接崩。
2026-11-01 02:50:02
7
原创 PyTorch 中 train 与 eval 模式的作用与切换
若希望归一化层固定不动(例如在微调小数据集时),除了切换模式,还要把该层参数的梯度标记关闭,并停止其统计量的更新,仅靠切换模式是不够的。同理,只想让部分子模块保持训练行为,可以对这些子模块单独调用设置方法——因为它会递归下发,所以要从目标子模块上调用,而不是从顶层模型上调用。它不会触发任何计算,也不会更新任何参数——启动训练的是优化器与反向传播,触发前向传播的是把模型当函数调用。名字带来的误解,是这里最大的认知成本。模型是由层层嵌套的子模块组成的,设置状态时框架会遍历自身与所有子模块,把标记同步下去。
2026-11-01 02:47:38
8
基于树莓派的嵌入式SLAM与自主导航算法实现
2026-06-20
多关节机器人控制系统与运动规划基础教程
2026-06-20
工业机器人嵌入式功能安全设计与认证基础教程
2026-06-20
PLC与软PLC控制系统开发实战基础教程
2026-06-20
PLC与软PLC控制系统开发入门基础教程
2026-06-19
智能机器人嵌入式SLAM与自主导航算法实现基础教程
2026-06-19
嵌入式系统EMC设计实战基础教程
2026-06-19
机器人控制系统与运动规划实战基础教程
2026-06-19
汽车电子嵌入式功能安全设计与认证基础教程
2026-06-19
从零开始掌握C#全栈开发资源包基础教程
2026-06-14
JavaScript全栈工程化与性能调优实战基础教程
2026-06-14
计算机二级通关宝典:程序设计基础教程
2026-06-14
电赛智能车硬件设计与控制算法调试基础教程
2026-06-14
Go语言高并发与云原生项目实战基础教程
2026-06-14
精通美赛建模工具包的实用技巧基础教程
2026-06-14
ACM算法模板与竞赛实战进阶基础教程
2026-06-14
毕业设计全流程资源包高效实战基础教程
2026-06-14
SQL实战进阶:从零到精通基础教程
2026-06-14
PHP开发与安全防护实战基础教程
2026-06-14
计算机二级C语言编程通关宝典基础教程
2026-11-07
MySQL SQL实战进阶性能调优基础教程
2026-11-06
JavaScript全栈工程化与性能调优实战基础教程
2026-11-05
PHP开发与安全防护实战入门基础教程
2026-11-04
基于C#全栈开发资源包的现代化Web应用实战基础教程
2026-11-02
Go语言高并发与云原生项目实战入门基础教程
2026-11-01
TypeScript类型系统与全栈项目实战基础教程
2026-10-31
嵌入式开发:RTOS实时操作系统多任务实战基础教程
2026-10-23
嵌入式Linux驱动开发实战入门基础教程
2026-10-22
嵌入式GUI与显示方案实战LVGL基础教程
2026-10-21
软考全科备战资源包实战演练与通关基础教程
2026-10-19
CISP-CSE注册云安全工程师备考资源包入门基础教程
2026-10-18
软考全科备战资源包自动化构建基础教程
2026-06-20
嵌入式系统EMC设计基础教程
2026-06-20
Go语言高并发与云原生项目实战之实时数据处理基础教程
2026-06-20
SQL实战进阶完全指南基础教程
2026-06-20
JavaScript全栈工程化与性能调优基础教程
2026-06-20
PHP开发与安全防护实战入门基础教程
2026-06-20
C#全栈开发资源包从零到精通基础教程
2026-06-20
深入浅出TypeScript类型系统与全栈项目基础教程
2026-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅