找到
21
篇与
学习笔记
相关的结果
- 第 2 页
-
Java改变控制台输出文字样式 Java在控制台上的输出字体样式其实是可以自己定义的 代码 如果结尾处没有加 \033[m 这次输出后的全部输出都会变成相同样式 System.out.println("\033[30m"+"Hello World 设置m为:30"+"\033[m"); System.out.println("\033[31m"+"Hello World 设置m为:31"+"\033[m"); System.out.println("\033[32m"+"Hello World 设置m为:32"+"\033[m"); System.out.println("\033[33m"+"Hello World 设置m为:33"+"\033[m"); System.out.println("\033[34m"+"Hello World 设置m为:34"+"\033[m"); System.out.println("\033[35m"+"Hello World 设置m为:35"+"\033[m"); System.out.println("\033[36m"+"Hello World 设置m为:36"+"\033[m"); System.out.println("\033[37m"+"Hello World 设置m为:37"+"\033[m"); System.out.println("\033[38m"+"Hello World 设置m为:38"+"\033[m"); System.out.println("\033[39m"+"Hello World 设置m为:39"+"\033[m"); System.out.println("\033[40m"+"Hello World 设置m为:40"+"\033[m"); System.out.println("\033[41m"+"Hello World 设置m为:41"+"\033[m"); System.out.println("\033[42m"+"Hello World 设置m为:42"+"\033[m"); System.out.println("\033[43m"+"Hello World 设置m为:43"+"\033[m"); System.out.println("\033[44m"+"Hello World 设置m为:44"+"\033[m"); System.out.println("\033[45m"+"Hello World 设置m为:45"+"\033[m"); System.out.println("\033[46m"+"Hello World 设置m为:46"+"\033[m"); System.out.println("\033[47m"+"Hello World 设置m为:47"+"\033[m");样式 image-20221012230119279图片 其实,并不用特别的去记什么数字代表什么样式,用一个for循环输出看看就可以知道了 for(int i=0;i<99;i++) { System.out.println("\033["+i+"m" + "Hello World 设置m为:"+i+ "\033[m"); } -
移动硬盘安装Linux系统闪屏问题解决方案 前引 电脑自带的固态只有120GB,着实有点嫌小就换了个大一点的,原来的就被我做成了移动硬盘。但是已经有很多可以使用的U盘,对速度也没有太高的追求,与其被丢在角落里吃灰,不如在移动盘里烧录个Linux,和原本主机的Windows一起做双系统使用,做个即插即用的备用系统。 遇到的问题 在给移动硬盘烧录Ubuntu 22.4后还没使用多长时间,屏幕就开始不间断闪烁 尝试解决方案 一开始我以为是显示器参数没有调对,就把在UI界面下可以调节的什么伽马值,屏幕刷新率挨个调了个遍,都没有变化 然后,我以为是驱动的原因,按照网上的教程安装显卡驱动后,问题并没有得到解决 我开始怀疑也许是Linux发行版与我的电脑不兼容(纯小白)就尝试使用了许多不同的系统;Ubuntu、OpenSUSE、Manjaro、Kali等各大发行版后,每一版都会有不同程度的闪屏问题 问题根源发现 之前一直把移动硬盘插在一个绿联的USB扩展坞上,在Windows这边读取并没有任何的问题,但有一次把移动硬盘直接插在了电脑的USB口上就开始频繁的设备挂载与退出 硬盘抽风图片 好家伙,网上一查是移动硬盘的供电不足,导致了设备频繁挂在推出 看来是买了便宜的移动硬盘盒,但是在USB扩展坞上使用没有任何问题,直接插电脑上却用不了。不知道又是些什么奇奇怪怪的原因了。 最终解决方案 暂时并没有多余的资金去买一个好一点的硬盘盒,又有一个USB的电压电流计,就打算拿他做中转试试,还真成功了 莫名其妙的解决办法图片 真的是莫名其妙的解决办法,自己看了都有点想笑。不管那么多了,反正又不是不能用,不再闪屏就行 不再闪屏了图片 -
利用GitHub Action自动集成部署Hexo博客到服务器 前引 Hexo生成的静态博客有着安全、快速等特点,但是同时也存在一些比较明显的痛点 由于没有后台,出现错误时移动端修改不方便 本地文件丢失,很难找回原本博客配置文件 没有Nodejs环境不能部署 而这些问题都能通过Github Action得到比较好的解决 Hexo本地博客创建 {% note info simple %} 已经有的可以跳过 {% endnote %} 第一次使用的话本地Hexo环境是肯定要有的,如果本地博客都没有的话后续步骤也没有意义了 网上已经有比较成熟的教程,此处不做具体描述, {% link 从0开始用Hexo框架搭建个人博客(无坑版),清菡,https://zhuanlan.zhihu.com/p/305812430 %} {% link Hexo+阿里云,手把手教你如何搭建属于自己的个人博客(超详细),到站了还不下车,https://zhuanlan.zhihu.com/p/126243913 %} GitHub仓库创建 在创建时最好选择私有,避免重要内容泄露 image-20220811233905181图片 新建工作流文件 在博客更目录下新建.github/workflows/deploy.yml文件,deploy.yml文件的文件名可以随意起,只要是yml文件就行 将配置内容复制到新建文件中 # 当有改动推送到master分支时,启动Action name: Hexo博客自动部署 on: push: branches: - master release: types: - published jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: master - name: 安装 Node uses: actions/setup-node@v1 with: node-version: "12.x" - name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g env: CI: true - name: 缓存 Hexo uses: actions/cache@v1 id: cache with: path: node_modules key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}} - name: 安装依赖 if: steps.cache.outputs.cache-hit != 'true' run: | npm install --save env: CI: true - name: 生成静态文件 run: | hexo clean hexo generate env: CI: true - name: 部署 uses: burnett01/rsync-deployments@@5.2.1 with: switches: -avzh path: public/ remote_path: /var/hexo/ remote_host: mstzf.cn remote_port: 22 remote_user: root remote_key: ${{ secrets.SERVER_KEY }} 文本中流程执行结果是将静态文件部署到个人服务器中去 其中,最后部署部分脚本通过 ssh 上的 rsync 将文件部署到远程文件夹中 switches:rsync 标志,例如:-avzr --delete path:要上传文件地址,当前hexo g之后静态文件在public/中 remote_path:博客在服务器中的路径 remote_host:主机地址 remote_port:ssh连接端口号 remote_user:要连接的用户 remote_key:服务器生成的密钥 服务器获取ssh连接密钥 登录服务器终端,输入命令ssh-keygen 出现的提示内容一路回车,最终会在~/.ssh生成公钥和私钥id_rsa.pub、id_rsa 将公钥id_rsa.pub复制到authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys复制一份私钥的内容 新建secrets 登录GitHub,选择要上传博客源文件的仓库->setting下 image-20220812001540652图片 name:SERVER_KEY Value:刚刚复制的私钥 name可以随意但要和流程文件中secrets调用的名字一致 image-20220812001911234图片 检查.gitignore文件 .DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/文件中内容表示上传要忽略的文件,如果文件不存在或者内容有缺少,要及时补充 否则会上传大量无用文件,在添加和提交时都会浪费大量时间 提交博客源代码到github 将博客根目录下和主题文件下存在的.git文件删除或者移动到其非博客文件夹下 将本地博客目录初始化文git仓库 git init #初始化 git remote add origin <github仓库ssh代码> git checkout -b master # 切换到master分支,本地git仓库搭建成功后将源代码提交到GitHub仓库 git add . git commit -m "first commit" git push origin masterGitHub Action会自动执行工作流程,如果一切顺利没有差错的话,博客会自动部署到我们的服务器上去 image-20220812003735619图片 -
Hexo搜索引擎优化(SEO) 前引 我们费尽心血写出来的各种博客,当然是希望分享给更多的人,让更多的人看到的,但是如果只是在自己的小圈子里面去分享的话,很难有好的浏览量,所以就需要我们去优化搜索,让浏览器收录我们的网址,这样在有人在浏览器搜索对应关键字的时候就有可能将我们的文章推荐给他。 道理虽然是这样,但我自己的浏览数据也一直少得可怜 -190f176b0e175c2a" style="zoom:25%;" /> 搜索平台收添加搜索平台 站长管理平台地址 必应站长管理平台 谷歌站长管理平台 百度站长管理平台 登录到搜索平台的站长管理页面,将自己的域名添加后,还需要进行验证,有三种方式,截图以必应的为例 文件验证 下载对应平台的验证文件后,将其保存到网站的根目录,hexo博客框架的话推荐保存到source/目录下,这样每次生成静态页面后都会在public文件下存在,当然也可以直接在public/下添加,但是在运行hexo clean之后被删除。 其他博客框架添加方法也大同小异,只要确定网站根目录然后添加即可。 最终达到的效果就是:能够通过https://你的域名/下载文件名直接访问到文件内容即可 HTML标签验证 将获取到的Meta粘贴在HTML文件的 <head> </head> 部分中 以下为必应下的Meta样式: <meta name="msvalidate.01" content="9565AFED5E9E8A24241BB5E6223CCB04" /> 我用的是hexo的butterfly主题,添加方法作者大大已经弄好,直接将获取到的值添加就行 Butterfly 安裝文檔(四) 主題配置-2 | Butterfly -
MySql入门基础命令 {% note info simple %} 该文章为个人学习笔记,内容仅供参考 {% endnote %} 主要参考以下两个网站 {% flink %} class_name: 参考网站 class_desc: link_list: name: MySQL 5.1中文文档 link: https://www.mysqlzh.com/ avatar: https://www.mysqlzh.com/Application/Home/View/Public/img/mysql-logo.svg descr: MySql中文网 name: 易百教程 link: https://www.yiibai.com/ avatar: https://www.yiibai.com/static/img/logo.png descr: 专注于IT教程和实例 {% endflink %} 连接数据库 mysql -h hostname -u user -phost:当前服务器主机名 user:用户名 密码:可以直接在p后面直接跟密码,如:-ppasswords;还可以p后留空回车后再输入密码。推荐使用后者,这样更安全。 创建数据库 创建一个新数据库 CREATE DATABASE [IF NOT EXISTS] dbname;显示数据库 SHOW DATABASES;选择数据库 USE dbname # 或者在连接时选择 mysql -h hostname -u user -p dbname创建表 查看数据库中的表 SHOW TABLES;创建新表 CREATE TABLE tableName (listing1 dataType default value listingConstraint, listing2 dataType default value listingConstraint, listing3 dataType default value listingConstraint, listing4 dataType default value listingConstraint, ......, tableConstraint );表名tableName在一个数据库中必须是唯一的,括号内的内容是对每一列的列名和属性的定义通过‘,’隔开每一列,最后一列是对表的约束‘,’可以省略。 表被创建好后可以使用DESCRIBE来查看表中的列名和数据类型等属性。 DESCRIBE TABLES;image-20220511172552158图片 对表中数据的管理 查找数据 SELECT 查询内容 FROM 数据表 WHERE 查询条件; 查询内容可以是表中的一列或多列,* 则表示查询表中所有的列 所查询的数据表应为当前数据库中存在的表 查询条件可以做出合适的限定,从而只返回我们想要的数据 在查询NULL内容时,WHERE后的条件不是"列=NULL",而是"列 IS NULL" 增加数据 # 单次添加一个新记录 INSERT INTO 数据表 (列名) VALUES (数据内容); 列名与数据内容要一一对应 如果每一列都要添加数据,列名可以省略,此时的数据内容则要包含每一列数据 数据内容如果是多项用‘,'隔开 # 单次添加多个新纪录 LOAD DATA LOCAL INFILE 'fileName' INTO TABLE tableName; 将要添加的数据保存到文本文件中,每行表示一个新记录,用定位符(Tab)把每一列分隔开,对于NULL值使用\N来代替。 删除数据 DELETE FROM 表名 WHERE 删除条件; WHERE 删除条件可以省略,表示删除表中所有行 修改数据 UPDATE 表名 SET 列名1=值1, 列名2=值2, ..., WHERE 条件; SET 后可修改多列,以','分隔开 WHERE 条件可以省略,省略后表示修改所有行中的数据 -
接入每天60S看世界API Timeline {% timeline 更新日志 %} 文章发布 将XMLHttpRequest替换为fetch,增加打字机效果 {% endtimeline %} 前言 目前在网上已经有很多博主出了对博客引入这个API的教程,内容也已经比较详细,但是很多通过直接获取整张图片的形式;这样做省去了很多不必要的麻烦,只是图片在加载的时候会比较缓慢,而且在静态博客框架下开启图片懒加载后有几率发生图片加载失败的情况。还有一些博主也使用了直接请求文字内容的教程,而这些很多都是针对基于PHP搭建的博客,不能用于静态博客。 XMLHttpRequest求情Http XMLHttpRequest是JavaScript中自带Http请求函数,可以快速调出浏览器调试界面发请求。在小规模的情况下可以有效减少其他依赖快速的接入接口。 方法描述open("method","URL",[asyncFlag],["userName"],["password"])建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选的参数,是否异步,用户名,密码setRequestHeader("header", "value")把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。设置header并和请求一起发送 ('post'方法一定要 )send(content)向服务器发送请求在代码中主要值使用了XMLHttpRequest中的这几个方法,更多方法可以到 (XMLHttpRequest - Web API 接口参考 | MDN (mozilla.org) 中查看更多方法使用技巧 开始引入 注册ALAPI 账号获取Token 注册账号后到用户管理界面获取Token并保存,在后面的代码部分会使用到 代码部分 <div> <div style="display: flex;flex-direction: column;align-items: center;"> <h1 style="color: red;font-size: 2.5em;">每天60s看世界</h1> <img id="head-img" src="" alt=""> <p id="news" style="width:90%; color: blue;font-size: 1.4em;">新闻正在加载</p> </div> <script> (() => { const news = document.querySelector('#news') const headImg = document.querySelector('#head-img') var xhr = new XMLHttpRequest() fetch('https://v2.alapi.cn/api/zaobao', { method: "POST", // or 'PUT' headers: { "Content-Type": "application/json", }, body: JSON.stringify({ token: 'wNj349sLbMqqUaew', format: 'json', }), }).then(res => res.json()).then(ori => { var text = ori.data.news var str = '' for (let i = 0; i < text.length; i++) { str += text[i] + '<br>' } // news.innerHTML = str; headImg.src = ori.data.head_image let i = 0; let str_ = '' let timer = setInterval(() => { if (str_.length < str.length) { str_ += str[i++] news.innerHTML = '<p>' + str_ + '_</p>' //打印时加光标 } else { clearInterval(timer) news.innerHTML = '<p>' + str_ + '</p>' } }, 50) }) })() </script> </div>找到代码中xhr.send('token=粘贴刚刚获取到的Token&format=json');部分,将刚刚获取到的Token粘贴到中文标注部分。 引入到博客中 将html代码整个的粘贴到新建页面或者其他要添加的地方。 image-20220422205402441图片 -
Java面向对象 Java是一种相对比较成熟的面向对象编程语言。面向对象是一种较为符合人类思维习惯的编程思想。在Java中一切皆可有对象,我们把具有相同性质、特点的事物抽象成一个类,而每一个具有这些性质、特点的事物就是这个类的一个对象。 没对象" style="zoom: 70%;" /> 面向对象与面向过程 面向过程: 面向过程就是分析出解决问题的一个个步骤,在程序中的提现就是写好的一个个执行不同目的的函数,在解决问题的时候,就再一个一个的调用这些步骤(函数)。 就比如说洗衣服这件事,在面向过程的时候,就会被拆分成:放入衣服、加入洗衣液、加入适量水、启动洗衣、排水、甩干、晾衣服。这一些列的过程,最终达到洗衣服的目的。 面向对象: 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 再以洗衣服这件事为例,在面向对象的时候洗衣粉主要就被分为了两类对象,第一类对象——人,主要有放入衣服、加入水、晾衣服等属性;第二类对象——洗衣机,主要有洗衣服、甩干衣服等属性。面向对象主要是划分了问题而不是步骤。 面向对象与面向过程的优缺点 面向过程: 优点: 流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。 效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:代码重用性低,扩展能力差,后期维护难度比较大。 面向对象 优点: 结构清晰,程序是模块化和结构化,更加符合人类的思维方式;易扩展,代码重用率高,可继承,可覆盖,可以设计出低耦合的系统;由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点: 开销大,当要修改对象内部时,对象的属性不允许外部直接存取,所以要增加许多没有其他意义、只负责读或写的行为。这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿。 性能低,由于面向更高的逻辑抽象层,使得面向对象在实现的时候,不得不做出性能上面的牺牲,计算时间和空间存储大小都开销很大。 面向对象的基本特性 封装: 是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。 良好的封装能够使程序更高效安全。 继承: 继承是Java程序设计中的一项核心技术。继承的基本思想是使用已经存在类中的属性和方法去创建新的类,在新类中可以添加心得属性和方法,让新的类能够适应心得情况而不用重写已经存在的属性方法。 多态: 多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。 对面向对象来说,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的方法。通过编译之后会变成两个不同的方法,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是大家通常所说的多态性。(解释来自 -
Windows安装ESP-IDF官方工具 官方文档 ESP官方 在Windows上的安装流程已经非常完善了,但是ESP-IDF 工具安装器在国内由于一些众所周知的原因下载速度会比较慢 下载ESP-IDF工具安装器 ESP-IDF工具安装器 最好选择离线安装器,在线安装器安装的速度是真心慢(能科学上网的请自便)。 image-20220307215551250图片 如果安装工具下载太慢,可以使用我在阿里云盘提前下载好的,「esp-idf-tools-setup-offline-4.4.exe」https://www.aliyundrive.com/s/W1D4qpuJVSx 到2022/03/07 为止还是最新的4.4版本。 离线安装 开始的几个步骤一般都不会出现错误,一直往下就行。 image-20220307220151437图片 安装前检查,若出现错误可以使用应用修复,没错误继续下一步 image-20220307220418927图片 下载或使用ESP-IDF,第一次安装选择下载ESP-IDF就行,如果之前有安装使用过,要在先前的基础上安装就选择使用现有的ESP-IDF目录 image-20220307221000905图片 更改安装路径,C盘较大的可以忽略,若C盘空间不足一定要更改安装路径 image-20220307221026246图片 ESP-Tool会安装ESP在编译和烧录软件时必要的各种软件,和安装目录一样可以根据自己的需要修改路径 image-20220307221631603图片 ESP-IDF 工具安装器会下载 Github 发布版本中附带的一些工具,如果访问 Github 较为缓慢,可以选择使用Espressif,从而优先选择 Espressif 的下载服务器进行 Github 资源下载。 image-20220307221803588图片 image-20220307221918096图片 个人感觉这里安装还是比较快的 image-20220307233119122图片 安装完成 image-20220307233221626图片 弹出的命令行不要关闭,等待安装完成后再关闭 添加环境变量 新建环境变量,可以为当前用户添加也可以添加到系统的环境变量中 在Path中添加 image-20220308231635909图片 可以直接在Path中添加绝对路径,也可以新建一个变量,变量格式如下,在Path中将绝对路径中与变量值相同的部分用%IDF_PATH%代替 变量名:IDF_PATH 变量值:指定到安装目录下的Espressif(也可能是.espressif) image-20220308104400515图片 在找到环境变量中的Path,打开并新建环境变量 配置VScode 在扩展中搜索ESP-IDF,选择红色图标那个安装 image-20220308115335519图片 安装好扩展后,按F1,输入esp-idf configure image-20220308115458760图片 image-20220308115634938图片 由于之前已经配置过,选择第三个:使用现有位置等待安装完成 image-20220308115923581图片 然后就可以USB连接ESP32芯片,再通过F1 输入new project创建自己的新项目 IMG_20220308_120208图片 -
git简明使用教程 创建本地仓库 git init · 将所在目录设置为git仓库 git init -bare <文件名> 新建一个裸仓库 拷贝远程仓库到本地 git clone <链接> 拷贝仓库 添加文件到版本库 git add . 添加所有文件 git add <文件名> 添加指定文件 撤销文件添加 git reset HEAD . 撤销所有文件添加 git reset HEAD <文件名> 撤销添加指定文件 git reset -mixed 文件退出暂存区,但修改保留 文件提交到仓库 git commit -m "提交的注释" 查看提交 git status 远程仓库管理 git remote add <版本库名> <链接> 添加远程版本库 git remote remove <版本库名> 删除远程版本库 推送到远程主机 git push <版本库名> <远程分支名> -
搭建一个个人的专属图床 什么是图床 图床就是用来存放图片的空间,同时允许外链到其他网站。 按照我自己的话来说,图床就是给自己的图片挂上一个链接,其他人能通过这个链接看到这张图片的一个服务器。 为什么要搭建图床 网站图片 像我网站的背景图片、Logo、文章封面等等都是通过图床的链接实现的,当然也可以把这些图片放在站点的根目录下,通过文件绝对路径的方式来实现。还应该会有其他方法来实现,看个人自己的选择吧。 Markdown 很多人都应该听说过Markdown的大名。Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown在使用起来确实很方便,语法规则也比较少,随便学以下就可以很方便的编写自己的笔记之类的。但是,在我们写好自己的笔记分享给别人后却发现图片消失不见了;因为Markdown中粘贴进去的图片是以文件路径保存在自己的本地电脑上的,在别人电脑路径上没有这个文件就导致图片丢失。这时候图床就可以发挥重要作用了,由于此时的图片插入的是一个网址,只有这个网址对应的图片还在,图片就不会丢失。 免费图床推荐 SM.MS) 免注册永久存储图片(图片不违法中国大陆和香港法律的前提下),可以直接选择文件进行上传,支持多种链接格式;虽然每天最多只能上传10次最大5MB的图片,但就稳定性和免费来说已经很不错了,如果每天写的内容较少图片也不多的情况下已经能够满足日常需求。 image-20220214175653708图片 ImgURL) 国外老牌图床,图片存储稳定可靠,但由于是国外的国内访问速度并不可靠。 image-20220214180454972图片 路过图床](https://imgtu.com/)) 支持免注册上传图片,永久存储,支持HTTPS加密访问和调用图片,提供多种图片链接格式和SM.MS差不多。 image-20220214180858261图片 搭建一个自己的图床 自己的图床掌控权在自己手中,没有大小和数量的限制,而且自建的才我们自己在用,访问速度会比免费的要快很多。但是自建图床也没没有那么简单,要一定的技术要求还要申请很多东西,而且自建并也需要有一定的花费,虽然每个月也就几毛钱,约等于白嫖了。如果嫌麻烦的话就老老实实用免费的吧。 image-20220214182710255图片 通过阿里云对象存储OSS搭建一个自己的图床 阿里云 最好有一个ICP备案过的域名没有的话也能用,但不能用CDN加速,CDN的流量是OSS的一半,会比较省钱。 开通阿里云的对象存储:开通不要钱,要使用后才会产生费用 开通OSS服务后,默认的付费方式为按量计费。针对部分计费项目,您也可以购买资源包(包年包月)进一步降低费用。OSS的使用费用每小时结算一次,计算公式为:费用=实际资源使用量×对应资源每小时单价。 我直接购买了一个资源包,也不贵才一瓶饮料钱。 创建Bucket 名字可以随便取,不能和别人的重复。地区选离自己近的,要让别人也访问到权限要选公共读,其他的都不需要开通避免额外的费用支出 image-20220214184038394图片 image-20220214184737951图片 绑定域名 进入刚刚创建好的Bucket里面,找到传输管理展开后选择域名管理绑定自己的域名,这样以后就可以通过域名来访问到自己的图片。 找到SSl证书,选择免费证书,给刚刚绑定的域名部署SSL证书 image-20220214195101516图片 再回到OSS域名管理处部署证书,如果上一步已经部署好了会有证书名称提示 image-20220214195428084图片 开启阿里云CDN加速 增加资源站信息,选择OSS域名,在域名处会弹出自己的OSS域名。 image-20220214195741331图片 在域名管理处添加域名,根据官方提示添加域名解析。 image-20220214195944861图片 添加推荐配置,可以将时间设置得长一点 image-20220214200215841图片 创建专用用户 把鼠标移动到阿里云账户上自己的头像,找到访问控制 image-20220214201240671图片 选择身份管理里面的用户,创建用户 选择编程访问: 启用AccessKey ID和 Access Key Secret支持通过API或其他开发工具访问 输入登录名称和显示名称,点击确认按钮。 创建完成后用户信息只会出现一次,AccessKeySecret是无法找回的,要保存好 上传图片到OSS,获取地址后测试是否可用。 不成功的话,检查一下步骤。 在Typora中使用图床 安装PicGo PicGo](https://github.com/Molunerfinn/PicGo/releases)) 一个用于快速上传图片并获取图片 URL 链接的工具 image-20220214200836873图片 找到自己电脑的对应版本下载。 添加阿里云OSS KeyID和设定KeySecret就是刚刚添加的新用户管理的 其他的信息都可以在OSS管理界面看到 image-20220214202032835图片 设置Typora 在Typora主界面左上角选择文件,找到偏好设置 image-20220214202441253图片 这样我们在用Typero写笔记文章的时候就可以自己上传图片了。 由于这篇文章是我在搭好一段时间后才写的,有些关键图片没有截图保存,在自己尝试的时候如果有大问题可以在评论区留言,大家一起解决。