用户被盗号了!为什么前端要被骂? 密码强度 平时我们在浏览各种网站和 APP 的时候,都接触过密码这个东西! 密码设置的好不好,关乎到你的账号安全性,越复杂的密码越安全,所以密码强度很重要,而我们在做注册功能的时候,也有责任去帮协助用户设置一个高密码强度的密码! 那么密码强度怎么计算呢? 且应该如何实现以下这样的密码强度动画展示效果呢? 图片 思路 其实思路很简单: 1、监听密码输入框的变化。 2、密码变化时,获取密码文本,并通过 开发运维 2024-06-05 大树
成功实施 Data Mesh 的十条指导建议 作者 | Kelsey Beyer 自2019年 Thoughtworks 员工 Zhamak Dehghani 首次提出 Data Mesh 概念以来,Thoughtworks 便开始尝试在全球范围内与客户共同实施 Data Mesh。 以下是根据我们的经验总结的十项建议。对于每项建议,我们都指出了在实施过程中观察到的反模式、我们推荐的替代方法及其原因。这些建议将按照组织中的层级顺序从高到低列出 开发运维 2024-06-05 穿过生命散发芬芳
Vite 是什么(并且为什么如此流行)? 在Web开发的大千世界里,想要不听到关于Vite[1]的讨论,那可真是难上加难。 自2020年4月发布以来,Vite的人气就像坐了火箭一样直线上升。截至写这篇文章的时候,这个项目在GitHub上已经获得了超过64k的star,并且在每周的npm下载量上超过了1200万,现在它支持着大多数开源框架,比如Nuxt[2]、SvelteKit[3]、Astro[4]、SolidStart[5]和Remix 开发运维 2024-06-05 大树
Python 实现命令模式、中介者模式和解释器模式 今天介绍三种行为型设计模式:命令模式、中介者模式和解释器模式。 1.命令模式 它将请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化。命令模式也支持撤销操作。 (1) 命令模式的结构 命令模式的核心是命令对象和接收者对象之间的关系。命令对象封装了一个特定的请求,包含了执行该请求的方法。接收者对象负责实际执行请求。 以下是命令模式的基本结构: # 命令对象接口 class Command: 开发运维 2024-06-05 LOVEHL^ˇ^
.NET 中的数据交互:生成和读取YAML文件 YAML(YAML Ain't Markup Language)是一种易于阅读的数据序列化格式,常被用于配置文件、数据交换等场景。在.NET环境中,处理YAML文件通常需要使用第三方库,因为.NET Framework和.NET Core并未内置对YAML的原生支持。本文将介绍如何在.NET中使用YamlDotNet库来生成和读取YAML文件。 1. 安装YamlDotNet库 首先,你需要在你的 开发运维 2024-06-05 剑圣无痕
为什么要限流?常见的限流算法有哪些? 实际开发中,当业务流量过大时,为了保护下游服务,我们通常会做一些预防性的工作,今天我们就一起来聊聊限流! 一、为什么需要限流? 在实际应用中,每个系统或者服务都有其处理能力的极限(瓶颈),即便是微服务中有集群和分布式的夹持,也不能保证系统能应对任何大小的流量,因此,系统为了自保,需要对处理能力范围以外的流量进行“特殊照顾”(比如,丢弃请求或者延迟处理),从而避免系统卡死、崩溃或不可用等情况,保证系 开发运维 2024-06-05 Escape
玩转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 贤蛋大眼萌