code review 流程规范
前言没有无缘无故的爱,也没有无缘无故的恨,当然也没有无缘无故的 code review
角色职能
author 即需求开发者。要求:
注重注释。对复杂业务写明相应注释,commit 写明具体提交背景,便于 reviewer 理解。
端正心态接受他人 review。对 reviewer 给出的 comment,不要有抵触的情绪,对你觉得不合理的建议,可以委婉地进行拒绝,或者详细说明自己的看法以及原因。reviewer 持有的观点并不一定是合理的,所以 review 也是一个相互学习的过程。
完成 comment 修改后及时反馈。commit 提交信息备注如”reivew: xxxx”,保证复检效率。
reviewer 作为 cr 参与者,建议由项目责任人和项目参与者组成。要求:
说明 comment 等级。reviewer 对相应代码段提出评价时,需要指明对应等级,如
fix: xxxxxxx 此处需强制修改,提供修改建议
advise: xxxxxxx 此处主观上建议修改,不强制,可提供修改建议
question: xxxxxx 此处存在疑虑,需要 author 作出解释
...
Redis都有哪些监控指标?
监控指标•性能指标:Performance•内存指标: Memory•基本活动指标:Basic activity•持久性指标: Persistence•错误指标:Error
性能指标:Performance
Name
Description
latency
Redis响应一个请求的时间
instantaneous_ops_per_sec
平均每秒处理请求总数
hi rate(calculated)
缓存命中率(计算出来的
内存指标: Memory
Name
Description
used_memory
已使用内存
mem_fragmentation_ratio
内存碎片率
evicted_keys
由于最大内存限制被移除的key的数量
blocked_clients
由于BLPOP,BRPOP,or BRPOPLPUSH而备阻塞的客户端
基本活动指标:Basic activity
Name
Description
connected_clients
客户端连接数
conected_laves
slave数量
maste ...
Vue3响应式原理
关于Vue3话说,Vue3已经进行到rc4版本了,4月份beta发布的时候前端圈红红火火
不会吧不会吧,不会你还没开始学吧🐒
Vue2 响应式原理回顾
对象响应化:遍历每个key,通过 Object.defineProperty API定义getter,setter
123456789101112131415161718192021222324252627282930313233// 伪代码function observe(){ if(typeof obj !='object' || obj == null){ return } if(Array.isArray(obj)){ Object.setPrototypeOf(obj,arrayProto) }else{ const keys = Object.keys() for(let i=0;i<keys.length;i++){ const key = keys[i] defineReactive(o ...
C#常用字符串操作
字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 C# 中关于字符串的一些常用的知识点。
逐字字符串在普通字符串中,反斜杠字符是转义字符。而在逐字字符串(Verbatim Strings)中,字符将被编程器按照原义进行解释。使用逐字字符串只需在字符串前面加上 @ 符号。
123456789101112// 逐字字符串:转义符 var filename = @"c:\\temp\\newfile.txt"; Console.WriteLine(filenaame); // 逐字字符串:多行文本 var multiLine = @"This is a multiline paragraph."; Console.WriteLine(multiLine); // 非逐字字符串 var escapedFilename = "c:\\temp\\newfile.txt"; Console.WriteLine(escapedFilename);
输出:
12345c:\\temp\\newfile ...
ABPvNext 使用笔记
Domain引入Volo.Abp.Ddd.Domain
创建模块:DomainModule[DependsOn(typeof(AbpDddDomainModule))]
创建领域模型,聚合根需要继承AggregateRoot(BasicAggregateRoot),非聚合根直接继承Entity
Application.Contracts引入Volo.Abp.Ddd.Application.Contracts
创建模块:ApplicationContractModule创建对应Dto模型创建IService,继承IApplicationService,定义提供的方法
Application依赖Volo.Abp.Ddd.Application依赖Application.Contracts依赖Domain依赖Volo.Abp.AutoMapper
创建Service,继承ApplicationService,继承并实现IService
创建模块:ApplicationModule[DependsOn]DomainModule[DependsOn]ApplicationContractModu ...
Blazor是否值得花时间学习
Blazor 是微软 .NET 团队开发的一个新的 UI 框架,目前生态发展的还不错。仅国内就出现了不少成熟的 UI 框架,比如基于 Ant Design 的企业级组件库 ant-design-blazor[1]、基于 ElementUI 的 element-blazor[2] 和基于 Bootstrap 的 BootstrapBlazor[3] 等,这些开源项目的发起人都是国内开发者。另外,你可以在 GitHub 的 awesome-blazor[4] 项目查看更丰富的 Blazor 资源。
要更好地了解 Blazor,必定要先知道 WebAssembly 是什么。
WebAssembly 与 .NET 无关,WebAssembly 已经慢慢开始普及被采用。简单来说,WebAssembly 是一种新的、类似汇编的网络语言。它可以在浏览器中运行,并且支持所有现代浏览器。由于经过高度优化,所以运行速度快,接近本地应用。
重要的是,WebAssembly 不是一种绝大多数开发者都会写的语言,而是用来作为编译目标的。你可以将代码针对特定的处理器或操作系统编译成 WebAssembly,然后让 ...
dotnet源管理
源管理查看列出当前目录中的已配置源
1234567dotnet nuget list sourceRegistered Sources: 1. nuget.org [Disabled] https://api.nuget.org/v3/index.json 2. nuget.cnblogs [Enabled] https://nuget.cnblogs.com/v3/index.json
添加新源地址1dotnet nuget add source [地址] -n [名称]
删除指定源地址1dotnet nuget remove source [名称]
禁用指定源地址1dotnet nuget disable source [名称]
启用指定源地址1dotnet nuget enable source [名称]
Ventoy(一款创建可启动USB驱动器的开源工具)
Ventoy是一个强大的免费开放源代码工具,用于为ISO / IMG / EFI和WIM文件创建可启动的USB驱动器。与当今市场上99%的闪存工具不同,Ventoy可以直接运行或重新安装即可启动文件。
这意味着你无需格式化优盘,用户只需要将所需的ISO镜像文件拷贝至优盘中即可在Ventoy界面中选择自己想要的ISO镜像文件。
Ventoy支持传统BIOS和UEFI,并结合了对GPT和MBR分区样式的支持。此外,它还能够支持任何ISO文件,它还支持大多数操作系统,包括Windows、Linux、Vmware、Unix、Xen和WinPE。
你需要注意的是,Ventoy会在第一次安装时对你的驱动器进行格式化,但之后你可以继续像往常一样使用你的闪存。除非你选择用NTFS/FAT32/UDF/XFS/Ext2等手动方式重新格式化它。
目前,目前已经测试了各类超过550+ 个ISO文件(列表)。支持 distrowatch.com 网站上收录的 90%+ 的操作系统(列表)。
Ventoy具有以下特性:
免费和开源软件
两种ISO文件 ...
34 个 JavaScript 优化技巧
原文地址:34 JavaScript Optimization Techniques to Know in 2021原文作者:atit53
可能你已经进行了多年的 JavaScript 开发工作,但有时候你还是会对一些最新的技术不那么了解,而这些新技术可能有助于某些问题的解决而不需要你去编写更多的代码。有时候,这些新技术也能帮助你进行代码优化。此外,如果你今年需要为 JavaScript 面试作准备,本文也是一份实用的参考资料。
在这里,我会介绍一些新的语法糖,它可以优化你的 JavaScript 代码,使代码更简洁。下面是一份 JavaScript 语法糖列表,你需要了解一下。
1. 含有多个条件的 if 语句我们可以在数组中存储多个值,并且可以使用数组的 includes 方法。
12345678//longhandif (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') { //logic}//shorthand ...
真香!微软出Go语言教程了
课程地址:https://docs.microsoft.com/zh-cn/learn/paths/go-first-steps/
最近,有一项关于Go开发者的调查报告发布,这份报告的主要亮点有以下几点:
总体满意度很高,有 92% 的受访者对使用 Go感到满意
Go的使用在工作场所和企业中正在不断扩大,有76%的受访者在工作中使用 Go
Go继续被大量用于API、CLI、Web、DevOps和数据处理
简而言之,就是一句话,Go编程语言越来越受欢迎了,如果你最近也正想学习这门语言,那真是来对地方了,最新上传了一个Go教程,最关键的是还有中文版。
通过这份教程,你可以 了解使用 Go 编译简单程序所需的基本语法和思维过程。
在此学习路径下,你将:
安装编写第一行 Go 代码所需的工具。
了解如何在 Go 中使用控制流。
了解 Go 的数据类型。
了解如何处理错误。
使用方法和接口
了解 Go 中并发的工作原理。
编写并测试程序
不过学习这门教程之前,先确保自己至少熟悉一门编程语言,以及一些常规的编程基础知识。
课程地址:https://docs.microsoft.com/zh ...