开发者头条 - RSS Feed

Latest articles

Redis 大集群扩容性能优化实践

作者:vivo互联网数据库团队—Yuan Jianwei一、背景在现网环境,一些使用Redis集群的业务随着业务量的上涨,往往需要进行节点扩容操作。之前有了解到运维同学对一些节点数比较大的Redis集群进行扩容操作后,业务侧反映集群性能下降,具体表现在访问时延增长明显。某些业务对Redis集群访问时延比较敏感,例如现网环境对模型实时读取,或者一些业务依赖读取Redis集群的同步流程,会影响业务的实时流程时延。业务侧可能无法接受。为了找到这个问题的根因,我们对某一次的Redis集群迁移操作后的集群性能下降问题进行排查。1.1 问题描述这一次具体的Redis集群问题的场景是:某一个Redis集群进行过扩容操作。业务侧使用Hiredis-vip进行Redis集群访问,进行MGET操作。业务侧感知到访问Redis集群的时延变高。1.2...

对于流批一体的一点看法

收录于话题 #大数据 1个内容 ...

如何高效刷 LeetCode

心理建设篇在讲述具体的方法之前,先要明白一件事。凡事都分『道』与『术』。本问题下面大部分回答介绍的都是『术』。而对于刷LeetCode这件事,无论你看到多少高明的的方法,如果你不能持之以恒,都没有用。所有在刷LeetCode这件事上,他的『道』就是:如何能持之以恒的保持刷题热情。我认为『道』更重要。我先谈一下这部分。寻找标尺,让进步可衡量为什么王者荣耀有段位,有青铜、白银、黄金。以我个人的经验来看,这些都是刺激你持续玩游戏的游戏机制。通过段位,彰显个人的实力,没错,装逼是人类进步的一大动力。同时也让进步可以衡量。刷LeetCode也是同样,一般刚开始我们会关注解决了多少道题。更进一步,我们需要关心自己的排名。LeetCode也有排名机制。每刷一道题,就前进一点点。可以每周给自己做一个记录,记一下自己的排名。让自己重视排名。逐渐的自己就会把积极性调动起来,想让自己的排名越来越高,就是打排位一样。除了排名,你还可以每周记录一下通过率。寻找小惊喜,给自己正反馈坚持做每日一题,LeetCode每天都有一道题,完成后,你的打卡日历就会勾上一个圈。如果打满一个月就会获得一个月度徽章。另外LeetCode有很多“学习计划”,每个学习计划完成后也会有...

使用 MinDiff 框架减轻 ML 模型中的不公平偏见

机器学习 (ML) 的负责任研发可以在帮助解决各种社会挑战方面发挥关键作用。在谷歌,我们的研究反映了我们的人工智能原则,从帮助保护患者免受用药错误和改进洪水预测模型,到展示解决产品中不公平偏见的方法,例如谷歌翻译,并为其他研究人员提供资源来做同样的事情。负责任地应用机器学习的一大类是分类任务——将数据分类为标记类别的系统。在 Google,我们在整个产品中都使用此类模型来执行政策,从检测仇恨言论到适合年龄的内容过滤。虽然这些分类器具有重要的功能,但它们的构建方式也必须最大限度地减少对用户的不公平偏见。今天,我们宣布发布MinDiff,这是TF 模型修复库中提供的一种新的正则化技术,用于在训练 ML 模型时有效且高效地减轻不公平的偏见。在这篇博文中,我们讨论了这项技术背后的研究,并解释了它如何解决...

.NET 内存管理五大基础知识

.NET内存管理五大基础知识1.小对象怎么处理的?小型.NET对象被分配到小型对象堆(SOH)上。其中有3种:第0代,第1代和第2代。对象根据其寿命向上移动。将新对象放在Gen 0上。当Gen 0充满时,.NET垃圾收集器(GC)运行,处理不再需要的对象,并将其他所有内容移至Gen1。如果Gen 1充满,则GC再次运行,也可以将Gen 1中的对象移动到Gen 2中。当Gen 2变满时,将发生GC完全运行。这将清除不需要的Gen 2对象,将Gen 1对象移至Gen 2,然后将Gen 0对象移至Gen 1,最后清除所有未引用的内容。每次运行GC之后,都会压缩受影响的堆,以将仍在使用的内存保持在一起。这种代代相传的方法可确保事情高效运行-耗时的压缩过程仅在绝对必要时才会发生。注意:如果您在Gen 2中看到大量的内存,则表明内存已被保留很长时间,并且可能存在内存问题。这是内存分析工具可以派上用场的地方。2.较大的对象会怎样?大于85...

