自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT飞牛

大前端工程师的日常技术分享

  • 博客(227)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Docker实操】启动redis服务

执行获取redis。打印镜像清单,可以看到新拉到的redis镜像。

2024-05-19 22:25:55 133

原创 【RBAC鉴权】node-casbin基础教程

RBAC鉴权,完整的英文描述是:Role-Based Access Control,中文意思是:基于角色(Role)的访问控制。这是一种广泛应用于计算机系统和网络安全领域的访问控制模型。简单来说,就是通过将权限分配给➡角色,再将角色分配给➡用户,来实现对系统资源的访问控制。一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

2024-05-02 22:36:42 857

原创 LowCodeEngine基础教程

复制自定义组件中的packages和components信息。根目录\build\lowcode\assets-prod.json追加到本地demo项目中根目录\src\services\assets.json,将上述packages和components信息追加到对应的属性中。再次启动本地demo项目,可以看到新增了一个【默认分组】方式 1:在 DEMO 中直接新增插件方式 2:在新的仓库下开发插件初始化pnpm i。

2024-04-08 22:43:44 989

原创 【Nestjs实操】typeorm一对多如何配置

有两张表,分别是Menu和Page,一个menu下会关联有多个page,如下图:要实现这种一对多的关系,我们要使用typeorm的@OneToMany和@ManyToOneMenu@OneToManyPagePage@ManyToOneMenu。

2024-03-31 23:29:05 520

原创 【@changesets/cli】变更集实战教程

前端目前基于Monorepo架构的npm包开发很普遍,在开发完毕后,我们需要对包进行版本号升级,并且部署,这些操作如果是手动来操作的话,很麻烦,而且容易出错。我们在发版的时候,需要手动去更改corelayoutplugins三个插件包的版本号。并且如果要查看每个包的变更迭代的话,需要单独查看子包的git log进行查看,但是有时git log的记录不代表版本真正的迭代变更,最常见的是子包的一个特性开发,会分成多个commit去提交。

2024-03-25 16:41:21 891

原创 【Nestjs实操】环境变量和全局配置

dotenv安装。根目录下创建.env。

2024-03-09 20:11:08 894

原创 【Nestjs实操】服务依赖注入

