- 博客(212)
- 资源 (2)
- 收藏
- 关注
原创 云服务概念
它确保你的计算资源(比如虚拟机)不会都挤在同一个物理服务器上,而是分散在不同的服务器上,这样如果一个服务器出了问题,其他的还能继续工作,你的业务就不会完全中断。oss和cos都是数据存储架构(一个是阿里云一个是腾讯云),数据被存成对象,一般是用来存储图片,视频,日志。就是混合云的实现方式,用户本地有自己的机房,是私有云,然后通过私有云又连接到公有云。不需要预先计算所需要的资源大小,直接使用,具有弹性,可自定义资源类型和大小,安全,多应用等能力,不需要自己运维,开箱即用。手动分配:运维需要手动分配资源,累。
2024-12-05 22:11:10
465
原创 MacBook m3安装nvm
打开你的 shell 配置文件。如果你使用的是 zsh,那么文件是。的初始化脚本被正确地添加到你的 shell 配置文件(如。最近入手了macbook m3,在安装前端开发环境。这样的非标准路径下,你需要确保。结果一直显示nvm安装没有成功。当使用 Homebrew 安装。: 在终端中运行以下命令来检查。: 保存你的更改并关闭编辑器。如果是 bash,则是。或者使用命令行编辑器,如。或者使用命令行编辑器,如。已正确加载,它将显示。
2024-09-28 01:03:28
571
原创 教你从0到1使用node+jenkins实现CI/CD
一般的,我们公司都会开发一个git平台,我们将代码提交到git平台,git平台通知jenkins平台过来拉取代码,jenkins平台读取项目的dockerfile文件,按照我们提供的信息自动构建镜像。因为每个公司上线流程都有些微不同,比如我们公司,为每个地方部署的项目版本是不相同的,可能杭州市部署的是hz分支代码,北京部署的是beijing分支代码。实现方式就是在jenkins的基础上,开发一个平台,后端用node语言,调用jenkins的接口,只让jenkins帮我们做构建镜像的工作,剩下的我们自己来。
2024-08-27 15:14:58
394
原创 redis
传统的mysql属于磁盘读写,当访问量大的时候,因为IO读写磁盘速度的限制导致访问瓶颈。于是redis,作为基于内存的数据存储系统,具有优良的速度,解决了访问速度的问题。执行redis-server运行redis,执行redis-cli运行客户端jiejiji界面使用redis。redisInsight的安装根mysql的workbench功能一样,可以连接redis数据库查看数据。KEYS *me查看所有以me结尾的键。TTL key 查看该键的过期时间。2,redis能存储的数据类型。
2024-01-01 18:17:17
651
原创 k8s常见命令
一个pod里面好几个container,deployment是针对这个pod的配置文件,比如设置这个pod有几个副本。获取容器日志:kubectl logs my-pod -c my-container。查看各个资源的详细信息:kubectl describe pod my-pod。获取正在运行的pod日志:kubectl logs -f my-pod。3,deployment和pod关系。2,进入正在运行的pod执行交互命令。4,更新deployment。2,获取当前运行容器。
2023-08-28 22:44:29
511
原创 node项目与consul交互原理
该代码的意思是,使用consul-template工具,利用模板hcl和vault地址生成配置文件。keyOrDefault函数:从consul中读取该路径下变量,找不到的话使用默认值。ctmpl文件:通过helm工具读取到yaml中的部分配置,比如env。而这个生成的配置文件就是用来拉取远程consul配置到本地的一个文件。定义项目的内部的,与代码相关的一些变量,以及consul的资源路径。上面是ctmpl文件里的两行代码,它是用go语言写的。用来定义项目外部的,容器镜像,副本,网络请求等。
2023-08-03 15:48:21
262
原创 k8s代理转发
场景:我有两个node项目,分别部署在两个pod上面,两个node代码一摸一样。但是一个node发起的请求是成功的,另一个node是失败的。这个的原理是,其实我们接口的直接host地址是代理ip地址,然后x-forward-for是真实的ip地址,相当于我们请求代理,然后代理再做一次转发。在失败的k8s代码的请求header中添加字段:x-forward-for: '92.6.7.120'根据以上信息可以判断出,是因为ip不满足请求,应该是失败的那个k8s容器有问题。报错信息:和以下一致。
2023-08-02 22:42:38
29
原创 执行npm install卡住了一直不动
查看一下项目的.npmrc文件,是不是里面配置的npm仓库地址不对,无法访问。或者本地配置的registry地址不对。
2023-07-19 16:46:12
398
原创 (HP)离谱bug
理论上好了,但是由于在webpack配置的fileName和chunkFIleName配置的文件名称不带hash,所以发到线上以后,本地浏览器还是有缓存(这个时候假如用无痕浏览就不会报错了)解决办法:在浏览器打开在线页面地址和stg页面地址,找到js文件,查看二者的hash值是否一样,结果是不一样,说明线上的代码没有更新。因为图片加载也是一个http网络请求的过程,所以断网的时候无法显示图片,只能显示js代码中的文字。由于虎啸平时只有在重新发布的时候,项目的构建缓存会被清空 ,所以线上的项目暂时是安全的。
2023-04-13 16:38:34
22
原创 错误边界的正确使用
然后此时B组件中产生的所有js错误才会被Errorboundary捕获。错误使用:直接将dom作为children放到错误边界组件中。正确使用:将dom作为一个子组件放到错误边界组件中。如果不加错误边界, 界面会直接白屏,非常不友好。转载请注明来自kalinux,并附带文章链接。
2022-12-23 12:16:15
255
原创 mac vscode没有写入权限/无法自动更新
mac电脑中,应用程序如果在下载文件夹中,会被限制权限为只读,没有修改系统文件的权限,此时将vscode从下载文件夹移动到应用程序文件夹即可,但是如果还是不行,可以按住command键,同时拖动vscode。然后重启vscode,此时应该可以自动升级vscode版本,同时可以修改。1,正常的打开一个react项目,然后修改文件内容,保存时候会提示没有修改权限。2,vscode自动升级版本,从vscode设置那里点击升级,会提示你,vscode仅允许只读。这种方法每次新pull一个项目都得执行一次很麻烦。
2022-09-21 19:03:48
4155
2
原创 (react页面错误处理)react错误边界ErrorBoundary和react-use判断是否有网络
react页面错误防止白屏,添加兜底页面
2022-09-01 20:54:09
848
原创 clip-path内部文字无法溢出
clip-path的文本无法溢出,因为clip-path在裁剪outer这个容器的时候,顺便把文字内容也裁剪了
2022-08-09 15:49:39
372
原创 使用nextJs代码不在div中无法seo
场景:通过getServerSideProps获取服务端数据,并且传递到子元素中进行渲染,理论上应该是出现在html的body中的,但是实际上只有中包含获得的数据。 主要原因在于HomeNews中首次渲染使用的newsList = [ ],在componentDidmount之后才进行setNewsList(transformToNews([...newsArr])),这个时候dom已经渲染完毕了,所以查看源代码,服务端渲染的数据是空。直接改为:即可。可以看见首屏数据在di...
2022-07-07 10:55:30
237
原创 location.href相对路径和绝对路径的区别
类似:location.href = https://www.baidu.com/a/b/c使用绝对路径跳转,页面返回后刷新,导致无法定位到当时跳转到位置。相对路径又分为两种情况:使用location.href以及进行跳转的时候,有两种:和假如当前网页地址:https://bbs.hupu.com:8080/home则第一种跳转到:https://bbs.hupu.com:80...
2022-07-07 09:54:20
511
原创 Global CSS cannot be imported from within node_modules.
1,假如报的是antd-mobile的错误 ,需要在next.config.js中配置:2,然后重启项目:npm run dev
2022-06-10 10:55:18
2222
2
原创 css实现头像佩戴中
可以直接用<!DOCTYPE HTML><html><head><style>.outer{ width:0; height:0; border:50px solid red; border-left-color:transparent; border-bottom-color:transparent; position:relative; white-space: nowrap; }.i...
2022-03-03 18:51:01
415
1
原创 antd去除单选按钮Radio.Button被选中时的浅蓝色外边框阴影
在使用antd的Radio.Group,Radio.Button的时候,被选中按钮的外圈有个浅蓝色的框框,想要去除:这个时候打开控制台元素,选中该按钮,发现该元素的classname = ant-radio-button-wrapper-checked,去到antd.css文件,搜索该class,找到一个样式的颜色是浅蓝色:将其覆盖为:.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-but.
2022-01-17 12:37:47
4851
原创 引入antd.css文件导致项目样式受到影响
1,antd.css文件中的class名称都以antd为前缀,理论上不会影响我们的代码,那么我们打开antd.css文件看一下,为什么样式变化了:可以看到,antd.css文件中虽然大部分样式是以antd为前缀的,但是它会设置一些标签的默认样式,比如它给p标签设置margin-bottom是1em,但是我们平时项目中p元素默认margin=0,所以此时引入antd.css文件就会引起样式错乱2,怎么办呢这里是有两个情况的,一个是如果你项目中用到antd较少的组件,比如只用了Table组件,那么可以.
2022-01-17 12:17:10
2197
原创 Echarts的legend图例中的文字长度过长
1,如图所示,文字长度过长2,网上很多解决办法是通过修改textStyle/rich,去修改width:textStyle: { rich:{ a: { width: 11 }, }, }但是不知道是版本原因,还是啥,我怎么改都没有用3,最后用 的formatter解决的:const dealWith = function(name:any){ .
2021-12-19 18:43:14
8206
1
原创 React.createElement: type is invalid expected a string (for built-in components) but got: undefined
报错代码:import { ReactComponent as Back } from '@/assets/back.svg';<div className={styles['title-back']} onClick={close} style={{color}}> <Back></Back></div>报错内容:希望类型是string或者是组件,但是实际上是undefined。报错原因:不同版本的react引入svg的..
2021-12-01 16:30:21
1155
原创 service worker
提出场景一个网页有三个tab页,普通人登录只能访问tab. A,管理人员登录可以访问A,B,而超级管理员可以访问A,B,C。现在要求做一个提示功能,即所有人如果未登录,会提示未登录;普通人登录并访问B或C,会提示无权限访问B接口、C接口;管理人员登录并访问C,会提示无权限访问C接口;解决办法理论上,前端发起fetch请求,根据后端的报错信息可以进行提示,但是因为该项目已经开发完毕;并且包含很多个fetch请求,逐个更改很麻烦,所以使用service worker,把所有的请求与响应全部拦截,.
2021-11-15 15:08:02
1278
科研方法论2020答案.doc
2020-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人