张芷铭的个人博客

01 电子信息与计算机专业s

共 202 篇文章

Hugo 学习指南

一、前置准备(先搞定环境)

1. 安装 Hugo

Hugo 是基于 Go 开发的单二进制文件,安装极简单,推荐安装 Hugo Extended 版本(支持 SCSS 样式编译,适配更多主题):

  • Windows
    1
    2
    3
    4
    
    # …

Linux 系统类型

你现在的核心疑问是:Linux为什么会有Ubuntu/Debian和CentOS/RHEL/Fedora两套不同的命令体系,以及如何从uname -a的输出判断自己的系统类型。我会先解释背后的核心原因,再教你精准识别系统版本,最后结合你的服 …

目录结构和用途

Linux 文件系统采用单一根目录树状结构,所有文件和目录都挂载在根目录 / 之下,遵循 FHS(Filesystem Hierarchy Standard,文件系统层次结构标准),核心设计思想是分类存放、职责明确。下面从整体架构核心目录 …

阿里云服务器开荒

本文聚焦阿里云空服务器初始化核心需求,详细拆解如何通过 VS Code 的 SSH 功能实现远程登录配置。全程遵循「服务器 SSH 服务就绪 + 登录凭证配置 + VS Code 连接适配」的核心逻辑,步骤清晰、新手友好,完成后即可基于远程 …

iTerm2:Mac上的终极终端神器

iTerm2:Mac上的终极终端神器

一、基础入门

1. 安装与启动

安装方式

  • 官网下载:访问iterm2.com下载.dmg文件,拖动到Applications文件夹
  • Homebrew安装:执行brew install --cask …

生成器

一、模型流式处理返回的 result 是否是生成器?

大概率是生成器(或类生成器对象,如异步生成器)。 模型流式返回(如大模型逐字输出、数据分批处理)的核心需求是“边生成边返回,避免一次性加载全部数据”,而生成器的“惰性计算、逐次产出”特性 …

🔑 Redis核心知识与实战指南

Redis是一款高性能的键值存储系统,支持多种数据结构,广泛应用于缓存、队列、排行榜等场景。下面我将详细介绍Redis的核心数据结构、常用命令、高级功能及典型应用场景。

🔑 Redis核心知识与实战指南

📊 Redis数据结构与命令概览 …

$PATH 环境变量

1. 核心定义

$PATH(大写 P)是 Linux 中 核心系统环境变量,用于告诉 Shell:“当用户输入一个命令(如 condapythonls)时,需要到哪些目录中查找可执行文件”。

Shell 会按 $PATH 中目录的顺序依 …

bash、zsh和shell的关系

bashzsh 都是 Unix/Linux 系统下的交互式命令解释器(Shell),它们同属 Shell 家族,均基于早期的 sh(Bourne Shell)发展而来,核心功能都是接收用户命令并执行,但在兼容性、功能特性、用户体验上有明显 …

bash脚本 传参

Bash 脚本接受参数的写法主要分 3 种场景(从简单到灵活),结合实际需求(如传递普通参数、带选项的参数、可选参数)逐步讲解,每个场景都附完整示例,方便直接套用。

一、基础场景:位置参数(最简单,无选项)

适合参数数量固定、顺序明确的场景 …

comm

comm 是 Linux 和类 Unix 系统中一个用于逐行比较两个已排序文件的实用命令行工具。它能清晰地展示出两个文件之间的异同,是文本处理和数据分析中一个非常得力的助手。

🧠 核心概念:三列输出

理解 comm 命令的关键在于掌握其默认 …

Conda 完整用法总结(含此前问题核心内容)

Conda 完整用法总结(含此前问题核心内容)

Conda 是跨平台的 Python 环境与包管理工具,可独立创建隔离环境、管理依赖包,支持自定义安装路径、环境迁移/克隆等核心场景。以下总结覆盖基础操作、环境迁移、自定义安装使用、常见问题, …

Linux dev-null 是什么?

/dev/null 是 Unix/Linux 系统中一个特殊的虚拟设备文件(也被称为「空设备」/「黑洞」),核心特性是:

  • 任何写入 /dev/null 的数据都会被立即丢弃(相当于“扔进黑洞,无法恢复”);
  • /dev/null 读取数 …

pkill

pkill 是 Linux/Unix 系统中用于 根据进程属性批量查找并终止进程 的命令,是 pgrep 的配套工具(pgrep 查找进程,pkill 终止进程),核心优势是无需手动输入 PID,直接通过进程名、用户、端口等条件精准终止进程 …

ps

ps 命令是 Linux 系统中用于查看进程状态的核心工具,它能提供系统在命令执行时刻的进程快照。下面这张表格汇总了它的两种主要参数风格和输出特点,帮助你快速建立整体印象。

特性 …

Python注册器机制:最佳实践与实现指南

基于您的需求,我将介绍Python注册器机制的最佳实践,并展示如何将您的代码改造为基于注册器的灵活架构。

Python注册器机制:最佳实践与实现指南

1. 注册器机制概述

注册器是一种设计模式,它通过维护一个全局字典来管理名称到类/函数的映 …

redis Python开发指南

Redis 凭借其高性能和丰富的数据类型,在缓存、会话存储和消息队列等场景中应用广泛。通过 Python 的 redis-py 库,我们可以方便地操作 Redis。下面为你梳理关键要点和用法。

📦 安装与连接

首先需要安装 redis-py …

redis常用指南

Redis 因其丰富的数据类型和极高的性能,成为了非常流行的内存数据存储系统。下面我为你梳理了其核心数据结构和常用命令,以及一些典型应用场景,方便你快速上手和查阅。

