分类: 日常

47 篇文章

跳表:为什么Redis一定要用跳表来实现有序集合?
前言 时间复杂度O(logn)的二分查找很高效,但是依赖数组随机访问的特性,如果是链表,如何做到O(logn)? 跳表 原始链表查找时,需要遍历链表,时间复杂度就是O(n),光靠原始链表是不行的。 我们可以增加辅助链表,达到索引的作用,使用起来类似二叉搜索树。 查找时,从上往下,一层一层的查找,类似二叉搜索树。索引层可以继续增加,效率会得到提升。 …
打破信息茧房
前言 ​ 算法推荐,即利用算法和大数据,对用户进行画像以实现信息的个性化精准推送,目前在购物、社交、短视频、新闻分发等领域均已广泛实践。   “信息茧房”这一概念,最初是在桑斯坦的《信息乌托邦——众人如何生产知识》一书中提出的,意指在信息传播中,因公众自身的信息需求并非全方位的,公众只注意自己选择的和使自己愉悦的领域,久而久之,会将自身像蚕茧一般桎…
Deepin使用Wallpaper Engine的壁纸
前言 Wallpaper Engine大家都知道吧,动态壁纸界的扛把子,壁纸质量高,种类多,总有一款是你喜欢的。官方支持Windows、Mac,半年前适配了移动端,但是Linux却一直不支持,官方的意思是目前不打算适配Linux,原因如下: Linux的用户少,查看 Steam 硬件调查,会发现只有不到 1% 的 Steam 用户使用 Linux。…
服务器cpu高导致ssh无法连接
正文 近期ssh连不上服务器,找服务器厂商客服得知是cpu高导致的,但是没法看到进程信息,不清楚是哪个进程导致的。 分析了下,服务器上的应用都是docker部署的,而最近部署了监控服务赫兹跳动,就出现这个问题了。于是对该容器进行cpu资源限制,看看能否解决。 服务器是4核心的,通过--cpus 1限制监控服务容器最多使用“一核心”,也就是100%c…
A/B测试vs灰度测试vs蓝绿部署
A/B测试 简单来说,A/B测试是一种比较两个版本的测试,以确定哪个版本的性能更好。 在A/B测试中,部分用户会接收到“版本A”,其他用户则会接收“版本B”。 这是一个可控的过程。为了进行实验,用户组被分成两组。“A组”通常被称为“对照组”,继续接收现有的产品版本。而“B组”通常被称为“实验组”,根据待测量指标,收到不同的实验数据。 最后,比较两组…
利用Mybatis拦截器,全局处理入库字段
利用Mybatis拦截器,全局处理入库字段 场景 需要对某张表的个别字段删除全部空格、替换半角括号,但是项目里入口比较多,不止有前端录入,还有接口接收的数据。即使现在全部入口处理了,后续新增入口也不能保证。所以需要统一处理,一劳永逸。 实现 EnableCustomInterceptor 标识实体类入库时会使用自定义拦截器(mybatis) @Ta…
全局日志记录traceId
全局日志记录traceId 单体应用为了更方便的排查问题,使用过滤器+日志框架的MDC功能,实现每个请求产生的日志,都包含一个UUID。 定义过滤器 @Component @Order(1) public class TraceFilter extends OncePerRequestFilter { public static final Str…
Spring Boot多任务并发处理
Spring Boot多任务并发处理 创建公共线程池 @ConfigurationProperties(prefix = "common-thread-pool") @Data @Slf4j @Configuration @EnableAsync public class CommonThreadPoolConfig imple…
联想NAS A1调研
优点 网速快 相比百度云,上传下载速度快,上传网速一般在10M到50M左右,下载50-100M,看个人网络 BUT:阿里云盘网速也快 功耗 每月耗电:30(天)*18(每天运行时间8点-24点)*5(瓦)/1000=2.4(度) 电费:2.4*0.7(电费单价)=1.68(元) 很不错,比其他NAS产品好多了 无风扇 发热量不大,散热不成问题 噪音…