当前位置: 首页 > news >正文

装饰器—购物打折

from collections import namedtuple# 定义促销策略列表
promos = []# 装饰器函数,用于注册促销策略
def promotion(promo_func):promos.append(promo_func)return promo_func# 促销策略1:忠诚度积分折扣
@promotion
def fidelity(order):"""为积分为1000或以上的顾客提供5%折扣"""return order.total() * .05 if order.customer.fidelity >= 1000 else 0# 促销策略2:大批量商品折扣
@promotion
def bulk_item(order):"""单个商品数量达到20个或以上时提供10%折扣"""discount = 0for item in order.cart:if item.quantity >= 20:discount += item.total() * .1return discount# 促销策略3:大量不同商品折扣
@promotion
def large_order(order):"""订单中的不同商品达到10个或以上时提供7%折扣"""distinct_items = {item.product for item in order.cart}if len(distinct_items) >= 2:return order.total() * .07return 0# 选择最佳促销策略
def best_promo(order):"""选择可用的最佳折扣"""return max(promo(order) for promo in promos)# 促销策略函数list:promos, 循环这个list, 就相当于把所有的优惠算了一遍。promo==fidelity,large_order,bulk_item# 商品项类
class LineItem:def __init__(self, product, quantity, price):self.product = product  # 商品名称self.quantity = quantity  # 商品数量self.price = price  # 商品价格def total(self):return self.price * self.quantity# 订单类
class Order:def __init__(self, customer, cart, promotions=None):self.customer = customer  # 客户信息self.cart = list(cart)  # 商品信息的对象列表# [<__main__.LineItem object at 0x0000023A397EA160>, <__main__.LineItem object at 0x0000023A397EA040>, <__main__.LineItem object at 0x0000023A397EA0A0>]self.promotion = promotionsself.__total = None  # 用于缓存总金额def total(self):if self.__total is None:  # 如果没有缓存,则计算总金额self.__total = sum(item.total() for item in self.cart)return self.__total# 客户具名元组
Customer = namedtuple('Customer', ["name", "fidelity"])  # namedtuple(classname, 参数)# 创建客户实例
joe = Customer('John Doe', 1000)  # 积分为1000# 创建购物车
joe_cart = [LineItem('banana', 5, 5.0),   # 香蕉: 4个, 单价5.0LineItem('apple', 21, 1.5),   # 苹果: 10个, 单价1.5LineItem('watermelon', 5, 5.0)  # 西瓜: 5个, 单价5.0
]# 创建订单
joe_order = Order(joe, joe_cart)# 打印最佳促销折扣
print("Best Promo Discount:", best_promo(joe_order))'''
运行逻辑解释:
促销策略注册:
使用promotion装饰器将不同的促销策略函数添加到promos列表中。
fidelity策略为忠诚度积分大于等于1000的客户提供5%的折扣。
bulk_item策略为单个商品数量达到20个或以上的商品提供10%的折扣。
large_order策略为订单中的不同商品种类达到10种或以上的订单提供7%的折扣。
创建订单:
使用LineItem类创建购物车中的商品项。
使用Order类创建一个订单,包含客户信息和购物车内容。
计算最佳折扣:
best_promo函数通过遍历promos列表中的每个促销策略,并计算每个策略对当前订单的折扣金额。
最后返回最大折扣值
'''

如何判断哪些商品可以一起购买?

要判断哪些商品可以一起购买,通常需要考虑一些特定的业务规则或限制条件。这些规则可能包括但不限于:

  1. 库存限制:某些商品可能有库存限制,如果库存不足,则不能添加到购物车。
  2. 捆绑销售:有些商品可能只能与其他特定商品一起购买(例如买A送B)。
  3. 互斥商品:某些商品之间可能存在互斥关系,即不能同时购买(例如,两个竞品商品)。
  4. 数量限制:对单个商品或整个订单的数量可能有限制。
  5. 类别限制:某些商品可能属于同一类别,但有购买数量或金额的限制。

为了实现这些逻辑,您可以在Order类中添加一个方法来检查商品是否可以添加到购物车,并在add_item方法中调用这个检查方法。下面是一个示例,展示了如何实现库存检查和互斥商品检查:

