Android如何使用注解进行代码检查

原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流! Android Studio 内置了代码检查工具 Lint,可在菜单栏选择 Analyze > Inspect Code 执行相应的代码检查,代码检查能够根据推断一些不合法的潜在问题,有助于在开发阶段发现开发者因为主管原因导致的一 ...

简单版 Promise/A+,通过官方872个测试用例

promise 标准 在实现 Promise 之前要清楚的是 JavaScript 中的 Promise 遵循了 Promises/A+ 规范,所以我们在编写 Promise 时也应当遵循这个规范,建议认真、仔细读几遍这个规范。最好是理解事件循环,这样对于理解js中的异步是怎么回事非常重要。 htt ...

pytest封神之路第五步 参数化进阶

用过unittest的朋友,肯定知道可以借助DDT实现参数化。用过JMeter的朋友,肯定知道JMeter自带了4种参数化方式(见参考资料)。pytest同样支持参数化,而且很简单很实用。 语法 在《pytest封神之路第三步 精通fixture》和《pytest封神之路第四步 内置和自定义mark ...

什么是裸金属

什么是裸金属 裸金属,是英文 Bare Metal 的直译,其实也是可以叫 Bare Machine 的,可能大家觉得 Metal 听起来更酷一点,所以都爱这么叫。 如果说裸金属听起来有点懵逼,那么说裸机大家都很好理解了,就是指没有操作系统的计算机硬件。 大家伙平时在说起服务器(Server)的时候 ...

为什么我们需要从全拼到双拼

什么是双拼, 什么是全拼 汉字拼音大多是声母加韵母的形式构成, 少部分是纯韵母, 全拼方案是键入拼音的每一个字母, 就像英文一样, 无视声母和韵母的存在 双拼方案则是单声母键位保持不变, 双声母zh,sh等和韵母安排到特定的键位上. 对于部分纯韵母的拼音, 不同的双拼方案采取的措施也不尽相同, 以我 ...

Kubernetes K8S之Ingress详解与示例

K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname)系统版本配置内网IP外网IP(模拟) k8s-master CentOS7.7 2C/4G/20G 172.16.1.110 10.0.0.110 k8s-node01 CentOS7.7 2 ...

从根源上探究红黑树的本质

前言 本文主要讲解下最近一直听到的红黑树,看看究竟是什么神仙鬼怪。 二叉树 满足以下两个条件的树就是二叉树: 本身是有序树(若将树中每个结点的各子树看成是从左到右有次序的(即不能互换),则称该树为有序树(Ordered Tree)); 树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2; ...

常见消息中间件之RocketMQ

前言 RocketMQ是一款分布式、队列模型的消息中间件,由阿里巴巴自主研发的一款适用于高并发、高可靠性、海量数据场景的消息中间件。早期开源2.X版本名为MetaQ;2015年迭代3.X版本,更名为RocketMQ,2016年贡献给Apache,经过一年多的孵化,最终成为Apache的顶级开源项目之 ...

原来 8 张图,就可以搞懂「零拷贝」了

前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。 这次,我们就以「文件传输」作为切入点, ...

记一次语音转文字程序的开发-当一次野生字幕君

下一秒我就是野生字幕君 最近剧荒,偶然翻出了曾经下载的电视剧回味一番,经典就是经典,不论是剧情还是台词,都那么有魅力,咦?等等,台词,台词……作为一个IT从业者,我忽然灵光一现——现在语音识别技术这么发达,能否有什么办法能帮我保存下一些精彩桥段的台词呢?或许我也可以是个野生字幕君:p ,似乎也可以在 ...

《Java从入门到失业》第四章:类和对象(4.5):包

4.5包 前面我们已经听过包(package)这个概念了,比如String类在java.lang包下,Arrays类在java.util包下。那么为什么要引入包的概念呢?我们思考一个问题:java类库提供了上千个类,我们很难完全记住他们,如果我们编写了一个类,类名和类库中的某个类名字重复了怎么办? ...

一分钟带你认识深度学习中的知识蒸馏

摘要:知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法 一、知识蒸馏入门 1.1 概念介绍 知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的 ...

.netcore+vue 实现压缩文件下载

一.前言 目前接触的项目中,给定的需求是将系统内所有用户的数据整理好,并保存到文件夹内,目的主要是防止用户在实施人员已配置好的基础上由于不熟悉系统,导致的误删或者误操作。减少实施人员的配置工作。我首先想到的就是将数据导入到Excel中,并以各个用户的名称命名文件夹做好分类。 vue下实现Excel导 ...

SpringValid优雅校验入参

一、简介 后台业务入口类Controller,对于入参的合法性校验,可以简单粗暴的写出一堆的 if 判断,如下: @RestController @RequestMapping("user") public class UserController { @PostMapping("saveUser" ...

Keepalived服务详解

1. VRRP协议 1.1 VRRP协议概述 VRRP协议的出现是为了解决静态路由的单点故障,它是通过一种竞选机制来将路由任务交给某个vrrp路由器的 在VRRP物理结构中,有多个物理的VRRP路由器,其中有一台称为“master”(主节点路由器),其他的都是“backup”(备节点路由器) mas ...

Laravel Exception结合自定义Log服务的使用

Laravel Exception结合自定义Log服务的使用 第一部分:laravel关于错误和异常的部分源码 第二部分:自定义异常的使用(结合serviceprovider monolog elasticsearch) 过程中涉及到的重要函数请自行查看手册 error_reporting set_ ...

深入研究RocketMQ生产者发送消息的底层原理

前言 hello,小伙伴们,王子又来和大家研究RocketMQ的原理了,之前的文章RocketMQ生产部署架构如何设计中,我们已经简单的聊过了生产者是如何发送消息给Broker的。 我们简单回顾一下这个过程。 生产者首先声明一个Topic,然后为了把消息存到对应的Topic中,先从NameServe ...

123···200>