📂 Redis 核心数据结构与常用命令速览

首先,通过下表你可以快速了解 …

vars()

在 Python 中,vars() 是内置函数,核心作用是返回对象的属性和属性值的字典表示,或当前作用域的局部变量字典(无参数时)。以下从「语法、使用场景、核心特性、注意事项」四方面详细解释:

一、基本语法

1 …

注释:单行注释以 # 开头(#! 除外)

Bash 脚本是 Linux/Unix 系统中自动化任务的核心工具,语法简洁且实用,以下是最基础、最常用的语法总结,覆盖脚本结构、变量、流程控制、输入输出等核心场景,适合快速上手。

一、脚本基础结构

1. 脚本开头(指定解释器)

必须放在脚 …

读取图片(默认保留原始格式和通道顺序)

Python读取图片最常用的有4种方式,分别适配普通处理、CV任务、可视化、深度学习等场景,核心代码简洁易用:

1. Pillow(最通用,推荐优先使用)

Pillow是Python图像处理标准库,支持几乎所有图片格式,接口简洁。

1 …

curl 指令详解与总结

curl 指令详解与总结

curl(全称 Client URL)是一款跨平台、无界面的命令行工具,核心用于在客户端与服务器之间传输数据,支持 HTTP/HTTPS/FTP/SCP/SFTP 等数十种协议,是开发者调试接口、自动化脚本、传输文 …

less

less 是 Linux/Unix 系统中功能强大的文本查看工具,专为查看大文件设计(无需加载整个文件到内存),支持翻页、搜索、跳转等丰富操作,是 more 指令的增强版,也是日常工作中查看日志、配置文件的首选工具。

一、核心语法

1 …

Quartz:适用于Obsidian的静态网站生成器

你提到的“Quartz”需要先明确:在与 Obsidian 结合生成网页的场景中,这里的 Quartz 指的是由开发者 jackyzha0 开发的静态网站生成器(Static Site Generator),专为 Obsidian 笔记设计 …

环境变量 LD_LIBRARY_PATH

好的,我们来详细介绍一下 LD_LIBRARY_PATH 环境变量。这是一个在 Linux 和类 Unix 系统中非常重要的概念,尤其对开发者和系统管理员来说。

一、核心定义

LD_LIBRARY_PATH 是一个环境变量,它用于指定动态链 …

ini文件

INI文件是一种简单的配置文件格式,用于存储程序的键值对配置信息,结构清晰且易于人类阅读和编辑。

核心结构

  1. 节(Section):用方括号 [] 包裹,是配置项的分组容器,名称不区分大小写。
  2. 键值对(Key-Value Pair):节下方 …

rclone

rclone 是一款功能强大的命令行工具,用于在本地存储、云存储(如 Google Drive、AWS S3、OneDrive 等)之间同步、复制、迁移数据,支持超过 40 种存储服务。以下是其核心指令用法的详细解释:

一、基础概念

  1. 远程 …

tar

tar 是 Linux 和类 Unix 系统中用于文件打包、压缩和解压的强大工具。下面为你详细介绍它的用法。

🖥️ 基本语法

tar 命令的基本格式如下:

1
tar [选项] [归档文件] [文件或目录列表]

🧩 主要选项和功 …

Vim

Vim 是一款高效的文本编辑器,广泛用于编程和文本处理,其核心特点是模式化操作。以下是 Vim 的基础用法和常用技巧:

一、基本模式

Vim 有多种模式,最常用的是:

  1. 普通模式(Normal Mode):默认模式,用于导航、删除、复制等操 …

JavaScript的优势和适用场景

JavaScript(JS)作为一门广泛应用的编程语言,其优势和适用场景与其设计初衷和生态发展密切相关,具体如下:

一、JavaScript 的核心优势

  1. 跨平台与全栈能力

    • 是唯一一种在浏览器中原生支持的编程语言,无需额外插件即可运行, …

Java和JavaScript的关系

Java 和 JavaScript 是两种完全不同的编程语言,尽管名称相似,但它们的定位、设计目标和应用场景截然不同。以下是它们的核心关系和区别分析:


一、语言起源与命名关系

  1. 历史渊源

    • Java:由 Sun …

js成为唯一浏览器内嵌语言的原因

JavaScript 成为浏览器中唯一原生支持的编程语言,并非技术上的必然,而是由 历史机遇、商业竞争和标准演化 共同作用的结果,核心原因可追溯到 20 世纪 90 年代中期的浏览器大战。

1. 网景公司的紧急需求:为浏览器添加交互能力 …

编程语言的自举特性

“编程语言能否自己解释自己”通常指的是自举(Bootstrapping) 能力——即用该语言本身实现它的解释器(或编译器)。这一能力与语言的“成熟度”相关,但并非所有成熟语言都必须具备,也不是成熟的充分或必要条件。

为什么有些成熟语言能自举 …

ack

ack 是一款专为程序员设计的代码搜索工具,专注于高效搜索源代码,默认优化了对多种编程语言的支持(如自动识别文件类型、忽略版本控制目录等),功能上类似 grep 但更贴合开发场景。

一、安装 ack

ack 不是系统默认工具,需要手动安装, …

Python 关键字 object

在 Python 中,object 是一个基础类(base class),它是所有类的终极父类。以下是关于 object 关键字的详细介绍:


1. 基本概念

tee

tee 是 Linux 中一个非常实用的命令,它就像一个三通管接头,能够将数据同时导向两个地方:一个是标准输出(通常就是终端屏幕),另一个或多个是你指定的文件。