from collections import namedtuple# 假设的商品库存
inventory = {'banana': 10,'apple': 20,'watermelon': 5,
}# 互斥商品列表
mutually_exclusive_items = [{'banana', 'apple'},  # 香蕉和苹果不能同时购买
]# 定义促销策略列表
promos = []# 装饰器函数,用于注册促销策略
def promotion(promo_func):promos.append(promo_func)return promo_func# 促销策略1:忠诚度积分折扣
@promotion
def fidelity(order):"""为积分为1000或以上的顾客提供5%折扣"""return order.total() * .05 if order.customer.fidelity >= 1000 else 0# 促销策略2:大批量商品折扣
@promotion
def bulk_item(order):"""单个商品数量达到20个或以上时提供10%折扣"""discount = 0for item in order.cart:if item.quantity >= 20:discount += item.total() * .1return discount# 促销策略3:大量不同商品折扣
@promotion
def large_order(order):"""订单中的不同商品达到10个或以上时提供7%折扣"""distinct_items = {item.product for item in order.cart}if len(distinct_items) >= 10:return order.total() * .07return 0# 选择最佳促销策略
def best_promo(order):"""选择可用的最佳折扣"""return max(promo(order) for promo in promos)# 商品项类
class LineItem:def __init__(self, product, quantity, price):self.product = productself.quantity = quantityself.price = pricedef total(self):return self.price * self.quantity# 订单类
class Order:def __init__(self, customer, cart=None, promotions=None):self.customer = customerself.promotion = promotionsself.__total = None  # 用于缓存总金额self.cart = cart if cart is not None else []  # 初始化购物车为空列表或传入的购物车def total(self):if self.__total is None:  # 如果没有缓存,则计算总金额self.__total = sum(item.total() for item in self.cart)return self.__totaldef add_item(self, product, quantity, price):"""向购物车中添加商品,首先进行检查"""if not self.can_add_item(product, quantity):print(f"Cannot add {product} to the cart.")returnself.cart.append(LineItem(product, quantity, price))self.__total = None  # 清除缓存,因为购物车内容已改变def remove_item(self, product):"""从购物车中移除指定的商品"""self.cart = [item for item in self.cart if item.product != product]self.__total = None  # 清除缓存,因为购物车内容已改变def can_add_item(self, product, quantity):"""检查商品是否可以添加到购物车"""# 检查库存if inventory.get(product, 0) < quantity:print(f"Insufficient stock for {product}.")return False# 检查互斥商品for exclusive_group in mutually_exclusive_items:if product in exclusive_group:for item in self.cart:if item.product in exclusive_group and item.product != product:print(f"{product} is mutually exclusive with {item.product}.")return Falsereturn True# 客户具名元组
Customer = namedtuple('Customer', 'name fidelity')# 创建客户实例
joe = Customer('John Doe', 1000)  # 积分为1000# 创建空的购物车
joe_cart = []# 创建订单
joe_order = Order(joe, joe_cart)# 尝试添加商品
joe_order.add_item('banana', 4, 5.0)   # 香蕉: 4个, 单价5.0
joe_order.add_item('apple', 10, 1.5)   # 苹果: 10个, 单价1.5
joe_order.add_item('watermelon', 5, 5.0)  # 西瓜: 5个, 单价5.0# 打印订单总金额
print("Order Total:", joe_order.total())  # 输出订单总金额# 从购物车中移除商品
joe_order.remove_item('apple')  # 移除苹果# 再次打印订单总金额
print("Updated Order Total:", joe_order.total())  # 输出更新后的订单总金额# 打印最佳促销折扣
print("Best Promo Discount:", best_promo(joe_order))  # 应该输出基于忠诚度积分的5%折扣'''
运行逻辑解释:
库存检查:在 can_add_item 方法中,首先检查商品的库存是否足够。如果库存不足,则不允许添加商品。
互斥商品检查:接着检查商品是否与购物车中已有的商品存在互斥关系。如果存在互斥关系,则不允许添加商品。
添加商品:如果通过了所有检查,则将商品添加到购物车中,并清除总金额的缓存。
示例运行
假设我们尝试添加以下商品:香蕉: 4个, 单价5.0元
苹果: 10个, 单价1.5元
西瓜: 5个, 单价5.0元
由于香蕉和苹果是互斥商品,所以当尝试添加苹果时,会输出错误信息并阻止添加。如果库存充足且没有互斥关系,商品将被成功添加到购物车中。
这样,您就可以根据具体的业务规则来判断哪些商品可以一起购买。如果有更多的规则,可以在 can_add_item 方法中继续扩展相应的检查逻辑。
'''

如何优化购物车中商品的库存?

'''
优化购物车中商品的库存管理涉及到多个方面,包括减少库存占用、提高库存周转率、确保库存数据的准确性等。以下是一些具体的策略和方法来优化购物车中的商品库存:1. 实时库存更新
实时同步:确保在用户添加或移除商品时,立即更新库存系统。这可以通过数据库事务或消息队列来实现。
乐观锁/悲观锁:使用数据库的锁定机制来防止并发操作导致的库存错误。
2. 库存预测与补货
销售预测:基于历史销售数据和市场趋势进行销售预测,合理安排补货计划。
安全库存:设置合理的安全库存水平,以应对突发需求或供应链中断。
自动补货系统:利用自动化工具监控库存水平,并在达到预设阈值时自动触发补货流程。
3. 库存分配策略
优先级分配:根据商品的重要性和销售情况设定不同的优先级,优先满足高优先级商品的需求。
多仓库管理:如果有多仓库,可以根据地理位置、成本等因素智能分配库存。
4. 减少过期和滞销商品
定期盘点:定期进行库存盘点,及时发现并处理过期或滞销商品。
促销活动:通过促销活动加速滞销商品的销售。
退货管理:优化退货流程,减少因退货导致的额外库存。
5. 提高库存数据准确性
条形码/RFID技术:使用条形码或RFID标签来追踪商品,提高库存数据的准确性。
库存审计:定期进行库存审计,确保实际库存与记录一致。
6. 用户体验优化
库存透明度:向用户提供准确的库存信息,避免下单后发现无货的情况。
预订功能:对于缺货商品提供预订功能,收集用户需求,以便后续补货。
7. 技术实现
微服务架构:将库存管理系统设计为独立的微服务,便于扩展和维护。
API接口:提供标准的API接口,方便其他系统(如订单系统、前端应用)调用库存数据。
云服务:利用云计算资源,实现弹性伸缩,保证高峰时段的性能。
'''
from collections import namedtuple
class Inventory:def __init__(self, stock):self.stock = stockdef check_stock(self, product, quantity):"""检查库存是否足够"""return self.stock.get(product, 0) >= quantitydef update_stock(self, product, quantity, action='subtract'):"""更新库存,可以是增加或减少"""if action == 'subtract':self.stock[product] -= quantityelif action == 'add':self.stock[product] += quantity# 假设的商品库存
inventory = Inventory({'banana': 10,'apple': 20,'watermelon': 5,
})# 商品项类
class LineItem:def __init__(self, product, quantity, price):self.product = productself.quantity = quantityself.price = pricedef total(self):return self.price * self.quantity# 订单类
class Order:def __init__(self, customer, cart=None, promotions=None, inventory=None):self.customer = customerself.promotion = promotionsself.__total = None  # 用于缓存总金额self.cart = cart if cart is not None else []  # 初始化购物车为空列表或传入的购物车self.inventory = inventory  # 库存管理对象def total(self):if self.__total is None:  # 如果没有缓存,则计算总金额self.__total = sum(item.total() for item in self.cart)return self.__totaldef add_item(self, product, quantity, price):"""向购物车中添加商品,首先进行检查"""if not self.inventory.check_stock(product, quantity):print(f"Insufficient stock for {product}.")returnself.cart.append(LineItem(product, quantity, price))self.inventory.update_stock(product, quantity, 'subtract')self.__total = None  # 清除缓存,因为购物车内容已改变def remove_item(self, product):"""从购物车中移除指定的商品,并恢复库存"""removed_items = [item for item in self.cart if item.product == product]for item in removed_items:self.inventory.update_stock(item.product, item.quantity, 'add')self.cart.remove(item)self.__total = None  # 清除缓存,因为购物车内容已改变# 客户具名元组
Customer = namedtuple('Customer', 'name fidelity')# 创建客户实例
joe = Customer('John Doe', 1000)  # 积分为1000# 创建空的购物车
joe_cart = []# 创建订单
joe_order = Order(joe, joe_cart, inventory=inventory)# 尝试添加商品
joe_order.add_item('banana', 4, 5.0)   # 香蕉: 4个, 单价5.0
joe_order.add_item('apple', 10, 1.5)   # 苹果: 10个, 单价1.5
joe_order.add_item('watermelon', 5, 5.0)  # 西瓜: 5个, 单价5.0# 打印订单总金额
print("Order Total:", joe_order.total())  # 输出订单总金额# 从购物车中移除商品
joe_order.remove_item('apple')  # 移除苹果# 再次打印订单总金额
print("Updated Order Total:", joe_order.total())  # 输出更新后的订单总金额# 打印当前库存
print("Current Inventory:", inventory.stock)'''
运行逻辑解释:
库存检查:在 add_item 方法中,首先通过 check_stock 方法检查库存是否足够。如果库存不足,则不允许添加商品。
库存更新:当商品被成功添加到购物车时,调用 update_stock 方法减少相应商品的库存。
恢复库存:在 remove_item 方法中,当商品从购物车中移除时,调用 update_stock 方法恢复相应商品的库存。
通过这些步骤,您可以确保库存数据的实时性和准确性,从而更好地管理购物车中的商品库存。此外,还可以结合上述提到的其他策略和技术手段,进一步优化库存管理。
'''

相关文章:

装饰器—购物打折

from collections import namedtuple# 定义促销策略列表 promos []# 装饰器函数&#xff0c;用于注册促销策略 def promotion(promo_func):promos.append(promo_func)return promo_func# 促销策略1&#xff1a;忠诚度积分折扣 promotion def fidelity(order):""&quo…...

【Linux---10】本地机器 <=> 服务器 文件互传

文章目录 1. 小文件互传2. 大文件互传 1. 小文件互传 使用sz命令。 说明&#xff1a;sz命令是ZModem文件传输协议的一部分&#xff0c;用于在Linux和Unix系统中&#xff0c;从本地系统发送&#xff08;send&#xff09;文件到远程系统。sz命令通常与rz命令&#xff08;ZModem接…...

Mysql数据库基础篇笔记

目录 sql语句 DDL——数据库定义语言&#xff08;定义库&#xff0c;表&#xff0c;字段&#xff09; 数据库操作&#xff1a; 表操作&#xff1a; DML 增删改语句 DQL 语法编写顺序&#xff1a; 条件查询 DCL 用户管理&#xff1a; 权限管理&#xff1a; 函数 常见字符串内置函…...

QT 实现QStackedWidget切换页面右移动画

1.实现效果 以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。 为了方便查看动画特效,设置了每个界面的背景图片。 2.实现思路 首先截取当前界面的图片,渲染到一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这个QLabel,不断…...

RocketMQ rocketmq-tools管理主题

RocketMQ rocketmq-tools管理主题 环境和软件版本增删改查 环境和软件版本 Win10、IDEA、Jdk1.8、rocketmq 5.1.3、rocketmq-tools 5.1.3 引入依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-tools</artifactId&g…...

Docker 容器隔离关键技术:Seccomp

Docker 容器隔离关键技术&#xff1a;Seccomp 在 Docker 容器中&#xff0c;Seccomp&#xff08;Secure Computing Mode&#xff09; 是一种内核安全机制&#xff0c;用来限制容器内的程序可以调用哪些系统调用&#xff08;Syscalls&#xff09;。通过列清单的方式&#xff0c…...

2024年顶级小型语言模型前15名

本文&#xff0c;我们将深入了解2024年备受瞩目的十五款小型语言模型&#xff08;SLMs&#xff09;&#xff0c;它们分别是Llama 3.1 8B、Gemma2、Qwen 2、Mistral Nemo、Phi-3.5等。这些SLMs以其精巧的体积和高效率著称&#xff0c;它们不需要依赖庞大的服务器资源&#xff0c…...

【大模型微调】pdf转markdown

目前市面上大部分都是pdf文档,要想转换成能训练的文本,调研了各种工具。 觉得MinerU确实不错。 参考此链接进行操作 MinerU/docs/README_Ubuntu_CUDA_Acceleration_en_US.md at master opendatalab/MinerU GitHub 需要注意的几个点: 1. 使用root账户安装的,配置文件在…...

【Nacos02】消息队列与微服务之Nacos 单机部署

Nacos 部署 Nacos 部署说明 Nacos 快速开始 Nacos 快速开始 版本选择 当前推荐的稳定版本为2.X Releases alibaba/nacos GitHuban easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications. - Re…...

PROTEUS资源导引

本专栏讲述51、32单片机的仿真设计&#xff0c;且所有文章资源共享&#xff0c;如需哪篇文章&#xff0c;可按ctrlF键搜索查询&#xff0c;点击进入即可。 -----------------------------------------------------------目录------------------------------------------------…...

对力扣77组合优化的剪枝操作的理解

77. 组合 代码随想录放出了这一张图 我乍一看觉得想当然,但是仔细想想,又不知道以下剪枝代码作何解释,因此我想通过这篇文章简要解释一下 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(int n, int k, int sta…...

FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg封装

封装就是将 一个h264&#xff0c;和一个aac文件重新封装成一个mp4文件。 这里我们的h264 和 aac都是来源于另一个mp4文件&#xff0c;也就是说&#xff0c;我们会将 in.mp4文件解封装成一路videoavstream 和 一路 audioavstream&#xff0c;然后 将这两路的 avstream 合并成一…...

http 与 https 汇总

文章目录 http 与 httpsHTTP&#xff08;超文本传输协议&#xff09;介绍1. 基本概念2. 工作原理3. 特点4. 应用场景 HTTPS&#xff08;超文本传输安全协议&#xff09;介绍1. 基本概念2. 工作原理3. 特点4. 应用场景 HTTP协议的工作原理请求阶段响应阶段客户端解析处理 协议的…...

龙蜥 Linux 安装 Nginx

龙蜥 Linux 安装 Nginx 下载编译安装配置编译参数先装依赖编译安装 使用启动检查配置文件重启关闭 503权限问题参考资料 下载 下载地址详情见参考资料&#xff0c;我下的 nginx-1.26.2.tar.gz 到 /home/jerry/ /home/jerry$ curl -O http://nginx.org/download/nginx-1.26.2.…...

8. 一分钟读懂“代理模式”

8.1 模式介绍 代理模式是一种结构型设计模式&#xff0c;它通过提供一个代理对象来替代对另一个对象&#xff08;真实对象&#xff09;的访问。代理对象与真实对象实现相同的接口&#xff0c;并通过代理类对真实对象的访问进行控制&#xff0c;可以在调用前后执行附加操作&…...

分布式搜索引擎Elasticsearch

Elasticsearch是一个基于Lucene库的开源分布式搜索引擎&#xff0c;它被设计用于云计算中&#xff0c;能够实现快速、near-real-time的搜索&#xff0c;并且可以进行大规模的分布式索引。 以下是一个简单的Python代码示例&#xff0c;展示如何使用Elasticsearch的Python客户端…...

完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32(主要是想针对ESP32C3和S3)开发板的鸿蒙系统(失败)

基本上完全按照手册来的&#xff0c;除了Ubuntu虚拟机使用了22.04 Jammy版本&#xff0c;鸿蒙手册里是20.04 版本&#xff0c;主要是鸿蒙里3年前的手册了&#xff0c;所以就擅自用了高版本。 据此还想到一点&#xff0c;鸿蒙LiteOS&#xff0c;还挺稳定的&#xff0c;3年也没有…...

MySQL 8.0与PostgreSQL 15.8的性能对比

以下是MySQL 8.0与PostgreSQL 15.8的性能对比&#xff1a; MySQL 8.0性能特点&#xff1a; MySQL在处理大量读操作时表现出色&#xff0c;其存储引擎InnoDB提供了行级锁定和高效的事务处理&#xff0c;适用于并发读取的场景。MySQL通过查询缓存来提高读取性能&#xff0c;查询缓…...

hive 行转列

行转列的常规做法是&#xff0c;group bysum(if())【或count(if())】 建表: CREATE TABLE table2 (year INT,month INT,amount DOUBLE );INSERT INTO table2 (year, month, amount) VALUES(1991, 2, 1.2),(1991, 3, 1.3),(1991, 4, 1.4),(1992, 1, 2.1),(1992, 2, 2.2),(1992…...

linux——进程间通信system V消息队列

Linux——命名管道及日志-CSDN博客 文章目录 目录 文章目录 前言 一、system V消息队列是什么&#xff1f; 二、相关库接口 1.shmget接口 2、ftok接口 3、shmget、ftok接口封装 4、共享内存操作 ​编辑 5、shmdt接口 三.函数的调用 1、查看共享内存 2、shell 四…...

Seatunnel解决ftp读取json文件无法读取数组以及格式化之后的json无法解析的问题

问题原因 在JsonRead这个方法里面 在源码中使用的逻辑是读取一行 然后把这个json进行解析 但是这样存在一个问题 比如如果json的格式是这样的 { name&#xff1a;“zhangsan”&#xff0c; age&#xff1a;25 } 如果是这样的话 第一行读到的内容就是 { 显然 一个 { 并不是一个…...

[Vue Router warn]: No match found for location with path 解决方法

在使用vue3 vue-router4时 当列表A组件使用 加上keep-alive缓存后&#xff0c;跳转至详情页面时出现 [Vue Router warn]: No match found for location with path "/atlas/editDetails" 解决方案&#xff1a; 把 router.push({ path: "/atlas/editDetails&…...

优傲协作机器人 Remote TCP Toolpath URCap(操作记录)

目录 一、新机设置项 1、设置管理员密码 2、设置安全密码 3、设置负载 二、激活 Remote TCP & Toolpath URCap 1、插入U盘 2、打开激活面板 3、导入许可证 4、查看是否激活成功 5、启用功能 三、使用流程&#xff08;官方&#xff09; 步骤一 步骤二 步骤三 …...

使用历史索引监控 Elasticsearch 索引生命周期管理

作者&#xff1a;来自 Elastic Stef Nestor 大家好&#xff01;在之前的一篇博客中&#xff0c;我们概述了常见的索引生命周期管理 (index lifecycle management - ILM) 问题及其解决方案。此后&#xff0c;我们已将这些常见场景添加到我们的 Elasticsearch 文档中&#xff0c;…...

[网络安全]sqli-labs Less-5 解题详析

[网络安全]Less-5 GET - Double Injection - Single quotes - String:双注入GET单引号字符型注入 判断注入类型判断注入点个数查库名&#xff08;爆破&#xff09; left函数抓包查库名&#xff08;双查询注入&#xff09; 原理实例查库名&#xff08;extractvalue函数&#xff…...

贪心算法入门(一)

第1题 礼物 查看测评数据信息 国庆马上要到了。小明喜欢的礼物有n种分别是&#xff1a;公仔、电子手表、漫画书等。 每种礼物有一件&#xff0c;每种礼物价钱都不一样。小明手头上有 m 元。 小明最多可以买多少件礼物&#xff1f; 输入格式 第一行&#xff0c;两个整数&…...

HTTP 探秘之旅:从入门到未来

文章目录 导言&#xff1a;目录&#xff1a;第一篇&#xff1a;HTTP&#xff0c;互联网的“快递员”第二篇&#xff1a;从点开网页到看到内容&#xff0c;HTTP 究竟做了什么&#xff1f;第三篇&#xff1a;HTTP 的烦恼与进化史第四篇&#xff1a;HTTP 的铠甲——HTTPS 的故事第…...

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络&#xff08;VPN&#xff09;详细介绍 虚拟专用网络&#xff08;VPN&#xff09;通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密&#xff1a; 隧道协议&#xff1a;使用协议如PPTP、L2TP/IP…...

人工智能中的深度学习:原理与实践

什么是深度学习&#xff1f; 深度学习&#xff08;Deep Learning&#xff09;是机器学习的一个分支&#xff0c;旨在通过模拟人脑的神经网络结构来解决复杂的任务。深度学习通过多层神经网络&#xff0c;自动从数据中学习特征&#xff0c;避免了传统机器学习中手动特征工程的繁…...

复现SMPLify-X: Ubuntu22.04, Cuda-11.3, GPU=3090Ti

Env: 3090Ti CUDA 最低支持版本需要>cuda-11.1 Ubuntu 22.04 Installation: Installing CUDA11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.run …...

qt QGraphicsScale详解

1、概述 QGraphicsScale是Qt框架中提供的一个类&#xff0c;它提供了一种简单而灵活的方式在QGraphicsView框架中实现缩放变换。通过设置水平和垂直缩放因子、缩放中心点&#xff0c;可以创建各种缩放效果&#xff0c;提升用户界面的交互性和视觉吸引力。结合QPropertyAnimati…...

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统 php7.4及以上 / mysql5.6 / 伪静态&#xff1a;thinkphp / 运行目录&#xff1a;/public / 修改数据库&#xff1a;/config/database.php /后台&#xff1a;/admin 账号密码 admin q2821706481 …...

ubuntu 根分区逻辑卷扩容

1、虚拟机关机通过管理界面给磁盘扩容。 rootcurtis:/home/curtis/git_code# pvdisplay--- Physical volume ---PV Name /dev/vda3VG Name ubuntu-vgPV Size <239.00 GiB / not usable 0Allocatable yes (but full)PE…...

Word分栏后出现空白页解决方法

Word分栏后出现空白页解决方法 只需要在后面的空白页设置相同的页面布局(分栏格式)&#xff0c;然后按Ctrl backspace即可删除该空白页。 参考文章&#xff1a;Word分栏出现空白怎么解决。...

Ansible自动化运维-Ansible安装与主机列表

目录 1.Ansilble的功能及优点 2.Ansible架构 3.Ansible执行流程 4.Ansible安装 5.Ansible配置文件 6.Ansible主机列表 1.Ansilble的功能及优点 &#xff08;1&#xff09;远程执行 批量执行远程命令&#xff0c;可以对多台主机进行远程操作。 &#xff08;2&#xff0…...

大模型使用-提示学习-基础提示

一、基础提示简介 1、常用提示方法 上下文学习&#xff1a;ICL&#xff08;In-context Learning&#xff09;任务描述与问答示例以自然语言形式加入到提示中思维链提示&#xff1a;CoT&#xff08;Chain-of-Thought&#xff09;&#xff0c;是一种增强技术&#xff0c;将思维…...

【Java基础面试题004】封装、继承、重载、多态、接口和抽象类是什么?

目录 回答重点 封装 继承 重载 多态 接口 抽象类 扩展知识 继承的优缺点 编译时多态&运行时多态 编译时多态 运行时多态 重写&重载区别 为什么Java不支持多继承&#xff1f; 为什么Java支持接口多实现&#xff1f; 接口的成员 抽象类的注意事项 接口&…...

AI、VR与空间计算:教育和文旅领域的数字转型力量

在这个数字技术高速发展的时代&#xff0c;AI、VR技术及大空间计算技术&#xff0c;已成为推动多个行业革新的强劲动力。近日&#xff0c;世优科技推出了最新研发的VR大空间产品《山海经》&#xff0c;这一全新的沉浸式体验项目不仅重新定义了观展方式&#xff0c;还为文化旅游…...

【CC2530开发基础篇】光敏和热敏传感器

一、前言 1.1 开发背景 本实验通过CC2530单片机接入光敏传感器和热敏传感器&#xff0c;进行数据采集与检测&#xff0c;并将检测结果通过串口终端输出。光敏传感器和热敏传感器是常见的环境感知设备&#xff0c;分别用于测量光强和温度。在实际应用中&#xff0c;这些传感器…...

Android8.1初始化RGB屏

初始化文件类似如下 #define HSW 8 #define HBD 160 #define HFD 140 #define VSW 8 #define VBD 20 #define VFD 20#frame rate60Hz #Pixel Clk25Mhz #MIPI_CLK300Mbps(MIPI通道速率)SPI_RES1; Delay(20); //延迟20ms SPI_RES0; Delay(50); //延迟50ms SPI_RES1; Delay(120);…...

Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)

《SwanLab机器学习实战教程》是一个主打「开箱即用」的AI训练系列教程&#xff0c;我们致力于提供完善的数据集、源代码、实验记录以及环境安装方式&#xff0c;手把手帮助你跑起训练&#xff0c;解决问题。 Qwen2-VL是通义千问团队最近开源的大语言模型&#xff0c;由阿里云通…...

ElasticSearch easy-es 聚合函数 group by 混合写法求Top N 词云 分词

1.将用户访问记录表数据同步到ES&#xff0c;并且分词&#xff0c;获取用户访问最多前十条词语。 Elasticsearch、Easy-es 快速入门 SearchAfterPage分页 若依前后端分离 Ruoyi-Vue SpringBoot 使用结巴分词器 <!-- 分词器--><dependency><groupId>com.hua…...

400G智算网络助力知名自动驾驶企业算力训练提效

根据Gartner的最新趋势预测&#xff0c;自动驾驶技术正迅速发展&#xff0c;预计在未来几年内将带来显著的商业效益&#xff0c;特别是在决策智能和边缘人工智能领域。目前&#xff0c;一家领军企业正积极拥抱基于大模型的数字化转型之路&#xff0c;作为自动驾驶领域的佼佼者&…...

替代FTP最佳跨网文件传输解决方案——FileLink

在传统的企业文件传输中&#xff0c;FTP&#xff08;文件传输协议&#xff09;曾因其便捷性和高效性被广泛应用。然而&#xff0c;其固有的安全漏洞、对大文件传输支持的局限性、易受网络攻击等问题&#xff0c;已逐渐暴露出FTP在现代企业环境下的不足。针对这一问题&#xff0…...

冒泡排序算法介绍以及java实现

冒泡排序是一种简单的排序算法&#xff0c;它重复地走访过要排序的元素列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。重复地进行这个操作直到整个序列都是有序的。 冒泡排序算法的基本思想是&#xff1a;比较相邻的两个元素&#xff0c;如…...

echarts的双X轴,父级居中的相关配置

前言&#xff1a;折腾了一个星期&#xff0c;在最后一天中午&#xff0c;都快要放弃了&#xff0c;后来坚持下来&#xff0c;才有下面结果。 这个效果就相当是复合表头&#xff0c;第一行是子级&#xff0c;第二行是父级。 子级是奇数个时&#xff0c;父级label居中很简单&…...

模拟实现单链表 —— SingleLinkedList

模拟实现 java 中单链表的实现&#xff0c;方便后续对 java 中的 LInkedList 进行理解。 MySingleList类&#xff1a; public class MySingleList {/*** 定义节点类*/static class ListNode {// 节点值private int val; // 下一个节点的引用private ListNode next; public Lis…...

【NoSQL数据库】MongoDB数据库——文档的查询操作(多条件查询、聚合aggregate、管道)

往期文章&#xff1a; ​​​​​​【NoSQL数据库】MongoDB数据库的安装与卸载-CSDN博客 【NoSQL数据库】MongoDB数据库——集合和文档的基本操作&#xff08;创建、删除、更新、查询&#xff09;-CSDN博客 目录 一、MongoDB文档查询原理 1、使用 find() 方法进行文档基本…...

预训练模型与ChatGPT:自然语言处理的革新与前景

目录 一、ChatGPT整体背景认知 &#xff08;一&#xff09;ChatGPT引起关注的原因 &#xff08;二&#xff09;与其他公司的竞争情况 二、NLP学习范式的发展 &#xff08;一&#xff09;规则和机器学习时期 &#xff08;二&#xff09;基于神经网络的监督学习时期 &…...

桂湾公园的地面免费停车场(50个左右)

之前一直以为桂湾公园只有P1和P2地下停车场可以免费停车。没想到桂湾公园还有地面停车场&#xff0c;停车位大概是50个。 具体位置在桂湾公园5号门地上停车场。 桂湾公园-5号门 广东省深圳市南山区桂湾河南街与鲤鱼门西二街交叉口西北20米 停车场入口对面是红星美凯龙&#x…...