<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pdd55772233的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pdd55772233</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pdd55772233]]></copyright><item><title><![CDATA[抖音信息平台公开算法详解]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/150145253</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/150145253</guid><author>pdd55772233</author><pubDate>Sun, 10 Aug 2025 12:18:44 +0800</pubDate><description><![CDATA[摘要： 抖音算法以用户行为预判为核心，通过100+互动指标（完播率、收藏率等）评估内容价值，采用多目标平衡机制和流量池递进规则推荐内容。创作需注重3秒钩子设计（情绪/价值/好奇）、行为引导（评论/收藏）和内容结构化（短视频强节奏、中长视频三段式）。运营需优化冷启动、数据复盘并善用平台工具，同时规避营销过度等风险。不同赛道需针对性设计，如知识类侧重收藏复访，母婴类强化痛点共鸣。合规与长期价值是关键，算法本质是“人性计算器”，需平衡短期爆款与可持续增长。]]></description><category></category></item><item><title><![CDATA[为什么git的内容完整性要优于SVN]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/149401441</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/149401441</guid><author>pdd55772233</author><pubDate>Wed, 16 Jul 2025 16:21:16 +0800</pubDate><description><![CDATA[Git通过SHA-1哈希算法确保数据完整性，相比SVN具有显著优势。每个文件/提交生成唯一哈希值，可检测篡改并提供防篡改保护。作为分布式系统，Git每个克隆都是完整备份，避免SVN中央服务器单点故障风险。哈希算法还能校验传输数据，防止损坏，并实现高效去重存储。虽然SHA-1存在理论碰撞风险，但Git的安全措施有效缓解，并计划迁移至更安全的算法。这些机制使Git在内容完整性和容错性上优于SVN。]]></description><category></category></item><item><title><![CDATA[Express支持高并发的本质原理和Java的对比]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/149290499</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/149290499</guid><author>pdd55772233</author><pubDate>Sat, 12 Jul 2025 10:45:19 +0800</pubDate><description><![CDATA[Node.js（Express）的高并发能力源于其单线程事件循环与非阻塞I/O的设计。主线程不阻塞等待I/O操作，而是通过Libuv库利用操作系统内核的多线程/异步I/O能力处理并发请求。相比传统多线程模型（如Java Servlet）的线程开销和上下文切换问题，Node.js的内存开销更低，CPU利用率更高。现代Java框架（如Netty/WebFlux）也采用类似的事件驱动模型，与Node.js性能相当。Node.js适合I/O密集型场景，但CPU密集型任务会阻塞事件循环，需使用Worker Threa]]></description><category></category></item><item><title><![CDATA[angular项目路由转换scss踩坑]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148582855</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148582855</guid><author>pdd55772233</author><pubDate>Wed, 11 Jun 2025 11:24:39 +0800</pubDate><description><![CDATA[Angular项目中尝试使用fileReplacements替换SCSS文件时遇到问题，因为Angular CLI仅支持替换特定扩展名的文件（如.ts、.js、.json等）。解决方案包括：1) 改用环境变量控制样式主题；2) 创建多个CSS主题文件动态加载；3) 升级到Angular 17+新构建系统。建议避免直接替换SCSS文件，转而使用CSS变量或TS/JSON文件进行环境配置。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148553786</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148553786</guid><author>pdd55772233</author><pubDate>Tue, 10 Jun 2025 09:42:34 +0800</pubDate><description><![CDATA[本文介绍了一个自动化脚本，用于在Angular项目中创建组件并自动配置路由。该脚本主要功能包括：通过命令行参数接收模块名和组件名，使用Angular CLI生成独立组件，并智能更新模块的路由配置文件，支持处理空路由和已有路由两种情况。脚本采用Node.js实现，使用fs模块进行文件操作，通过execSync调用Angular CLI命令，并提供详细的错误处理和调试信息。该工具简化了Angular开发中组件创建和路由配置的流程，提升了开发效率。]]></description><category></category></item><item><title><![CDATA[{ [key: string]: any } 的用途和场景]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148529953</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148529953</guid><author>pdd55772233</author><pubDate>Mon, 09 Jun 2025 10:50:40 +0800</pubDate><description><![CDATA[摘要： 索引签名{ [key: string]: any }适用于键名动态不确定的对象场景，如处理API返回的JSON数据、管理动态状态或响应式系统中的变量键值。此时需用obj[key]访问属性。若对象键名固定（如明确有morning/noon等字段），则应使用接口或类型别名以获得类型安全和点语法支持。混合写法可兼容固定键与动态扩展需求，但需根据实际场景选择，动态数据用索引签名，明确结构用强类型定义。 （150字，涵盖核心要点和对比场景）]]></description><category></category></item><item><title><![CDATA[❗️不是“带不带引号”导致的差异，而是你的对象类型定义出了问题。]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148529906</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148529906</guid><author>pdd55772233</author><pubDate>Mon, 09 Jun 2025 10:48:47 +0800</pubDate><description><![CDATA[摘要：本文分析了在TypeScript中使用索引签名对象时赋值无效的问题。关键发现是当使用{ [key: string]: any }类型时，点语法(.)无法正确修改已声明字段的值。建议改用接口或字面量类型明确定义字段，如interface SelectedItems { morning: any; noon: any; night: any }，这样既可支持点语法又能保证JSON序列化正确。解决方案包括：1) 修改类型定义；2) 验证赋值效果；3) 确保数据正确传递。问题根源在于索引签名类型无法识别具体字]]></description><category></category></item><item><title><![CDATA[实现定点变换的原理]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148479783</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148479783</guid><author>pdd55772233</author><pubDate>Fri, 06 Jun 2025 18:02:29 +0800</pubDate><description><![CDATA[矩阵变换是图形处理的核心工具，通过3x3矩阵可实现平移、缩放等操作。齐次坐标(x,y,1)与变换矩阵相乘得到新坐标点。复合变换通过矩阵连乘实现多步操作。定点缩放需三步：先将定点移至原点完成缩放，再移回原位置，其复合矩阵为M=T₂×S×T₁。这种原理广泛应用于计算机图形学中。]]></description><category></category></item><item><title><![CDATA[this 的上下文绑定机制 和 箭头函数与普通函数的本质区别。]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/148398405</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/148398405</guid><author>pdd55772233</author><pubDate>Tue, 03 Jun 2025 11:45:27 +0800</pubDate><description><![CDATA[JavaScript 中 this 的绑定机制与箭头函数的作用：当类方法作为回调传递时，普通函数的 this 会丢失绑定（变为 undefined），而箭头函数继承外层 this 可避免此问题。关键区别在于：普通函数动态绑定 this，箭头函数静态继承 this。推荐在类方法中使用箭头函数或 bind() 来保持上下文，但前者更简洁高效。这种差异源于 JavaScript 的函数调用机制，理解这一点对正确使用回调函数至关重要。（148字）]]></description><category></category></item><item><title><![CDATA[angular实现textarea动态实现增加减少]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147904766</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147904766</guid><author>pdd55772233</author><pubDate>Mon, 12 May 2025 20:58:08 +0800</pubDate><description><![CDATA[本文介绍了一种实现 <textarea> 自动调整高度的技术方案，确保在初始状态下高度一致且不会自动展开。通过使用 Angular 框架，结合 CSS 和 JavaScript，实现了动态调整 <textarea> 的高度，以适应输入内容的变化。关键点包括：

初始高度控制：通过设置 min-height 和 line-height 属性，确保 <textarea> 在未输入内容时保持固定高度。
动态高度调整：利用 input 事件监听用户输入，调用 adjustHeight 方法动态调整高度。通过创建一个]]></description><category></category></item><item><title><![CDATA[前端实现通义千问的文本输出,长文本记录最多五条,输出显示markdown形式,图片识别输出]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147833681</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147833681</guid><author>pdd55772233</author><pubDate>Fri, 09 May 2025 17:29:01 +0800</pubDate><description><![CDATA[前端实现通义千问的文本输出,长文本记录最多五条,输出显示markdown形式,图片识别输出]]></description><category></category></item><item><title><![CDATA[用closest无法获取video元素本身]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147793341</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147793341</guid><author>pdd55772233</author><pubDate>Thu, 08 May 2025 14:53:40 +0800</pubDate><description><![CDATA[原因解释video不生效因为可能是其内部子元素，不是.left-div的后代img生效因为是<img>，可以成功向上找到.left-div。]]></description><category></category></item><item><title><![CDATA[Ts中处理对象属性的动态添加和访问有多种方法]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147770843</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147770843</guid><author>pdd55772233</author><pubDate>Wed, 07 May 2025 17:34:26 +0800</pubDate><description><![CDATA[在 JavaScript/TypeScript 中，通过原型（prototype）给对象添加属性通常是指在类的上下文中进行的操作。然而，在你的场景中，我们讨论的是纯对象而不是实例化的类。因此，直接使用原型来给对象添加属性并不适用。但是，这种方法在大多数情况下并不是最佳实践，尤其是在需要每个实例拥有独立的状态时。对于纯粹的对象操作，上述提到的方法更为合适和直观。如果你有特定的需求希望通过原型来实现，请提供更多的细节以便给出针对性的建议。处理对象属性的动态添加和访问有多种方法]]></description><category></category></item><item><title><![CDATA[浏览器控制台打印延迟问题]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147763351</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147763351</guid><author>pdd55772233</author><pubDate>Wed, 07 May 2025 14:31:26 +0800</pubDate><description><![CDATA[问题原因显示的data-id都是"1"因为你看到的是 DOM 最终状态，不是当时打印时的状态实际上你的data-id设置是正确的吗？是的，只要在递增，并且没有错误如何正确调试？使用或outerHTML来获取快照，或使用断点。当你用 console.log(nativeElement) 输出一个 DOM 元素对象 时，浏览器并不会立即冻结并记录该元素在那一刻的状态。而是会记录一个对该 DOM 对象的引用，并且当你展开查看这个对象时，它展示的是当前时刻的 DOM 状态，而不是打印时的状态。]]></description><category></category></item><item><title><![CDATA[String和toString的区别]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147760887</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147760887</guid><author>pdd55772233</author><pubDate>Wed, 07 May 2025 14:22:04 +0800</pubDate><description><![CDATA[在 TypeScript (以及 JavaScript) 中，是两种将数据转换为字符串的不同方式。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147575534</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147575534</guid><author>pdd55772233</author><pubDate>Mon, 28 Apr 2025 10:09:04 +0800</pubDate><description><![CDATA[Cordovahe\Electron\Espruino的使用场景。]]></description><category></category></item><item><title><![CDATA[Git不同情况下使用]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147351798</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147351798</guid><author>pdd55772233</author><pubDate>Mon, 28 Apr 2025 10:07:19 +0800</pubDate><description><![CDATA[【代码】Git不同情况下使用。]]></description><category></category></item><item><title><![CDATA[angular项目中使用video遇到无法静音播放的情况]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147423001</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147423001</guid><author>pdd55772233</author><pubDate>Tue, 22 Apr 2025 15:29:31 +0800</pubDate><description><![CDATA[video问题,angular框架,angular框架下video问题,video无效使用,]]></description><category></category></item><item><title><![CDATA[不同情况下Git的使用,超详细的Git使用]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147351834</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147351834</guid><author>pdd55772233</author><pubDate>Sat, 19 Apr 2025 15:59:03 +0800</pubDate><description><![CDATA[在 Git 中，拉取代码的方式有多种，每种方式的行为和结果可能会有所不同。以下是几种常见的 Git 拉取代码的方式及其结果对比。 是最常用的命令，它实际上是两个操作的组合：
结果：

远程分支的最新更改被下载并合并到本地分支。
如果合并成功，本地分支会与远程分支保持一致。
如果发生冲突，需要手动解决冲突并完成合并。


2. 
 也是拉取代码的一种方式，但它使用 变基（rebase） 而不是合并（merge）来整合远程分支的更改。
结果：

远程分支的最新更改被下载。
本地未推送的提交会被重新应用到远程分支]]></description><category></category></item><item><title><![CDATA[angular框架下图片预览组件（新手版）]]></title><link>https://blog.youkuaiyun.com/pdd55772233/article/details/147004510</link><guid>https://blog.youkuaiyun.com/pdd55772233/article/details/147004510</guid><author>pdd55772233</author><pubDate>Fri, 04 Apr 2025 23:37:04 +0800</pubDate><description><![CDATA[【代码】angular框架下图片预览组件（新手版）]]></description><category></category></item></channel></rss>