- 博客(28)
- 收藏
- 关注
原创 玩转CSS选择器:基本语法结构
CSS选择器是CSS规则的核心部分,用于定位HTML元素并应用样式。基本语法为选择器 {属性: 值;},包含选择器、属性和值三部分。常见选择器类型包括:1)基础选择器(元素、类、ID、通配符);2)组合选择器(后代、子元素、兄弟关系);3)属性选择器(匹配特定属性);4)伪类和伪元素选择器(针对元素状态或特定部分)。选择器可组合使用以提高精确度,不同选择器具有不同特异性(优先级),ID选择器优先级最高。掌握选择器语法是编写高效CSS的关键。
2025-07-23 10:15:47
320
原创 无 sudo 运行:让你的程序在 Ubuntu 低端口监听
本文介绍了在Linux系统中让非root用户程序绑定特权端口(0-1023)的四种方法:①使用setcap为程序赋予CAP_NET_BIND_SERVICE能力;②通过authbind工具按端口授权;③利用iptables将低端口流量重定向到高端口;④程序以root启动绑定端口后主动降权。其中setcap和authbind最为推荐,前者适合二进制程序,后者支持脚本语言;iptables重定向无需修改程序权限;程序降权最安全但需开发投入。每种方法各有适用场景,可根据具体需求选择平衡安全性与便利性的方案。
2025-07-10 08:44:27
774
原创 Linux常用命令加强版替代品
摘要:本文将介绍一系列高效现代Linux命令行工具替代品,提升你的终端体验。包括文件管理工具Exa和Ranger、磁盘分析工具ncdu、文本搜索利器ripgrep、智能目录跳转Z Oxide、系统监控仪表盘Glances、网络诊断神器MTR、JSON处理工具jq、任务管理Taskwarrior,以及AI辅助工具Fabric和Ollama等。这些工具比传统命令更强大、更友好,能显著提高工作效率和终端使用体验。
2025-06-13 13:34:31
943
原创 理解 ROC AUC:评估二分类模型性能
本文深入解析了评估二分类模型性能的重要指标ROC AUC。首先介绍了混淆矩阵中的四种预测结果(TP、TN、FP、FN),指出准确率在类别不平衡时的局限性。接着详细阐述了ROC曲线的绘制原理及其解读方法,强调曲线越靠近左上角性能越好。然后解释了AUC指标的含义与价值,说明其作为ROC曲线下方面积,能反映模型区分正负例的能力,且对类别不平衡不敏感。最后提醒实际应用中需结合业务需求选择评估指标。文章指出ROC AUC能提供比单一准确率更全面可靠的模型评估,尤其在处理不平衡数据时更具优势。
2025-06-05 11:54:54
946
原创 在 Termux 中运行 VS Code (code-server):解决恼人的 MAC 地址错误
在 Android 上通过 Termux 运行是一项非常酷的尝试,它能极大地提升移动设备上的生产力。虽然 Android 的安全策略带来了一些小麻烦,但通过理解问题根源并巧妙地利用 Node.js 的运行时特性,我们可以有效地绕过这些限制。通过在 Node.js 启动时动态替换函数的实现,我们成功地为提供了一个它能够接受的 MAC 地址格式,从而解决了因 Android 系统返回 “00:00:00:00:00:00” MAC 地址而引发的错误。希望这个解决方案能帮助到遇到同样问题的朋友们!
2025-05-13 17:50:17
876
原创 Mermaid 思维导图语法概览
思维导图是 Mermaid 中一个实验性的图表类型,用于以层级结构可视化地组织信息。除了图标集成部分仍处于实验阶段外,其语法是稳定的。
2025-04-30 09:03:34
363
原创 Exploring Special Firmware Flashing Modes Across SOC Vendors
In the world of System on Chip (SOC) devices—spanning smartphones, tablets, and embedded systems—firmware flashing is a cornerstone of manufacturing, repair, and recovery. When a device needs a full firmware rewrite, whether due to a bricked state, factory
2025-04-03 10:23:35
633
原创 忍无可忍!一次解决docker build的痛点!
在 Docker 环境下构建镜像时,由于网络问题,国内开发者往往会遇到令人头疼的构建速度慢、依赖无法下载等问题。本文将介绍如何在 Dockerfile 中设置代理和缓存,以提升构建速度并减少构建过程中的卡顿现象。
2024-11-15 10:14:46
2468
原创 利用PDM配置CUDA支持的PyTorch:适用于各种深度学习项目的依赖管理
自动选择CUDA支持的PyTorch版本,避免手动设置源的繁琐。实现依赖管理的统一与规范,确保环境在不同设备之间的可移植性。提升深度学习项目性能,最大化地利用现有的硬件资源。这种方法为多种PyTorch项目提供了便捷而高效的依赖管理方式。想要进一步了解PDM的功能,请访问PDM官网。希望这篇分享能帮助到所有致力于PyTorch开发的朋友们!
2024-11-01 11:16:02
503
原创 在 Windows 上配置 Ollama 服务并开放局域网访问
Ollama 是一个用于部署本地 AI 模型的工具,开发者可以在自己的机器上运行模型,并通过 API 接口调用。在本地搭建 Ollama 服务后,默认只允许本地访问,而局域网中的其他设备无法直接访问该服务。设置 Ollama 的环境变量,使其监听局域网的 IP 地址。在 Windows 防火墙中开放 Ollama 服务使用的端口(如 11434)。通过以上步骤,你可以轻松地在 Windows 上配置 Ollama 服务并允许其他局域网设备访问该服务。配置环境变量。
2024-09-12 14:50:27
31838
7
原创 为Dify 的 ssrf_proxy 配置上游代理
在配置 Dify 的ssrf_proxy服务时,我们可以利用 Squid 将 HTTP 请求通过上游代理进行转发。
2024-09-10 13:56:45
7498
3
原创 `asyncio.create_task` 和 `asyncio.ensure_future`
在开始讨论这两个方法之前,先简单回顾一下异步编程的背景。异步编程的核心概念是事件循环(Event Loop),它通过非阻塞的方式管理多个任务。在asyncio中,异步函数通常定义为async def,并通过await关键字来等待异步操作完成。用于创建一个异步任务,并将其调度到事件循环中执行。它是Python 3.7中引入的一个函数,专门用于启动异步任务。是一个更通用的工具,它可以将一个协程或一个Future对象封装为一个任务。这个方法在Python 3.4版本中引入,在更早的版本中应用广泛。
2024-08-14 10:14:20
2179
1
原创 Scala 中如何动态获取对象属性或方法 - 使用类似 Python 的 getattr 功能
通过反射API,Scala程序员可以像Python那样动态地访问对象属性或方法。尽管这需要更多的代码和反射知识,但这是在Scala中实现这一功能的一种可行方式。需要注意的是,这种方法在性能上可能不如直接的点符号访问或方法调用,因此在使用时应根据实际情况权衡利弊。在Scala中,我们也可以实现类似的功能。类似,但Scala中的对象需要具有指定的属性或方法。在编程语言中,有时候我们需要动态地访问对象的属性或方法。在Scala中,我们可以通过反射API实现类似Python的。请注意,这与Python中的。
2024-06-06 21:24:08
301
原创 在Docker中运行Logseq
但是,Logseq是基于local filesystem的,虽然可以通过sshfs来保证多客户端访问相同数据源,但是如何想使用它的API server的话,又不能天天开着主力PC。于是乎,笔者就想到了在docker中跑一个Logseq App作为API server。这是一个 Docker 工具,可用于在容器中运行 Logseq。利用该工具,我们可以构建一个 Logseq API 服务器,通过将服务器本地文件系统映射到 Docker 容器,从而实现服务器本地文件系统的访问。在启动容器之前,您可以修改。
2024-04-30 20:22:32
1222
2
原创 玩转CSS选择器:attribute selector
在 CSS 中,属性选择器 (attribute selector) 提供了多种操作符,帮助你根据特定的属性值来精准选择元素进行样式控制。这些操作符可以相互组合使用,配合其他选择器,让你更加精准地定位目标元素并进行样式控制。,例如 “file.pdf” 或 “report.2024.pdf”。” 或 “[invalid URL removed]”。,例如 “en-US” 或 “en-GB”。属性中包含单词 “logo”,例如。用于选择属性值包含指定值的元素,最基础的操作符,用于选择属性值。
2024-04-18 15:59:55
395
1
原创 如何解读模型评估结果
这些指标显示了一个模型的性能评估结果。如果任务要求处理不平衡的类别,那么可能需要更多的调优或使用特定的技术来改进模型的性能。MCC 考虑了分类结果的真实性和预测的一致性,取值范围为 [-1, 1],1 表示完美预测,-1 表示完全不一致的预测,0 表示随机预测。:ROC曲线是真阳性率(TPR,召回率)与假阳性率(FPR)之间的曲线,ROC AUC 表示ROC曲线下的面积大小,即模型在不同阈值下分类性能的综合表现。这是最常见的分类性能指标,但在处理不平衡数据时可能不够全面,因为它不考虑类别之间的分布差异。
2024-04-16 23:36:15
520
原创 利用 Python 查找并启动 Firefox
这篇博客将介绍如何使用 Python 脚本从 Windows 注册表中找到 Firefox 可执行文件的路径,然后启动 Firefox。使用从 Windows 注册表中获取的路径成功启动了 Firefox。模块来访问 Windows 注册表并找到 Firefox 可执行文件的路径。我们将查看注册表中列出已安装应用程序的典型位置。现在,我们将使用从注册表中获取的路径执行一个命令来启动 Firefox。为此,我们将使用 Python 的。)后,下一步是使用此路径启动 Firefox。
2024-03-27 14:22:43
429
原创 ARM软件逆向工程入门 02 - 实操:了解ARM调用约定(Calling Convention)
上一篇介绍了ARM的调用约定。这一回,我们体验一下简单的逆向,实际的看一下Calling Convention在汇编层面上是什么样的。
2024-03-05 23:52:39
591
原创 ARM软件逆向工程入门 01 - ARM调用约定(Calling Convention)
在计算机科学中,调用约定(Calling Convention)是指一系列规则,用于定义函数调用时参数传递和返回值处理的方式。它规定了函数的参数如何传递给被调用函数,以及被调用函数如何将返回值传递给调用函数。不同的处理器架构通常有不同的调用约定。
2024-03-05 00:44:59
993
原创 深入理解 Python 中的 *Args 和 **Kwargs
Args 和 **Kwargs 是 Python 中非常重要的特性,它们为函数的参数传递提供了更大的灵活性和通用性。它们可以帮助我们编写更加灵活和通用的代码,适应不同的需求。例如,在编写装饰器时,我们经常会用到 *Args 和 **Kwargs,以便能够接受不同数量和类型的参数。在 Python 编程中,*Args 和 **Kwargs 是经常被用到的概念,它们为函数的参数传递提供了更大的灵活性。*Args 表示接受任意数量的位置参数,而 **Kwargs 则表示接受任意数量的关键字参数。
2024-02-23 12:40:38
331
1
原创 使用GPT快速开发视频连接工具
在网上看到了一些有趣的小视频,想着把这些视频连接成一个容易共享。可是作为一个程序员,对视频编辑软件又不了解。于是乎,我决定用程序员的方法来解决问题。考虑到这种工具编写虽然不难,但是比较烦,所以…
2023-11-16 11:33:57
334
1
原创 使用Python将SVG转换为PNG的脚本
然而,有时我们需要将SVG图像转换为位图格式,如PNG,以便在不支持SVG的应用程序或设备上使用。在这篇博客文章中,我们将介绍如何使用Python编写一个脚本,将SVG(可缩放矢量图形)文件转换为PNG(便携式网络图形)格式。4. 如果你安装了多个版本的Python,请确保使用正确的版本,在命令中使用`python3`而不是`python`。- `pyppeteer`库:这是一个用于自动化Chrome浏览器的库,我们将使用它来加载SVG图像并进行转换。# 使用Python将SVG转换为PNG的脚本。
2023-11-12 00:39:46
1139
1
原创 ARM软件逆向工程入门 00
本文介绍了ARM指令集的特点和ARM软件逆向工程的重要性,同时介绍了ARMv7和ARMv8架构的寄存器。此外,本文还介绍了binutils和逆向工程工具,包括IDA Pro、Ghidra、Binary Ninja和Radare2等。
2023-08-25 13:48:42
1476
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人