DevOpSec DevOpSec
2年前
解决研发痛点SnoarQube代码检查实战
1.代码质量检查,想知道团队成员代码质量情况,团队人多后每个人的代码风格和代码水平不一通过sonar检测能做到代码基准的一个把控。2.master代码质量是基准,可以理解master分支的sonar检测是通过的,分支代码质量检查和master代码进行比对,我们是master上线。3.sonar检测后把结果发送通知给对应的开发和其TL,开发能及时知道自己开发代码是否有问题
kenx kenx
3年前
SpringBoot 整合缓存Cacheable实战详细使用
前言我知道在接口api项目中,频繁的调用接口获取数据,查询数据库是非常耗费资源的,于是就有了缓存技术,可以把一些不常更新,或者经常使用的数据,缓存起来,然后下次再请求时候,就直接从缓存中获取,不需要再去查询数据,这样可以提供程序性能,增加用户体验,也节省服务资源浪费开销,在springboot帮你我们做好了整合,有对应的场景启动器start,我们之间引入使用
Wesley13 Wesley13
3年前
java 学习 语言特色。
1.总体来说java像一个不开窍的规则制定者。包名,类型,太实在了。文件名和类名必须对应,一个文件只能有一个PUBLIC的类。定义了包名,必须按这个路径去放置目标文件。相比c的虚拟命名空间。可能java最初就是设计出来让人用记事本来写代码的?而且还怕人找不到类放在哪个目录,哪个文件下。一个文件只能一个public
Stella981 Stella981
3年前
STM32 实现内部Flash的读写(HAL库版)
  Flash中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器。可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除。一个NandFlash由多个块(Block)组成,每个块里面又包含很多页(page)。每个页对应一个空闲区域/冗余区域(sparearea),这个区域不是用来存储数据的,用于放置数据的校验值检测和
Easter79 Easter79
3年前
Tengine成功打通RISC
RISCV产业生态已经进入快速发展期,随着大量的公司加入到RISCV研究和生产,基于RISCV架构的芯片也如雨后春笋般涌入市场。可以预见的是,RISCV的时代正在到来。在AI热潮的推动下,RISCV上面部署AI的需求也越发凸显。但是目前在RISCV基金会标准协议上还没有统一的AI标准,也没有对应的加速库和推理框架,面对此种越发强烈的需求和困境
Wesley13 Wesley13
3年前
5G 应用及应用场景总结
1.概述5G技术演进方式与前几代移动通信截然不同。首先,2G/3G/4G时代是技术领先应用,先有移动通信技术不断发展,待成熟之后再推广到不同应用,其应用主要侧重于“改变生活”。5G却恰恰相反,是应用牵引技术。先要确定应用的需求和场景,包括“生活”和“社会”两方面内容,然后再去探索发现相对应的具体技术,例如:5G新空口(NewRadio,
Stella981 Stella981
3年前
EasyDSS高性能RTMP、HLS(m3u8)、HTTP
需求背景:近期遇到客户反馈对于直播摄像机录像功能是有一定的需求点的,其实EasyDarwin团队早就研发出对应功能,只是用户对于产品没有足够了解,因此本篇将对录像功能来做一次介绍。首先,录像就是对于摄像机的视频信息进行存储,方便用户的后期回放查看。对于一般的摄像机直播是必要的,但是不可能时时刻刻都有人力或者其他方式来进行直播的试试检测观看,这
Wesley13 Wesley13
3年前
Java并发(五)任务间使用管道进行通信
通过I/O在线程间进行通信通常很有用。提供线程功能的类库以“管道”的形式对线程间的I/O提供了支持。它们在JavaI/O类库中的对应物就是PipedWriter(允许任务向管道写)和PipedReader(允许不同的任务从同一个管道中读取)。这个模型可以看做是“生产者消费者”问题的变体,这里的管道就是一个封装好的解决方案。管道基本上是一个阻塞队列,
Stella981 Stella981
3年前
Hbase基础篇
hbase存储:HBase存储数据其底层使用的是HDFS来作为存储介质,HBase的每一张表对应的HDFS目录上的一个文件夹,文件夹名以HBase表进行命名(如果没有使用命名空间,则默认在default目录下),在表文件夹下存放在若干个Region命名的文件夹,Region文件夹中的每个列簇也是用文件夹进行存储的,每个列簇中存储就是实际的数据,以HF
Stella981 Stella981
3年前
Python基础并发编程——操作系统
一、操作系统简介1、手工操作——穿孔卡片 1946年第一台计算机诞生20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算