Git LFS 介绍

简介

Git LFS(Large File Storage)是为了解决在版本控制系统中存储大型二进制文件而设计的一个扩展。Git 的核心专注于文本变更历史,对于像视频、音频文件或者大型代码库中的对象这样的大文件来说可能不太适合。

当启用 Git LFS 后,它会检测到指定格式的大文件(如 .jpg, .mp4 等),并将这些文件的元数据保存在常规的 Git 仓库中。而实际的文件内容会被存储在一个独立的后端服务器(默认是 GitHub 或者 GitLab 的支持)上。这意味着当你 clone 一个包含 LFS 文件的仓库时,只会下载对应的元数据,并会在你需要访问大文件内容时从远程获取。

阅读更多

CentOS Stream 9 配置清华源

使用方法

CentOS Stream 9 默认启用了包管理工具 dnf,其是 yum 包管理工具的替代品。dnf 与 yum 大部分的命令都是通用的,dnf 也使用 /etc/yum.repos.d/ 进行镜像配置。

CentOS Stream 9 中源被整合入两个文件 centos.repocentos-addons.repo,由于文件中不包含 baseurl 字段,需要手动插入,通过文本替换修改源的方法较为复杂,也可以选择直接复制最后的替换结果覆盖源文件。

阅读更多

本地部署stable diffusion webui

在AI和机器学习的世界中,图像生成模型如 Stable Diffusion 已经成为了一个热门话题。Stable Diffusion 是一个开源的文本到图像的生成模型,它允许用户输入文本描述并生成相应的图像。为了让更多的用户能够方便地使用这一强大的模型,Stable Diffusion WebUI 提供了一个友好的图形用户界面,使得部署和使用变得简单直观。

前置条件

python

官方推荐版本为:3.10.6

阅读更多

nginx location 介绍

Nginx 配置中的 location 指令是其核心功能之一,用于定义如何根据客户端请求的URI(统一资源标识符)来处理和路由HTTP请求。它允许管理员精细地控制对特定URL路径的响应行为,如提供静态内容、执行重定向、设置访问权限、应用反向代理规则等。以下是对 location 指令的详细介绍:

1. 位置与作用域

location 指令出现在 Nginx 配置文件的 server 块内部,用于细化该虚拟主机(server block)下的请求处理规则。一个 server 块可以包含多个 location 块,每个 location 都负责定义一组针对特定请求URI的处理逻辑。

阅读更多

加密哈希函数 BCrypt

bcrypt 是由 Niels Provos 和 David Mazières 设计的密码散列函数,基于 Blowfish 密码,于 1999 年在 USENIX 上提出。 除了加入盐来防止彩虹表攻击外,bcrypt 还是一种自适应函数:随着时间的推移,计算机硬件的计算能力会越来越高,它可以通过增加迭代计数使其计算过程变慢,以此抵消硬件性能的提升,使其仍然可以抵抗暴力搜索破解攻击。

bcrypt 函数是 OpenBSD的默认密码哈希算法,也是某些 Linux 发行版(例如 SUSE Linux)的默认算法,在绝大部分流行的编程语言中,都有具体实现。

背景

Blowfish算法 在分组密码中因其昂贵的密钥设置阶段而引人注目。它首先使用标准状态的子密钥,然后使用该状态的一部分密钥执行块加密,并使用该加密的结果(更准确地说是散列)来替换一些子密钥。然后它使用这种修改后的状态来加密密钥的另一部分,并使用结果替换更多的子密钥。它以这种方式进行,使用逐渐修改的状态来散列密钥并替换状态位,直到设置所有子密钥为止。

阅读更多

数据结构与算法 B-Tree B树

概述

B树(B-Tree)与二叉树(Binary Tree)不是一个概念,其中-是连接符,不是减号,有些人会读成B减树,这是错误的。它可以翻译成Balance Tree,或者是Bayer Tree

B树是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。

B树与AVL树不同,可以拥有2个以上的子节点,并且每个节点可以有多个键值,这些属性减少了定位记录时所经历的中间过程,加快了存取速度。B树更适用于读写相对较大的数据块存储系统,如磁盘。这种数据结构常被应用在数据库和文件系统的实现上。

阅读更多

数据结构与算法 迪杰斯特拉算法

迪杰斯特拉算法介绍

迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。
它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。

基本思想

通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。

此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。

阅读更多