自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

原创 helm upgrade时 报错: another operation (install/upgrade/rollback) is in progress

用helm upgrade的时候,报错Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress。Helm 3 使用特殊的 Secrets 或 ConfigMaps(取决于您的配置)来跟踪每个发布的状态。如果确定没有其他操作正在进行,您可以手动删除这些资源以清除锁定状态。原因可能是之前有一次使用helm upgrade的时候,强制退出了命令(ctrl+c)对于 Helm v3。

2024-04-14 20:24:56 199

原创 从redux的基本概念渐进式理解redux/toolkit的用法

有一种情况,A reducer 和 B reducer 都有对action type = X 的处理, 在这种情况下,store会分别调用A reducer 和 B reducer 中对X的处理逻辑。-------------------为了解决redux的这些模板代码,提高开发效率,react推出了Redux Toolkit------------------------------------在实际的工程开发中的开发套路--------------------------------

2024-04-03 18:46:00 926

原创 如何解决EventSource 删除单词的前置空格问题

如下代码,EventSource会把单词的前置空格吃掉,比如“ blank” 会变成"blank",这会导致输出的英语单词连在一起。临时解决方案,将后端的数据包装成json,前端再解析出来。

2024-03-29 21:27:51 308

原创 yarn的安装和使用

通过这些基本命令,你可以开始使用 Yarn 来管理你的 Node.js 项目的依赖了。Yarn 的一个主要优势是速度快,特别是在安装大量依赖时,Yarn 可以更有效地处理依赖关系和包的下载。以下是一些基本的 Yarn 命令,这些命令与 npm 类似,但在某些方面 Yarn 提供了更快的性能和更好的依赖管理。安装 Yarn 前,你需要先确保已经安装了 Node.js,因为 Yarn 依赖 Node.js 环境。这会将一个依赖添加到你的项目中,并更新 package.json 和 yarn.lock 文件。

2024-03-28 14:28:35 642

原创 Node.js常用命令

使用方法:在项目根目录下运行 npm install [包名],也可以添加 --save 或 --save-dev 参数将依赖保存到 package.json 文件中。使用场景:临时需要使用某个 Node.js 包的命令,但不想全局安装,比如创建 React 应用的 create-react-app 命令。使用场景:开始一个新的 Node.js 项目时,用于设置项目的基本信息如项目名称、版本、作者等。使用场景:在安装或更新 Node.js,或者确认当前使用的 Node.js 版本时使用。

2024-03-28 14:04:08 1469

原创 jHipster 之 webflux-前端用EventSource处理sse变成了批量处理而非实时处理

前端用EventSource 处理webflux的sse,虽然后端每秒钟会生成一个字符串,但是前端并不是每秒中在控制台打印出后台输出的数据,而是等后台所有的输出完了,一起打印到控制台。这就改变了eventsource的初衷了。因为是开发环境特有的问题,生产环境没有,所以暂时记录一下,以后有时间可以研究一下。重要的一点是,问题的原因是前端,jhipster后端没有问题。貌似有一种缓冲机制,后经调查和后端没有关系,是jHipster开发环境中的前端代理服务器导致。

2024-03-28 11:11:42 405

原创 windows10 安装包管理器Chocolatey,安装helm

System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072:设置安全协议,确保使用TLS 1.2进行通信。iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)):下载Chocolatey的安装脚本并执行。

2024-03-27 22:49:41 237

原创 Reactor Netty

在springframework 里面,我们只有connection id。但是在底层的reactor netty,我们除了connection id还有local address and remote address。

2024-03-23 23:16:55 170

原创 大白话说说redux

先理解一下redux的工作原理。

2024-02-19 23:06:16 412

原创 react18中,useState 和 useEffect有什么区别

之前,只有类组件才能有自己的状态,但useState钩子使得函数组件也能够利用React的状态特性。通过结合useState和useEffect,可以在函数组件中实现丰富的功能和效果,使得函数组件的能力与类组件相当,甚至在某些方面更具优势。当状态变化时,组件会重新渲染,以反映最新的状态。中的副作用通常在组件渲染到屏幕之后执行,不会直接影响组件的输出。提供的状态和设置状态函数直接参与到组件的渲染逻辑中,状态更新会触发组件的重新渲染。是连接组件和外部世界的桥梁,用于处理组件的生命周期和副作用。

