冴羽 冴羽
2年前
聊聊 npm 的语义化版本(Semver)
前言现在我们要开发一个项目,我们都知道为了方便项目管理,要写一个版本号,那开发的时候初始的版本号是多少呢?是1.0.0还是0.0.1开始?如果一个版本号为X.Y.Z,什么时候是X应该加1,什么时候Y应该加1,什么时候Z应该加1,加1遵循十进制吗?比如1.0.9的下一个版本应该是1.1.0吗?我们经常看到一些项目的版
【低代码实践】京东科技活动平台:魔笛介绍
作者:京东科技葛阳阳1、前言营销活动是公司进行用户拉新、交易转化、召回激活、裂变引流的重要手段,在活动业务发展的过程中,一定会遇到两类问题,通用性活动和定制化活动。通常情况下,通用性活动方案无法满足个性化的定制需求,所以我们面向不同用户开放不同的平台能力来
九鹤 九鹤
4年前
RabbitMq 的高级特性
消息可靠性当作为消息的投递着不希望,任何消息投递失败或者消息丢失rabbitmq提供了两种方式来复制投递失败,确保消息的可靠性confirm确认模式return退回模式消息从投递者到product到交换机(exchange)返回一个confirmCallback(不管投递是否成功)都会执行这个回调函数,只是返回的布尔值不一样)exchange到queue
捉虫大师 捉虫大师
4年前
Cobar SQL审计的设计与实现
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。背景介绍Cobar简介Cobar是阿里开源的一款数据库中间件产品。在业务高速增长的情况下,数据库往往成为整个业务系统的瓶颈,数据库中间件的出现就是为了解决数据库瓶颈而产生的一种中间层产品。在软件工程中,没有什么问题是加一层中间层解决不了的,如果有,再
Wesley13 Wesley13
3年前
RTSP拉流协议视频平台多点认证造成潜在威胁?如何破解?
上一篇我们讲了TSINGSEE青犀视频平台EasyNVR内登陆鉴权的优化,通过优化登陆鉴权,我们可以抵御很多分发用户的攻击。在该问题优化完成后,我们模拟不法分子的攻击对EasyNVR的安全性进行了测试,EasyNVR已经达到了一个安全性很高的级别。!203.png(https://imgblog.csdnimg.cn/img_convert/937
Wesley13 Wesley13
3年前
MySQL中关于数据类型指定宽度之后的情况
概述  MySQL有很多种数据类型,最常用的就是int,char,varchar,这些类型在创建表的时候都可以指定该字段的宽度,方法是在类型后面加一个括号,括号中写宽度就可以了。  但是,在指定宽度之后,有时候,我们可以看到插入的数据有一些被截断了;有一些并没有截断,而是四舍五入了,甚至什么操作都没有,原样插入了。  下面对于每一种数据类型
Wesley13 Wesley13
3年前
Mysql锁总结
今天我们来介绍一下Mysql中不同类型的锁数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类全局锁全局锁就是对整个数据库实例加锁。MySQL提供了一个加全
Stella981 Stella981
3年前
FZU2150 Fire Game
题目:_两个熊孩子在n\m的平地上放火玩,表示草,两个熊孩子分别选一个格子点火,火可以向上向下向左向右在有草的格子蔓延,点火的地方时间为0,蔓延至下一格的时间依次加一。求烧完所有的草需要的最少时间。如不能烧完输出1。_输入:_第一行,输入一个T,表示有T组测试数据。每组数据由一个n,m分别表示行列_1
Wesley13 Wesley13
3年前
CDN与缓存的归纳理解
缓存是什么缓存是一个到处都存在的用空间换时间的例子。通过使用多余的空间,我们能够获取更快的速度。我们通常意义上说的缓存主要包含两部分。第一个是用户浏览器端的缓存,第二个是服务器端为了提高访问速度而加的CDN。首先,看看没有网站没有接入CDN时,用户浏览器与服务器是如何交互的:!q111.png(https://oscimg.o
Wesley13 Wesley13
3年前
mysql基础知识总结
\前记 如果你想算一个两位数乘两位数的结果,首先要学会0到9这10个阿拉伯数字。面对任何复杂需求,首先要沉淀基础知识到信手拈来,这样在复杂需求到来的时候,才能轻松搜罗自己的大脑快速将基本原素运用组合,聚合,衍生,复加,都手法快速形成解决方案。mysql亦是如此。以下不涉及复杂高深的理论知识,更像是mysql实战的一些基本原素。1.mys