自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

许盛的博客

低调是个好习惯,奋斗也是个好习惯,低调的奋斗着~

  • 博客(115)
  • 收藏
  • 关注

原创 microk8s拉取pause镜像卡住

前几天嫌服务器上镜像太多占空间,全部删掉了,今天看到 microk8s 更新了 1.30 版本,果断更新,结果集群跑不起来了。这时候我们可以采取换一个国内源拉取这个镜像,然后重新打个。镜像,但是由于某些网络原因导致拉取不下来。初始化卡住了,导致集群起不起来。重启下集群,或者等一会儿就好啦~如上图可以看到,所有的业务。如下图所示,镜像拉取成功。启动时,需要拉取一个。对应阿里源上的镜像是。

2024-04-22 18:57:51 283

原创 Jrebel 使用备忘

Java 开发时修改了代码如果手动中止进行然后重启的话,非常麻烦,所以需要一个热部署的插件,修改代码之后即时生效,无需重启。之前一直用的 devtools,不过在一个新项目中,devtools 有点问题,所以改成使用 jrebel 好了。实际体验之后发现 jrebel 确实好用非常多,毕竟是收费插件。

2024-02-27 11:39:24 399

原创 初始化前端项目配置 eslint、prettier、husky 等等

每次新项目都要重新配置一遍,有点麻烦,记录一下。

2023-08-03 14:57:16 422

原创 使用 Github Action 将 github 仓库同步到 gitee

CI 构建镜像 -> 推送最新配置代码到 Github 仓库 -> Gitee 仓库同步 Github 仓库 -> 集群 ArgoCD 拉取 Gitee 仓库配置。这样就可以在 Github 的配置仓库中,增加一个 workflow,每当配置文件更新时,就触发此 action,主动将代码同步到 Gitee 仓库中。最近将 CI/CD 流程改造了一波,使用 ArgoCD 做 gitops,这样所有的集群 Yaml 文件就都存放在了 github 上的一次仓库里。为例,在此仓库根目录下新建文件。

2023-03-31 16:23:46 535 1

原创 使用 mapstruct 和 querydsl 时 compile 问题备忘

参考:https://stackoverflow.com/questions/74825653/querydsl-5-with-mapstruct-issues-while-generating-resources。

2023-03-30 15:40:43 290

原创 git rebase 时保留原分支 merge 提交记录

为了保持分支的整洁性,我们往往会在提交 前,进行一次 rebase 操作,一般来说直接使用 自带的 就够了,但是当要被合并到主干分支的分支本身就具有 的提交时,奇怪的事情发生了,原分支上的所有 提交都消失了。...

2022-06-08 18:31:29 1684

原创 Dockerfile 中 CMD 为什么要避免使用 sh -c

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客Dockerfile 中的 CMD 命令,有 exec form 和 shell form 两种形式,具体区别可以参考: Dockerfile 中 CMD 写法的区别推荐使用 exec form 而不是 shell form ,因为使用 exec form 时可以将实际的应用程序作为容器中的主进程,而使用 shell form 时,容器中的主进程实际上是 sh。当我们需要终止一个容器时,需要向这个容器传递 signal ,然

2022-06-08 18:29:43 1767

原创 MySQL容器中无法输入中文

最近使用 show full columns from user 语句查看表详情时,发现注释那一列,缺失了中文信息。排查一下发现是我每次 create table 时,都是直接将语句复制到命令行,然后执行,在这个过程中,中文丢失了,导致最终创建的表字段的 comment 丢失了中文字符。那么如何解决 mysql 容器中无法输入中文的问题呢,最简单的方式,进入容器时,加上参数即可,以 kubectl 命令为例:~ kubectl exec -it <your-pod-name> --name

2022-05-06 23:21:23 1510

原创 Dockerfile 中 CMD 写法的区别

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客Dockerfile 中的 CMD 是个非常重要的指令,主要用于为容器提供启动命令,但是写法上有好几种方式,一段时间不看的话,容易忘记,记录一下作为备忘。可以直接参考官方文档中对 CMD 的讲解:https://docs.docker.com/engine/reference/builder/#cmdCMD 命令的写法有三种格式:CMD ["executable", "param1", "param2"]: 这种写法叫做

