GitLab/ArgoCD/Jenkins CI/CD方案梳理和对比
CI/CD的概述良好的CI/CD应该拥有哪些功能自动化构建 自动化构建触发:每次代码提交、合并请求、或其他触发事件时,自动启动构建过程。 依赖管理:自动处理项目依赖,确保构建环境的一致性。 可复用的构建脚本:使用脚本或配置文件(如Makefile、Gradle、Maven等)来定义构建过程,确保构建步骤的一致性和可复用性。 版本控制:构建过程中自动生成版本号或构建标签,以便于版本管理和追踪。 自动化测试自动化测试是CI/CD系统确保代码质量的重要功能,通过自动化测试,开发团队可以快速发现和修复问题。 单元测试:每次构建后自动运行单元测试,确保代码功能的正确性。 集成测试:在代码合并到主分支前运行集成测试,验证不同模块的协同工作。 端到端测试:模拟用户行为,验证应用的整体功能和性能。 代码覆盖率:生成代..
更多多人游戏网络技术基础
前言很久不更新Blog了,是自己懈怠了很多,所以在思考了一下之后明白,我需要继续加强学习 加入ubisoft之后其实也没做什么值得称道的事儿 只是一个基础的开发人员,不过工作当中有一些可以被记录和梳理的地方 我也会更新到Blog当中 我会把学习捡起来的,我会的。 开发多人游戏需要了解的概念首先,开发多人游戏会涉及到非常多的网络概念和机制,所以这里会梳理所有相关的网络机制 梳理这些的原因,是将知识进一步拆分,免得掉入庞大的知识深渊,也可以帮助我们去定点学习 在梳理完这些知识之后,我会根据每个技术单独写Blog(虽然已经开了很多坑了) Server 和 Client这个其实比较简单,因为无论是游戏,还是普通的web开发,或者是基础的网络操作,都离不开server和client Server游戏的服务器,存储所..
更多Golang协程通信探究
前言这几天攻关了一下协程通信,也顺利完成了 我觉得每次学习都是一个新的经验 狗公司今年没有年终 我肯定是要走的,没必要继续停留 Golang协程基础 (已经完成!) Golang协程调度 (已经完成!) Golang协程通信 (已经完成) Golang协程控制 Golang垃圾回收机制 CSP思想要了解协程通信,首先就要了解CSP思想 CSP全称是 Communicating Sequential Processes,意思是通信顺序过程 这个的核心就是并发过程中进行交互,需要通过通道传递信息 在CSP的设计思想当中,通过指定的通道发送信息或者接收信息完成通信 CSP思想是Go并发的设计思想,所以Go语言里面定义了通道这种重要机制,这也是我们必须..
更多ElasticSearch重大漏洞-log4j的处理方案-12月20日更新!!!!!
前言最近暴露出一个炸弹级别的漏洞 log4j Log4j的GitHub公开披露了一个影响 Apache Log4j 2 实用程序多个版本的高严重性漏洞 (CVE-2021-44228)。 该漏洞影响了 Apache Log4j 2 的 2.0 到 2.14.1 版本。 2.0 <= Apache log4j2 <= 2.14.1 具体详情可以参看 https://logging.apache.org/log4j/2.x/ 首先,受到影响的Es家族系列有 Elasticsearch Logstash Elastic Cloud APM Java Agent Elastic Cloud Enterprise Elastic Cl..
更多Golang协程调度探究
前言这几天攻关了一下go协程的调度,然后写了这篇文章 这篇文章的工作量真挺大的,我看的也很累,找资料也很累 这篇文章,需要感谢《Go语言底层原理剖析》这本书的作者,这本书给了我很大启发 并且这本书写的非常好,这本书类似我这篇文章的大纲,对我非常有帮助! 希望大家支持这本书的作者! 我的Go系列已经完成如下部分 分别为 Golang协程基础 (已经完成!) Golang协程调度 (已经完成!) Golang协程控制 Golang协程通信 Golang垃圾回收机制 所以我会持续更新,大家请期待吧,爱你们! 1234567总是笃定成功必有收获每次都是竹篮打水得过且过总在幻想能写出什么旷世杰作咽下苦果,传道而授业解惑 协程的几种状态Gidle表示协程..
更多Golang协程基础探究
前言最近我把Go重新过了一遍,特别是Go的协程这一块,我感觉任何事都是从简单到复杂 包括现在,所以我重新开始学习基础,后序我会出一个系列 分别为 Golang协程基础 (已经完成!) Golang协程调度 Golang协程控制 Golang协程通信 Golang垃圾回收机制 所以我会持续更新,大家请期待吧,爱你们! Go里的协程是什么写Go这么长时间了,在开发项目当中,感觉Golang的好处还是很多的 Golang为什么被推崇,核心就是在并发和协程方面有很大的优势 协程这个概念其实不陌生,我在大学看Python的时候就看过这方面的资料 就是轻量级的线程 但是Go的协程其实和Python又不太一样了,这里我还是认真讲一下协程是个什么玩意儿吧 进..
更多设计高可用的ElasicSearch索引
前言最近又是学习的爆发期,我戒除了上班划水和看知乎故事会,也戒除了游戏和小说 也戒除了频繁参加外面的无用活动,也逐渐修复了寂寞侵蚀内心的恐惧 将心思逐渐稳定下来,所以,我本月开始到年底,将会爆发式更新blog和歌曲 请大家和我一起学习吧!对了,如果有机会,请不要忘记帮我看看是否有合适的工作 我最近在换工作,走过路过,也别忘记我找份工作。 开始! 123456789101112131415从不去关心他人的定位对我喜欢讨厌或者是敬畏始终在不停的韬光养晦为我喜欢的事鞠躬尽瘁妈妈问我每天是否疲惫生活似好似坏前路隐晦希望的濒危物种不令人敬佩只想和路过的你说声幸会 当我们在说Es索引设计时,我们在说什么?在我的开发生涯中,我使用过Mysql,Etcd,Mo..
更多写一个高可用Rpc服务(基础知识篇)
前言最近实在是太忙啦,每天都加班,这是开博这么久首次,一个月都没UPDATE,my bad,这个月保证日更三篇,补上补上。 久违的freestyle时间,(虽然我现在玩爵士了) 123456789101112131415每天reload存档似乎总会是一样加班就像是吃饭一样平常内心是否总想这样看不见未来的远方迷雾它层层阻挡思绪飞扬总在寂寞的晚上让我来静静的品尝 为什么要写这篇文章首先是因为我自己,最近非常的忙,但是我又在想,我他喵的忙了个什么 汇报一下最近(这一个月)的战果 从无到有编写完成了一个RPC服务,并且开源给全公司的项目使用 完成了一个CEPH多站点数据同步的开发(我在想这玩意到底有什么用) 完成了一个ElasticSearch项目的开..
更多ElasticSearch-新老选主算法对比
前言首先,ElasticSearch 7,也就是Es 7, 变动还是有点儿大,改了很多东西,例如取消了type,修改了选主算法之类的操作 正好几天在钻研一些选主算法一类的东西,看了ETCD,rabbitmq,kafka之类的一些选主算法,想起来似乎对于Es,我还没有细致研究 于是产生了写这篇文章的动力,这篇文章,也是一篇新老选主算法的对比文章 大概会描述一下Es的两种选主算法,然后分析一下新老算法的差异 好了,我们开始把。 老样子,一段freestyle 12345678910111213141516黑暗笼罩着我的眼看不清到底是黎明还是黑夜时间依旧不会停歇滴答滴答本质是仅仅如此还是始终如一?我问自己到底想要何物夸父逐日终于大泽之尾停下来的风景似乎更..
更多ElasticSearch检索的核心-倒排索引解读
前言ElasticSearch为什么适合做检索服务器? 因为快啊,大佬! 为什么快啊? 因为倒排索引啊! 什么是倒排索引? 这个,就要细细分析一下了,这篇文章可能写的不是那么全,但是我也会尽量总结所有重点!希望能帮到大家,爱你们! 索引是什么?首先,从基础玩起来,倒排索引,分为倒排+索引 索引这个词汇,在数据库的出镜率非常高,我基础比较差,所以,我在这里会从头进行学习解读,希望大家理解,如果对索引非常了解的兄弟,请直接跳过这一段 首先,什么是索引。 索引是一种特殊的数据库数据结构 首先,一般我们认为的查找,就是从头检索到尾,也就是从开头遍历到结尾,这样的时间复杂度是O(n) 索引,就是将数据库表中的某一列或几列以特定的数据结构存起来,比如B-Tre..
更多