Picgo与MinIO搭建图床
此篇文章需要先搭建MinIO服务,若是还没搭建此服务,可以参考笔者往期的文章。
PicGo 是一款开源免费的桌面工具,能快速将本地图片上传到云图床(如GitHub、七牛云等),并自动生成网络链接,支持拖拽、剪贴板上传,兼容Windows/macOS/Linux,可与Typora等编辑器无缝集成,大幅简化写作、博客等场景的图片插入流程。
1.下载Picgo并安装
Picgo是一款开源的工具,所以我们可以直接访问相应的 GitHub 地址进行下载 Molunerfinn/PicGo: :rocket:A simple & beautiful tool for pictures uploading built by vue-cli-electron-builder ,这里我是下载的最新版,如果想要稳定,可以下载相对老的一些版本。
下载完成后进行安装,安装过程中没有什么需要配置的地方,无脑下一步即可。
2.下载Node环境PicGo 是基于 electron 开发的图片上传工具,它内置插件系统以提供更强大的功能 ...
Minio 部署
MinIO 是一款开源的高性能分布式对象存储系统,专为云原生环境设计,完美兼容 Amazon S3 API,支持存储图片、视频、日志等非结构化数据(单对象最大 5TB)。其核心优势包括:
极简部署:单节点仅需 512MB 内存,支持 Docker 一键部署,30 秒内可快速搭建私有云存储;
企业级可靠性:通过纠删码技术实现数据冗余(允许半数节点故障自动修复),并具备 Bitrot 保护机制实时检测/修复数据损坏;
生态融合:无缝集成 Kubernetes、Spark 等工具,且提供细粒度权限控制与审计日志,适用于 AI/ML 训练、数据湖、灾备等场景。作为轻量级 S3 替代方案,MinIO 在标准硬件上可达 183GB/s 的读写性能,是构建混合云存储的理想选择。
当然,笔者部署Minio是为了替代OSS服务来支持我的图床服务,由于我的服务器配置比较低(2核2g),所以这里就不展示使用Docker的部署方案了。
1.创建文件目录首先在 /opt 文件夹下创建一个名叫 minio 的文件夹
123cd /optmkdir mini ...
Git
安装无脑下一步
配置name和email
12git config --global user.name "earstrive"git config --global user.email "1491157227@qq.com"
使用git
查看当前仓库状态
1git status
初始化仓库
1git init
文件状态
未跟踪
刚刚添加到项目中的文件处于未跟踪状态
已跟踪
暂存
未修改
已修改
未跟踪 —> 暂存
12git add <filename> # 将文件切换到暂存状态git add * # 将所有已修改(未跟踪)的文件暂存
暂存 —> 未修改
12git commit -m "xxxx" # 将暂存的文件存储到仓库中git commit -a -m "xxxx" # 提交所有已修改文件(未跟踪的文件不会提交)
未修改 —> 修改
修改代码后,文件会变为修改状态
查看记录
1git log
Git提交的常 ...
Cesium开始
创建Vue项目
安装Cesium:npm install cesium
将node_modules中的cesium目录下的Build/Cesium中4个目录拷贝到public中
组件中编写代码
1234567891011121314151617181920212223242526272829303132333435<script setup>import * as Cesium from "cesium";import "cesium/Build/Cesium/Widgets/widgets.css";import { onMounted } from "vue";// 设置cesium tokenCesium.Ion.defaultAccessToken ="你的token";// 设置cesium静态资源目录window.CESIUM_BASE_URL = "lib/cesium";onMounted(() => ...
TypeScript常用类型类型注解TS是JS的超级,所有JS代码都是合法的TS代码
通过类型注解可以为变量设置类型
123456789101112131415let a: string = "hello";let b: number = 123;let c: boolean = false;function greet(name: string, times: number): string { const str = `你好${name}`; for (let i = 0; i < times; i++) { console.log(str); } return str;}greet("孙悟空", 5);
类型推断当我们没有明确指定一个变量的类型时,TS会自动对变量的类型进行推断,所以,通常情况下我们不需要为变量设置类型注解,都交给TS自动推断
1234let a: string = "hello"; // str ...
Node.js模块化
CommonJSCommonJS引入模块12345678910111213141516171819202122232425262728/* 早期的网页中,是没有一个实质的模块规范的 我们实现模块化的方式,就是最原始的通过script标签来引入多个js文件 问题: 1.无法选择要引入模块的那些内容 2.在复杂的模块场景下非常容易出错 ... 于是,我们就急需在js中引入一个模块化的解决方案 在node中,默认支持的模块化规范叫做CommonJS 在CommonJS中,一个js文件就是一个模块 CommonJS规范 - 引入模块 - 使用require("模块的路径") 函数来引入模块 - 引入自定义模块时 - 模块名要以./ 或 ../ 开头 - 扩展名可以省略 ...
JavaScript
1.入门
字面量和变量12345678910111213141516/* 字面量 - 字面量其实就是一个值,它所代表的含义就是它字面量的意思 - 比如:1 2 3 4 100 "hello" true null ... - 在js中所有的字面量都可以直接使用,但是直接使用字面量并不方便 变量 - 变量可以用来存储字面量 - 并且变量中存储的字面量可以随意的修改 - 通过变量可以对字面量进行描述,并且变量比较方便修改 - 变量的使用 声明变量 -> let 变量名 / var 变量 变量赋值 -> a = xx 声明和赋值同时进行 -> let 变量 = 值*/
变量的内存变量中并不存储任何值,而是存储值的内存地址!
基本类型
JavaScript 中的基本类型(如 number、string、boolean、null、undefined、symb ...
HTML
网页的基本结构12345678910<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body></body></html>
!DOCTYPE html
文档声明,用来声明当前网页的版本,这个用来表示当前网页是遵循HTML5规范的
doc指Document,表示文档,文档就是网页,一个网页就是一个文档
type 指类型
html
html根标签,一个网页有且只有一个根标签,其他标签应该在根标签的内部
head
html的子标签(子元素)
head表示网页的头部,可以在head中设置网页的各种数据,head中的内容不会在网页中直接显示
meta
head的子元素,用来设置网页的元数据
charset=”UTF-8”,主要用来避免乱码问题
title
head ...








