玩转Redis!非常强大的Redisson分布式集合,少写60%代码 环境:SpringBoot2.7.18+Redis6.2.6+Redisson3.18.0 1. 简介 Redisson 是 Redis Java 客户端和实时数据平台。它为使用 Redis 提供了更方便、更简单的方法。Redisson 对象提供了关注点分离功能,可让你专注于数据建模和应用逻辑。 在Java中,为我们提供了丰富的集合类,如List、Set、Map等,这些集合类在单机应用或单个JVM 开发运维 2024-06-05 张二河
Python 中 20 个鲜为人知的字符串函数 对于Python初学者而言,掌握字符串操作是编程之旅中的重要一步。Python的字符串功能强大而全面,但有些宝藏函数往往被忽略。今天,让我们一起探索这20个鲜为人知的字符串函数,它们将帮助你提升代码的效率与优雅度。 1. capitalize() 功能 : 将字符串的第一个字符转换为大写。 示例 : text = "hello world" capitalized = text.capitaliz 开发运维 2024-06-05 竹子爱熊猫
别背八股文了,WebSocket 是什么,我劝你花几分钟让面试官惊艳! 前言 作为前端工程师,我们几乎每天都在使用 ajax / fetch 请求与后端进行数据交互,这种基于请求-响应的通讯模式,我们再熟练不过了,无论是C端产品或者是B端产品,都离不开这种通讯模式。但是像即时通讯IM类场景,通常不会选择这种“你来我回”的通信模式,而是会选择 WebSocket 这类的全双工通信模式。 本文会带您全方位去了解一下 WebSocket 的本质,方便您搞清楚“Connect 开发运维 2024-06-05 法医
sync.WaitGroup和sync.Once的爱恨情仇 今天,我们将继续探讨Go语言中的两个重要的同步工具:sync.WaitGroup 和 sync.Once。 sync.WaitGroup sync.WaitGroup 是Go语言中的一种计数信号量,用于等待一组 goroutine 完成。它常用于等待一组并发任务全部完成后再继续执行。 使用方法 声明一个 sync.WaitGroup 类型的变量。 在每个 goroutine 启动之前调用 Add 开发运维 2024-06-05 LOVEHL^ˇ^
九大微服务监控工具详解 Prometheus Prometheus 是一个开源的系统监控、和报警工具包,Prometheus 被设计用来监控“微服务架构”。 图片 主要解决: 监控和告警:Prometheus 可以对系统、和应用程序进行实时监控,并在出现问题时发送告警; 数据收集和存储:它通过各种方式(如HTTP接口、推送网关......等)收集指标数据,并将其存储在时间序列数据库中。 查询和可视化:Prometheus 开发运维 2024-06-05 醒在深海的猫
一文搞懂 Spring 循环依赖 一 循环依赖 1.1 什么是循环依赖 首先,什么是循环依赖?这个其实好理解,就是两个 Bean 互相依赖,类似下面这样: @Service public class AService { @Autowired BService bService; } @Service public class BService { @Autowired AService aService; } AService 开发运维 2024-06-05 大猫
微服务架构落地及其演进 微服务架构的定义: 图片 如何筛选微服务: 图片 三种场景可以考虑使用微服务 (Are you tall enough?) 规模大(团队超过10人) 业务复杂度高(系统超过5个子模块) 需要长期演进(项目周期超过半年) 其他因素筛选微服务 软件功能变化频繁,快速迭代,缩短交付周期为核心的业务。 模块有独立的生命周期,服务复用,降本增效,减少重复造轮子 有独立的隔离性需求和扩展性需求(容错) 简化的 开发运维 2024-06-05 LOVEHL^ˇ^
Genai技术栈架构指南—十个工具,你知道哪个? 现代数据湖参考架构中可以找到的这 10 项功能,以及每个功能的供应商工具和库。 译自The Architect’s Guide to the GenAI Tech Stack — 10 Tools,作者 Keith Pijanowski。 我之前写过关于现代数据湖参考架构,解决了每个企业面临的挑战 — 更多数据、老化的 Hadoop 工具(特别是 HDFS)以及对 RESTful API(S3)和 开发运维 2024-06-05 大猫
Go语言中的context包到底解决了啥问题? Go语言,自2009年发布以来,凭借其简洁、高效、并发能力强等特点,迅速在开发者社区获得了广泛的关注和应用,特别是在服务器端开发、云计算、容器技术和微服务架构等领域。例如,Docker 和 K8S 等知名的容器技术都是使用Go语言开发的。 为什么需要Context包? 认识 goroutine 首先让我们来认识下 goroutine。 Go语言的高并发、高性能都来源于它的并发模型:goroutin 开发运维 2024-06-05 捡田螺的小男孩
利用Spring Boot和Elasticsearch进行人脸数据的高效检索 本专题致力于深入探讨如何通过SpringBoot3.x框架与OpenCV库实现高效的人脸检测和人脸识别系统。通过系统化的10篇文章,从基础概念到高级应用,结合代码示例和实战案例,逐步引导大家掌握从零开始构建完整人脸检测与识别系统的全过程。 利用Spring Boot和Elasticsearch进行人脸数据的高效检索 在人脸识别系统中,高效的数据存储和检索方案是系统性能的关键。Elasticsear 开发运维 2024-06-05 爱可生开源社区
一个开源且全面的C#算法实战教程 前言 算法在计算机科学和程序设计中扮演着至关重要的角色,如在解决问题、优化效率、决策优化、实现计算机程序、提高可靠性以及促进科学融合等方面具有广泛而深远的影响。今天大姚给大家分享一个开源、免费、全面的C#算法实战教程:TheAlgorithms/C-Sharp。 项目介绍 一个C#实现的各种算法集合,这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等多个领域。这些实现及其相关文档旨 开发运维 2024-06-05 张二河
Go 新提案:用 #err 标识符去做错误处理! 大家好,我是煎鱼。 前几天看 Reddit 社区里的讨论,发现 Go 这一门编程语言,错误处理永远是讨论的议题之一。本着追踪网友脑洞 Proposal 的基础上,周末看到个被反对比较多的 Go2 错误处理提案。 图片 今天结合分享给大家,好的坏的都可以看看别人的想法。 问题背景 在 Go 这门编程语言中,错误处理机制主要是依赖于 if err != nil 的方式。因此在对函数做一定的封装后。 代 开发运维 2024-06-05 LOVEHL^ˇ^
Python动态创建类,为编程带来极大的灵活性和扩展性 引言 在Python中,动态创建类是一种强大的能力,允许开发者在运行时创建新的类或动态地修改现有类的结构。这种能力为编程带来了极大的灵活性和扩展性。本文将探讨动态创建类的几种方法,以及其在实际编程中的应用。 使用type()函数创建类 type()函数不仅可以用来检查对象的类型,还可以用来创建新的类。它接受类名、继承的父类元组和包含属性的字典作为参数,返回一个新的类。以下是一个简单的示例: MyC 开发运维 2024-06-05 大猫
Python 大神教你如何优雅地清理大数据 大家好,今天我要带大家一起探索一下Python中的两个重要的数据清洗工具——Pandas和CSV库。 首先,我们来谈谈什么是数据清洗。简单来说,数据清洗就是对原始数据进行整理、转换和校验的过程,以便于后续的分析或挖掘。数据清洗对于数据分析至关重要,因为一个未经清洗的数据集可能会包含错误、缺失值或者不一致的信息,这会严重影响到我们的分析结果。 那么,在Python中有哪些常用的工具可以帮助我们进行数 开发运维 2024-06-05 贤蛋大眼萌
Kafka 如何基于 KRaft 实现集群最终一致性协调 一、架构概览 Zookeeper 提供了配置服务、分布式同步、命名服务、Leader 选举和集群管理等功能,在大数据时代的开始很多开源产品都依赖 Zookeeper 来构建,Apache Kafka 也不例外。但是随着 Kafka 功能的演进和应用的场景越来越多: 基于 Zookeeper 的协作模式,使得 Kafka 的集群一致性维护越来越复杂; 受到 Zookeeper 性能的限制,使得 开发运维 2024-06-04 爱可生开源社区
React Native V0.74 稳定版发布 React Native 最近有个令人兴奋的消息——V0.74 版本在几天前发布了,包含了超过1600个提交。亮点如下: Yoga 3.0 新架构:默认无桥模式 新架构:批量 onLayout 更新 新项目使用 Yarn 3 下面我们深入了解每个新亮点。 Yoga 3.0 首先了解一下 React Native 中的 Yoga 是什么。 Yoga —— 布局引擎 Yoga 是一个由 Meta 开发 开发运维 2024-06-04 穿过生命散发芬芳
用 Arthas 定位 Spring Boot 接口的超时问题,让应用起飞! 背景 公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。 最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150ms,但是调用方等待时间却为250ms左右。 下面记录下当时详细的定位& 开发运维 2024-06-04 Escape
Rust 开发到底用 RustRover 与还是 VS Code Rust 插件? Rust 是近年来迅速崛起的一门系统级编程语言,以稳定性、安全性和性能著称。随着 Rust 的普及,开发者对开发工具的需求也与日俱增。在众多的开发环境中,JetBrains 的 RustRover 和微软的 Visual Studio Code (VS Code) Rust 插件是两个备受关注的选择。本文将对这两款工具进行详细的对比,从功能、使用体验、性能以及扩展性等多个方面入手,帮助开发者选择最 开发运维 2024-06-04 张二河
记一次 .NET 某质量检测中心系统崩溃分析 一、背景 1. 讲故事 这些天有点意思,遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系,真的有点无语,今天就带给大家一例 IIS 相关的与大家分享,这是一家国企的.NET程序,出现了崩溃急需分析。 二、WinDbg 分析 1. 为什么会崩溃 崩溃原因相对还是好找的,双击dump文件之后错误信息马上就列出来了,参考如下: This dump file has an excepti 开发运维 2024-06-04 剑圣无痕
使用 Visual Studio 分析 .NET Dump 内存泄漏和高CPU使用率是在日常开发中经常遇到的问题,它们可能会导致应用程序性能下降甚至崩溃。今天我们来讲讲如何使用Visual Studio 2022分析.NET Dump,快速找到程序内存泄漏问题。 什么是Dump文件? Dump文件又叫内存转储文件或者叫内存快照文件。用于存储程序运行时的状态信息的文件,这些文件通常包含了程序运行时的内存内容、线程信息、堆栈调用信息、异常信息等数据。Dump文 开发运维 2024-06-04 竹子爱熊猫