Shi Hai's Blog

随遇而安

Python类和实例变量

代码 来自reddit的一段代码,链接: class Parent: x: int class Child(Parent): pass Parent.x = 1 print(Child.x) # = 1. ok so child inherits parent class variable Child.x = 2 print(Parent.x) ...

代码质量评价

什么是代码质量? 我们看代码的时候,经常会说这个代码看起来好或者不太好,实际这是一种笼统的说法,实际里面有很多维度信息要进行详细说明,列如:代码可读性、可靠性等。 当然,在不同的业务场景下代码质量的衡量标准是不一样的。如:在云场景下,用户最关注的是资源创建的速度和应用效率,那除了对软件系统的质量要求外, 那就需要特别关注可靠性和性能;但在医疗场景下,比如给患者进行化疗,医生最先关注的可能是给...

业界对CICD能力评级

程序员本应是信息时代流水线上的工人,但现在还是手工艺者,复杂系统甚至需要软件“艺术家”(架构师)。工业化消灭了手工业者,但信息化又催生了程序员一一这个世上仅存的最大的手工业群体。 在后工业化时代才诞生的这些手工业者,在夹缝中用工业时代之前的生产方式,建设着面向未来的信息高楼大厦。经常被取笑的程序员们, 跨了三个时代:在现代社会,用过去的生产方式和工具,打造未来世界。 From 《风向》豆瓣...

持续集成与持续交付

CI/CD关键点 错误的累计性 错误越多,删除每个错误就越困难。部分原因是我们遇到了交错的错误,其中故障表现实际是多个故障叠加的结果,这使得更难找到每个故障。 这也是心理上的影响,当错误很多时,人们就没有精力去寻找和消除错误。 快速反馈 频繁部署很有价值,因为它使我们的用户能够更快地获得新功能,更快地对这些功能提供反馈,并且在开发周期中通常会变得更加协作。 这有助于打破客户和开发之间的障碍,...

HW机考总结

基本介绍 华为软件研发工程师的面试流程主要有:机考->技术面->综合面->HR面->发Offer。 机考:在华为整个面试环节通过率应该是最低的,可能只有50%左右的通过率; 性格测试:不是太有“个性”同学一般都能过,最近压力大的同学建议调整放松两天后再考; 技术面:这个大概率是目标部门的技术专家做的面试,一般情况下主要围绕你的实习&实践经验做的考察,也会有个...

2024云栖大会笔记

云上DevOps自动化的最佳实践 云上成本管理治理流程 成本管理和组织、业务、流程等都有关系,如果有资源的浪费,就会有降配等动作。通过资源的成本分析、成本的异常分析,反向驱动成本降低。 把企业管理和云上管理联系在一起,通过不同维度的识别就可以看到企业的不同情况,通过各个业务单元自治方式实现全企业的管理。企业可能存在多账号,通过标签进行多账号间的管理从而实现不同的策略。 通过资源使用率来管理成...

谷歌工程生产力团队(EngProd)

一、背景 谷歌早期只有少数软件工程师负责开发、测试和发布软件。但随着用户规模的增长,工程师开始专注于特定角色,从而在开发过程中实现更大的规模: 测试工程师(TE: Test Engineer):测试新产品和系统集成; 发布工程师(RE: Release Engineer):将代码发布到生产; 站点可靠性工程师(SRE: Site Reliability Engineer):24小时*7天的...

A2研发团队使用AI情况调研分析

纯摘抄性质的搬砖。。 A1 设计 Claude3 Sonnet Claude3 Sonnet通过模型可以辅助研发人员达成分析阶段的需求分析、绘制各类UML图、领域模型设计,并生成相关代码。 注:Amazon投资了Anthropic公司。 生成式 AI 技术辅助软件系统设计开发 开发 Bedrock Claude CodeCoach 本项目是使用Amazon Bedrock和Anthropi...

Golang语言-变量隐藏(shadowing)

背景介绍 :=是一个简短变量声明,通过此符号我们可以定义一个变量并进行赋值。Golang语言的一个指导设计原则就是让语法更整洁。比如:我们在if、for等语句中定义本地变量。但使用此申明有一个风险,那就是作用域范围。如果使用不当可能会导致变量屏蔽(shadowing)。 检测手段 package main func main() { x := 1 println(x) ...

libvirt架构学习

目标和术语 目标 提供一个公共且稳定的软件层,足以安全地管理节点(node)(可能是远程节点)上的域(domain)。 术语 节点(node):是一台物理机器; 虚拟机管理程序(hypervisor):是一个软件层,允许将一个节点虚拟化为多个虚拟机,且虚拟机中的配置可能与所在节点不同; 域(domain):是虚拟机管理程序提供的虚拟机上运行的操作系统实例(或容器虚拟化情况下的子系统); ...