2024-02-12 17:51:20 904

原创 在JavaScript或TypeScript中,@符号的用法

在JavaScript或TypeScript中,@符号在导入语句中用作包名的一部分,表示该包是一个命名空间包(Namespace package)或作用域包(Scoped package)。作用域通过前缀@和随后的作用域名称来标识,例如@reduxjs/toolkit中的@reduxjs就是作用域名称,而toolkit是包名。要安装一个作用域包,你可以使用npm或yarn等包管理器,就像安装其他任何NPM包一样。@在导入语句中表示导入的是一个作用域包,这是NPM提供的一种组织和管理相关包的机制。

2024-02-12 15:45:35 387

原创 记一次在windows10 home版安装Docker desktop的艰难过程

首先保证windows版本是1903以上,我的版本如下下载安装docker desktop,安装完后,我启动docker desktop遇到以下错误是wsl的问题,有几个关键的动作a. 检查有没有安装WSL2 Linux 内核,没有的话从这里下载安装 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msib. wsl 升级到wsl2wsl --updatewsl --set-default-versi

2024-01-18 17:41:31 503

原创 5分钟快速理解Dockerfile指令

Dockerfile 可以包含多个 FROM 指令,每个 FROM 指令开始新的构建阶段。这可以帮助创建更小的镜像,因为你可以在一个阶段中构建应用,然后只将必要的文件复制到最终镜像中。Dockerfile 是用于创建 Docker 镜像的文本文件,它包含了一系列的指令和参数。在构建镜像的过程中执行命令,并提交结果。例如,COPY . /app 会将当前目录中的所有文件复制到镜像的 /app 目录。如果 Docker 运行时没有指定其他命令,就会执行 CMD 指定的命令。声明容器在运行时监听的端口。

2024-01-10 12:26:18 390

原创 如何用circleci结合helm部署springboot应用到GKE(Google Kubernetes Engine)&如何给应用加上域名,并利用GKE免费颁发的证书?

查看kubectl get managedcertificate -n infra, 可以看到仍在处理阶段,需要一段时间。以后该证书将由gke自动管理,用户是看不到证书的。中我介绍了如何用手工的方式部署一个简单的springboot项目到GKE,这篇文章介绍如何使用circle ci实现自动化部署。要用circle ci实现部署,需要编写config.yml文件,为简化起见,workflow只写1步。准备好后,status会变成Active. 此时访问你的域名,就是https啦。

2023-12-29 15:44:26 433

原创 如何使用circleci的“Rerun job wih SSH”功能

这里面有个坑,就是你使用"Rerun job with SSH"目前要满足一下两个前提条件。circle ci在你不满足下面第2个条件的时候,也会显示"Rerun job wiht SSH"这个按钮,你点了以后,也能运行,但就是找不到ssh的入口是什么,就让人很迷茫。配完后,看到“Enable SSH”,“Wait for SSH sessions“,就是成功了。构建和部署时,有可能我们需要使用ssh连接到服务器进行debug。这个时候,我们可以点击图中的"Rerun job with SSH".

2023-12-14 11:15:36 399

原创 项目版本命名规范

Helm Charts 和许多软件项目遵循 Semantic Versioning (SemVer) 规范。遵循 SemVer 可以帮助用户理解版本之间的差异,并预测升级可能带来的影响。当您创建和更新 Helm Chart 时,应该遵循这个版本号规范。MAJOR 版本在做了不兼容的 API 修改时递增。MINOR 版本在添加了向下兼容的新功能时递增。PATCH 版本在做了向下兼容的问题修正时递增。

2023-12-02 12:25:15 379

原创 部署springboot项目到GKE(Google Kubernetes Engine)

GKE是 Google Cloud Platform 提供的托管 Kubernetes 服务,允许用户在 Google 的基础设施上部署、管理和扩展容器。本文介绍如何部署一个简单的springboot项目到GKE.

2023-12-02 00:46:48 608

原创 Mac-idea快捷键操作

回退到上次看过的代码 command option 箭头。已知路径,在访达中打开 command shift g。打开最小化窗口 command tab option。强制退出 command option esc。idea 最近打开的文件列表command e。拷文件路径 command option c。显示隐藏文件command shift .切换同一个程序的窗口 command ~捕捉屏幕 shift+command+5。idea 删除一行 command+ x。运行所有东西 双击control。