在文件中,注入服务时,上面的方式是直接在providers中配置服务类型就可以了,系统会自动到服务注册容器中去检索对应的服务。@Module({providers: [AppService],//直接写服务类名称})@Module({provide: AppService, //声明服务名称useValue: new AppService(),//声明服务使用的服务类}],})@Module({provide: "app",//这里改成字符串名称}],})...可以看到在。

2024-03-09 13:41:48 478

原创 linux上mysql服务启动失败:[ERROR] Failed to create a socket for IPv4 ‘0.0.0.0‘: errno: 13

ubuntu_20服务器上,基于docker创建了的mysql容器,一直能稳定运行。当时当我在linux使用apt直接安装apache2和mysql后,再次启动mysql容器就会失败。可以看到,容器在创建时就报错。那么猜测应该就是之前linux上安装的apache2或mysql导致网络端口被占用导致的,那么只需要停止这两个服务就行。

2024-02-25 16:14:59 377 1

原创 【Docker实操】部署php项目

myphp:php中的 php 是别名。然后就可以访问域名了。

2024-02-22 21:56:06 801

原创 【Docker实操】创建一个Node服务

安装完成后,执行node -vnpm -v,如果出现版本,就是安装成功了。

2023-12-03 23:32:35 862

原创 【Docker实操】创建一个Nginx服务

创建宿主机和虚拟机中目录映射,改变宿主机中的文件,会自动同步虚拟机中对应的文件。是否自动做了修改,最后查看访问页面时,是否做了也同步修改了。再次访问页面,我们看到页面中内容已经更新。还是拿上面的容器,我们尝试修改宿主机中。成功启动后,可以在使用。

2023-12-03 15:57:56 794

原创 【iPad已停用】解锁教程

iPad多次输错密码时,会自动锁定并停用,这时候你可以使用iTuens或Tenorshare进行解锁。

2023-10-28 22:49:04 6005

原创 npm publish发布到在线仓库时,提示:Scope not found

这是由于包名是`@xxx/xxx`形式造成的。如果包名是`@`开头,需要到npm官网先创建一个组织。3. 进入创建组织页面,输入组织名称。(这里不需要加上`@`符号)4. 再次执行`npm publish`命令,这是就可以正常发布。1. 注册`npm`官网账号,并且进入个人中心。2. 看到页面左侧菜单栏,点击后面的加号。**具体步骤如下:**

2023-10-21 09:53:26 1230

原创 Umi3实战教程

umi是蚂蚁金服的前端开发框架,它内置了路由、web/移动端UI库、数据流、权限控制、常用hooks库、构建、部署、测试、等等一些工具,几乎涵盖了正常前端开发要用到的所有工具。

2023-10-17 19:43:15 1070

原创 【Monorepo实战】pnpm+turbo+vitepress构建公共组件库文档系统

Monorepo架构可以把多个独立的前端系统放到一个仓库中去进行联调,这里记录基于pnpm中workspace功能,如何构建将vitepress和组件库进行联调,并且使用turbo进行任务顺序编排。

2023-10-09 16:57:55 1352

原创 CMD脚本实战教程

要在 Windows 11 上编写一个自定义关机的 CMD 脚本文件,你可以创建一个扩展名为.bat或.cmd的文本文件,并在其中编写脚本。

2023-09-22 17:34:41 3607

原创 pnpm实战教程

使用 npm 时,依赖每次被不同的项目使用,都会重复安装一次。而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中。

2023-09-14 16:26:54 2238

原创 【Flutter】引入网络图片时,提示:Failed host lookup: ‘[图片host]‘

在使用组件加载外部图片时,提示错误。

2023-09-11 22:51:37 803

原创 Vite和Webpack如何使用CDN包

为了精简打包输出的dist目录大小,我们可以引入CDN外部包的方式,来缩小打包的体积,加快打包速度。这里介绍Vite和Webpack中如何引入。

2023-09-07 20:39:18 1035

原创 1、Flutter移动端App实战教程【环境配置、模拟器配置】

下载更新环境变量,添加变量,并在PATH中添加运行,检测尚未安装的软件,打【X】的表示需要安装。安装,安装过程中会自动安装。(步骤6也是在此IDE中完成)进入,安装修改源,添加以下两个环境变量配置完成后,再次执行,显示如下:除了这个IDE没有安装,因为暂时不需要开发Window桌面程序,其他都已经安装成功。

2023-09-03 21:45:50 2286

原创 Axios使用AbortController取消请求

支持同时取消多个请求。

2023-09-02 14:08:15 359

原创 【Ant Design】Form.Item创建自定义表单,实现类似v-model双绑

Antd是一个非常强大的UI组件库,里面的Form表单组件也基本能满足我们大多数场景。但是也有需要自定义表单的场景。Vue2里我们使用v-model,结合子组件的model属性,来实现自定义组件的双向绑定。Vue3里我们使用v-model,结合子组件的来实现同样功能。到了React+Antd中,我们采用引用父组件默认传入onChange事件,子组件调用来实现。

2023-09-01 17:20:39 1456

原创 React开发技巧

永远以use开头自定义Hook中正常需要调用系统Hook,否则也就不用定义为自定义Hook。(技术上 React 对此并不强制要求。自定义Hook必须在函数式组件的顶层进行调用案例地址。

2023-08-22 10:51:42 216

原创 SpringBoot中Mapper.xml的入参方式

在SpringBoot开发过程中,我们使用来封装对数据库表的CURD操作,正常每张表会有一组对应的文件。

2023-08-21 13:52:01 1616

原创 使用pnpm workspace管理Monorepo架构

pnpm代表(高性能的npmn),同npm和yarn,都属于javascript包管理安装工具,它较npm和yarn在性能上得到很大提升,被称为快速地,节省磁盘空间的包管理工具。默认情况下,如果可用的 packages 与已声明的可用范围相匹配,pnpm 将从工作区链接这些 packages。例如, 如果bar引用并且[email protected]存在工作区,那么pnpm会从工作区将[email protected]链接到bar。但是,如果bar的依赖项中有,而[email protected]

2023-08-19 17:39:04 4317

原创 7、Java入门教程【面向对象】

面向对象是Java编程的核心概念,如果不能充分了解面向对象的思想,那么会给你在实际的项目开发过程中,带来很多业务设计上的困扰。

2023-07-26 21:49:26 207

原创 5、Java入门教程【循环+条件语句】

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。while 循环中,程序立即跳转到布尔表达式的判断语句。break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。在 for 循环中,continue 语句使程序立即跳转到更新语句。switch可以实现的逻辑,if都可以实现。if还支持区间匹配。break 跳出最里层的循环,并且继续执行该循环下面的语句。执行时,一定会先进行匹配,匹配成功返回当前。,判断是否继续输出,或是跳出判断。switch(变量)

2023-07-19 08:59:08 199

原创 6、Java入门教程【数组】

数组是用于存储同种类型的多个数据的容器。

2023-07-18 23:32:09 414

原创 4、Java入门教程【运算符】

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。算数运算符除了加减乘除以外,还有特殊的是自增和自减运算。先进行自增或者自减运算,再进行表达式运算。位运算符作用在所有的位上,并且按位运算。从上到下优先级为由高到低。

2023-07-17 22:07:17 464

原创 3、Java入门教程【数据类型】

java中数据类型分为两大类:【基本数据类型】和【引用数据类型】[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SkAQxcic-1689514989267)(C:\Users\a\AppData\Roaming\Typora\typora-user-images\image-20230715145246736.png)]

2023-07-16 21:43:43 178

原创 2、Java入门教程【IDEA】

输入psvm/main,按下回车即可快速生成主函数2.2 sout输入sout,按回车,快速生成打印语句输入fori,生成普通for循环语句;输入iter,生成加强for循环语句2.4 自定义在IDEA界面中将光标移动到即可自定义快捷键方式。

2023-07-15 14:42:21 652

原创 1、Java入门教程【基础】

首先java的产品叫,必须安装JDK才能使用Java。Java的发展史:其中,LTS是比较稳定的版本,推荐比较新的版本。安装完成后,可以看到在安装目录下的目录,有java和javac两个可执行文件。java.exe:执行工具javac.exe:编译工具可以看到,显示正常,并且版本号也和我们安装的一致。到这里JDK就已经安装成功了。我这里是下载的.exe安装包自动安装,会自动配置环境变量到Path变量中去,如果是下载的压缩包,那就需要手动去配置环境变量。

2023-07-15 14:40:55 358 1

原创 如何将Typora中图片上传到csdn【Gitee图床】

实现了Typora本地编辑的内容中的图片,可以直接复制到csdn上进行发布。但是在使用过程中发现sm.ms这个图床站不是很稳定,即使用了翻墙也不稳定,所以想看看使用其他的国内的图床平台。这篇文章推荐使用作为图床,上传速度实测挺给力。

2023-07-15 14:26:50 1531

原创 maven基础教程

首先到maven官网下载安装包,解压到本地目录,然后配置环境变量。

2023-06-27 23:41:56 3493

原创 Groovy基础教程

Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言,他结合了Python、Ruby和Smalltalk的特性,Groovy代码能够于Java代码很好的结合,也能用于扩展现有代码。由于其运行在JVM的特性,Groovy可以使用其他Java语言编写法的库。

2023-06-19 16:05:24 7842

原创 解决Antd Tree组件,二次点击时不取消选中,保持高亮

然而大多数业务场景下,我们希望多次点击同一个节点不会取消他的选中效果。支持点击高亮树节点,再次点击取消高亮。

2023-06-12 09:23:21 1543

原创 window10安装vim编辑器

我们在做git操作的时候,很多文字编辑工作会默认打开Vim编辑器来进行操作。Vim是一个高度可配置的文本编辑器,旨在让创建和更改任何类型的文本变得非常高效。大多数和都将它作为vi包含在内,用惯了中的Vim编辑器,如果需在的中编辑文件,则需要单独安装视窗版的Vim。

2023-05-30 22:19:34 3989

原创 VirtualBox安装增强功能

在刚安装完的VisualBox中,默认屏幕是固定设置的,不会根据实际的窗口大小做自适应,这时候我们需要【安装增强功能】,然后打开【自动调整显示大小】,就可以实现虚拟机中屏幕自适应。宿主机:window10。

2023-05-28 00:17:57 7058

原创 如何检测docker是否支持host.docker.internal

它提供了一种简便的方式来访问宿主机上的服务。但是,这个主机名在不同的 Docker 版本和环境中的支持情况可能会有所不同。主要用来诊断域名系统 (DNS) 基础结构的信息。查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。如果查询失败或显示其他错误消息,则可能是因为您的 Docker 版本不支持。如果输出显示了宿主机的 IP 地址,则说明 Docker 支持。运行一个临时容器:使用以下命令在交互模式下启动一个临时容器。如果您看到类似于以下输出,表示您的 Docker 支持。

2023-05-25 14:43:27 4173

原创 linux安装mysql的两种方式

1、在安装之前查看下系统是否已经安装了mysql2、安装mysql-server3、再次查看,发现多了个mysql4、登陆。

2023-05-23 10:31:39 1011

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除