2022-01-28 10:48:58 3396

原创 js 获取当前环境全局对象

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客今天读 qiankun 的源码,看到了一段看不懂的代码 Function('return this')(),研究了一下原来是用来获取当前环境的全局对象的。正好整理一下相关的知识,免得忘记。在日常的开发中,前端接触的比较多的就是浏览器环境和 Node 环境,这两个环境中的全局对象是不一样的,业务代码中一般不怎么关心这个,但是如果是写通用的库,如何正确的获取全局对象就很重要了。一般来说,有如下几种方式获取不同环境下的全局对象:

2022-01-28 10:47:56 1659

原创 minikube 部署的 k8s 集群准备 kubeconfig 文件

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客题外话最近大出血,换了 m1pro,黑苹果就暂时没啥用了,本来准备装个 ubuntu 用来部署 kubesphere 玩玩的,不过在尝试了 ubuntu 官方的 multipass 虚拟机管理工具后,体验实在太好了。同时又逛了逛 k8s 官网,比早两年要好太多了,正好就用虚拟机再过一遍 k8s 官方文档好了。本文写的内容其实属于很简单的基础内容,其实是没必要写的,但是为了避免时间长了自己忘掉,还是记一记好了。准备 ku

2022-01-28 10:46:58 2594

原创 使用 minikube 安装 k8s-cluster

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客minikube 目前支持多种安装方式,使用虚拟机、docker、裸机安装等等。我是使用 multipass 在 mac 中跑了一个 ubuntu 虚拟机,此时如果再用 docker 的安装方式的话,会在 ubuntu 虚拟机中跑一个 docker 容器,将集群安装在这个容器内部,这样会导致在 macos 中访问集群时各种奇奇怪怪的问题,所以直接在 ubuntu 虚拟机中逻辑安装好了。下载 minikube这里使用 li

2022-01-28 10:45:46 1359

原创 lerna + yarn workspaces 使用备忘

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客最近学了不少组件化相关的知识,需要编写一些 cli 工具、公共组件之类的,和以往大量的做业务项目,走 CI/CD 容器化部署不同,这类项目不需要容器化部署到某个平台,而是使用 npm publish 来发布。正好学习学习 monorepo 的思想和 lerna 的使用,本文不讲概念,只是记录一下流程,作为个人的备忘录使用,忘记了就再来翻一翻。初始化目录首先创建项目,并安装相应的依赖mkdir my-app &&a

2022-01-28 10:44:43 2814

原创 m1pro 芯片使用 docker 部署 mysql

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客最近新电脑到了,要用 docker 在本地跑个 mysql 开发用一下,但是发现以前的常规套路不管用了,踩了不少坑才解决问题,记录一下以作备忘。镜像问题在 docker hub 中有一个 mysql 镜像,这是以前用的比较多的镜像,我到现在才知道原来这个镜像不是 mysql 官方的,而是 docker 官方的,这个镜像并没有提供 arm 版本的,如下:换成 mysql 官方提供的镜像 mysql/mysql-serve

2022-01-28 10:43:20 2023

原创 husky + lint-staged 使用备忘

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客不管是开发什么类型的项目,前端、后端、组件库、工具包等等,只要是用 ts 写,都得配一配各种 hook 来做各种校验,记录一下,方便以后直接抄。一般在代码提交前,使用 eslint、 prettier 、 stylelint 等等各种工具,对当前的代码仓库进行一次格式化,然后在提交时,校验一下 commit message 是否符合 conventional commit 的规范。主要使用以下几个工具:commitlin

2022-01-28 10:42:18 3430

原创 2021 年 Q4 随笔

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客距离上次写个人总结,已经过去了好久了,佛系了好长时间,正好趁着最近重新卷起来,再写一写随笔,梳理一下近些年,再规划一下未来的一年,扬帆起航,迈向下一个新目标。回首自 16 年毕业至今,已经有五年多的时间了,遥想当初刚毕业的时候,还是一个纯纯的新人,还在彷徨究竟是选择硬件,还是网络,还是跨专业搞软件。从进公司的第一天起,就开始琢磨什么时候学会了所有东西就赶紧跑路,每天卷到 12 点,周末也天天加班,拼命的学习,就希望能够快