2023-11-29 16:49:44 645

原创 gcp, loki, honeybadger 查看日志 语句

resource.type=“cloudsql_database” AND logName:“projects/ebay-mag/logs/cloudsql.googleapis.com%2Fpostgres.log” AND ( textPayload:“[2823409]”)log_name=“projects/ebay-mag/logs/cloudsql.googleapis.com%2Fpostgres.log”timestamp>“2023-07-09T00:00:42.126515276Z

2023-11-29 16:17:45 391

原创 策略模式代替if else真的好吗?

三四行的业务逻辑,你让我定义一大堆类,有必要这么麻烦吗?看具体的业务逻辑还要点击到不同的类中,有没有简单点的?业务逻辑分散到不同的实现类中,而且没有一个地方可以俯视整个业务逻辑。就几个if else场景,真的需要用到策略模式吗。大家探讨一下,有一点自己的思考,不要人云亦云。策略模式代替if else真的好吗?

2023-10-14 21:12:57 58

原创 Python + PySide6 可以做到 mac, linux, window 三端通吃

如题。

2023-10-13 19:50:48 152

原创 清迈申请美签

尽量用电脑填写,填写时候超时,会退至初始页面,但是之前填写过的资料有保存,后面会越填越快,事实上,我填写了至少五六遍才填写好。来清迈多久了/房子是租的还是买的/去美国干嘛/以前去过哪些国家/之前去过美国吗/为什么没去/孩子在哪个学校/你是做什么工作/现在做什么/之前签证哪里获得的。6、预约单生成,打印预约单,上面有面签时间,在国内14岁以下儿童除非抽查,并不需要每个都面签,而在清迈,我知道的朋友,都被要求面签。2、美领馆回复邮件,给了链接让在上面了解,也给了个账号,让进下来用那个账号进行查询;

2023-09-13 10:00:45 96

原创 云原生容器内的一次pg_repack排错和解决过程

5. 用podman 重新构建image,并上传到远程仓库.(如果是docker,命令中直接把podman换成docker就行了)postgresql的pg_repack 这个cronjob一直执行不了。4. 将Dockerfile中的pg_repack下载地址改掉。

2023-07-23 12:56:55 696

原创 Helm chart 常用命令以及原理和生产实践

团队如果不断地通过以上手动方式来安装应用,时间一长,就没有人能够记得对这个服务器进行了哪些配置。如果由于硬件问题需要更换服务器,那么没人能够完成所有的配置。这台需要被更换的服务器称为snowflakeserver.避免用远程的chart 在生产环境helm install, 因为远程chart有可能未来会不存在。helm dynamic chart, 可以配置变量从而生成不同环境下的chart, yaml。问: 到哪里去搜索helm package?卸载原来安装的monitoring。

2023-05-08 09:36:12 749

原创 清除github历史提交记录

清除github 的提交记录

2023-02-16 23:27:36 130

原创 google cloud操作记录

vm操作##ssh操作。

2022-12-31 10:14:47 122

原创 mac配置环境变量

在home目录中,找到.zshrc文件,没有的话,就创建一个touch.zshrc。把环境变量的配置写在这个文件里面。针对zshshell。

2022-07-16 17:18:08 474

原创 秒杀扣减库存的思考

秒杀项目,扣减库存。超卖是如何发生的?如果多个线程,对数据库先查询,再扣减,就容易超卖。因为有可能每个线程查询,都有库存,然后同时扣减,就超卖了。所以,应该这么扣减 update stock set stock_count = stock_count-1 where item_id= xxx and stock_count>=1但是,这本质上是一个行锁,背后是串行执行的,所以rt就飙高,tps就上不去。很多人说,放在redis里面扣减库存。但是,有这个场景,扣减库存以后,要生成流水表

2022-05-29 11:43:24 524

原创 Ted英语单词-A brief history of alcohol

听力传输通道:https://www.bilibili.com/video/BV1Dk4y1q781?p=4

2022-02-17 14:10:04 289

原创 程序猿常用脚本记录,持续更新...

create schema news collate utf8mb4_bin;

2022-01-27 11:09:19 271

原创 外企IT需要掌握的英语词汇,持续更新中...

collation [kəˈleɪʃn] 排列字符集,mysql 创建schema时会用到

