深度学习知识复盘前言 大部分是我在空闲时间对深度学习一些知识的复盘,可能并不是完全正确的。我只是利用 费曼学习法 在对我学习到的一些知识的解释,毕竟如果你自己能解释清楚知识点,才说明你真的学会了。 神经网络原理、CNN、RNN 深度学习,特指基于深层神经网络模型和方法的机器学习,它重要的特点是具有自动提取特征的能力。 神经网络是深度学习的核心,神经网络模仿人脑神经元的工作方式,通过层层的链接与计算,理解数据特征。 深度学习其实就是多层堆叠,并且具备分层自动特征理解的深层神经网络。 神经网络的基本结构是神经元,神经元主要做加权求和、加偏置、激活函数转换、输出。也就是说,神经元是一个计算容器。 神经网络的每一层有很多神经元,每一层都是对输入的数据做特征提取。上一层的神经元输出结果后,传递到下一个神经元,称之为一次连接。每次神经元连接,就是上层神经元计算的值,传递到下一层神经元,并且这次传递是带权重的,神经元依... 【Vue3】超便捷的基于 Axios 的接口请求工具包1 前言 在一个 Vue + Typescript + Axios 的项目中,如果要写一个接口请求工具,大概是要这几个步骤: 写一个 Axios 实例配置,配置好 baseUrl、请求超时时间、请求拦截器、响应拦截器等等。 写一个文件,这个文件专门导出一个模块的请求函数。请求函数的内容是,接收请求参数,然后配置好请求方法、请求路径、请求头等信息,然后返回这个 Axios 请求结果。 为了有好的代码提示,还需要写一个文件,这个文件专门导出接口的响应数据类型,或者请求数据类型。 这只是一个基础的请求工具。 在此之后,你逐渐发现一个问题,当项目中有很多地方,需要使用 Loading 效果时,你就得为需要的接口,在相应的页面组件,都定义一个 Loading 的 ref,然后在请求发起前后,都编写 Loading 的触发逻辑。 如果某个接口,在多个页面都有使用,并且都需要 Loading 效果时,你... - 技术
9963 字
13 分钟
16
- 2026-06-23
ASP.NET 学习记录1 前言 前几天我在 b 站,看到了一个关于 Web 后端框架对比的视频,发现了一个集开发效率、性能、低资源占用的一个后端技术,也就是 ASP.NET ,是由 C# 编写的。 然后我去官网稍微看了下教程,没想到 C# 的很多语法和 Java 完全一样,不一样的地方也很容易理解。 为了减轻我的博客的资源占用负担,我打算将博客从 SpringBoot 迁移到 ASP.NET 中。所以来记录一下我初次学习和使用 ASP.NET 的过程。 2 安装 C # 环境安装很简单,在官网下载安装包: 下载 .NET (Linux、macOS 和 Windows) | .NET 然后双击安装即可 然后打开终端,输入命令 shell dotnet --version 如果出现版本信息,那就说明安装好了。 接下来就是在 VS Code 中配置开发环境。 首先在VS Code 扩展中,搜索 C#,找到 C# De... - 技术
11033 字
14 分钟
18
- 2026-04-13
Python 实现基础的串行步骤任务机制1 前言 哎呀,最近有点忙,有一段时间没看博客了,好在都运行得好好的。不愧是我花了大心思编写的项目哈哈哈(其实我知道是因为没什么人来看,扎心了老铁) 前段时间我在学习 Python 时,遇到过一个问题,我有一个串行的流程,大概就是:爬取数据 -> 清洗数据 -> 保存数据的这么个流程。 但是由于这个流程完整执行的话耗时很长,一个接一个执行的话十分缓慢,我就想着能不能做一个简单的任务机制,将这段流程打包成一个任务,然后并发执行。 单纯的并发其实好解决,就弄个线程池,一个一个启动不就行了。 但是我要的是任务机制,可以记录这个流程中, 各个步骤点的执行状态 ,并且 支持暂停、继续、重新开始 等等进阶功能。 除此之外,我还希望这个功能有一个基本的排队能力,不然我批量启动的话,如果超过线程池的线程用完了,剩下的就启动失败,这不太行。 应该是如果没有线程可用,就等待,等到有线程池了,再启动。 于是编写... 【Vue3】Pinia + Transition-Group 优雅实现 Message 消息组件1 前言 消息组件是非常常用的组件之一,Element Plus 和 Naive UI 都有提供相应的消息组件,使用起来也相当方便。 那么,如果自己实现一个,怎么做呢? 我最初的方案, 是用 VNode 实现的,创建一个 Message 组件的 VNode ,然后在 body 渲染出来。 这种办法的缺点很明显,写起来很复杂,最主要的是,样式和过渡动画不好控制。 现在,我使用一个新的方案,可以非常优雅,非常简单的实现这个消息组件,并且可以很轻松的控制样式和动画效果。 话不多说,看效果 2 实现 思路相当简单。响应式的数据,就由 Pinia 来做,然后渲染就是用 transition-group + v-for 的形式,渲染 Pinia 的响应式数据,没了。 首先,先要知道我们的组件需要什么。也就是要先定义类型。 想必一下就能猜到了,首先,必要就是消息内容 message,然后就是消息的类型... Picgo 插件开发记录1 前言 我很喜欢用 Obsidian,我的第一个笔记软件就是用的 Obsidian,在我还没开始写代码的时候,我就开始用 Obsidian 做笔记。 我现在也搭建了一个自己的博客网站,初版,也就是 v1 版的博客端的布局,特别是文章部分的布局,是参考 Obsidian 的。 然而,v1 版的后台系统,使用 Vue3 + Element Plus 搭建的,很简陋,而且超级无敌丑。 在 v1 版,上传笔记的主要方式是,先在 Obsidian 写好,然后复制粘贴到后台管理系统的 markdown 编辑器,最后把图片一一上传。很繁琐,对吧? 说实话,如果只是文字的话,复制粘贴过去就完事了,只是有些 Obsidian 特殊的语法,在 markdown 编辑器没法展示出来而已(博客端是可以的,因为我用了 markdown-it 插件)。 最麻烦的还是图片。如果我写了一篇很长的博客,有大量图片的话,一... RustFS学习、SpringBoot 集成与MinIO迁移1 前言 近期 MinIO 宣布开源版本进入 “维护模式”。从 5 月 22 日版起,阉割了 Web 的大部分功能,以及至今的种种迹象来看,MinIO 似乎要朝着闭源商业版发展,对我这种穷小子来说,还是很无奈的。 我用的是 4 月 22 日版的 MinIO,包括这个博客也是,但是这个版本现在只有 Linux 版和 Docker 版了,Window 版的我在网上找遍了都找不到。 因为我的博客是要长期维护和更新的,所以我打算从 MinIO 迁移到最近很火的 RustFS 上,并记录我的迁移过程。 我将从 RustFS 学习、SpringBoot 的集成和从 MinIO 迁移的过程三个方向来记录,这样思路比较清晰一点。 2 RustFS 学习 2.1 RustFS 介绍 先贴一下我从官网找到的资料 RustFS 安装指南 | RustFS 文档中心 RustFS 与其他存储产品对比 | Rust... MinIO-Windows系统下Docker高版本与本机低版本的安装、数据迁移记录1 前言 最近遇到一个问题,原本的服务器(不是我的)是使用 Docker 部署的 MinIO,而现在我需要将 MinIO 迁移到一个 Windows Server 系统中。 但由于这个垃圾 Windows Server 系统居然没有 Docker (能不能装不是我能决定的)。所以只能将 MinIO 直接装在 Windows 系统中。 现在有个尴尬的问题,MinIO 的 5 月 24 日以后的版本,阉割了大部分 Web 的功能,服务功能不知道有没有被阉割。我的 Docker 中使用的是 4 月 22 日版本的 MinIO,所以我打算找相同版本号的 Windows 版本的 MinIO。但很可惜,找不到。 Windows 安装 MinIO 需要 minio.exe 文件,但是这个文件的历史版本不知道在哪下载,官网只有最新的版本。 无奈之下,只能找个更低的版本,安装和版本资源详见: 在Window... Java 虚拟机面试题学习JVM的内存模型介绍一下 程序计数器 记录执行位置,线程私有,不会 OOM; 虚拟机栈 和 本地方法栈 管理方法调用,其中本地方法栈是为 Native 方法服务,线程私有,可能栈溢出; 堆 是最大的一块内存区域,是共享区,用于存放对象实例,会 OOM; 元空间 在本地内存,存已被虚拟机加载的类信息、常量、静态变量等数据,也会 OOM; 运行时常量池 是元空间的一部分,用于存放编译期生产的字面量和符号引用,会 OOM。 另外,还有 直接内存 ,通过 NIO 使用,不归 JVM 管,但也可能 OOM。 OMM :Out Of Memory,来源为 OutOfMemoryError。直译为内存用完了,意思是 JVM 没有足够的内存来为对象分配空间且垃圾回收器没有空间可回收时,会抛出错误 JVM内存模型里的堆和栈有什么区别? 堆和栈的主要区别在用途和生命周期: 栈 是线程私有的,用来执行方法,存储... Spring 面试题学习说一下你对 Spring 的理解 我觉得 Spring 是 Java 后端开发中最核心的框架之一,它的核心思想是‘简化开发’ IoC容器 :通过控制反转把对象的创建和依赖管理交给 Spring 容器来做。 AOP :面向切面编程,允许开发者定义横切关注点,它能帮我们把一些通用逻辑,比如日志、权限、事务这些,和业务代码解耦。比如加个 @Transactional 注解就能控制事务,代码更干净。 一站式支持 ,除了核心容器,还有 Spring MVC 做 Web 层,Spring Boot 让项目快速启动,还有对数据访问、安全、消息等模块的整合,整个生态非常完整。 spring的核心思想说说你的理解? 我觉得 Spring 的核心思想就三点: IoC、DI 和 AOP 。 首先是 IoC(控制反转) ,简单说就是把对象的创建交给 Spring 容器来管理,我们不用自己 new 了,降低了代码之... - 技术
7330 字
10 分钟
10
- 2025-10-13
Vue 3 + Markdown-it 集成 Shiki 代码高亮1 前言 Markdown-it 集成代码高亮功能是我写博客项目最头疼的地方。当然,如果仅仅只需要代码高亮,那倒是很省事。我的要求是:可以自定义代码块样式、可以切换浅深色主题、可以展示语言标签、需要有行号、需要有一键复制代码功能。 我在旧的博客项目使用 highlight.js 已经实现过了,但代码写的却是一坨。我问了下 AI (通义),AI 告诉我除了 highlight.js 外,还有 prism.js 和 shiki 这两种方案。其总结如下: 特性 Highlight.js Prism.js Shiki 易用性 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ 高亮精度 ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 主题质量 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ (VS Code 一致) 体积 ⭐⭐⭐⭐⭐ (小) ⭐⭐⭐⭐ (中) ⭐⭐ (较大) SSR/静态生成 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ (原生支持) 插件生态 ⭐⭐... - 技术
7589 字
10 分钟
16
- 2025-10-10
阿里云服务器使用 acme.sh 安装 Let‘s Encrypt SSL证书1 前言 想给博客网站添加 SSL 证书,阿里云付费的用不起,免费的又只有三个月,所以决定使用 Let‘s Encrypt。 此前我使用了 Certbot 安装,并且参考了以下三篇文章 使用let’s encrypt申请免费的SSL证书 -阿里云开发者社区 使用 Let’s Encrypt 免费申请泛域名 SSL 证书,并实现自动续期 - 平元兄 - 博客园 阿里云域名自动签发泛域名证书配置(最新篇) - 鸿辰个人分享站 都失败了。 第一个方法是用的 python 安装 Certbot ,但是最终卡在了下面这个报错: bash An unexpected error occurred: ValueError: Invalid version. The only valid version for X509Req is 0. 第二个用的是 snapd 安装 Certbot ,最终卡在了这个报...