项目管理
文章平均质量分 76
奔向理想的星辰大海
这个作者很懒,什么都没留下…
展开
-
jenkins 真得很牛逼!只是大部分人不会用而已
jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。原创 2024-05-07 09:28:33 · 886 阅读 · 0 评论 -
系统设计到撸代码的方法和工具
完成上面这些设计,基本就差不多了,顶多的话,可能就是具体的接口设计,包括接口的请求入参以及返回参数的设计,当然还有类型的设计。在下面详细和大家介绍。工作这么多年之后,老猫发现,写代码的时候其实是最安逸的时候,只要事先方案设计得好,流程绘制得精准,模型设计得合理。通过上面的的图,可以表示清楚系统和系统之间的层级关系,可以让评审人一目了然地知道,你当前所设计的系统在整个架构领域属于哪一块。在日常开发中,软件设计图是一种非常好的表达方式,尤其在技术评审的时候,一幅好的设计图可能比干巴巴的文字更能说明问题。原创 2024-04-20 16:15:13 · 724 阅读 · 0 评论 -
PromQL全方位解读:监控与性能分析的关键技术
Prometheus Query Language (PromQL) 是一个专为Prometheus监控系统设计的强大查询语言,它允许用户对收集的时间序列数据进行高效、灵活的查询和分析。PromQL的设计哲学在于提供简洁而强大的语法,以支持复杂的数据检索和实时监控场景。本章节旨在为读者提供PromQL的背景知识、设计原则以及它与Prometheus的关系。原创 2024-04-09 11:18:32 · 6 阅读 · 0 评论 -
支付系统优雅设计
上面单从支付的主逻辑去分析流程,实际上涉及到的业务远不止流程中提到的这些,以常见的电商场景为例,交易中还存在商品管理、库存管理、物流管理,支付对接还会涉及优惠规则嵌入等等;当然如果有明确的开发规范,在复杂版本中,所有开发必须输出业务的分解拆分思路,时序和结构设计,在统一评审之后再落地编码,这样即便是复杂的业务也会有极大的质量保证。错误发生之后,再想去修复流程,花费的时间成本又是高昂的,还牵扯错误数据的调平问题,最终很可能引发乱账算不清的结果,然后需要人工介入手动处理;原创 2024-04-08 15:48:45 · 476 阅读 · 0 评论 -
注解实现 WebSocket 集群方案
最后请允许我发表一点对于抽象的拙见抽象其实就和 “道生一,一生二,二生三,三生万物” 一样,根据你的顶级接口(也就是核心功能)不断的向外展开,你的顶级接口就是道(狭义的来讲)以这个库为例,ConnectionLoadBalanceConcept就是这个库的道,他的核心功能就是发送消息,至于怎么发,发给谁,不确定,像是一个混沌的状态。原创 2024-04-07 09:58:22 · 615 阅读 · 0 评论 -
用好这28个工具,开发效率爆涨
在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;通过下面的终端神器,就可以打造一个高颜值,高效率的终端。iTerm2负责颜值和基本的Shell呈现托管,Tmux负责Shell的多窗口管理,而Zsh负责对Shell功能的拓展提升。👍 推荐指数:⭐⭐⭐⭐⭐iTerm2 是一款功能强大的终端工具,也可以说是 Terminal 的替代品,也可以说是 iTerm 的后继产品。它适用于 macOS 10.12 或更高版本的 macOS。原创 2024-04-01 15:29:09 · 952 阅读 · 0 评论 -
5款超级好用的开发效率工具
这几款宝藏的开源免费效率工具,特别分享!让你事半功倍,赶快试试吧!原创 2024-04-01 15:23:38 · 9 阅读 · 0 评论 -
Commvault助力Allina Health实现灵活全面的数据保护
不仅是其快照管理技术,Commvault解决方案的整体运营也非常简易、高效,让Allina Health能够实现更好的数据保护性能,获得更好的数据保护体验,节省更多的成本。在Commvault的帮助下,Allina Health克服了数据规模大、数据环境复杂的困难,实现了对机构数据的全面保护。Allina Health选择Commvault灵活易用的解决方案和持续可靠的技术支持,实现对其庞杂数据的全面保护。这种解决方案不仅需要能够保护Allina Health现有的数据,还要能够实时管理快速增长的数据。原创 2024-04-01 13:25:35 · 80 阅读 · 0 评论 -
软件License授权原理
本文将介绍License的生成原理,理解了License的授权原理你不但可以防止别人破解你的License,你甚至可以研究别人的License找到它们的漏洞。可找回是指用户申请的License一旦丢失或者要续期,基于第一次申请License时创建的源文件,再一次生成新的License,新的License会携带用户当初申请时的信息。保密性是指License里携带的data信息具有一定的隐蔽性,这样可以防止想要破解License的人寻找到生成License的规律,进而伪造自己的License。原创 2024-03-24 17:27:29 · 27 阅读 · 0 评论 -
ECS Fargate 上部署 SkyWalking UI 并通过 ALB 提供服务
记录返回的 ALB ARN,例如:arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/skywalking-ui-alb/abcdef0123456789。记录返回的任务定义 ARN,例如:arn:aws:ecs:us-east-1:123456789012:task-definition/skywalking-ui-task:1。通过 http:// 访问 SkyWalking UI。原创 2024-03-24 17:21:05 · 12 阅读 · 0 评论 -
HarmonyOS应用开发-搭建开发环境
搭建 HarmonyOS 应用的开发环境,介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。原创 2024-03-23 20:20:48 · 6 阅读 · 0 评论 -
必须了解的十个免费 Devops 工具
DevOps 是一组实践和方法,将开发(创建软件的人员)和运维(部署和维护软件的人员)团队聚集在一起。这有什么意义吗?为什么 DevOps 这么重要?让我们以一种易于理解的方式去了解它。想象一下,你是一个拼图团队的一员。开发团队负责设计和制作拼图,而运维团队负责将拼图拼在一起并确保拼完后的正确的。在传统流程中,开发团队和运维团队各干各的,缺乏交流,这就导致交付延迟和最终产品不完全合适。而 DevOps 确保每个人从一开始就一起工作,分担责任并持续沟通,以更快更有效地方式解决问题。原创 2024-03-22 14:22:43 · 5 阅读 · 0 评论 -
十个优秀的开源免费数据库管理SQL客户端
是个现代化的SQL工具。Adminer是一个基于PHP的数据库管理工具,适用于MySQL、PostgreSQL、SQLite、MS SQL、SimpleDB、Elasticsearch和MongoDB等数据库。它集成了对MySQL、PostgreSQL、SQL Server、Redshift和SQLite等数据库的管理、查询和可视化工具。DBeaver是一个强大的跨平台SQL客户端,支持的数据库包括MySQL、Oracle、SQL Server和PostgreSQL等,是最好的开源SQL客户端之一。原创 2024-03-20 09:47:44 · 122 阅读 · 0 评论 -
七个优秀开源免费Web安全漏洞扫描工具
Web安全漏洞扫描技术是一种用于检测Web应用中潜在的漏洞或者安全风险的自动化测试技术。Web安全扫描工具可以模拟黑客行为,检测常见的漏洞,例如:Sql注入、XSS、文件上传、目录遍历等。Web漏洞扫描工具可以用于检测Web应用程序中可能存在的漏洞,例如:代码注入、代码泄漏、跨站脚本、跨站请求伪造、会话劫持、文件传输等。目前市面上有许多Web安全漏洞扫描软件,有商业的也有开源免费的,例如AppScan就是一个比较流行的商用Web安全扫描工具。原创 2024-03-17 10:23:00 · 706 阅读 · 0 评论 -
实施DevOps Pipeline最佳十大实践
设定明确的目标和目的是建立成功的 DevOps Pipeline的基础步骤。此初始阶段为整个流程提供方向和目的,使团队的努力与具体成果保持一致。提高部署频率减少平均恢复时间 (MTTR)提高代码质量简化开发和运维团队之间的协作这些目标作为指导原则,塑造 DevOps Pipeline 的策略和实施。定义明确的项目范围对于确保 DevOps 工作的可管理性和重点至关重要。应用程序大小:考虑您正在使用的应用程序的大小和复杂性。原创 2024-03-15 09:55:22 · 521 阅读 · 0 评论 -
API 集成安全的五种方法
例如,用户需要来自公司人力资源信息系统 (HRIS) 的员工的具体详细信息(名字、姓氏、经理和职位)。用户应该能够通过 API 请求获取此信息,同时无法检索他们不需要的高度机密信息(例如,员工的社会安全号码和银行信息)。并且可以防止数据抓取。如果访问令牌落入坏人之手,范围可以防止许多负面后果,因为获得访问令牌的个人只能访问一组有限的数据和功能。除了安全优势之外,速率限制还值得使用,原因有很多:它们有助于控制成本、确保可靠的性能、减少错误、使 API 提供商能够遵守特定的数据隐私法规等等。原创 2024-03-15 09:46:43 · 20 阅读 · 0 评论 -
幂等设计详解
此时,需要分情况,如果用到的数据库主键为数据库自增,不考虑业务主键防重的情况下,每一次写入数据库就不是幂等的,所以为了保证幂等,需要在数据insert前做业务防重或是在数据库表上对业务主键加唯一索引。如果数据库主键不是自增,是由业务系统写入的,需要在业务系统里把数据库主键和业务主键做一对一映射,或是由独立服务提供数据库主键和业务主键的映射关系,保证多次请求获取到的数据库主键和业务主键是一致的,确保写入数据库操作是幂等的。幂等这个概念,是一个数学上的概念,即:f……查询一次或多次结果是一致的,所以是幂等的。原创 2024-03-14 09:44:01 · 546 阅读 · 0 评论 -
SSO单点登录代码写出来,时序图也画出来了
有了会话机制,登录状态就好明白了,我们假设浏览器第一次请求服务器需要输入用户名与密码验证身份,服务器拿到用户名密码去数据库比对,正确的话说明当前持有这个会话的用户是合法用户,应该将这个会话标记为“已授权”或者“已登录”等等之类的状态,既然是会话的状态,自然要保存在会话对象中,tomcat在会话对象中设置登录状态如下。如果不存储,注销的时候就麻烦了,用户向sso认证中心提交注销请求,sso认证中心注销全局会话,但不知道哪些系统用此全局会话建立了自己的局部会话,也不知道要向哪些子系统发送注销请求注销局部会话。原创 2024-03-07 17:18:08 · 747 阅读 · 0 评论 -
掌握技术的十大物联网项目(附带源代码网址)
简而言之,物联网是将一个或多个设备连接到互联网。每个设备都可以相互连接和交互。您知道您已经在日常生活中使用物联网了吗?是的!所有的智能设备,比如智能手表、智能灯、智能家居等,都是物联网的很好的例子。该行业正在蓬勃发展,并将在未来几天进一步扩大。据统计,到2030年,活跃的物联网设备数量将超过 254亿。是的!需求呈指数级增长。在开始讨论物联网项目之前,让我先解释一下有关物联网世界的更多信息!物联网的重要元素物联网生态系统由多个互连的智能设备组成。它们具有传输和共享数据的潜力。原创 2024-03-04 13:19:35 · 686 阅读 · 0 评论 -
图解简化 Git 的学习过程
当你学习 Git 时,可能会被其庞大的命令集和各种概念所吓到。但实际上,Git 并不要求死记硬背每一个命令,更重要的是理解其工作流程和使用场景。这篇文章的目的就是帮助你简化 Git 的学习过程,让你发现 Git 其实并不需要刻意去背,只需要真正理解它,就能轻松掌握。现在,就让我们一起踏上探索 Git 世界的旅程吧!原创 2024-03-04 11:06:54 · 686 阅读 · 0 评论 -
程序员提高效率的 10 个方法
这是一个解决拖延的小技巧,作为一个程序员,经常会遇到各种各样的突发问题,对于一些问题,我们没办法很好的决策要不要立即完成, 2 分钟解决就是一个很好的辅助决策的办法。因为早晨是大脑的黄金时间,经过一晚上的睡眠,大脑经过整理、记录、休息,此时的状态是最饱满的,适合专注度高的工作,比如编程、学习外语等,如果把时间浪费在开会、刷手机等低专注度的事情上,那么就会白白浪费早上的价值。,它跟番茄钟一样,把时间可视化,但却是正向计时,不会打破我们的“心流”,当我们编程专注度下降的时候中去查看秒表,确定自己的休息时间。原创 2024-03-03 11:58:41 · 621 阅读 · 0 评论 -
Pingora正式开源:超强的Nginx替代品,每秒可处理4000万请求!
在安全方面,Pingora支持广泛使用的OpenSSL和BoringSSL库,确保服务符合FIPS标准,并采用了后量子加密技术,为用户提供坚实的安全保障。此外,与旧服务相比,Pingora每秒的新连接数减少了三分之二。为了增强系统的稳定性和可靠性,Pingora 选择了使用 Rust 语言,其内存安全语义确保了代码免受未定义行为的影响,从而增强了对服务正确运行的信心。Pingora架构的创新之处在于其跨线程共享连接的能力,这显著提高了连接的重用率,并大幅减少了在 TCP 和 TLS 握手上所花费的时间。原创 2024-03-03 11:54:34 · 978 阅读 · 0 评论 -
GenAI步步紧逼,数据治理如何进化?
“它提供了对数据含义、谱系和影响的理解,因此企业可以保持合规性,并确保人工智能模型由可靠的数据推动,以获得可靠的结果。EDB的de Vries建议,“企业应实施全球分布式数据库,通过在其区域内保持高度监管的数据来提升其数据治理实践,同时在全球范围内分发限制较少的数据,以提高向人工智能平台提供数据时的灵活性。组织模型通常定义促进战略的首席数据官、制定数据集政策的数据所有者和负责提高数据质量的数据管理员的角色。”随着人工智能的日益普及,数据已成为最重要的企业资产,数据治理应成为整个企业的优先事项,”她说。原创 2024-03-02 14:37:13 · 14 阅读 · 0 评论 -
软件工程基础知识 — 上篇
软考分析师原创 2024-02-20 15:01:16 · 360 阅读 · 0 评论 -
【营销】个人博客怎么推广商品
因为随着你博客级别的提高,特别是新浪博客16级以后,博客文章被收录的可能性大大增强,或者你的文章质量很好,这是博客网站推荐的。软文推广现在最流行的推广方式,推产品推网站推个人品牌基本上都离不开软文推广,刚刚建立好新浪博客的新浪博客新手可以写一篇“我为何要建立自己的独立新浪博客”或者“独立新浪博客的好”等文章去各大网站发表,当你的新浪博客做的有些成就的时候你可以写一篇比如“我是如何做好独立新浪博客的”或者“独立新浪博客的经营之道”等文章作为经验之谈发表在外面从而引来用户。这是许多网站推广人员常用的推广方法。原创 2024-02-05 14:04:14 · 977 阅读 · 0 评论 -
【架构】K8S MySQL Deploy的步骤
你可以使用工具如kubeadm、Minikube或K3s来搭建一个本地的单机集群,或者使用云提供商如AWS、GCP或Azure提供的Kubernetes服务来创建一个云上的集群。在Kubernetes中,你可以使用Deployment对象来定义一个应用的部署。在Kubernetes中,你可以使用Service对象来定义一个MySQL服务。在Kubernetes中,你可以使用ConfigMap对象来管理容器的配置信息。通过访问MySQL服务的IP地址和端口,你可以连接到MySQL数据库,并进行数据操作。原创 2024-02-02 16:47:09 · 313 阅读 · 0 评论 -
【架构】微服务和无服务器架构时代的持续测试
同时,API测试不仅是对端点的验证,也是对整个通信框架的验证,它属于微服务架构的基础层。因此,微服务的复杂性就需要我们采取更精细的测试策略,以实现其独立的功能、以及相互关联的特性。例如:如果您有一个负责用户身份验证的微服务,那么单元测试就会去检查身份验证逻辑是否能够正常工作,是否可以处理不同的输入,以及是否能够对有效与无效的身份验证尝试做出适当的响应。隔离测试往往通过在测试微服务时,模拟或删除其依赖关系,以确保微服务能够在隔离的状态下运行,从而避免了在实际环境中,造成隐藏的依赖关系问题。原创 2024-01-24 13:18:56 · 965 阅读 · 0 评论 -
【架构】软件架构设计的方法和工具
核心要点:利用架构视图(逻辑视图、进程视图、物理视图、开发视图和部署视图)来全面理解和表达软件架构。运用这些方法和工具,可以有效地指导软件架构的设计,确保构建出的系统既符合业务需求又具备良好的技术架构。- 应用:帮助不同干系人理解系统的不同方面,确保架构的各个层面都得到充分的考虑。- 应用:适用于复杂业务系统的建模,可以提高开发团队对业务的理解,并促进沟通。- 应用:加快设计过程,通过应用经过验证的模式来提高系统的可维护性和可靠性。- 描述:图形桌面应用程序,用于对业务、IT和软件系统进行建模。原创 2024-01-24 09:17:53 · 477 阅读 · 0 评论 -
【JavaScript】六个实用的 JS 小技巧
您还可以使用“或(|)”运算符从整数末尾删除任意数量的数字。这意味着您不必为了从整数中删除一位数字而编写一长串代码。原创 2024-01-20 15:41:25 · 24 阅读 · 0 评论 -
【Linux】Linux脚本 log函数使用技巧
一个关于记录shell脚本执行日志的日志脚本函数,在做shell脚本开发的过程中,常常要运行脚本来监测一些系统数据,但是我们又没有很多时间来一直盯着命令控制台看,所以看能不能把这些脚本运行的情况记录成一个日志并保存下来,方便我们有时间的时候查看。原创 2024-01-19 09:26:25 · 521 阅读 · 0 评论 -
【Linux】linux踢出远程登录用户命令
JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。PCPU:指WHAT域的任务执行后耗费的CPU时间。踢出用户:pkill -kill -t 用户tty。FROM:显示用户在何处登陆系统。TTY:用户登陆所用的终端。WHAT:表示当前执行的任务。三、验证操作是否成功。原创 2024-01-10 10:12:56 · 411 阅读 · 0 评论 -
【项目管理】git分支与主干合并操作
6 如果上一步被拒绝,是因为master有更新的代码入库了,为了防止master上出现分线,需要重新执行第5步。(master)git commit -m ‘合并备注’(branch)git commit -m ‘合并备注’5 提交测试通过后,合并到主分支,先执行一遍第3步 #4 review,修改代码。git分支与主干合并操作。将代码推送到远程仓库。将代码推送到远程仓库。3 合并最新主干代码。推送到远端,正常结束。原创 2024-01-09 17:13:57 · 521 阅读 · 0 评论 -
【Linux】修复 Linux 错误 - 地址已在使用中
在使用 Linux 操作系统时,可能会遇到“地址已在使用中”错误。本文介绍了如何诊断和修复这个错误。您可以通过终止占用端口的进程、更改要绑定的地址和端口,或者等待一段时间来解决这个问题。原创 2023-12-29 13:23:28 · 1134 阅读 · 0 评论 -
掌握这些百度SEO优化技巧
百度SEO优化是指通过一系列的技术手段,使网站在百度搜索结果中获得更好的展示效果,从而提高网站的曝光度和流量。常见的百度SEO优化手段包括优化网站结构、增加网站内容、关键词优化等。3.关键词优化:根据目标用户搜索习惯和关键词竞争情况,合理选择关键词并进行优化,提高网站在搜索结果中的排名。1.优化网站结构:将网站结构设计得更为简洁明了,提高用户体验和页面加载速度,同时便于搜索引擎爬行。2.增加网站内容:发布原创有价值的内容,不断更新网站,提高网站权重和用户粘性。原创 2023-12-26 19:03:11 · 506 阅读 · 0 评论 -
【MySQL】数据处理:从SQL批量删除报错到Python优雅解决
查阅资料后发现:在Mysql中,delete或者update的where条件中不能包含同一张表的子查询语句,而在where条件中再加一个中间表就能解决此问题。首先想到的是编写SQL语句来批量删除:删除身份证号为51****59且ID不为5的全部数据(保留ID为5的那一条数据)鉴于当时实际情况需要尽快删除脏数据,就没有在此做过多的考究,原因和解决详见第四小节:SQL运行问题排查。将SQL查询到的所有需要删除的数据ID保存到txt文件中。# 【连接数据库执行SQL】删除失败,SQL语句运行时报错了。原创 2023-12-24 14:27:14 · 868 阅读 · 0 评论 -
【程序员】程序员的护城河:技术、创新还是沟通?
只有具备良好的沟通协作能力,程序员才能更好地发挥自己的作用,实现团队的共同目标。程序员需要不断学习和掌握最新的技术,以便能够解决复杂的问题和应对不断变化的环境。只有做好这些方面的防范,程序员才能在职业发展中避免出现问题,确保自己的护城河稳固。因此,程序员应该具备强烈的学习意识和能力,及时跟进技术发展趋势,提升自己的技能水平。综上所述,我认为程序员的护城河是技术能力的深度、对创新的追求以及沟通协作等软实力。我希望我的观点能够引发大家的共鸣,也期待与大家共同探讨和分享在IT行业中的经验和见解。原创 2023-12-20 11:45:32 · 354 阅读 · 0 评论 -
【Python】Python三大包:NumPy、Pandas和Matplotlib
Python三大包是数据科学和数据分析中最常用的工具之一。NumPy提供了高性能的多维数组对象和操作工具,Pandas提供了高级数据结构以及数据处理和数据分析功能,而Matplotlib提供了丰富的数据可视化工具。这三个包的组合可以为Python提供天然的数据科学和分析能力。原创 2023-12-15 17:45:15 · 934 阅读 · 0 评论 -
【MySQL】MySQL查询锁表的SQL语句
在MySQL数据库中,锁定表数据是指在对该数据进行操作的时候将该数据进行加锁,以避免其他用户同时对该数据进行操作而导致数据的不一致。锁的类型有多种,例如共享锁和排它锁等,其具体的作用和使用场景也不尽相同。而对于常常需要写入数据的应用场景,则应该尽量避免使用共享锁,改用排它锁等其他类型的锁。在实际的应用中,不同类型的锁的行为可能会有所不同。从上述结果可以看到,user表中的索引已经被锁定,同时还有一个等待写锁的进程正在等待锁的释放。该SQL语句的作用是以排它锁的方式锁定id为1的记录。原创 2023-12-15 15:38:41 · 1064 阅读 · 0 评论 -
自己为什么选择计算机?
3. **薪资待遇优厚**:计算机专业的人才通常能够获得相对较高的薪资,尤其是在技术发达的一线城市,高级技术人才和专家的薪资更是可观。8. **全球化的职业机会**:计算机行业的全球性特点意味着在这个领域工作的机会遍布世界,可以有机会在不同的国家和文化环境中工作。6. **远程工作的可能性**:计算机行业提供了许多可以远程工作的职位,这对于追求工作与生活平衡的人来说是一个巨大的优势。4. **工作稳定性**:随着技术的不断进步,计算机行业的职位通常比较稳定,而且职业生涯的发展空间很大,晋升机会多。原创 2023-12-10 17:22:24 · 430 阅读 · 0 评论 -
【编程技术】低代码开发的入门到精通
低代码(Low-Code)是一种软件开发方法,它通过提供可视化的开发环境和工具,允许开发者通过拖放组件、配置设置和模型驱动的逻辑来创建应用程序,而不是传统的手动编写代码。低代码开发平台(LCDP)使得开发人员可以快速构建和部署应用程序,同时减少了对传统编程知识的需求。低代码平台通常提供了一系列预制的组件和模块,这些组件和模块可以被重用于不同的应用程序中,以加快开发过程。此外,低代码平台还可能支持有限度的自定义代码,以便开发人员可以针对特定的需求进行调整和扩展。原创 2023-12-08 11:58:16 · 1050 阅读 · 0 评论