2022-01-28 10:40:33 288

原创 ESLint 和 Prettier 配合使用

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客ESLint 是一款 Lint 工具,包含了代码质量检查等等。而 Prettier 仅仅只是一个代码风格的约束工具,对于代码可能产生的 Bug 等并不关心。虽然说 ESLint 其实也具备一定的代码风格的格式化能力,但是在实践中,我们一般采用 ESlint 来做代码质量的约束,用 Prettier 来做代码风格的约束。那么如何避免两者规则不一致导致的冲突?以及如何将两者更好的整合起来使用呢?规则冲突当 ESLint

2022-01-28 10:38:29 13585

原创 引入纯 ESM 模块化的第三方包

CSDN中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客背景今天要做个 CLI 工具,一路调研学习加实践都比较顺利,但是在引入 globby 这个库时,就开始报错了。/Users/xusheng/workspace/test/mit-cli/dist/lib/utils/zip.js:4var globby_1 = require("globby"); ^Error [ERR_REQUIRE_ESM]: require() of ES Modu

2022-01-28 10:35:20 3807

原创 Gitlab CI DinD 中使用缓存加速 Docker 镜像(多阶段)构建过程

CSDN 中文章不一定能及时更新,欢迎关注我的博客查看最新版本:许盛的博客参考:https://andrewlock.net/caching-docker-layers-on-serverless-build-hosts-with-multi-stage-builds—target,-and—cache-from/https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#make-docker-in-docker-builds-fast

2022-01-27 16:08:43 1689

原创 Go 项目自动生成接口文档

背景如何让后端同学愉快地写接口文档,是个老大难问题。使用 GraphQL 当接口标准,倒是省了接口文档的问题,连前端代码都可以自动生成了,但是对后端同学来说,学习成本又比较大。使用 gRPC 当接口标准,后端同学是爽了,但是前端的 gPRC 相关生态和工具是真的烂,体验极差。有段时间尝试搞了个前端 BFF 层,把 gPRC 接口转换为 GraphQL 接口供前端调用,听起来很美好,但是却额外多了一个需要维护的项目,工作量陡增,接口出现问题时排查也变麻烦了。后来还是选择在 yapi接口平台上人工维

2022-01-27 16:05:07 2544

原创 2021周末计划1016-1017

时隔好几年,重新启动周末学习计划,同志们卷起来!2021.10.16 - 2021.10.17计划学习 Node.js 中的 Buffer 和 Stream总结

2021-10-14 15:26:57 113

原创 优化 window 命令行使用体验

背景在 window 下的开发体验,远远不如 mac 要舒适,命令行工具不好用要占非常大的因素。在 WSL2 推出之后,装个 ubuntu,然后配上 oh-my-zsh ,将就着用用也还不错,但是总归还是有点麻烦。最近有点懒得把我的小nuc 和 mbp 在公司和家之间带来带去,在家就只能用性能拉垮的 macmini 或者台式机了。而最近又要抓紧在家的时间好好学习下,正好趁着周末再研究下如何提高 window 下的开发体验好了。最终效果图:概述最早的时候,大概16、17年左右,我是使用 cm

2021-07-11 15:05:22 600

原创 使用 eslint 自动调整 import 代码顺序

随着项目代码量的增多,每个 js/ts 文件头部都会有一堆 import 代码。之前都是依赖 webstorm 的自动导入功能,然后手动调整下顺序,将 node_modules 中引入代码和项目目录中的引入代码区分开就行,反正 webstorm 默认打开文件的时候,会把上面的一堆 import 代码给折叠起来。而写 go 的时候,goland 可以自动调用 go fmt ,将 import 部分的代码也优化优化。最近想着把编码规范再制定的细致一点,正好把这个问题也解决下。eslint 自带规

2021-05-08 15:05:19 8797

原创 腾讯云轻量云服务器体验