2022-01-27 11:04:07 1206

原创 开发中,Docker 中的应用如何访问同在Docker中的Mysql?怎么配置Dockerfile的执行参数

查看Docker中mysql的虚拟ipdocker ps 查看container iddocker exec -it 94c7cc89dfb9 bash 进入mysql容器一般没有ifconfig和 ping命令,安装一下apt-get update 先升级apt-get,然后安装apt install iputils-pingapt install net-toolsifconfig查看mysql的虚拟ip在应用的环境变量中设置mysql的访问地址,就可以拉...

2022-01-16 17:55:41 1094

原创 古代官员怎么复出-多行贿站好队抱住皇上粗大腿

这两天呢,跟单位的同事聊天啊,就提到现在不好找工作的问题,同事那就来了一句话,哪,还是古代好,没有动不动就失业。其实古代可不是这样,破产农民,破产商人多的是。一旦他们破产,失业,就得沦为流民,成为社会不稳定因素。古代真正好的,那是那些官员,就算是落马了,没多长时间也能官复原职。那他们怎么才能复出?这里面有什么窍门啊?咱们今天呢,就来聊一聊。咱们要说一句啊,古代官制中呢,对于这个官员,有官身和官职的定义。官职是可以经吏部调动任免,但官身一旦取得就成了一种身份的象征。古代的那些落马官员,都是免职不免身特权的,还

2021-12-02 10:50:26 176

原创 设计公共API需要考虑的方方面面

本文持续更新,欢迎大家讨论,不吝指教Resource 保持前后一致性由于api 的开发是一个长期的工作,后面的开发一定要考虑到前面已经开发的API,跟随之前的。比如,很久以前已经开发了接口getRateTables,几年后,又想进一步开发每个ratetable的详细信息,这个接口该取什么名字呢?getRateTableDetail可好?不对,这样就和之前的接口脱节了,应该取名getRateTable,表示取出每个rate table 的详细信息。关于put方法需要考虑的地方put表示对资源进行

2021-10-31 11:54:27 249

原创 如何用idea分析maven中jar包依赖关系,排除冲突?

插件命令:关键是可以搜索,看清依赖关系mvn dependency:tree > C:\Temp\cmtoolDependency.txt在idea的Project视图中,查看jar包被哪些模块使用了

2021-10-08 19:21:18 416

原创 经典文章收集

关于oauth2.0 看这个系列的文章,通俗易懂:https://www.ruanyifeng.com/blog/2019/04/oauth_design.html

2021-09-07 20:28:00 77

原创 was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint

chrome 禁止ajax 请求后端时,进行https检查

2021-09-06 17:27:27 10721 3

原创 如何在复制list时,复制原list中所有对象,而不是复制对象的地址

List<CoordinateData> a = new ArrayList(); CoordinateData coordinateData1 = new CoordinateData(); coordinateData1.setX(1); coordinateData1.setY(1); a.add(coordinateData1); CoordinateData coordinateData2 = new Co

2021-09-01 14:50:46 468

原创 mysql5.7实现类似开窗函数的功能,其余的没有参与group by 的字段也需要返回

mysql5.7 不支持开窗函数。具体需求是, 只group by一个字段,但是其余的没有参与group by 的字段也需要返回,组内记录值取第一行就可以。表记录如下,以group by ROVER_ID 为例子:一种比较好办的情况,记录有自增主键,那么取组内最大主键值就可以select * from main_account_relation where id in (select max(id) from main_account_relation group by ROVER_ID);

2021-07-07 22:25:23 813

原创 jenkins vue nginx springboot gitee centos

上一篇文章已经将前端vue自动构建并跑起来了,文章链接:https://blog.csdn.net/celebrateyang/article/details/118357741这篇主要将springboot的构建部署,gitee的配置还是看这篇文章https://blog.csdn.net/qq_38946537/article/details/107871976springboot的jenkins配置如下:#下面这句一定加上,否则掉入jenkis启动完springboot即被杀掉进程的

2021-07-02 21:14:24 110

redis.conf配置文件

redis安装文件,版本3.2.1. 基于https://blog.csdn.net/celebrateyang/article/details/109174512 实操

2020-10-20

mysql 5.0.87 安装包

mysql-essential-5.0.87-win32

2012-04-03

空空如也

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

TA关注的人

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