软件设计模式系列之二十一——观察者模式

观察者模式(Observer Pattern)是一种行为型设计模式,它允许对象之间建立一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这个模式也被称为发布-订阅模式,因为它模拟了一个主题(发布者)与多个观察者(订阅者)之间的关系。观察者模式主要用于实现对象之间...

聊聊基于Alink库的推荐系统

概述 Alink提供了一系列与推荐相关的组件,从组件使用得角度来看,需要重点关注如下三个方面: 算法选择 推荐领域有很多算法,常用的有基于物品/用户的协同过滤、ALS、FM算法等。对于不同的数据场景,算法也会在计算方式上有很大的变化。 推荐方式 输入信息可以有多种选择,输入结果也有多种情况。 同时输

处理尚不存在的 DOM 节点

探索 MutationObserver API 与传统轮询等待最终被创建的节点方法相比的优劣。 有时候,您需要操作尚未存在的 DOM 的某个部分。 出现这种需求的原因有很多,但你最常看到的是在处理第三方脚本时,这些脚本会异步地将标记注入页面。举个例子,我最近需要在用户关闭Google reCAPTC

每日一题:吃透大文件上传问题(附可运行的前后端源码)

大文件上传 前言 在日常开发中,文件上传是常见的操作之一。文件上传技术使得用户可以方便地将本地文件上传到Web服务器上,这在许多场景下都是必需的,比如网盘上传、头像上传等。 但是当我们需要上传比较大的文件的时候,容易碰到以下问题: 上传时间比较久 中间一旦出错就需要重新上传 一般服务端会对文件的大小

LRU算法

1、什么事LRU 单从代码层面来说,我认为lru算法很容易实现,重点是我们要知道什么是lru算法。 LRU 英文全称是 Least Recently Used,英译过来就是”最近最少使用“的意思,假如我们有一块内存,专门用来缓存我们最近发访问的网页,访问一个新网页,我们就会往内存中添加一个网页地址,

【必看!】阿里云推出QWen-7B和QWen-7b-Chat,开放免费商用!

阿里云最近发布了两款大型开源模型QWen-7B和QWen-7b-Chat,这两款模型的参数规模达到了70亿,用户可以在Hugging Face和ModelScope上免费使用。尽管大型模型的热度近期有所下降,但阿里云选择开源模型来赢得用户的支持,并保持自身在竞争中的优势。这一举措也引起了人们的关注,因为不开源可能会导致信息泄露的风险。通过开源模型,阿里云既能满足用户需求,又能保持技术竞争力。

【Azure 事件中心】Azure Event Hub中的数据能不能存储大于7天呢?如果7天之后是不是会自动删除呢?

问题描述 Event Hub中有个retention的设置为7天,有没有办法增大这个Retention的时间? 如果没办法,是不是超过7天的数据就会被删除? 问题解答 因为Azure Event Hub(事件中心)是一个实时事件流引擎,其设计意图并不是用于代替数据库以及/或者用作无限期保存的事件流的

【Azure 环境】微软云上主机,服务的安全更新疑问

【问题一】微软云上的虚拟机,不论是Windows系统or Linux 系统,系统的安全补丁是由微软云平台 打上补丁进行修复,还是使用虚拟机的用户手动更新修复呢? 【答】这些补丁不会由平台来直接操作更新上去,而是由用户根据情况选择性安装修复。 【问题二】安全更新中提及的漏洞,是否会影响PaaS服务?

从 5s 到 0.5s!CompletableFuture 异步任务优化技巧,确实优雅!

一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返回。 如果是串行(按顺序依次执行每个任务)执行的话,接口的响应速度会非常慢。考虑到这些接口之间有大部分都是 无前后顺序

AcWing 95. 费解的开关

原题链接 你玩过“拉灯”游戏吗? 25 盏灯排成一个 5×5 的方形。 每一个灯都有一个开关,游戏者可以改变它的状态。 每一步,游戏者可以改变某一个灯的状态。 游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字 1 表示一盏开着的灯,用数字 0 表示关着