Rust 中的容器运行时(第一部分)

关注微信公众号《云原生CTO》更多云原生干货等你来探索专注于 云原生技术 分享提供优质 云原生开发 视频技术培训面试技巧,及技术疑难问题 解答云原生技术分享不仅仅局限于Go、Rust、Python、Istio、containerd、CoreDNS、Envoy、etcd、Fluentd、Harbor、Helm、Jaeger、Kubernetes、Open Policy Agent、Prometheus、Rook、TiKV、TUF、Vitess、Argo、Buildpacks、CloudEvents、CNI、Contour、Cortex、CRI-O、Falco、Flux、gRPC、KubeEdge、Linkerd、NATS、Notary、OpenTracing、Operator Framework、SPIFFE、SPIRE 和 Thanos等Rust...

项目中的富文本编辑器该如何选择?

项目中经常需要用到富文本编辑器的时候,而常见的富文本编辑器都有哪些?该如何选择? 先看看市面上都有哪些可用的富文本编辑器: TinyMCE(插件式的,支持 Vue,React,Angular 框架) wangEditor(Typescript 开发的 Web 富文本编辑器, 轻量、简洁、易用、开源免费,支持 JS 直接引入使用,或者 Vue2/3,React) UEditor(开源,插件多,功能齐全,支持 JS 直接引入使用) CKEditor(模块化的简洁强大,丰富的框架支持,支持 Vue,React,Angular ,Jquery,Electron 框架) Quill-editor(轻量、简洁,支持 JS 直接引入使用,Vue,Angular,React) 由于项目中有一条必不可少的需求是可直接复制 Excel 中内容和格式到编辑器中,分别研究了以上等编辑器,只有TinyMCE支持的比较好,因为它是插件式的,powerpaste 很少地做到了这一点。...

如何建设一个云原生数据中心的网络?

收录于话题 #云原生 1个内容 ...

Go 业务开发中常用的几个开源库

前言哈喽,大家好,我是asong。拖更了好久,这周开始更新。最近总有一些初学Go语言的小伙伴问我在业务开发中一般都使用什么web框架、开源中间件;所以我总结了我在日常开发中使用到的库,这些库不一定是特别完美的,但是基本可以解决日常工作需求,接下来我们就来看一下。GinGin是一个用Go编写的Web框架,它是一个类似于martini但拥有更好性能的API框架。基本现在每个Go初学者学习的第一个web框架都是Gin。在网上看到一个关于对各个Go-web框架受欢迎的对比:来自网络我们可以看到Gin在社区受欢迎排第一,Gin 框架往往是进行 Web 应用开发的首选框架,许多公司都会选择采用Gin框架进行二次开发,加入日志,服务发现等功能,像Bilibili 开源的一套 Go 微服务框架 Kratos...

4000 字详解跳表实现(挑战全网中文最详细)

最近在看研究公司业务的存储架构,现有的存储用redis 和 leveldb 通过自己写的中间件做数据落地。这样写业务和数据恢复有点麻烦,想着优化一下,就去研究redis和leveldb的源码。发现了跳表这个数据结构很有意思,性能不错,实现也相对简单,就想着自己用go实现一个跳表,在通过这个跳表实现一个类似redis 的 zset 功能。我会尽可能 详细的去介绍所有实现细节。 看着篇文章,首先熟悉链表的相关知识,比如链表的插入和删除。最好会一点go,不会关系也不大,go的语法很简单,和C有一点像,有计算机基础的基本很快就能看懂go的语法。 下面分这个几点来介绍 跳表是什么 跳表的优缺点 跳表的结构 怎么实现一个跳表(增删改查) 跳表是什么 跳表是一个可以快速查找的有序链表,...

Discover, share and read the best on the web

Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!