基本语法与核心功能

tee 命令的基本语法如下:

1
tee [ …

直接引入其他Python项目导致import问题

你遇到的这个问题在管理多个独立Python项目时非常常见。当工作目录设置为 models 的父目录时,各个子项目内部的相对导入会因为 Python 的模块搜索路径 (sys.path) 不包含这些子项目目录而失败。

别担心,有几种优雅的方式 …

理解padder原理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class InputPadder:
    """ Pads images such that …

Python装饰器

这样写装饰器无法使用?

1
2
3
4
5
6
7
@track_cuda_memory_on_device(self.device.split(':')[-1])
    def calculate(self, …

睿频

睿频是CPU在满足特定条件时,自动将主频提升到基础频率之上,以临时增强性能的技术。简单说,它就像CPU的“爆发力”,平时按基础频率稳定运行,需要时再短暂提速。

睿频的核心原理

  1. 触发条件:当CPU负载较高(如运行大型游戏、视频渲染),且当前 …

ctypes

ctypes 是 Python 标准库中的一个强大工具,它作为一个外部函数库(Foreign Function Library,FFI),允许 Python 代码直接调用由 C 语言编写的动态链接库(在 Windows 上为 DLL 文件, …

unzip

在 Linux/Unix 系统中,解压 ZIP 格式的压缩包通常使用 unzip 命令。它支持解压 .zip 文件,还能查看压缩包内容、测试完整性等。以下是其详细用法:

基本语法

1
unzip [选项] 压缩包名.zip [文件/ …

zip

zip 是 Linux/Unix 系统中常用的文件压缩与归档工具,用于创建 ZIP 格式的压缩包(.zip 文件),支持跨平台(Windows、macOS 等均兼容)。以下是其详细用法:

基本语法

1
zip [选项] 压缩包名 …

手动编译安装torchaudio

一般而言,torchaudio必须和torch版本匹配,但有的时候环境里的torch版本应该是前辈编译的一个最合适的结果,轻易不要改变。要使用torchaudio的话,只能自己手动编译安装了。

编译前准备

1. 确认系统要求

Faiss

https://github.com/facebookresearch/faiss

Faiss(Facebook AI Similarity Search)是Facebook开发的一个高效相似度搜索和聚类库,特别适用于在海量向量数据中进行快 …

Linux

解决“远程主机密钥已更改,端口转发已禁用”

使用命令行清除特定主机的已知密钥

你也可以使用以下命令从 known_hosts 文件中删除特定主机的条目:

1
2
ssh-keygen -R <远程主机IP或主机名> …

S3同步

B站演示视频 RemotelySave Github 文档

Slurm

https://slurm.schedmd.com/overview.html

SLURM(Simple Linux Utility for Resource Management)是一个开源的、高度可扩展的集群管理和作业调度系统,广泛应用 …

Streamlit_副本

VS Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 …

zotero

同步设置 dav.jianguoyun.com/dav

2775174829@qq.com 坚果云账户网址 https://www.jianguoyun.com/d/home#/safety

工具-中间件MOC

正则表达式

正则表达式(Regular Expression,简称 Regex 或 RegExp)是一种用来匹配字符串的模式,广泛应用于文本搜索、文本替换、数据验证等场景。正则表达式由普通字符和特殊字符(元字符)组成,通过定义特定的匹配规则,可以对字符 …

阿里云盘 CLI

Aliyunpan GitHub

命令列表及说明

内存(RAM)

你关注内存的选购细节,这个思路很务实,直接关系到装机后的实际体验。内存的核心是临时存储数据,为CPU快速提供运算所需信息,其参数直接决定了读写速度和稳定性,选购时需优先匹配主板、CPU并明确用途需求。

一、内存核心参数解析(选购关键) …

Pydantic

深入解析 Python 数据验证利器:Pydantic

在 Python 的动态类型生态中,如何确保数据的一致性和安全性一直是开发痛点。Pydantic 作为基于类型注解的数据验证库,通过运行时类型检查与自动转换机制,为数据处理提供了优雅而 …

AMD CPU详细介绍

在AMD CPU中,CCD是Core Complex Die的缩写,即核心模块芯片,是AMD Ryzen处理器中的核心计算单元,负责处理器的主要计算任务。

每个CCD通常包含多个处理器核心,比如在Zen 2架构中,每个CCD包含两个 …

序列化:对象 → 字节流

在 Python 中,序列化(Serialization)是将对象转换为可存储或传输的格式(如字节流、字符串),反序列化(Deserialization)则是将序列化后的数据还原为原始对象的过程。以下是常见的序列化和反序列化方法:


1. …

查看所有基本颜色名称

Python 中有多个预设的颜色库可以方便调用。以下是几个最常用的颜色库及其使用方法:

1. Matplotlib 内置颜色

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import …

混入设计模式的一个示例

下面是为数据处理框架设计的Mixin混入模式代码框架,支持灵活组合模型算子(如RAM、GroundingDINO等)。核心思想是通过多重继承动态注入模型功能,同时保持接口统一和资源可控。


1. 基础接口与抽象类

 1
 2
 3
 4 …

个人常用

#linux

tmux 是一个终端复用器,它可以让你在一个终端窗口内运行多个终端会话,并在断开连接后保持会话运行。以下是对 tmux 的详细介绍,包括安装、基本用法和常用命令。

个人常用

1
2
3
tmux
tmux …

bash编程

 Bash 脚本教程

einops

什么是 Einops?

einopsEinstein Operation Summary)是一个旨在让张量(多维数组)操作变得直观、清晰和可靠的库。它的名字灵感来源于爱因斯坦求和约定,因为它同样强调通过标注维度名称来定义操作。

它的核心思 …

bisect

from bisect import bisect_left

gitignore

gitignore文件可以定义git不要跟踪的文件或者路径。

注意事项:

要在 Git 中忽略当前相对路径下的 config/ 目录,同时保留工程中其他位置的 config/ 目录的跟踪,您可以使用以下 .gitignore 配置:

1. …

Markdown

以下是精简全面的 Markdown 语法指南,涵盖基础语法、多引擎差异及 Obsidian 独有语法,以表格形式直观对比:


一、基础通用语法(所有环境支持)

语法写法 …

argparse

argparse 是 Python 标准库中的一个模块,主要用于解析命令行参数和选项。它让我们可以轻松地处理用户通过命令行传递的参数,并自动生成帮助文档。使用 argparse 可以大大简化命令行工具的开发过程。

1. 基本用法

下面是一个 …

常用希腊字母

以下是一个包含数字和物理中常用希腊字母的表格,包含LaTeX写法、中文读法及常见意义:

字母(大小写)LaTeX 写法中文读法常用意 …

**基本结构**

[[toml]]

pyproject.toml 是 Python 项目的配置文件,定义了项目的元数据、依赖项、构建工具等。它是 PEP 518 和 PEP 621 的一部分,用于统一配置现代 Python 项目。

基本结构

一个典型的 …

2741. 特别的排列

2741. 特别的排列 给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件,我们称它是一个特别的排列:

A Pythonic Object

A Pythonic Object

Sample code for Chapter 11 of Fluent Python 2e by Luciano Ramalho (O’Reilly, 2020)

The …

Armstrong性质

Armstrong性质,通常用来描述一类特殊的数字,这类数字被称为阿姆斯特朗数(Armstrong number)或水仙花数(Narcissistic number)。一个n位的数如果等于其各位数字的n次幂之和,则该数称为阿姆斯特朗数。这个 …

Auto.JS

学习 Auto.js 可以让你在安卓设备上实现自动化操作(如微信自动发消息、定时任务、游戏脚本等)。以下是系统的学习路径和资源推荐:


1. 基础知识准备

(1) 了解 Auto.js 是什么

Bash特殊变量

Bash 脚本中有很多常见的特殊变量,它们可以用于获取脚本执行过程中的各种信息。以下是一些常见的特殊变量及其用途:

1. $0

描述:脚本本身的名称或路径。

示例:$0 会返回脚本的名称或执行时的路径。

2. $1, $2, …

C 和 C++

C代码通常可以在C++编译器中编译,因为C++设计时保留了对C语言的广泛兼容性。这意味着大多数有效的C代码也是有效的C++代码。然而,由于C++引入了一些新特性并修改了某些C语言的行为,所以C代码并不是100%兼容C++。下面是一些主要的不 …

C++学习路线

C++是一种细粒度、高性能的语言,尤其适用于涉及系统编程、游戏开发和高性能计算的领域。

假如我们要在沙滩上堆一个沙堡,C++就像一把镊子,作者可以一粒一粒地安排最终作品;不同于Java、Python这些高级语言,会提供你铲子、水桶、刮刀这种 …

C++的简历

C++语言由ISO/IEC的一个专门委员会——ISO C++标准委员会(也称为WG21)维护和发展。这个委员会由来自世界各地的专家组成,他们负责设计和批准C++的新特性以及标准的更新。

历史

C++的发展历史始于20世纪80年代初,经历了数 …

Changes from the original

Changes from the original

While adapting Peter Norvig’s lis.py for use in Fluent Python, Second Edition, I made a …

collections

collections.Counter 是 Python 标准库 collections 中的一个类,用于计数可哈希对象。它是一个非常方便的数据结构,可以用来轻松统计元素的频率。

以下是 Counter 类的一些常见用法和方法:

1. 创建 …

Conda 常用命令总结

#虚拟环境 #包管理

环境管理

创建环境

1
2
3
conda create --name myenv python=3.8   # 创建指定Python版本的环境
conda create --prefix …

Dictionaries and Sets

Dictionaries and Sets

Sample code for Chapter 3 of Fluent Python 2e by Luciano Ramalho (O’Reilly, 2020)

Running …

Ethernet

Ethernet(以太网)是当今局域网(LAN)中最广泛使用的网络技术。它的历史可以追溯到 20 世纪 70 年代,经过几十年的发展,已经成为全球网络通信的基石。以下是 Ethernet 的主要发展历程:


1. 起源(1973-1980) …

Examples from Python in a Nutshell, 3rd edition

Examples from Python in a Nutshell, 3rd edition

The metaclass MetaBunch example in original/bunch.py is an exact copy of …

first

Win系统同步

先启动 git bash

# first
cd /c/WPSSync/Blogs/编程基础四大件
git add .
git commit -m "first"
git push -u origin main …

Fluent Python 2e example code

Fluent Python 2e example code

Example code for the book Fluent Python, Second Edition by Luciano Ramalho …

GCC详谈

GCC(GNU Compiler Collection)是一个功能强大、开放源代码的编译器套件。它最初由[[Richard Stallman 1]]为[[GNU]]项目开发,目前由GNU项目团队和社区维护。

主要特点

  1. 多语言支持:GCC可 …

HTML

hydra

https://blog.csdn.net/wuShiJingZuo/article/details/135473254

https://zhuanlan.zhihu.com/p/662221581

itertools

collections

JAX

官网 JAX 简介

JAX 是一个由 Google 开发的开源机器学习库,主要用于高效的数值计算和自动微分。它最初设计用于加速科学计算和机器学习的计算过程,但由于其出色的性能和灵活性,已经广泛应用于机器学习、深度学习和其他领域的研究和生产中 …

KMP算法:字符串匹配

最浅显易懂的 KMP 算法讲解_哔哩哔哩_bilibili

KMP(Knuth-Morris-Pratt)算法是一种用于字符串搜索的高效算法,其核心思想是当在文本字符串中搜索一个词时,能够利用已经部分匹配的信息避免从头开始搜索,从而提高搜索 …

Legacy Class Descriptor and Metaclass Examples

Legacy Class Descriptor and Metaclass Examples

Examples from Fluent Python, First Edition—Chapter 21, Class …

Linux 常用指令

#Linux #常用指令

解决“远程主机密钥已更改,端口转发已禁用”

使用命令行清除特定主机的已知密钥

你也可以使用以下命令从 known_hosts 文件中删除特定主机的条目:

1
2
ssh-keygen -R <远程主机 …

logging

logging 是 Python 标准库中的一个模块,用于记录和管理应用程序的日志信息。相较于直接使用 printlogging 模块提供了更灵活、更强大的日志记录功能,能够控制日志的输出格式、级别、目标位置(如文件、控制台),以及自动处 …

Mixin模式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class DiffusionPipeline(ConfigMixin, PushToHubMixin):
    r …

Mojifinder: Unicode character search examples

Mojifinder: Unicode character search examples

Examples from Fluent Python, Second Edition—Chapter 22, Asynchronous …

NLTK

#PythonPackage

Python 的自然语言处理库 官网

NLTK(Natural Language Toolkit)简介

NLTK 是一个用于处理和分析自然语言文本的 Python 库,它为语言学家、计算语言学家和程序员提供了丰 …

NLTK 1

Python 的自然语言处理库 官网

NLTK(Natural Language Toolkit)简介

NLTK 是一个用于处理和分析自然语言文本的 Python 库,它为语言学家、计算语言学家和程序员提供了丰富的工具。它包含了大量的资源和 …

Norvig's originals and updates

Norvig’s originals and updates

This directory contains:

Paramiko

要在 VSCode 连接服务器 并读取 …

pathlib.Path

pathlib.Path 是 Python 中用于处理文件路径的强大工具,提供了很多方便的方法来操作文件和目录。以下是一些常用的 Path 方法:

1. Path(name)

• 用于创建一个 Path 对象。

1
2
from …

Python 中 set 的符号计算优先级

Python set 计算符号的优先级规则

在 Python 中,set 支持集合运算符,如 并集(|)、交集(&)、差集(-)、对称差集(^),其 优先级规则 类似于数学逻辑运算。

集合运算符优先级(从高到低) …

Python中的多继承特性

多继承是面向对象编程中一个有趣的特性,允许一个类同时继承多个父类的属性和方法。 这种机制在代码复用、功能组合等场景中非常有用,但也带来了一些复杂性。

主要根据Python语言介绍,最后也会分析其他常见语言如何处理多继承。

Python中的多 …

python打开文件

在Python中,使用open()函数可以打开文件,并指定文件的打开模式。每种模式对应不同的文件操作。下面是常见的几种打开方式:

1. ‘r’ — 只读模式 (Read-only)

描述:以只读方式打开文件。如果 …

Python项目的构建和分发

运行 python -m build 的效果是为 Python 项目生成分发包,包括源码分发包(Source Distribution, .tar.gz**)和构建分发包(Wheel,** .whl**)**。这些分发包可用于将项目上传到 …

Pytorch中的Dataset

在 PyTorch 中,Dataset 和 IterableDataset 都是 torch.utils.data 中的数据集基类,但它们的工作方式不同,主要区别如下:


1. Dataset(索引式数据集,Map-Style …

Race condition in orignal procs.py

Race condition in orignal procs.py

Thanks to reader Michael Albert who noticed the code I published during the Early …

setuptools

#PythonPackage

Shell编程:从命令行到自动化艺术

#shell

定义与核心价值

Shell编程是通过编写脚本(Script)在命令行解释器中执行自动化任务的技术。作为用户与操作系统内核之间的桥梁,Shell不仅提供交互式命令执行环境,更是一种具备流程控制、变量管理等特性的脚本语言。其核心价 …

Short links for URLs in the book

Short links for URLs in the book

Fluent Python, Second Edition has more than 1000 links to external …

Source of the originals

Source of the originals

STL

STL(Standard Template Library,标准模板库)是C++标准库的重要组成部分。它是一组通用的模板类和算法,提供数据结构和算法的实现,以简化常见编程任务。STL对于C++开发者非常重要,因为它提供了灵活且高效的工具来处 …

The Python Data Model

The Python Data Model

Sample code for Chapter 1 of Fluent Python 2e by Luciano Ramalho (O’Reilly, 2020)

Running …

tmux

tmux 是一个终端复用器,它可以让你在一个终端窗口内运行多个终端会话,并在断开连接后保持会话运行。以下是对 tmux 的详细介绍,包括安装、基本用法和常用命令。

安装 tmux

在大多数 Linux 发行版上,你可以使用包管理器来安装 …

toml

[[深入对比TOML,JSON和YAML]]

TOML(Tom’s Obvious, Minimal Language)是一种简洁易读的配置文件格式,常用于项目配置文件(如 pyproject.toml)。它使用键值对、分层结构以及易读的语 …

Torch中调整Tensor维度

在 PyTorch 中,调整张量维度的操作非常常见。这里总结了几种常用的调整维度的方法,涵盖了不同的操作和用途。

1. torch.squeeze()

作用:去除维度为1的维度。

示例

tensor = …

tqdm:Python 进度条的终极指南

#PythonPackage

什么是 tqdm?

tqdm(源自阿拉伯语 taqadum,意为“进步”)是一个 Python 库,用于在循环或可迭代对象中显示智能进度条。它通过提供实时反馈来增强用户体验,尤其在处理长时间运行的任务时。 …

VPN技术:原理、应用与前沿进展

VPN技术:原理、应用与前沿进展

定义与核心价值

虚拟专用网络(Virtual Private Network, VPN) 是一种通过公共网络(如互联网)建立加密通道的技术,实现远程安全访问私有网络资源。其核心价值在于:

Wiki语法

是的,双中括号 [[]]Wiki语法 中常见的元素,通常用于创建内部链接。以下是对 Wiki 和 Wiki 语法的详细介绍:


一、什么是 Wiki?

Wiki 是一种基于 协作式编辑 的网站技术,允许用户通过浏览器直接创建、修改和链 …

二分查找

给定一个 n 个元素有序的(升序)、无重复元素的 整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

解决思路: 在区间[left, right]中查找 …

二叉树

给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。

输入描述

输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写字母组成。

输出描述

对于每组输入,输 …

代码风格

代码风格

不管使用何种编程语言,遵循以下的一般规则或许是好习惯:

我的主要使用代码是Python,其规范是PEP8

刷题

调库

如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数 …

元编程技术

https://zhuanlan.zhihu.com/p/399035868

元编程(Metaprogramming)是一种编程技术,允许程序将代码视为数据进行操作。这意味着程序可以生成、修改或分析自身或其他程序的代码,从而提高灵活性和重用 …

光猫是什么?在宽带入户中的作用?

光猫是什么?在宽带入户中的作用?

定义与基本概念

光猫(Optical Network Terminal,ONT),又称光纤调制解调器,是将光纤传输的光信号转换为电信号的设备。它是光纤到户(FTTH)网络中的关键终端设备,负责实现用户端与运 …

全局变量

除了 __file__ 变量,Python中还有一些其他类似的特殊全局变量,这些变量提供了有关Python环境和脚本执行上下文的信息。以下是一些常见的特殊全局变量:

  1. __name____name__ 变量用于确定模块是以主程序执行还是 …

制造空白、间距

在 LaTeX 中,有多种方法控制文档中的空格和间距。以下是与空格和间距相关的常见单位和命令的总结:

1. 水平空格和间距(Horizontal Spacing)

1.1 普通空格

(波浪号):非断行空格。它确保前后的文本不会换行。例如 …

单例模式

单例模式(Singleton Pattern)

1. 定义

单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问该实例的方式。其核心思想是限制一个类在系统中只能存在一个对象实例,同时允许该对象的全局访问。

2. 使用场景 …

单调栈

单调栈是一种特殊的栈结构,它具有以下特点:

  1. 单调递增栈:栈中元素从栈底到栈顶逐渐增大。当需要维护一个单调递增的序列时,可以使用单调递增栈。

  2. 单调递减栈:栈中元素从栈底到栈顶逐渐减小。当需要维护一个单调递减的序列时,可以使用单调递减栈 …

单调栈

单调栈是一种特殊的栈结构,它的元素按照一定的顺序排列,通常是递增或者递减。单调栈在许多算法问题中都很有用,特别是在需要快速找到数组中某些元素的最小值或最大值的场景下。

单调栈的类型:

  1. 单调递增栈:栈中的元素按从栈底到栈顶的顺序递增,即栈顶 …

历史

历史

我总喜欢在学习一项技术之前,花点时间探索其

基础语法

这一部分我会力求精简地介绍一边Python的基础语法。

反转链表

反转链表

各种字体和使用场景

在 LaTeX 中,不同的字母字体(或称字族)有明确的使用场景,尤其在数学公式中,字体往往承载着特定的数学含义。以下是常用的字母字体及其典型使用场景,结合大学数学、物理等领域的规范进行说明:

一、基础罗马体(Roman)

哈夫曼树

哈夫曼树(Huffman Tree),也被称为最优二叉树,是一种特殊的二叉树结构。它在信息编码、数据压缩等领域中有广泛应用,特别是在构建最优的编码方案方面具有重要意义。让我们一步步深入了解哈夫曼树的定义、应用以及相关算法。

定义

哈夫曼树是 …

堆(Heap)是一种特殊的完全二叉树,它满足两个主要特性:结构性和堆序性。根据堆序性的不同,堆可以分为最大堆和最小堆:

  1. 最大堆:任何一个父节点的值都大于或等于它的子节点的值。
  2. 最小堆:任何一个父节点的值都小于或等于它的子节点的值。

结构 …

多进程——multiprocessing

相关链接: https://docs.python.org/zh-cn/3/library/multiprocessing.html …

如何打包一个自己的Python包并上传PyPI

相关链接: https://www.cnblogs.com/jinjiangongzuoshi/p/14037220.html

setup.py示范

子集

这个问题是经典的计算几何问题中的一个变体,也与动态规划有关。题目要求在满足特定条件下,从给定的物品中挑选出尽可能多的物品。满足条件的是,对于任意两个物品 (i) 和 (j),要么 (x_i < x_j) 且 (y_i < …

字符串相关API

Python 字符串提供了许多实用的 API(方法)来处理和操作字符串。以下是一些常用的字符串方法及其简单说明:

1. 字符串操作方法

定义

定义

栈(Stack)是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加进栈的元素会是第一个被移除的。栈的操作主要有两个:压栈(push),即在栈顶添加一个元素;弹栈(pop),即移除栈顶的 …

对于基于 Debian 的系统(如 Ubuntu):

#linux

Tmux 是一款强大的终端复用器,它不仅能让你在一个终端窗口中运行多个会话,还能在断开连接后保持会话持续运行。无论是日常开发还是远程工作,Tmux 都能显著提升你的工作效率。本文将详细介绍 Tmux 的安装、基本用法、配置技 …

希腊字母epsilon 两种写法辨析

希腊字母epsilon的两种写法ϵ,ε,一般认为哪个是原型,哪个是变体?

常用的注释标识

在代码注释中,类似 TODO 这样的标识通常用于标记需要在未来完成或处理的任务。这些标识有助于开发人员快速定位代码中的待办事项、问题或需要进一步完善的部分。以下是一些常见的注释标识及其用途:

TODO / FIXME / BUG / …

总结

排序算法的重要性不言而喻,记录常见的十种排序算法,介绍排序思路并且给出代码。同时最后介绍常见语言的内置排序函数,例如python的sort() 1.0 十大经典排序算法 | 菜鸟教程 (runoob.com)

总结 …

控制进程顺序

在某些情况下,你可能需要控制线程之间的执行顺序。可以通过以下几种方法实现:

1. 使用锁(Lock)

锁可以确保只有一个线程在同一时间执行特定的代码块,从而可以控制线程的执行顺序。

示例

 1
 2
 3
 4
 5
 6
 7
 8 …

数组

数组是存放在连续内存空间上的相同类型数据的集合。 ![[Pasted image 20240409112443.png]] Python中的List是通过动态数组实现的。

特点:

数组

数组

在 Python 中,array 是一个标准库,用于提供数组对象的支持。它提供了一种高效的方式来存储相同类型的数据,类似于 C 语言中的数组。array 模块定义了一个称为 array 的类,用于创建和操作数组。

下面是一些关于 …

最小代价生成树

在计算机科学和网络设计中,最小代价生成树(Minimum Cost Spanning Tree, MCST)是一个重要概念,它在优化资源配置和降低成本中扮演着关键角色。下面,我们将深入探讨最小代价生成树的定义、应用以及相关算法。

定义

最小 …

查看CPU型号

在Linux服务器上查看硬件信息,可以通过以下命令获取CPU、内存、磁盘等重要参数:

1. 查看CPU信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 查看CPU型号
cat /proc/cpuinfo | …

模型文件参数

视频生成模型的参数数量计算与checkpoint文件大小的关系可从以下维度深入解析:

一、参数数量的计算逻辑

视频生成模型的参数数量由模型架构中的所有可学习权重和偏差组成,其计算需逐层拆解:

  1. 基础层参数计算

    • 全连接层:参数数量 = 输 …

浅拷贝与深拷贝

链接:5张图彻底理解Python中的浅拷贝与深拷贝 - 知乎 (zhihu.com)

浅拷贝(shallow copy)与深拷贝(deep copy)在处理复杂对象(如包含其他对象的对象)时的行为有明显区别。理解这两者的差异,特别是在关于存 …

深入对比TOML,JSON和YAML

TOML、JSON 和 YAML 是三种广泛用于配置文件和数据序列化的格式。它们各有特点,在不同场景中表现优劣不同。本文将从多个角度对这三种格式进行深入对比。


1. 可读性与易用性

TOML

算法笔记

算法笔记

单调栈

单调栈是一种特殊的栈结构,它具有以下特点:

  1. 单调递增栈:栈中元素从栈底到栈顶逐渐增大。当需要维护一个单调递增的序列时,可以使用单调递增栈。

  2. 单调递减栈:栈中元素从栈底到栈顶逐渐减小。当需要维护一个单调递减的序列时, …

缘起——最好的中文Python教程

现在我在北邮读研二,四月份。这个时候应该是正忙的时候,实验室的项目得应付同时还想着怎么找份实习,毕竟今年的9月份就是“金九银十“的秋招季了。为什么还想着花时间写这样一份Python教程呢?

首先我想搭建个人网站的冲动由来已久,但总会觉得,不 …

设计模式的类别

设计模式(Design Patterns)是一套被反复验证的、可重用的、解决常见软件设计问题的通用解决方案。它们为开发人员提供了一种简洁的方式,帮助处理系统架构中的设计挑战,提高代码的可读性、可维护性和可扩展性。

设计模式的类别

设计模式 …

设计模式的类别

设计模式(Design Patterns)是一套被反复验证的、可重用的、解决常见软件设计问题的通用解决方案。它们为开发人员提供了一种简洁的方式,帮助处理系统架构中的设计挑战,提高代码的可读性、可维护性和可扩展性。

设计模式的类别

设计模式 …

路由器和交换机的区别与联系

基本概念定义

路由器(Router)

交换机(Switch)

输入为: 1 2 3 4 5

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  
# 输入为: 1 2 3 4 5
a = input()
# a = …

问题描述

创建时间 2024-04-10 14:58

问题描述

已知自然数1,2,…,N(1<=N<=100)依次入栈,请问序列C1,C2,…,CN是否为合法的出栈序列。

注意:

问题描述

创建时间 2024-04-10 15:19

问题描述

已知自然数1,2,…,N(1<=N<=100)依次入栈,请找出全部合法的出栈序列

注意:

解决思路:

要找出所有合法的出栈序列,我们可以使用递归的方法来模 …

问题描述

创建时间 2024-04-10 18:17 300. 最长递增子序列

问题描述

在一个数组中找到最长的、元素严格递增的子序列。 并不要求这个序列在原数组中连续,但是其中元素的相对顺序要和在原数组中保持一致。

注意:

解决思路:

答案 …

问题描述

创建时间 2024-05-16 15:23

问题描述

注意:

解决思路:

答案

Python版本

CloudflareR2

Streamlit

对象存储

未命名

树状数组

线段数

队列

abc

contrastive learning

css

functools

工厂方法

未命名

树状数组

线段数

队列

CPU市场目前呈现出多元化的发展态势,国际巨头主导与国产厂商突围并行,产品型号丰富,能满足不同用户的需求。以下是对CPU市场、主流厂商、型号以及选择方法的详细介绍:

CPU市场现状

#git

Git是一种分布式版本控制系统(DVCS),由Linus Torvalds于2005年开发,旨在高效管理代码的版本迭代与协作开发。其核心思想是通过分布式架构实现全量代码历史记录的本地存储,支持非线性工作流(如分支合并、冲突解决) …

使用 Weights and Biases (wandb) 进行超参数调优是一个高效且系统化的方式,可以帮助你自动记录实验的设置和结果,生成可视化图表,并轻松地比较不同的实验结果。下面是如何使用 wandb 来高效调整超参数的具体步骤: …

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Excalidraw Data

Text Elements

线性表 …

性能

显卡性能天梯图

![[v2-ca6724487c3bcd007598b20eb8693bc4_1440w.webp]]

用户在购买显卡时一般较少选择公版显卡,主要是因为公版显卡在散热性能、个性化功能、售后支持等方面存在一定局限性,具体 …

介绍

快速入门

编程三分钟|一个非常快速的 Latex 入门教程

在线LaTeX编辑器:https://www.overleaf.com TeX Live下载 …

概论

LaTeX 是一种基于排版标记的文档编辑系统,核心用于生成结构化、高质量的文档(尤其适合学术论文、公式、书籍等)。其基础语法和规则可概括如下:

一、文档结构基础

  1. 文档框架
    所有 LaTeX 文档需包含基本结构:
    1
    2
    3
    4 …

Mermaid的定义与核心价值

Mermaid是一种基于JavaScript的开源图表绘制工具,它采用声明式文本语法生成矢量图表,实现了“文本即图形”(Diagrams-as-code)的核心理念。与传统拖拽式绘图工具不同,Mermaid允 …

我的本科是吉林大学的电子信息工程专业,培养计划上更侧重于底层硬件和电路设计。虽然和计算机知识密不可分,但和计算机专业“科班”的学习内容总归不太一样。本科那时还认真学了MATLAB,以及各种绘制电路的专业知识和工具,现在看来暂无用武之地。

后 …

🔧 电脑组装全攻略:从硬件知识到3A主机配置

✨ 核心组件详解与选购指南

下表详细介绍了组装电脑所需的各个核心组件,帮助你快速理解每个部分的作用和选购要点。

组件名称核心作用 …

Mojifinder

在现代机器学习和数据科学的开发流程中,配置管理扮演着至关重要的角色。尤其是当我们面对大规模的实验、多个配置文件以及需要灵活调度参数的情况时,简单的配置文件往往力不从心。此时,Hydra 提供了一个强大而灵活的解决方案。

什么是 …

引言:告别数据加载瓶颈

在深度学习项目实践中,数据加载往往成为限制训练速度的关键瓶颈。当数据集规模达到数百万甚至数十亿样本时,传统的文件系统随机访问方式会导致I/O效率急剧下降,让昂贵的GPU资源处于闲置等待状态。WebDataset作为 …

项目颜色通道顺序长宽通道顺序数据类型取值范围 …

在 Python 中,虽然没有直接满足所有要求的预设库,但可以通过结合 colorsys 和位操作实现一个高效解决方案。以下是一个完整的实现,它能够:

  1. 基于整数 ID 生成固定颜色(RGB 三元组)
  2. 确保相邻 ID 的颜色差异最大化
  3. 支持 …

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Text Elements

基础数据结构 ^LrhHlRVS

函数 …

在开发过程中,调试是发现和修复问题的关键步骤。Python 提供了强大的调试工具,其中最常用的调试器是 pdb(Python Debugger)。除此之外,还有一个用于远程调试的工具 remote-pdb,它能够在远程环境中启动调试会话。本 …

在Python中,特殊方法(也称为“魔法方法”)是一类以双下划线__开头和结尾的方法,用于实现对象的特殊行为(如运算符重载、属性访问控制、迭代等)。它们通常由Python解释器自动调用,而非直接通过对象调用。以下是Python中最重要的特殊 …

计算机专业考研中, 计算机学科专业基础综合科目满分为 150 分,考试内容包括数据结构、计算机组成原理、操作系统和计算机网络。这也是常说的三大件吧。

我的本科是吉林大学的电子信息工程专业,其实不是计算机专业。虽然电子信息工程当然和计算机密不 …

掌握 find 命令:高效查找 Linux 文件


简介

find 命令是 Linux 系统中最强大的文件查找工具之一。它允许你基于各种条件(如文件名、大小、类型、修改时间等)在指定目录下搜索文件。掌握 find 命令,可以极大地提高你在 …