图解B树及C#实现(1)

前言 B树(B-tree),也常被记作 B-树,其中“-”不发音。B树的发明者 Rudolf Bayer 和 Edward M. McCreight 并没有给B树中的 B 明确的定义,大家也不必对此纠结太多。 B+树是B树的变体,两者的适用场景是不一样的,以后也会给大家带来B+树的介绍。 本系列将用

BTC交易流程

交易流程 比特币的交易流程涉及多个步骤和参与方,包括发送方、接收方、矿工和比特币网络中的节点。以下是比特币交易的详细流程: 创建交易: 生成比特币地址:比特币地址是一个由公钥生成的字符串,用于接收比特币。每个用户在创建比特币钱包时,都会生成一对公钥和私钥。公钥通过哈希算法生成比特币地址,私钥用于签名

为什么程序员老喜欢买云服务器?

前言 不知道你发现了没有?作为程序员或者测试工程师的你,身边的同事或者同学,都喜欢买一台或者多台云服务器。 为什么呢? 他们是为了耍酷? 答:当然不是。 云服务器对我们来说真的非常有用。 不信继续往下看。 今天这篇文章就跟大家一起聊聊,云服务器的一些用途,为什么程序员老爱买云服务器,希望对你会有所帮

前端远程办公系列 —— 整体介绍

整体介绍 前言 有些公司需要你有远程办公的经验 远程办公是某些公司和组织的一种工作方式。比如公司运作以天津为根据地,还有一些团队在武汉,忙不过来时还有外包 本系列就以前端工程师的视角,以一个真实的场景来说一下这个事情。会说遇到了什么问题、如何协作、用到什么新工具,什么技术... 背景 张三,一直从事

掌握Python文件操作:从基础到高阶的全方位探索

**在本篇博客中,我们将全面、深入地探讨Python中的文件操作。文件操作在Python编程中是不可或缺的一部分,它包含了打开、读取、写入和关闭文件等各种操作。我们将从基础的文件操作讲解到高级的文件处理技巧,以及如何优雅地使用Python进行文件操作。每一部分我们都会分享一些独特的用法,并且附有具体

[转帖]Linux中EOF和Expect命令详解

一、EOF说明 Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。 回顾一下< <的用法。当shell看到< <的时候,它就会知道下一个词是一个分界符。在

基于阿里云服务实现短信验证码功能

## 前言: 阿里云短信服务是一项基于云计算和大数据技术的企业级短信平台服务。它能够为企业和开发者提供高可用、高性能、高稳定性的短信发送服务,可以快速地将各类业务通知、验证码、营销推广等信息发送给用户。在我们经常登录一些系统或者APP时候,经常会遇到其他登录登录方式——短信验证码登录。这也是我前一段

在线Excel的分权限编辑

> 摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:[葡萄城官网](https://www.grapecity.com.cn/),葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 在表格类填报需求中,根据当前登录用户的不同等级,能填报的区域会有所不同。本文基于前端表格控件

卷扩容业务失败了,在线等…

摘要:卷扩容一般指实例级的磁盘扩容。 本文分享自华为云社区《【公有云公共】卷扩容业务失败》,作者:酷哥。 一、基本背景介绍 卷扩容一般指实例级的磁盘扩容。随着客户业务的不断开展,磁盘使用率也会随之增加。当磁盘使用率过高时,会影响数据库的使用,这时建议用户清理无用数据、运维清理无用日志或用户来操作卷扩

Karmada跨集群优雅故障迁移特性解析

摘要:在 Karmada 最新版本 v1.3中,跨集群故障迁移特性支持优雅故障迁移,确保迁移过程足够平滑。 本文分享自华为云社区《Karmada跨集群优雅故障迁移特性解析》,作者:Karmada社区。 在多云多集群应用场景中,为了提高业务的高可用性,用户的工作负载可能会被部署在多个集群中。然而当某个