Git 协作规范
当多人协作开发一个项目时,使用 Git 进行版本控制是非常重要的。为了保证团队协作的顺利进行,需要遵循一些 Git 规范。下面是一些 Git 规范的建议,供你参考。
模型分支图依据 GitLab Flow 模型修改简化。若想深入了解相关模型,可点击链接阅读详情。
分支定义1.master 分支
长期存在于项目的开发分支,是所有分支的上游分支,禁止删除
遵循“上游优先”原则,只有上游分支采纳的代码变化,才能应用到其他分支
禁止在此分支中进行 push 推送,只能进行 Meger Request 合并
由项目负责人对此分支进行管理
代码部署上线后应当进行 Tag 版本标记,遵循语义化版本号规则
2.Pre-Production 分支
此分支为预发分支,禁止删除
开发分支测试通过的代码,经过 MR 合并到上游 Master 分支后,可将代码从上游分支部署至此分支
此分支代码对应的是应用的 release 状态,即所有经过测试的可发布的新功能代码都将从上沉淀到此
此分支所操作的数据库应当是与线上环境为同一套数据库
禁止在此分支中进行 push 推送,只能从上游分支(Master)进行 Me ...
mysql 设计中究竟要不要使用外键约束
外键约束是指在一个表中定义的一个列或多个列,这些列的值必须是另一个表的主键或唯一键,从而实现表之间的关联。在 MySQL 中,外键约束可以用来保持数据的一致性和完整性,避免数据冗余和错误,提高数据的可靠性和安全性。
但在 MySQL 设计中是否要使用外键约束是一个有争议的话题,不同的人和团队可能会有不同的看法。这里给出一些关于使用外键约束的优缺点和适用场景,以供参考:
优点:数据完整性保障:外键约束可以保证在关联表中的数据一致性和完整性,防止了不合法的数据操作。方便管理:外键约束可以方便地进行数据库管理,能够减少因为数据不一致而产生的问题,提高数据管理的效率和质量。提高性能:外键约束可以避免数据冗余和冗余索引,减少数据库的存储空间,提高数据库的查询性能。
缺点:可能会影响性能:外键约束需要数据库额外的计算和检查,可能会影响数据库的性能,特别是在大型数据库中。可能会增加复杂性:外键约束的设计需要考虑多个表之间的关系,可能会增加数据库设计的复杂性,需要更多的时间和精力。
适用场景:在 MySQL 设计中是否使用外键约束,这个问题并不是一个简单的问题,而是需要根据具体情况进行综合考虑的。一般 ...
RabbitMQ 消息确认机制以确保消息的可靠性
RabbitMQ 是一款流行的消息队列软件,它能够帮助开发者在分布式系统中进行消息传递。但是,在 RabbitMQ 的使用过程中,有时候会出现消息丢失的问题。这篇文章将介绍 RabbitMQ 是如何处理消息丢失的,以及如何通过配置来预防消息丢失的问题。
RabbitMQ 的消息确认机制在 RabbitMQ 中,消息确认机制是防止消息丢失的关键。当生产者将消息发送到 RabbitMQ 服务器时,服务器会向生产者发送确认消息,表示已经收到了消息。如果生产者收到了确认消息,则表示消息已经被成功发送到 RabbitMQ 服务器。如果服务器在一段时间内没有收到确认消息,则会认为消息发送失败,并将消息重新发送给 RabbitMQ 服务器。这个过程会一直持续,直到消息被成功发送为止。在消息被成功发送到 RabbitMQ 服务器后,消费者会从队列中获取消息并进行处理。如果消息处理成功,则消费者会向 RabbitMQ 服务器发送确认消息。服务器在接收到确认消息后,将会将消息从队列中删除。如果消费者在一段时间内没有发送确认消息,则 RabbitMQ 服务器会认为消息处理失败,并将消息重新发送给队列。通过这 ...
完美解决!使用Github创造一个带有CDN加速的完美图床,并配合工具实现图片水印和压缩
前言对于纯静态化部署的博客站点来说,一般写作时使用 markdown 来编写文章,当面面临需要使用图片的时候就会比较难办,一般有两种方式来解决此问题。
方案一:最简单的方法就是将图片等媒体资源与站点文件耦合到一起,此方案虽然简单,但是使用起来比较麻烦引用图片的时候需要解决复杂的路径问题,而当博客部署的时候图片资源也会挤占我们有限的静态部署空间和网络带宽,体验不是太好。
方案二:另一种方案则是实用图床将需要使用到的图片上传到一个统一的地方进行管理,在博客中直接插入图片在图床中的 URL 链接即可,此方案优点就是方便快捷并且节省静态服务的空间和网络资源,但是此方案的问题就是我们需要找到一个地方来托管我们的图片,对于纯静态无服务端的博客来说再弄个服务器来部署图片资源显然不太可能,那么图床的使用场景就应运而生,但是目前好用的图床并不多想找到一个靠谱的图床不容易,试想下突然有一天你所用的图床突然停止服务了,那么你所有的图片就都没了,这种代价应该是谁都无法接受。
因此我此前在寻找图床过程中只有两个标准,1稳定可控、2访问速度,所以收费还是付费的我都测试过不少,但最终好多图床在第一条上都无法通过,因 ...
面向开发者的 Kubernetes 入门系列 - 基础篇
前言本文针对于开发者或者是想去了解入门 Kubernetes 的读者,以快速上手为目标,将 Kubernetes 的核心的一些概念尽量简短快速的做一个介绍,因为 Kubernetes 的内容非常的庞大且繁琐(对的就是繁琐并不是复杂,因为它的概念太多了对新手来说不知道从哪里入手),所以这也是我写这篇文章的原因,其实 Kubernetes 学习起来并不复杂,只要先了解了最基础的一些核心概念,然后直接上手实践就是最好的学习路径,因此才有了这个入门系列的文章,最终目标是可以让想要入门学习 Kubernetes 的开发者、运维人员等 IT 从业者用最短的时间将 Kubernetes 这个好玩的玩具玩起来。要学习它还是有些前提基础要掌握的不过比较简单,需要读者们掌握 Linux、Docker 即可。当然学习它之前还是需要将一些概念掌握清楚才可以,这也是必不可少的,当然也是比较枯燥的,而且也是困住新手的第一大关,过不了这一关就没办法上手去玩它就永远没办法学会它。不过放心我并不是想做一个大头书文档,而是用一些通俗易懂的解释将一些比较关键的概念解释清楚,目的就是玩它!此外还要声明一下如果有了基础的同学, ...
hexo高级部署教程,利用github+netlify部署
背景我是一个爱钻研的小小程序员,之前一直都是看别人的文章,别人的博客,慢慢的随着自己的知识的积累,我也想弄个自己的博客,来写写自己的学习经验,分享下自己的技术等等因素吧,于是我最近一段时间就一直在琢磨这个事,这期间我看过很多的博客平台有CSDN、博客园、简书等等一系列博客平台,不得不承认这些平台很优秀,但是我最终放弃了他们选择了自己来搭个人博客,主要原因我觉得在这上面写东西一个是没有归属感,再一个觉得不够酷(zhuang)炫(bi):smirk:于是我就开始自己琢磨怎么搭建自己的个人博客,起初最先想到的方案就是买个服务器弄个博客程序自己搭建一下,但是还是觉得繁杂,而且费用高昂,花钱花精力维护着这么一个没人访问的破站,瞬间会让自己没有坚持下去的动力,这样也违背了我的初衷。后来随着慢慢的深扒,我发现了hexo这种堪称神器的东西,瞬间满足了我的各种需求。
简单纯前端框架,轻量级,简单易用,跨平台
酷炫markdown文章编写,CLI一键式部署,各种主题随便切换
省省省!重要的事情说三遍,无需花钱买服务器,只需一个域名钱,是的你没看错如果你不用自己的域名那一分钱也不用花
所以我后来就采用了 ...
Hello World
博客搭建完成了,作为一个码农开篇第一帖当然是 Hello World!
此博客主要是用来记录一些日常,分享一些技术干货,有兴趣的小伙伴可以点下收藏,有友链的可以互相交换一下哦。另外我博客搭建的有评论板块,只需要填写用户名和邮箱即可在文章下方评论留言方便大家交流。
由于之前工作生活事情较多,计划中一直想把自己的博客更新起来,却一直因为各种事情被耽搁了,所以我决定把自己的博客重新搭建一下。
2022一起加油吧!
好了由于是开篇第一帖,这篇帖子就先写到这把,后面我会整理更多的内容发送出来,当然也会写一些随笔记录,日常之类的内容不嫌弃的话就看看吧。