背景最近云服务器要到期了,但是续费就不能再用新用户优惠了。考虑到我已经将所有的服务都迁移到了家里的小机器上,云服务器只是起到一个流量入口的作用,所以并不需要太好的配置。这时候就需要选择一款配置一般、带宽足够、价钱便宜的云服务器了,正好腾讯云轻量云服务器有新用户优惠,完美。过程记录一下,下次再过期的时候就可以不用动脑啦购买1核2G5M 的配置完美符合了我只需要一个便宜点的流量入口的需求,这里需要注意第一次购买的时候是优惠价 99 一年,后期续费就恢复成原价了,建议一次购买 3 年。等待一

2021-04-29 21:03:48 2952

原创 webstorm常用插件集合(2020)

2016 年整理了一下自己常用的 webstorm 插件:webstorm常用插件集合不过毕竟现在已经 2020 年了,常用的插件已经发生了一些变化,重新整理一下。

2020-07-10 11:47:11 56361 9

原创 记一次 fstab 修改错误后无法开机的问题

背景笔记本上的 ubuntu 系统,一登上去就提示需要重启,但是之前外接的硬盘盒,我并没有设置自动挂载,每次重启完成之后,还要手动挂载,挂载完了还要看看 k3s 里因为没有找到挂载点而启动失败的服务有没有恢复正常,so 麻烦, 所以一直懒得重启。今天床上的懒人桌子弄好了,心情愉悦,捣鼓下笔记本好了。先使用 sudo blkid 命令查看硬盘盒的 uuid,然后修改 /etc/fstab 文件,加入一条挂载配置,然后重启。然后凉凉,ssh 不上,ping 不通,跑到客厅打开笔记本一看,开机都报错了,c

2020-06-08 23:46:51 2325

原创 k3s设置国内加速源

参考:http://www.zzfly.net/k3s-installation-and-containerd-registry/https://github.com/containerd/cri/blob/master/docs/registry.md#configure-registry-endpointhttps://cr.console.aliyun.com/cn-hongkong/instances/mirrors

2020-06-03 14:29:25 5485 3

原创 MacOS 配置 go 开发环境

其实很简单,都没啥必要写,只是我最近新配了一台黑苹果,正好又重新捣鼓了一下各种初始配置,记一下,这样以后就不用再动脑了。和 nodejs 一样,我都是用 HomeBrew 直接安装的,相对于直接下安装包,这样的好处是我只需要执行 brew upgrade 就可以直接升级版本了。一、安装执行如下命令即可:brew install go如果想看看这个包相关的信息,可以使用 brew info go 命令,输出如下所示。二、配置环境变量三、配置代理...

2020-06-02 15:37:37 1518

原创 window删除我的电脑侧边栏的owncloud目录

