- 博客(120)
- 资源 (1)
- 收藏
- 关注
原创 bun 版本管理工具 bum 安装与使用
在使用 node 的过程中,我们可能会因为版本更新或者不同项目的要求而频繁切换 node 版本,或者是希望使用更简单的方式安装不同版本的 node,这个时候我们一般会用到 nvm 或者类似的工具。在我尝试使用 bun 的时候,安装前第一个想到的问题就是:如果 bun 持续更新后,我想要使用最新版本,该怎么切换?
2025-04-04 21:50:37
425
原创 版本更新导致前端网站资源加载失败:Failed to fetch dynamically imported module
前端网站在维护过程中经常有版本更新和重新部署,而这会导致一些问题,其中某些问题会导致更新时,正在网站中的用户无法正常使用。异常的诱发原因之一就是版本更新:在用户访问网站的过程中,项目更新,打包重新部署,其中含有修改内容的组件对应的打包文件的哈希值将发生变化,例如文件名从 chunk-123 变成了 chunk-321,这将导致资源文件的路由错误。当然该异常的诱发原因还有别的场景,这里只解决这一个场景的问题。
2024-12-22 12:57:17
1262
原创 fedora 检测和安装 nvidia 显卡驱动
系统中安装了两块 NVIDIA GeForce GTX 1080 Ti 显卡,并且当前使用的内核驱动是 nouveau。nouveau 是一个开源的 NVIDIA 显卡驱动,但通常性能和功能不如官方的 NVIDIA 驱动。最终,你应该会看到 Kernel driver in use 变为 nvidia。这个命令会列出你的显卡信息以及相关的内核模块(驱动)。添加 PRM Fusion 仓库。安装 NVIDIA 驱动。命令重启或者手动重启电脑。
2024-07-13 13:54:29
1019
原创 使用 SwanLab 进行可视化 MNIST 手写体识别训练
SwanLab是一款开源、轻量级的AI实验跟踪工具,提供了一个跟踪、比较、和协作实验的平台,旨在加速AI研发团队100倍的研发效率。其提供了友好的API和漂亮的界面,结合了超参数跟踪、指标记录、在线协作、实验链接分享、实时消息通知等功能,让您可以快速跟踪ML实验、可视化过程、分享给同伴。
2024-05-27 15:54:30
428
原创 Prisma Client could not locate the Query Engine for runtime “linux-musl-openssl-3.0.x“
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-musl-openssl-3.0.x".clickhouse-1 | This is likely caused by a bundler that has not copied "libquery_engine-linux-musl-openssl-3.0.x.so.node" next to the r
2024-05-08 18:42:15
963
原创 Ubuntu 配置 kubernetes 学习环境,让外部访问 dashboard
首先下载一下minikube,这是一个单机版的 k8s,只需要有容器环境就可以轻松启动和学习 k8s。首先你需要有Docker、QEMU、Hyperkit等其中之一的容器环境,以下使用docker进行。对于 docker,需要当前用户能够拥有容器的管理员权限,即不用 sudo 就可以使用容器,如果你当前的用户需要才能使用docker,那么运行将当前用户添加到docker管理员用户组。当拥有容器环境之后,就可以使用二进制下载在 x86-64 Linux 上安装最新的minikube。
2024-03-27 16:16:25
813
1
原创 vue v-for 渲染大量数据卡顿的优化方案
vue 中使用 v-for 渲染大量数据的优化方案 - 动态渲染前端中我们难免会遇到需要展示大量数据的情况,如果基础数据量过大,那么在初始化组件时,可能会造成严重卡顿,影响用户体验。在我参与的开源项目 swanlab 中,某些情况下需要大量渲染程序日志,最近对其进行了一下优化,将使用方案记录于此。
2024-03-05 10:15:30
5091
原创 错误:12 https://packages.fluentbit.io/ubuntu/lunar lunar Release 404 Not Found [IP: 104.21.17.84 44
我正在我的 ubuntu 主机上安装。然后将解压缩后的东西移动到。忽略:11 https://packages.fluentbit.io/ubuntu/lunar lunar InRelease错误:12 https://packages.fluentbit.io/ubuntu/lunar lunar Release 404 Not Found [IP: 104.21.17.84 443]正在读取软件包列表... 完成W: https://packages.fluentbit.io/ubuntu
2024-02-29 19:35:08
463
原创 [BUG] husky + github desktop + nvm 执行git操作时报错:“PREFIX“、husky/pre-push: 4: npm: not found
nvm is not compatible with the "PREFIX" environment variable: currently set to "/usr/lib/github-desktop/resources/app/git"Run `unset PREFIX` to unset it..husky/pre-push: 4: npm: not founderror: failed to push some refs to 'github.com:SwanHubX/swanlab.gi
2024-01-14 13:02:41
1632
1
原创 python实现控制台(终端)打印捕获和日志存储
我的项目的目标是实现一个 pypi 的包(当然,下面介绍的代码你可以直接在你的程序中使用),用户在使用的时候直接通过 pip 下载我的包后,通过暴露出来的对象,init 之后就可以实现一定功能。其中包含日志收集,会将控制台的所有打印信息,不管是用户的还是包内的打印,都会在输出到终端的同时存储到日志文件中。我们实现了一个 Consoler 类,用来管理终端的一些信息。
2023-12-23 12:29:50
1090
3
原创 Rust报错:the msvc targets depend on the msvc linker but `link.exe` was not found
Unable to compile Rust hellonote: the msvc targets depend on the msvc linker but `link.exe` was not foundnote: please ensure that Visual Studio 2017 or later, or Build Tools for Visual Studio were installed wit world on Windows: linker link.exe not found
2023-12-22 21:25:03
2654
原创 vite 使用 vite-plugin-mock 和 mockjs 配置 mock 模式
当后端还没有完全弄好,而前端需要同时启动的时候,一般会使用 mock 模拟后端响应,这样在后端接口准备完成之后,前端能以较小的工作量和接入接口,完成生产开发。最近正好尝试了一下,记录一下配置过程。
2023-12-02 13:32:30
5841
3
原创 打包时循环依赖(circular dependency)警告
我在打包构建我的vue3项目的时候,有这么一个警告信息:Export "useProjectStore" of module "src/store/modules/user.js" was reexported through module "src/store/index.js" while both modules are dependencies of each other and will end up in different chunks by current Rollup setting
2023-10-28 18:56:05
2865
原创 JS执行过程与浏览器渲染原理——消息队列与事件循环
在写 JS 的时候,你有没有想过 JS 是按照什么顺序执行的?浏览器是怎么执行 JS 代码的?为什么有时候代码没有按照我们认为的顺序执行?JS 作为解释型脚本语言,怎么能用上定时器、回调函数之类的操作?其实浏览器背后隐藏着一个精密而复杂的机制,那就是事件循环。这个机制使得网页能够响应用户的操作,同时保持了界面的流畅性和高效性。事件循环是现代前端开发中至关重要的概念之一,它负责管理各种异步操作,例如用户输入、网络请求和定时器等。这是浏览器层面的,做前端必须知道的东西。
2023-10-26 19:15:20
1075
原创 Flask 快速上手教程 — 了解与基本使用
这篇博客是我刚接触 flask,研究文档时的一些记录与体会,希望对各位刚接触 flask 的朋友有所帮助。且在此篇后,我还会另写一篇关于纯后端的 flask 教程,介绍一下如何使用 flask 创建一个较为完善的纯后端的服务。在阅读下面的内容前,读者应该具有基础的python知识,且配置好了python环境。
2023-09-10 17:11:46
731
原创 使用pyenv安装python缓慢或无法安装
可以去 https://www.python.org/ftp/python/ ,选择你选择的版本进行下载,例如我下载了 python-3.10.4-amd64.exe。将刚刚下载下来的 python-3.10.4-amd64.exe 移动到开始提到过的。命令检查 pyenv 能够安装和管理的版本,一定要选择其中的版本才行。下载,和手动下载后放到这个文件夹其实没有本质区别,只是最后安装步骤由。上面只是将python下载下来了,还没有进行安装和配置。执行,将其纳入管理即可。
2023-09-06 16:53:23
4525
3
原创 使用gradio创建一个提取pdf、excel中表格数据的demo
最近需要对pdf、excel文件中的表格进行提取,用于一些分析,所以使用python完成了一个小工具,可以处理上传的pdf、excel文件,将其中所有表格提取出后存入数组输出
2023-09-04 13:52:01
2485
1
原创 使用dotenv管理Node项目环境,多文件管理多环境(开发环境、生产环境)
在使用Node开发项目的时候,使用环境配置文件来管理环境变量是一种常见地对项目中通用配置项的管理方式,其中通常包含敏感信息,如API密钥、数据库凭据等等。现在我们以开发和生产两个环境为例,看看怎么同时通过 .env.development 和 .env.production 两个文件管理不同的环境。
2023-07-02 09:37:21
3644
1
原创 西电B测——RC无源低通滤波器设计与测量及分析实验(matlab、multisim实现)
设计一个截止频率为63.6kHz的低通滤波器,用MATLAB仿真软件仿真输入输出信号的时域波形、频域波形、自相关函数、功率谱密度等,然后利用multisim软件实现该滤波器,最后利用multisim中的虚拟仪器(如信号源、示波器、光谱分析仪等)测试滤波器输入、输出信号的时域波形、频域波形以及滤波器的幅频特性。
2023-05-10 22:10:20
7985
9
原创 C语言考试中大概率用得到的内置函数
在C语言算法题目中,有一些常用的内置函数可以帮助我们更高效地完成题目,有很多内置函数就能实现的功能是不需要我们再花时间写的。以下是一些常用的内置函数(字符串、字符的题目,大多数都能用到内置函数去简化代码,画个重点)
2023-03-18 11:50:31
2235
原创 React是怎么设计的?有哪儿些重要思想?—— 设计模式
React是一款用于构建可重用组件化UI的流行JavaScript库。在使用React的过程中,设计模式是非常重要的,因为它们可以帮助我们编写出高效、可维护且可扩展的代码。本文将介绍React的设计模式,包括组件化设计模式、状态管理设计模式和性能优化设计模式。目的是帮助想要学习React,或者对React有一些了解的同学,更清晰的认识这个伟大的框架。因为有时候,可能我们对一些技术点习以为常,但会用但是不会说。
2023-03-18 00:28:00
936
原创 Vue3 bus 事件总线解决兄弟组件传参、不同层级组件传参
Vuex 和 Pinia 都是 vue 中常用的状态管理解决方案。但是他们主要都是用来解决不同组件公用参数或存放重要参数的,将其作为传参的方式,未免有些不妥和浪费,所以我们还可以使用另一种方式进行组件之间的传参:事件总线 bus
2023-02-09 22:00:06
2565
2
原创 手把手教你写web全栈入门项目—React+Koa+MongoDB(3w字教程,真的很详细,有代码)
之前一直都是前端选手,趁放假把后端学了学,结合目前所在团队(如果感兴趣可以看看微信小程序“焕影一新”)的技术栈,完成了一个简单的登录系统。如果你有时间,并且也想入门全栈,对于入门的练习项目来说,不必太复杂(比如一整个图书馆管理系统…),一个登录系统就够了。提示:如果你拥有前端基础或Node基础(Common JS),那么可能更容易接受,但如果你是后端选手也没关系,这篇博客的重点在于提供一个完整的前端-后端-数据库的项目流程,让大家在学习的时候有一个依据。
2023-01-25 16:19:51
2241
1
原创 Flask入门教程(视频教程笔记)
这个视频教程写的笔记,如果你想入门一下Flask,可以看看这个课,虽然简短,但是入门部分讲的很好,同时可以利用这篇博客复习复习。,会新创建一个局部的虚拟环境,那么全局安装的模块在这里是用不了的,必须要重新下载,而有些模块是很多项目都可以共用的,不必要这样。这个方法去将创建好的数据表类映射到数据库,但是这个方法有局限性,即他只能将新增的类同步到数据库,但是对字段的修改无法同步。,之后局域网中的设备就可以通过你的电脑在局域网中的ip进行访问,可以通过设置修改。这里说的是基础,高级的路由功能后面再说。
2023-01-18 17:30:41
1074
原创 MySQL基础命令表及补充说明
上面的操作即为:在 employee 这个数据表中,将 branch_id 这个属性设置为 Foreign Key,并且该 Foreign Key 链接至 branch 这个表中的 branch_id 属性。ON DELETE SET NULL:当REFERENCES 后的数据不存在,把前面对应的那个数据设为NULL。如果有多个排序依据,则当前一个相同的时候,再根据后面一个继续比较。ON DELETE CASCADE:如果REFERENCES后的数据不存在,把前面对应的那一条数据也删了。
2023-01-17 11:46:42
2013
1
原创 npm install时报一堆错(大致错误范围在sass)
1. 重新编译node-sass二进制文件:`npm rebuild node-sass`2. 卸载node-sass: `npm uninstall node-sass`,安装sass:`npm install sass`。(用sass替换node-sass)3. 删除`node_modules`目录重新`npm install`4. 删除`node_modules`和`package-lock.json`重新`npm install`5. 查看你的`node-sass`版本是否对应你的`node
2023-01-14 12:23:15
4627
原创 React input输入相关:受控方式无法更新对象类型数据(函数式组件 useState)
这个问题的关键其实我们都知道:**state不能通过直接赋值的方式修改,这也是我们为什么要解构出setUserInfo的原因**到这里你可能很疑惑,我是用的`setUserInfo`呀?但是看上面传入`setUserInfo`中的函数,传入函数是为了解决需要用到之前的state值的需求,这个`pre`就是之前的 state,可是在这个函数中,却直接使用了`pre.account = e.target.value`这样的形式,**用 = 给一个 state 赋值了!**既要获取之前的state值,
2022-12-29 20:01:42
809
5
原创 react-router v6 hook——useRoutes教程
上面的路由系统有一个问题:路由是通过标签形式管理,当有大量路由的时候,其易读性和架构就会变得不好,可以把这种路由模式类比XML,并与Json相比,他们在写法的优缺点上有明显的相似。如果你写过VUE,应该还记得VUE中的路由并不是这样的,而是抽离出来,作为一个对象数组去管理路由。,就会返回一个保存有路由组件的变量,在需要使用的地方。首先可以如图创建路由文件夹,管理路由文件。使用很简单,只需要将刚刚的路由对象传入。字段重定向,我们需要重定向,如从。申明路由使用的组件,而不能使用。字面意识是没有包裹在。
2022-12-27 23:23:33
1329
原创 rsync exited with code 255.Load key “...“: invalid format Permission denied, please try again.
在配置自动部署前端项目到服务器上时,登录服务器使用的是秘钥登录。在开头把问题关键说一下:秘钥格式不对!
2022-12-02 11:13:36
1594
转载 Nginx底层架构、工作模式
众所周知,Nginx 性能高,而 Nginx 的高性能与其架构是分不开的。那么 Nginx 究竟是怎么样的呢?这一节我们先来初识一下 Nginx 框架吧。Nginx 在启动后,在 unix 系统中会以 daemon (守护进程)的方式在后台运行,后台进程包含一个 master 进程和多个 worker 进程。我们也可以手动地关掉后台模式,让 Nginx 在前台运行,并且通过配置让 Nginx 取消 master 进程,从而可以使 Nginx 以单进程方式运行。很显然,生产环境下我们肯定不会这么做,所以关闭后
2022-11-30 13:36:23
354
转载 node-config模块实现node项目配置
你可能还想创建一个自定义的配置文件来容纳一些环境变量的覆盖。Node-config提供了对配置文件类型的支持,你可以用的名字来定义。
2022-11-05 23:57:17
1294
原创 NodeJS连接MongoDB数据库(数据校验,增删查改)
方法去实现写入,这个方法接收两个参数,第一个参数为插入对象,第二个参数为操作后的回调函数,回调函数第一个参数为错误对象,第二个参数为成功增添的数据。需要注意的是,连接操作是一个异步操作,如果需要在连接之后进行数据库操作,那么需要进行异步处理,或把操作逻辑放在上述代码的else里面。上述代码有一些问题,会触发两个报错,这是因为API有变动,新版本,在连接数据库的时候,需要指定一个配置对象。当进行增删改查之前,我们需要了解几个核心的对象,因为很多接口都是放在他们的身上的。下面代码是紧接着上面的代码写的。
2022-11-04 14:17:21
1003
原创 MongoDB启动失败
这里我已经配置好了,但是之前报错的时候,允许下面的可选项是有未选择的。翻译过来就是:试图在只读目录上创建锁定文件:…目录你下载下来之后可能是没有的,但是不着急,自己创建也可以。所以问题就显而易见了:文件夹权限不够。点击应用,退出再次执行启动命令。目录,并且在该目录下创建。目录,最后启动注意进入。
2022-10-30 21:11:32
2783
转载 一文囊括MongoDB基础!
学习目标MongoDB的副本集: 操作, 主要概念, 故障转移, 选举规则 MongoDB的分片集群:概念, 优点, 操作, 分片策略, 故障转移 MongoDB的安全认证传统的关系型数据库 (比如 MySQL), 在数据操作的”三高”需求以及对应的 Web 2.0 网站需求面前, 会有”力不从心”的感觉所谓的三高需求:高并发, 高性能, 高可用, 简称三高而 MongoDB 可以应对三高需求具体的应用场景:这些应用场景中, 数据操作方面的共同点有:对于这样的数据, 更适合用 MongoDB 来实现数据存储
2022-10-30 18:32:07
1044
原创 使用koa(koa-bodyParser插件)报错:ctx.onerror is not a function
插件可以让你快捷获取到POST数据,不然按照传统模式,则需要手动监听流事件。去获取数据片段,然后拼接每个片段,最后转换为JSON格式。这不是koa引起的错误,而是一个插件引起的错误。但是有一个点需要注意!
2022-10-29 12:22:46
2380
1
原创 SassError: Invalid CSS after “.App {“: expected “}“, was “{“
我是在react中使用sass出现的这个错误,但其实这个错误是个共性的,不涉及框架。如果你出现这个问题,那么很可能是你把样式文件的后缀由`.scss`错误写成了`.sass`。此时只需要修改文件后缀即可,但如果你发现页面并没有正常,控制台也报错,不要慌。这大概是编译问题,如果你修改的是文件内容,热重启还能及时渲染刷新,但是修改了文件后缀,就需要重新编译了。所以解决方法是:关闭项目,重新`npm start`启动。
2022-10-07 10:04:33
2177
1
原创 React学习三 —— react组件的三大属性(state、props、refs)
React组件有很多属性,在其中有三个属性最为核心和重要:- state- props- refsstate让你可以通过数据驱动视图,让视图自动根据数据的改变而改变。props可以提高组件的灵活性,通过外界传值让组件根据用户特性而呈现不同的视图。refs能够减少用户对DOM的直接操作,而可以通过获取代理节点而提高开发效率和页面性能。
2022-10-06 14:11:15
1115
原创 React学习二 —— 组件入门
React中创建组件有两种方法:函数式组件和类式组件。本文阐述了如何通过函数和类创建一个简单的组件,并且其中有一些‘类’的知识点的复习
2022-10-06 11:45:11
595
原创 React学习一 —— 虚拟DOM和JSX语法规则
React 核心思想之一在于减少开发者对文档流对象DOM的直接操作,因为原生JS对DOM的直接操对性能影响很大,会使用户体验下降,所以可以使用JSX和React的一些API创建虚拟DOM,开发者操作虚拟DOM进行页面操作,只有等最终渲染的时候,才会将React的虚拟DOM翻译成浏览器可以看懂的真实DOM。原生style中写的都是一个一个键值对,那么可以这么理解为什么要用双括号了:最外面的括号代表里面的是一个JSX表达式,而里面的括号加上键值对,表示这是一个CSS样式对象。一个虚拟DOM不能有多个根标签!
2022-10-03 17:22:19
945
原创 Node学习二十 —— 构建和使用HTTP中间件
简单介绍一下中间件,我从这里面摘抄的。我国企业从20世纪80年代开始就逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务和市场需求的不断变化,—个企业可能同时运行着多个不同的业务系统,这些系统可能基于不同的操作系统、不同的数据库、异构的网络环境。现在的问题是,如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨平台、分布式应用。中间件便是解决之道,它用自己的复杂换取了企业应用的简单,接下来我们来了解一下什么是中间件?
2022-09-30 16:11:05
797
RC无源低通滤波器设计与测量及分析实验(matlab、multisim实现)
2023-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人