官方开源仓库: Microsoft-Activation-Scripts
本文受启发于: Windows11专业版激活
这是一个利用硬件ID激活的办法, 激活后一劳永逸, 即使重装系统也不需要再激活, 但是需要保持硬件不变。
使用方法打开Windwos PowerShell, 输入以下命令(注意不是CMD):
irm https://get.activated.win | iex
输入完成后回车,会弹出一个新界面,在新界面中选择你需要激活的内容即可。
选项: [1] HWID用于激活Windows
选项: [2] Ohook用于激活Office
写在前面兴致来了,打算做一个自己的Python工具库,发布到PyPi上,这样可以自己在生活工作的时候直接通过pip install来进行安装和使用。
我的库名最后决定为HandyToolsPy,也就是便捷工具库,里面包含了一些自己常用的工具函数和有趣的项目。
欢迎大家pip install食用。
如果有想加入这个库的好点子请告诉我,我会积极反馈并考虑加入其中。
1. 准备工作1.1 创建目录需要到一个空目录下,创建一个文件夹和setup.py、README.md、LICENSE文件。文件夹名就是库名,比如我创建的文件夹名就是HandyToolsPy。
1.2 目录功能介绍README.md即是库的说明文档,LICENSE是库的许可证,我选择的是GPL 3.0许可证。其他更多的许可证请至这里查看和使用。
setup.py即为你的库的管理工具,Python官网更喜欢使用.toml文件进行管理,但是我都捣鼓了一下,发现还是setup.py的形式比较方便,而且requests库的作者写了一个非常经典的模板,可以参考使用。
可以看到我在HandyToolsPy中创建了__init__.py、__ ...
Programming
未读跟一个老前端在做一个NAS云存储的工具,涉及到了本地文件扫描,作为一个前端菜鸡,我去了解了一下功能的具体原理,然后自己使用JavaScript实现了一下,现在做一个记录。
原理说白了,就是普通的递归查找,输入所需要查找的文件目录,使用Node的fs模块读取目录,然后递归查找子目录,通过isDirectory方法判断子目录中是否也存在文件夹,然后一直重复即可,直到找到所有文件。
预期结果我是想返回一个类似于JSON的变量,预期的结构为:
{ "根目录": { {"子目录1":"floder"}, {"子目录2":"floder"}, {"文件1":"file"}, {"文件2":"file"} }, "子目录1 ...
Programming
未读起因是写Github主页的时候,突发奇想打算设置Action来定时推送仓库,于是就涉及到了Corn调度任务表达式写法,记录一下。
Corn规范Corn表达式由6个字段组成,每个字段之间用空格分隔,格式如下:
* * * * * *| | | | | |___________ 星期, 数值为0-6,周日为0,也可以使用星期缩写,比如mon等| | | | |______________ 月份, 数值为1-12,也可以使用月份缩写,比如jan等| | | |_________________ 日期, 数值为1-31| | |____________________ 小时, 数值为0-23| |_______________________ 分钟, 数值为0-59|__________________________ 秒钟, 数值为0-59,可选字段
其他符号支持除了上面的基础字段写法,Corn还支持一些符号
星号(*) 表示匹配任意值,即全部值 。例如,* 在分钟字段中表示每分钟都执行。
逗号(,) 用于分隔多个值。例如,1,3,5 在小时字段中表 ...
Programming
未读AVIF (AV1 Image File Format)是一种现代图像格式, 基于AV1视频编码技术。它由Alliance for Open Media开发, 旨在提供高效的图像压缩, 同时保持优良的图像质量。
背景介绍AVIF源于AV1视频编码格式, 这是一种开源、免版税的视频编码格式, 旨在替代VP9和H.264。AVIF利用AV1的压缩技术来处理静态图像和图像序列, 提供高效的图像存储和传输。
AVIF格式的特点和优势
高压缩效率: AVIF具有出色的压缩效率, 能够在较小的文件大小下提供优质的图像质量。这使得它在带宽和存储有限的情况下非常有用。
支持HDR: AVIF支持高动态范围HDR图像, 能够呈现更丰富的色彩和对比度。
色彩深度: 支持8位、10位和12位色深, 能够更好地处理复杂的色彩信息。
透明度: 支持透明度通道, 使其适用于需要透明背景的图像。
动画支持: AVIF支持动画, 与GIF和APNG相比, 提供了更高效的动画压缩。
与其他格式的比较
JPEG: AVIF在相同图像质量下通常比JPEG文件小得多, 并且支持更高的色彩深度和透明度。
PNG: 虽然PNG ...
Programming
未读前提条件:安装好Docker Desktop、NodeJS以及具备一定的TypeScript基础本教程实验环境为Windows 11、NodeJS-20.15.0、Docker-27.2.0本地部署的数据库同样可以实现,确保数据库可以成功连接即可1. Docker部署PostgreSQL1.1 首先创建一个空文件夹D:\> mkdir postgresqlD:\> cd postgresql
1.2 配置Docker ComposeDocker Compose 简化了对整个应用程序堆栈的控制,使得在一个易于理解的 YAML 配置文件中轻松管理服务、网络和数据卷。 接下来我们创建配置文件来对它进行配置。
在上面创建好的空文件夹中创建配置文件docker-compose.yml,并编辑:
services: postgres_db: # 服务名称 image: postgres:15.7 # 指定镜像及其版本 container_name: docker_postgres # 指定容器的名称 environment: POSTGRES_PASSWO ...
Programming
未读调用opanai库中的OpenAI接口实现。本文讨论的是openai-1.x以上版本,我在写这篇文章时使用的时openai-1.37。
1. 准备工作在开始之前,你需要拥有一个openai平台的api_key,可以去淘宝或官网购买,这里推荐淘宝。
因为国内商家为了防止因代理不稳定,且确保购买的号不被封号,使用的是中转接口(卖家服务器api负责转发消息问答)。
2. 开始介绍两个函数接口。
OpenAI(base_url, api_key): chatgpt应用client创建接口,我们只需要指定base_url和api_key两个参数即可。base_url表示的是我们上述提到的中专接口的地址,api_key代表的是我们购买的平台的通行证。client.chat.completions.create(model, message): 创建对话,需要指定模型和问答小心内容。model仅可指定你的api_key允许的模型。
2.1 关于message参数上次介绍了基础问答的message参数,是一个列表,包含了三个字典变量。其格式如下:
message = [ # 系统定位配置,可 ...
Programming
未读主要是调用opanai库中的OpenAI接口实现。本文讨论的是openai-1.x以上版本,我在写这篇文章时使用的时openai-1.37。
1. 准备工作在开始之前,你需要拥有一个openai平台的api_key,可以去淘宝或官网购买,这里推荐淘宝。
因为国内商家为了防止因代理不稳定,且确保购买的号不被封号,使用的是中转接口(卖家服务器api负责转发消息问答)。
2. 开始介绍两个函数接口。
OpenAI(base_url, api_key): chatgpt应用client创建接口,我们只需要指定base_url和api_key两个参数即可。base_url表示的是我们上述提到的中专接口的地址,api_key代表的是我们购买的平台的通行证。client.chat.completions.create(model, message): 创建对话,需要指定模型和问答小心内容。model仅可指定你的api_key允许的模型。
2.1 关于message参数message参数是一个列表,包含了三个字典变量。其格式如下:
message = [ # 系统定位配置,可不配置。 “你是 ...
Programming
未读1. Asyncio异步处理基本概念
async :写在函数开头,将指定函数转换为协程。
event_loop :事件循环,将协程注册到事件循环上协程才可以被调用。
coroutine :协程,类似于平常所说的函数,用于实现某些操作,只有被转为任务或者注册到事件循环上后才可以执行,否则返回一个协程对象。
await :写在协程、任务前,用于挂起阻塞的异步调用 。
task :任务,进一步封装好的协程,可以直接被调用。
future : 从功能来讲是跟task差不多,但是它是一个底层的等待对象,表示一个异步操作的最终结果,通常情况下不会在应用层级创建。
2. Asyncio异步处理基础上手2.1 协程和休眠根据第1小节有关协程的介绍,简单写一个协程,使用async关键字定义一个协程函数。再使用await关键字挂起一个阻塞。
import asyncioimport time# 定义一个协程函数,其中使用await关键字进行休眠# asyncio.sleep(seconds)函数表示休眠时间,参数为秒async def startDreamPlace(): print(f&quo ...
Programming
未读GAN先说一下GAN,对抗生成模型核心即生成器Generator和判别器Discriminator,由生成器不停的生成数据,判别器给出反馈,以此往复知道判别器无法判断生成器生成的数据真伪。
这样的过程相当于是从一张白纸做成了一张假钞,“警察”(Discriminator)最后也无法判断出这是真币还是假币。实现了从一种特征到另一种特征的转换。
CycleGAN-VCCycleGAN VC2是一种用于语音转换的模型,基于 CycleGAN和GAN 的原理进行改进和应用。其主要特点和原理包括:
语音转换:CycleGAN VC2 主要用于将一种语音特征转换为另一种语音特征,如改变说话人的声音特征,同时保持内容不变。
无配对数据训练:与图像转换中的 CycleGAN 类似,CycleGAN VC2 不需要成对的语音数据进行训练。它可以在没有直接对应的语音对的情况下学习不同语音域之间的映射。
循环一致性损失:为了确保转换后的语音保留原始语音的内容,CycleGAN VC2 使用循环一致性损失。这意味着,如果将语音从域 A 转换到域 B,然后再转换回域A,最终得到的语音应该与原始语音相似。
...