一文彻底弄清Redis的布隆过滤器
布隆过滤器(Bloom Filter)是一种空间效率极高的数据结构,用于快速判断一个元素是否在集合中。它能够节省大量内存,但它有一个特点:可能存在误判,即可能会认为某个元素存在于集合中,但实际上不存在;而对于不存在的元素,它保证一定不会误判。布隆过滤器适合在对存储空间要求极为严格,同时能接受少量误判 ...
算法比赛中常用的快读
在算法比赛中,快读是一个常用的技巧,用于提高输入数据的速度。常见的快读方法有以下几种: 1. C++ 中的快读 C++ 中常用 scanf 和 getchar 进行快读。 #include <cstdio> #include <cstring> inline int read() { int x = ...
为什么说Kafka还不是完美的实时数据通道
本文主要谈谈Kafka用于实时数据通道场景的缺陷,以及如何在架构上进行弥补。 Kafka归属于消息队列类产品,其他竞品还有RabbitMQ、RocketMQ等,总的来说它们都是基于生产者、中介和消费者三种角色,提供高并发、大数据量场景下的消息传递。Kafka诞生自Hadoop生态,与生态中的其他组件 ...
go:极简上手使用 stretchr/testify 进行mock测试
库安装 首先,安装 Mock 类生成工具 Mockery: go install github.com/vektra/mockery/v2@v2.45.1 实际上,你也可以手动创建 Mock 类。 生成 Mock 类 假设你在 internal/metrics 包下有如下定义的接口: package ...
Java 如何确保 JS 不被缓存
大家好,我是 V 哥。今天咱们来聊一聊 Java 后端确保 JavaScript 不被缓存的问题,先来了解一下为什么需要这样做,通常源于以下几种场景或问题: 1. 先来看几个问题 1. 文件更新后无法及时生效 浏览器缓存机制是为了加快加载速度和减少服务器压力,但有时会带来问题。当 JavaScrip ...
更快的辅助生成: 动态推测
⭐ 在这篇博客文章中,我们将探讨 动态推测解码 ——这是由英特尔实验室和 Hugging Face 开发的一种新方法,可以加速文本生成高达 2.7 倍,具体取决于任务。从 Transformers 发布的版本 4.45.0 开始,这种方法是辅助生成的默认模式⭐ 推测解码 推测解码 技术十分流行, ...
上周热点回顾(10.14-10.20)
热点随笔: · 园子商业化的烦恼:吐槽阿里云,得罪了用户 (博客园团队)· 致阿里云:我有一个小需求,请帮忙去掉AI助手 (博客园团队)· 我被 .NET8 JIT 的一个BUG反复折磨了半年之久(JIT tier1 finally optimizations) (czd890)· 开源的口袋妖怪自 ...
推荐一款专为Nginx设计的图形化管理工具: Nginx UI!
Nginx UI是一款专为Nginx设计的图形化管理工具,旨在简化Nginx的配置与管理过程,提高开发者和系统管理员的工作效率。 项目地址:https://github.com/0xJacky/nginx-ui 一、Nginx UI的主要特点 简化配置:通过图形化的界面,Nginx UI简化了Ngi ...
你为什么不应该过度关注go语言的逃逸分析
逃逸分析算是go语言的特色之一,编译器自动分析变量/内存应该分配在栈上还是堆上,程序员不需要主动关心这些事情,保证了内存安全的同时也减轻了程序员的负担。 然而这个“减轻负担”的特性现在却成了程序员的心智负担。尤其是各路八股文普及之后,逃逸分析相关的问题在面试里出现的频率越来越高,不会往往意味着和工作 ...
Bitmap 和 布隆过滤器傻傻分不清?你这不应该啊
大家好,我是小富~ 有个兄弟私下跟我说,他在面试狗东时,有一道面试题没回答上来:Redis 的Bitmap和布隆过滤器啥区别与关系? 其实就是考小老弟对这两种工具的底层数据结构是否了解,不算太难的题。不过,bitmap和布隆过滤器在大数据量和高并发业务的使用频率不低,知识点应该掌握下,既然问了那咱们 ...
在Lua中实现Rust对象的绑定
Lua的处理速度较慢,为了高性能,通常有许多函数会放到Rust层或者底层进行处理,此时有一个快速的映射就可以方便代码的快速使用复用,而通过derive宏,我们可以快速的构建出想要的功能。 ...
C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐或自荐优质文章、项目、学习资源等。每周 ...
我在大厂做 CR——如何体系化防控空指针异常
大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际上是访问一个“无效 ...
404的众包平台,也许是园子商业化的未来
现在救园成功了,在小插曲之后,终于可以按下众包平台建设的播放键了。当众包的旋律再次响起,对未来的憧憬亮起,一种痴心妄想的野心被燃起。做一个与众不同的众包平台,打造代码生产的供应链,让开发能力成为一种服务,帮助开发者策码奔腾共享AI时代的繁华,这也许是园子商业化的美好未来。 ...
会话层技术-session
会话层技术-session session技术拿下! 一、先整理学习过程中的几个疑惑 cookie和session分别都是怎么创建的? 首先cookie是一个类,它需要java后端开发人员手动创建。 Cookie cookies1 = new Cookie(keya, valuea); 其次sess ...
count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题
一、你是如何理解Count(*)和Count(1)的? 这两个并没有区别,不要觉得 count() 会查出全部字段,而 count(1) 不会。所以 count() 会更慢,你觉得 MySQL 作者会这么做吗? 可以很明确地告诉你们 count() 和 count(1) 是一样的,而正确有区别的是 ...
重构案例:将纯HTML/JS项目迁移到Webpack
我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于 GitHub 上,非常感谢该项目的贡献者。 重构案 ...
Nuxt.js 应用中的 build:before 事件钩子详解
title: Nuxt.js 应用中的 build:before 事件钩子详解 date: 2024/10/20 updated: 2024/10/20 author: cmdragon excerpt: build:before 钩子在 Nuxt.js 中是一种有力的工具,使开发者能够在应用的构建 ...
适用于 .NET 稳定的官方OpenAI库
前言 今天给大家分享一个由 OpenAI 官方提供,旨在为 .NET 开发者提供方便的接口来访问 OpenAI 的 REST API。这个项目通过 NuGet 包的形式发布,使得 .NET 应用程序能够轻松地集成和使用 OpenAI 的各种 AI 模型和功能,如文本生成、图像生成、音频转写等。 类库 ...