<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HideInTime的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/HideInTime</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HideInTime]]></copyright><item><title><![CDATA[XP系统无法定位程序输入点K32GetModuleFileNameExA于KERNEL32.dll]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/162300207</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/162300207</guid><author>HideInTime</author><pubDate>Thu, 25 Jun 2026 11:57:55 +0800</pubDate><description><![CDATA[文章摘要：针对Windows XP系统因缺失K32GetModuleFileNameExA API导致的程序兼容性问题，提出三种解决方案：1）若仅需获取自身程序路径，直接改用XP原生支持的GetModuleFileNameW/A函数；2）必须跨进程读取时，通过运行时动态加载兼容新旧版API；3）长期开发建议配置XP工具集（v141_xp）并设置_WIN32_WINNT=0x0501宏强制编译器屏蔽高版本API。文中特别指出所有K32前缀函数（如K32EnumProcesses）在XP均不可用，排查时应优先区]]></description><category></category></item><item><title><![CDATA[移动通信技术演进]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/159511199</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/159511199</guid><author>HideInTime</author><pubDate>Thu, 26 Mar 2026 17:02:37 +0800</pubDate><description><![CDATA[本文概述了移动通信技术从第一代（1G）到第五代（5G）的主要发展阶段及其核心技术，重点介绍了蜂窝结构、多址接入技术、网络架构演进以及物联网应用中的关键特性。文章旨在为读者提供移动通信技术发展脉络的清晰认识。好的，这是一篇关于移动通信技术演进的文章大纲，涵盖了从1G到5G以及物联网的关键技术。移动通信技术的演进：从模拟语音到万物互联。]]></description><category></category></item><item><title><![CDATA[AI硬件国产化]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/158504181</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/158504181</guid><author>HideInTime</author><pubDate>Sat, 28 Feb 2026 15:26:12 +0800</pubDate><description><![CDATA[寒武纪作为国内领先的 AI 芯片公司，产品研发、市场拓展、客户导入均有较强先发优势，有望深度受益 AI 发展的浪潮与 AI 算力芯片国产化趋势，在 23 年取得快速成长。其中，微架构即 GPU 的硬件电路设计构造的方式，不同的微架构决定了 GPU的不同性能，作为英伟达 GPU 的典型代表，V100、A100、H100 GPU 分别采用Volta、Ampere、（2）功耗：功耗即芯片运行所需的功率，除了功耗本身，性能功耗比是综合衡量芯片算力和功耗的关键指标，它代表每瓦功耗对应输出算力的大小。]]></description><category></category></item><item><title><![CDATA[AI范式：API AGENT or GUI AGENT]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/158420588</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/158420588</guid><author>HideInTime</author><pubDate>Thu, 26 Feb 2026 10:55:45 +0800</pubDate><description><![CDATA[当然，目前的GUI Agent在完成任务的能力上与人类还有较大差距，根据Anthropic的标准测试结果，目前GUI Agent的能力还只能达到人类的20%左右。包括Screenshots（截图，当前界面的视觉快照），Widget Tree（组件树，界面结构的层次表示），UI Element Properties（UI元素属性，包括每个元素的类型、标题、位置）等。推出的跨移动端、Web、PC的自主UI智能体，适配多款应用软件，提供自然语言控制常见软件操作的功能，而无需定制工作流。]]></description><category></category></item><item><title><![CDATA[桌面GPU公版]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/102954948</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/102954948</guid><author>HideInTime</author><pubDate>Thu, 26 Feb 2026 10:51:49 +0800</pubDate><description><![CDATA[GPU桌面显卡排名

更新于2019.7.20

排名
			显卡
			图例
			分数
		1
			TITAN V CEO Edition
			
			16987
		2
			GeForce RTX 2080 Ti
			
			16793
		3
			TITAN RTX
			
			16529
		4
			GeForce RTX 2080
			
			15590
		5...]]></description><category></category></item><item><title><![CDATA[C#的web服务开发学习]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/113933493</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/113933493</guid><author>HideInTime</author><pubDate>Thu, 26 Feb 2026 10:50:33 +0800</pubDate><description><![CDATA[1、program.cs定义静态main函数入口，生成

AddSingleton()方法创建一个Singleton服务，首次请求会创建服务，然后，所有后续的请求中都会使用相同的实例，整个应用程序生命周期都使用该单个实例

AddScoped():不同http清求，实例不同，同名谓词不同，也不行。例如httpget跟httppost,作用域是一定范围内，例如从同一个post请求的create方法，只能统计一次，每次请求都是新的实例

AddTransient()：临时服务，每次请求时，都会创建一个新的Tra]]></description><category></category></item><item><title><![CDATA[Clickhouse进阶]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/157506069</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/157506069</guid><author>HideInTime</author><pubDate>Fri, 30 Jan 2026 16:01:49 +0800</pubDate><description><![CDATA[该函数取不到null，会根据列维度排序，取最大（小）的不为空数据，所以请考虑数据中是否有null数据。max、argMax、argMin函数：获取某个列维度，对应的那一行数据。如果有，建议使用 如下判断数据的形式进行规避。groupArray：分组聚合。arrayJoin：分组拆分。]]></description><category></category></item><item><title><![CDATA[文件权限chmod/chown/chattr]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/152361256</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/152361256</guid><author>HideInTime</author><pubDate>Wed, 01 Oct 2025 11:11:10 +0800</pubDate><description><![CDATA[意思是你不可以编辑修改文件已存在的数据，或者重命名这个文件或者删除这个文件，你仅可以使用追加模式打开这个文件。幸好，我们已经拥有这个内置命令可以帮助我们去保护数据被意外的删除和修改。就是说你不能删除或修改这个文件，就算你是文件的拥有者和 root 用户也不行。你应该注意到了，我们不能删除或修改这个文件，甚至 root 用户或者文件所有者也不行。，这个两个属性可以用于防止文件和目录的被删除。类似的，你能够限制目录被意外删除或修改，如下一节所述。现在，你可以想平常一样删除或修改这个文件和目录了。]]></description><category></category></item><item><title><![CDATA[mount --path]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/148610840</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/148610840</guid><author>HideInTime</author><pubDate>Wed, 01 Oct 2025 11:07:48 +0800</pubDate><description><![CDATA[比如你原来有两个dentry：/tmp/a和/tmp/b，你做mount --bind /tmp/a /tmp/b后，你访问/tmp/b，修改的是原来/tmp/a的inode的内容，你umount后，/tmp/b中原来的内容不会改变，改变的是/tmp/a中的内容。这是mount这个构架的原始设计导致的，它仅仅记录每个真正的mountpoint，而不是bind的时候的文件，要知道实际的binding是什么，可以查看这个文件：/proc/self/mountinfo。inode的另一个dentry。]]></description><category></category></item><item><title><![CDATA[mount --path 和 ln path生成目录文件对比]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/148610896</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/148610896</guid><author>HideInTime</author><pubDate>Thu, 12 Jun 2025 15:09:54 +0800</pubDate><description><![CDATA[比如你原来有两个dentry：/tmp/a和/tmp/b，你做mount --bind /tmp/a /tmp/b后，你访问/tmp/b，修改的是原来/tmp/a的inode的内容，你umount后，/tmp/b中原来的内容不会改变，改变的是/tmp/a中的内容。这是mount这个构架的原始设计导致的，它仅仅记录每个真正的mountpoint，而不是bind的时候的文件，要知道实际的binding是什么，可以查看这个文件：/proc/self/mountinfo。inode的另一个dentry。]]></description><category></category></item><item><title><![CDATA[容器docker的ulimit]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/143695434</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/143695434</guid><author>HideInTime</author><pubDate>Mon, 11 Nov 2024 21:06:47 +0800</pubDate><description><![CDATA[docker里对ulimit参数的定义在go-unit/ulimit.go里，这里定义了docker可以传递的ulimit参数。参数解析是通过opts/ulimit.Set()设置内部结构opts/ulimit.GetList()取用参数解析过程。]]></description><category></category></item><item><title><![CDATA[IT架构领域术语]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/136367273</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/136367273</guid><author>HideInTime</author><pubDate>Thu, 29 Feb 2024 11:56:04 +0800</pubDate><description><![CDATA[ETL（Extract-Transform-Load）它是将大量的原始数据经过提取（extract）、转换（transform）、加载（load）到目标存储数据仓库的过程，主要应用大数据。]]></description><category></category></item><item><title><![CDATA[CRON表达式]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/134683236</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/134683236</guid><author>HideInTime</author><pubDate>Wed, 29 Nov 2023 10:14:40 +0800</pubDate><description><![CDATA[cron表达式是一个字符串，由6到7个字段组成，用空格分隔。其中前6个字段是必须的，最后一个是可选的。在大部分使用cron的场景下， - * /?这几个常用字符就可以满足我们的需求了。从左到右，依次对每个字段指定相应的值，就可以确定一个任务的执行时间点和周期了。值可以由数字配合字符来组合。]]></description><category></category></item><item><title><![CDATA[Linux抓包框架对比]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/134285713</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/134285713</guid><author>HideInTime</author><pubDate>Wed, 08 Nov 2023 11:46:56 +0800</pubDate><description><![CDATA[其实，类似DPDK的加速方案原理都非常简单，那就是完全绕开内核实现的协议栈，把数据包直接从网卡拉到用户态，依靠Intel自身处理器的一些专门优化，来高速处理数据包，你可知道在这类方案中，CPU可是专门处理数据包的，什么内核态，用户态，都无关紧要，采用map机制，专门的处理程序可以非常高效地在任意时间读取并处理数据包，想想CPU的处理速度换算成pps是什么概念吧，如果一个CPU什么都不干，专门处理数据包，那将是非常猛的线速处理了。当有新的数据包到达时，直接覆盖掉已经被用户空间读取过的数据包空间。]]></description><category></category></item><item><title><![CDATA[ICMP差错包]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/133275274</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/133275274</guid><author>HideInTime</author><pubDate>Mon, 25 Sep 2023 16:58:44 +0800</pubDate><description><![CDATA[要求分段并设置DF flag标志报文。对特定的TOS网络不可达报文。对特定的TOS主机不可达报文。由于过滤 网络流量被禁止报文。路由器的发现/选择/请求报文。基于TOS的网络重定向报文。基于TOS的主机重定向报文。IP报首部参数错误报文。]]></description><category></category></item><item><title><![CDATA[debian系yum安装依赖rpm全部打包]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/132460291</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/132460291</guid><author>HideInTime</author><pubDate>Wed, 23 Aug 2023 20:25:39 +0800</pubDate><description><![CDATA[yum --downloadonly --downloaddir=保存目录 install 预安装模块。yum install yum-utils安装repotrack命令。repotrack -p 保存目录  预安装模块。]]></description><category></category></item><item><title><![CDATA[system返回值问题]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/130867057</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/130867057</guid><author>HideInTime</author><pubDate>Thu, 25 May 2023 14:49:15 +0800</pubDate><description><![CDATA[system返回值问题和子进程信号捕获]]></description><category></category></item><item><title><![CDATA[linux查看硬件信息]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/129875983</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/129875983</guid><author>HideInTime</author><pubDate>Fri, 31 Mar 2023 11:37:53 +0800</pubDate><description><![CDATA[型号：cat /proc/cpuinfo|grep name|cut -f2 -d:|uniq -c。单核逻辑core：cat /proc/cpuinfo|grep "cpu cores"|uniq。物理核：cat /proc/cpuinfo|grep "physical id"|uniq。线程数：cat /proc/cpuinfo|grep "processor"1、查看CPU信息cat /proc/cpuinfo或者lscpu。、系统、主板、处理器、内存、缓存等等硬件信息。4、查看外存/硬盘信息。]]></description><category></category></item><item><title><![CDATA[linux下c动态库设置可执行入口]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/129795087</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/129795087</guid><author>HideInTime</author><pubDate>Mon, 27 Mar 2023 14:43:11 +0800</pubDate><description><![CDATA[/注意你的连接器地址不一定是/lib64/ld-linux-x86-64.so.2这个路径哈 自己查找下你环境中的连接器地址。编译指定得c标准规范c11，static修饰方法为内联方法，对外不可见，ld无法检索到内敛方法，解决去掉static修饰。ld连接器使用-e 来指定程序的入口地址(显然此处指定入口地址为myso_entry)//动态库执行的入口函数 由编译器指定(-Wl,-e,myso_entry)原因排查：编译过程中gcc得-Wl,-e指定程序入口标识未找到。下面是动态库提供的两个对外函数。]]></description><category></category></item><item><title><![CDATA[GCC动态链接库规范和问题]]></title><link>https://blog.youkuaiyun.com/HideInTime/article/details/129027130</link><guid>https://blog.youkuaiyun.com/HideInTime/article/details/129027130</guid><author>HideInTime</author><pubDate>Tue, 14 Feb 2023 15:04:09 +0800</pubDate><description><![CDATA[对于动态链接库，实际的符号定位是在运行期进行的，在编译.so的时候，如果没有把它需要的库和他一起进行联编，比如libx.so 需要使用uldict, 但是忘记在编译libx.so的时候加上-luldict的话，在编译libx.so的时候不会报错，因为这个时候libx.so被认为是一个库，它里面存在一些不知道具体实现的符号是合法的，是可以在运行期指定或者编译另外的二进制程序的时候指定。(2) 连接库参数的顺序不对。(4)  /lib 和 /usr/lib (64位下是/lib64和/usr/lib64)]]></description><category></category></item></channel></rss>