最近从 owncloud 切换到了 nextcloud, 但是我的电脑中侧边栏的入口中,owncloud 打死也不消失,随意用中文搜了一下,结果发现网上没啥靠谱简单的答案,换英文一搜,果然老外的东西还是得靠老外来回答。建议直接阅读原答案:OwnCloud Icon Stuck on Windows Explorer Icon翻译如下:Open regedit. (press the Wi...

2019-09-03 23:59:51 1972 1

原创 部署 Calibre-web 时报错

calibre 是一款电子书管理软件,使用 docker 部署 linuxserver/calibre-web 时,在初始化界面需要输入 选项,但是不管怎么输入,都会报错:DB位置无效,请输入正确路径对应的英文报错为:DB location is not valid, please enter correct path截图如下:google 上的搜出来的好多答案说是目录权限导...

2019-08-30 21:36:09 23963 4

原创 nvm 安装及简单使用

早几年前因为 node 版本的坑研究过一下 nvm 和 n 的使用方法和区别,但是平时主要还是使用的直接下载编译好之后的包的方式。最近在 window 的 WSL 系统中使用 node 遇到了坑,不得不使用 nvm 来安装了,稍微记录一下简单的使用方法,以作备忘。1. 安装 nvm参考:https://github.com/nvm-sh/nvm最简单的方法当然是使用官方提供的安装脚本啦...

2019-08-09 23:41:23 2679

原创 wndows下使用 WSL 和 hyper 打造优雅的开发环境

mark 一下,待补充。

2019-08-09 23:17:52 2619

原创 关于项目 git 协作流程的思考

在项目开发的过程中,由于有多人参与,每个人的习惯也不尽相同,容易导致很多不可控的问题出现。业务代码层面,可以通过使用各种 lint 工具来约束编码规范,但是代码提交、发版等等相关的规范化一直没有强力的推动下去。目前在开发过程中,对于分支的管理,主要参考 git flow 的规范,使用 rb-xxx 分支来作为开发分支,合并到 master 分支后由 jenkins 自动的打 tag,然后触发构...

2019-08-08 18:21:48 484

原创 GraphQL使用心得

团队18年初开始调研并实践 GraphQL,但是我在忙于旧项目的开发,短期并没有参与到新项目中,因此实际开始接触 GraphQL,是在18年中旬。18年初的新项目由于工期比较紧张,虽然说尝试了下 GraphQL,但是其实并没有多少积累,前端只是简单地拼接查询字符串后发请求,后端也只是简单的解析了一下查询字符串,并没有将整个 GraphQL 生态中相关的工具给利用起来。18年中旬开始接手一个使用...

2019-06-28 15:56:20 2205 2

原创 2019年中技术梳理

算上实习,工作三年有余了,公司项目中采用的技术方案换了又换,算上平时自己学习的东西和做的小项目,接触过的各种技术比较杂乱。由于项目一般都工期紧张,总是忙于学习各种技术如何使用,如何更好地使用,但是在相关的理论知识、实现原理上,可能就是看看书,看看文档,明白个大概就不再深入的学习了。好好梳理一下三年间使用过的各种技术,同时也是对自己掌握的能力的一个汇总,然后沉下心来补一补基础的理论知识,及各种实...

2019-06-27 11:14:40 471

原创 react-native-debugger 修改监听端口

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~react-native-debugger 是在 react-native 开发时经常使用的一款调试工具。默认监听的端口是 8081,与 react-native 默认的端口一直,无需改动。但是当希望同时运行多个 react-native 项目并进行调试时,就需要监听不同的端口了。方法一、通过启动参数的方式修改端口想不...

2019-04-17 18:33:45 1384

原创 使用 Docker 部署 GitLab CI Runner

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~一、背景当项目比较少,或者更新不频繁的时候(或者技术比较菜的时候),手动部署部署还能够接受,但是一旦部署次数频繁了,手动操作就是一件痛苦万分的事情了。公司内部使用的是 jenkins ,从成熟稳定的角度来看,是非常符合要求的,但是针对个人项目,第一没有公司的项目那么复杂,第二在流程上也不需要考虑多人协作、测试等需求,这个时候...

2019-04-17 18:29:43 7145 2

原创 使用docker快速部署owncloud私有云存储服务

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~owncloud 是个好东西,不管是作为私有云来存储文件,或者是分享文件给其他人、多人协作、本地文件夹映射都是非常好用的功能,在各大网盘都是龟速上传和下载的情况下,自建一个私有云就成了想当不错的选择。得益于 docker 的存在,部署 owncloud 变得非常非常简单,不再需要折腾各种环境的坑,只需要注意一下安装的流程和简单...

2019-04-17 18:28:12 6458 2

原创 删除指定文件之外的文件的shell脚本

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~在上线部署的构建过程中,可能会有一些多余的文件,最终部署时,可能并不想所有文件都留着,这时候就需要在脚本中删除那些不需要的文件了。背景感觉目前上线脚本中处理这个的逻辑挺有意思的,记录下来以免遗忘。DND="DO_NOT_DELETE"mkdir ${DND}mv default.env ${DND}ls -1A |...

2019-04-17 18:26:43 1825

原创 linux小工具之-ccat

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~在使用 cat 命令时,一个问题是输出的字符都是没有高亮的,这样就给阅读带来了一定的困难,这时候使用 ccat 的好处就体现出来了。介绍ccat,顾名思义就是 colorizing cat,带颜色的 cat 命令,源码仓库:https://github.com/jingweno/ccat安装osxbrew inst...

2019-04-17 18:25:01 1265

空空如也

空空如也

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

TA关注的人

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