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

1.4 Binance_interface API U本位合约行情

Binance_interface API U本位合约行情

  • Github地址
  • PyTed量化交易研究院

1. API U本位合约行情接口总览

方法解释Path
get_ping测试服务器连通性 PING/fapi/v1/ping
get_time获取服务器时间/fapi/v1/time
get_exchangeInfo获取交易规则和交易对/fapi/v1/exchangeInfo
get_depth深度信息/fapi/v1/depth
get_trades近期成交/fapi/v1/trades
get_historicalTrades查询历史成交(MARKET_DATA)/fapi/v1/historicalTrades
get_aggTrades近期成交(归集)/fapi/v1/aggTrades
get_klinesK线数据/fapi/v1/klines
get_continuousKlines连续合约K线数据/fapi/v1/continuousKlines
get_indexPriceKlines价格指数K线数据/fapi/v1/indexPriceKlines
get_markPriceKlines标记价格K线数据/fapi/v1/markPriceKlines
get_premiumIndexKlines溢价指数K线数据/fapi/v1/premiumIndexKlines
get_premiumIndex最新标记价格和资金费率/fapi/v1/premiumIndex
get_fundingRate查询资金费率历史/fapi/v1/fundingRate
get_fundingInfo查询资金费率信息/fapi/v1/fundingInfo
get_ticker_24hr24hr价格变动情况/fapi/v1/ticker/24hr
get_ticker_price_v1最新价格/fapi/v1/ticker/price
get_ticker_price最新价格V2/fapi/v2/ticker/price
get_ticker_bookTicker当前最优挂单/fapi/v1/ticker/bookTicker
get_openInterest获取未平仓合约数/fapi/v1/openInterest
get_delivery_price季度合约历史结算价/futures/data/delivery-price
get_openInterestHist合约持仓量/futures/data/openInterestHist
get_topLongShortAccountRatio大户账户数多空比/futures/data/topLongShortAccountRatio
get_topLongShortPositionRatio大户持仓量多空比/futures/data/topLongShortPositionRatio
get_globalLongShortAccountRatio多空持仓人数比/futures/data/globalLongShortAccountRatio
get_takerlongshortRatio合约主动买卖量/futures/data/takerlongshortRatio
get_basis基差/futures/data/basis
get_lvtKlines杠杆代币历史净值K线/fapi/v1/lvtKlines
get_indexInfo综合指数交易对信息/fapi/v1/indexInfo
get_assetIndex多资产模式资产汇率指数/fapi/v1/assetIndex
get_constituents查询指数价格成分/fapi/v1/constituents

2. 模型实例化

import datetime
from binance_interface.api import UM
from binance_interface.app.utils import eprint
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
um = UM(proxy_host=proxy_host
)
market = um.market

3. U本位合约实时行情

3.1 当前最优挂单 get_ticker_bookTicker

# 现货全部产品
bookTicker_result = market.get_ticker_bookTicker()
eprint(bookTicker_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'BTCUSDT',
>>>            'bidPrice': '40158.10',
>>>            'bidQty': '1.750',
>>>            'askPrice': '40158.20',
>>>            'askQty': '7.586',
>>>            '...': '......'},
>>>           {'symbol': 'ETHUSDT',
>>>            'bidPrice': '2222.27',
>>>            'bidQty': '5.638',
>>>            'askPrice': '2222.28',
>>>            'askQty': '27.227',
>>>            '...': '......'},
>>>           {'symbol': 'BCHUSDT',
>>>            'bidPrice': '235.89',
>>>            'bidQty': '1.539',
>>>            'askPrice': '235.90',
>>>            'askQty': '4.531',
>>>            '...': '......'},
>>>           {'symbol': 'XRPUSDT',
>>>            'bidPrice': '0.5139',
>>>            'bidQty': '22041.0',
>>>            'askPrice': '0.5140',
>>>            'askQty': '101329.3',
>>>            '...': '......'},
>>>           {'symbol': 'EOSUSDT',
>>>            'bidPrice': '0.690',
>>>            'bidQty': '162800.4',
>>>            'askPrice': '0.691',
>>>            'askQty': '116329.8',
>>>            '...': '......'},
>>>           '......'],
>>>  'msg': ''}
# 现货单个交易对
bookTicker_result = market.get_ticker_bookTicker(symbol='BTCUSDT')
eprint(bookTicker_result)

输出:

>>> {'code': 200,
>>>  'data': {'symbol': 'BTCUSDT',
>>>           'bidPrice': '40148.30',
>>>           'bidQty': '0.808',
>>>           'askPrice': '40148.40',
>>>           'askQty': '5.244',
>>>           'time': 1706245394375,
>>>           'lastUpdateId': 3888877129825},
>>>  'msg': ''}

3.2 最新价格 get_ticker_price

# 现货全部产品
price_result = market.get_ticker_price()
eprint(price_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'NEARUSDT', 'price': '2.7580', 'time': 1706245389313},
>>>           {'symbol': '1000SATSUSDT', 'price': '0.0004072', 'time': 1706245399913},
>>>           {'symbol': 'UMAUSDT', 'price': '5.321000', 'time': 1706245400559},
>>>           {'symbol': 'GALAUSDT', 'price': '0.02223', 'time': 1706245396551},
>>>           {'symbol': 'MINAUSDT', 'price': '1.0101000', 'time': 1706245396476},
>>>           '......'],
>>>  'msg': ''}
# 现货单个产品
price_result = market.get_ticker_price(symbol='BTCUSDT')
eprint(price_result)

输出:

>>> {'code': 200, 'data': {'symbol': 'BTCUSDT', 'price': '40146.70', 'time': 1706245405158}, 'msg': ''}

3.3 24hr价格变动情况 get_ticker_24hr

# 现货全部产品
hr24_result = market.get_ticker_24hr()
eprint(hr24_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'ATAUSDT',
>>>            'priceChange': '0.0020',
>>>            'priceChangePercent': '2.389',
>>>            'weightedAvgPrice': '0.0843',
>>>            'lastPrice': '0.0857',
>>>            '...': '......'},
>>>           {'symbol': 'XMRUSDT',
>>>            'priceChange': '6.70',
>>>            'priceChangePercent': '4.404',
>>>            'weightedAvgPrice': '156.27',
>>>            'lastPrice': '158.82',
>>>            '...': '......'},
>>>           {'symbol': 'BLUEBIRDUSDT',
>>>            'priceChange': '0.10800',
>>>            'priceChangePercent': '1.381',
>>>            'weightedAvgPrice': '7.88532',
>>>            'lastPrice': '7.92700',
>>>            '...': '......'},
>>>           {'symbol': 'POLYXUSDT',
>>>            'priceChange': '0.0028000',
>>>            'priceChangePercent': '1.808',
>>>            'weightedAvgPrice': '0.1557668',
>>>            'lastPrice': '0.1577000',
>>>            '...': '......'},
>>>           {'symbol': 'ATOMUSDT',
>>>            'priceChange': '0.142',
>>>            'priceChangePercent': '1.546',
>>>            'weightedAvgPrice': '9.205',
>>>            'lastPrice': '9.327',
>>>            '...': '......'},
>>>           '......'],
>>>  'msg': ''}
# 现货单个产品
hr24_result = market.get_ticker_24hr(symbol='BTCUSDT')
eprint(hr24_result)

输出:

>>> {'code': 200,
>>>  'data': {'symbol': 'BTCUSDT',
>>>           'priceChange': '253.80',
>>>           'priceChangePercent': '0.636',
>>>           'weightedAvgPrice': '39934.69',
>>>           'lastPrice': '40148.20',
>>>           'lastQty': '0.022',
>>>           'openPrice': '39894.40',
>>>           'highPrice': '40300.00',
>>>           'lowPrice': '39535.30',
>>>           'volume': '209588.044',
>>>           'quoteVolume': '8369834245.01',
>>>           'openTime': 1706158980000,
>>>           'closeTime': 1706245408978,
>>>           'firstId': 4527594884,
>>>           'lastId': 4530284646,
>>>           'count': 2689755},
>>>  'msg': ''}

4. 历史K线 get_klines

# 测试时间
startDatetime = '2023-01-01 00:00:00'
endDatetime = '2023-01-01 00:05:00'
startTime = int(datetime.datetime.strptime(startDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)
endTime = int(datetime.datetime.strptime(endDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)print(startDatetime, startTime)
print(endDatetime, endTime)

输出:

>>> 2023-01-01 00:00:00 1672502400000
>>> 2023-01-01 00:05:00 1672502700000
# 仅给定终止时间
kline_result = market.get_klines(symbol='BTCUSDT', interval='1m', endTime=endTime, limit=2)
eprint(kline_result)

输出:

>>> {'code': 200,
>>>  'data': [[1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>>           [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>>  'msg': ''}
# 仅给定起始和终止时间
kline_result = market.get_klines(symbol='BTCUSDT',interval='1m',startTime=startTime,  # 包括startTimeendTime=endTime,  # 包括endTime
)
eprint(kline_result)

输出:

>>> {'code': 200,
>>>  'data': [[1672502400000, '16586.10', '16591.20', '16586.00', '16591.10', '......'],
>>>           [1672502460000, '16591.10', '16591.50', '16590.80', '16590.90', '......'],
>>>           [1672502520000, '16590.80', '16591.70', '16590.80', '16591.70', '......'],
>>>           [1672502580000, '16591.60', '16591.70', '16587.90', '16587.90', '......'],
>>>           [1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>>           [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>>  'msg': ''}

5. 深度信息 get_depth

depth_result = market.get_depth(symbol='BTCUSDT', limit=5)
eprint(depth_result)

输出:

>>> {'code': 200,
>>>  'data': {'lastUpdateId': 3888878453883,
>>>           'E': 1706245426397,
>>>           'T': 1706245426390,
>>>           'bids': [['40152.50', '0.131'],
>>>                    ['40152.40', '0.008'],
>>>                    ['40152.20', '0.005'],
>>>                    ['40152.10', '0.013'],
>>>                    ['40151.90', '0.038']],
>>>           'asks': [['40152.60', '3.099'],
>>>                    ['40152.70', '0.008'],
>>>                    ['40152.80', '0.008'],
>>>                    ['40152.90', '0.005'],
>>>                    ['40153.00', '0.005']]},
>>>  'msg': ''}

6. 成交查询

6.1 近期成交列表 get_trades

trades_result = market.get_trades(symbol='BTCUSDT', limit=5)
eprint(trades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'id': 4530285100,
>>>            'price': '40151.90',
>>>            'qty': '0.003',
>>>            'quoteQty': '120.45',
>>>            'time': 1706245427482,
>>>            '...': '......'},
>>>           {'id': 4530285101,
>>>            'price': '40151.70',
>>>            'qty': '0.003',
>>>            'quoteQty': '120.45',
>>>            'time': 1706245427482,
>>>            '...': '......'},
>>>           {'id': 4530285102,
>>>            'price': '40151.60',
>>>            'qty': '0.005',
>>>            'quoteQty': '200.75',
>>>            'time': 1706245427482,
>>>            '...': '......'},
>>>           {'id': 4530285103,
>>>            'price': '40151.50',
>>>            'qty': '0.002',
>>>            'quoteQty': '80.30',
>>>            'time': 1706245427482,
>>>            '...': '......'},
>>>           {'id': 4530285104,
>>>            'price': '40151.20',
>>>            'qty': '0.026',
>>>            'quoteQty': '1043.93',
>>>            'time': 1706245428266,
>>>            '...': '......'}],
>>>  'msg': ''}

6.2 查询历史成交 get_historicalTrades

historicalTrades_result = market.get_historicalTrades(symbol='BTCUSDT', limit=5)  # 这个接口需要key
eprint(historicalTrades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'id': 4530285131,
>>>            'price': '40151.30',
>>>            'qty': '0.004',
>>>            'quoteQty': '160.60',
>>>            'time': 1706245430957,
>>>            '...': '......'},
>>>           {'id': 4530285132,
>>>            'price': '40151.30',
>>>            'qty': '0.003',
>>>            'quoteQty': '120.45',
>>>            'time': 1706245431264,
>>>            '...': '......'},
>>>           {'id': 4530285133,
>>>            'price': '40151.20',
>>>            'qty': '0.007',
>>>            'quoteQty': '281.05',
>>>            'time': 1706245431698,
>>>            '...': '......'},
>>>           {'id': 4530285134,
>>>            'price': '40151.20',
>>>            'qty': '0.006',
>>>            'quoteQty': '240.90',
>>>            'time': 1706245431698,
>>>            '...': '......'},
>>>           {'id': 4530285135,
>>>            'price': '40151.20',
>>>            'qty': '0.110',
>>>            'quoteQty': '4416.63',
>>>            'time': 1706245431698,
>>>            '...': '......'}],
>>>  'msg': ''}

6.3 近期成交(归集) get_aggTrades

aggTrades_result = market.get_aggTrades(symbol='BTCUSDT', limit=5)
eprint(aggTrades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'a': 2000008269, 'p': '40151.20', 'q': '0.003', 'f': 4530285152, 'l': 4530285152, '...': '......'},
>>>           {'a': 2000008270, 'p': '40151.20', 'q': '0.422', 'f': 4530285153, 'l': 4530285176, '...': '......'},
>>>           {'a': 2000008271, 'p': '40151.10', 'q': '0.008', 'f': 4530285177, 'l': 4530285178, '...': '......'},
>>>           {'a': 2000008272, 'p': '40151.00', 'q': '0.005', 'f': 4530285179, 'l': 4530285179, '...': '......'},
>>>           {'a': 2000008273, 'p': '40150.90', 'q': '0.005', 'f': 4530285180, 'l': 4530285180, '...': '......'}],
>>>  'msg': ''}

7. 交易规范信息 get_exchangeInfo

exchangeInfo_result = market.get_exchangeInfo()
eprint(exchangeInfo_result)

输出:

>>> {'code': 200,
>>>  'data': {'timezone': 'UTC',
>>>           'serverTime': 1706241611125,
>>>           'futuresType': 'U_MARGINED',
>>>           'rateLimits': [{'rateLimitType': 'REQUEST_WEIGHT', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 2400},
>>>                          {'rateLimitType': 'ORDERS', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 1200},
>>>                          {'rateLimitType': 'ORDERS', 'interval': 'SECOND', 'intervalNum': 10, 'limit': 300}],
>>>           'exchangeFilters': [],
>>>           'assets': [{'asset': 'USDT', 'marginAvailable': True, 'autoAssetExchange': '-10000'},
>>>                      {'asset': 'BTC', 'marginAvailable': True, 'autoAssetExchange': '-0.10000000'},
>>>                      {'asset': 'BNB', 'marginAvailable': True, 'autoAssetExchange': '-10'},
>>>                      {'asset': 'ETH', 'marginAvailable': True, 'autoAssetExchange': '-5'},
>>>                      {'asset': 'XRP', 'marginAvailable': True, 'autoAssetExchange': '0'},
>>>                      '......'],
>>>           'symbols': [{'symbol': 'BTCUSDT',
>>>                        'pair': 'BTCUSDT',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1569398400000,
>>>                        '...': '......'},
>>>                       {'symbol': 'ETHUSDT',
>>>                        'pair': 'ETHUSDT',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1569398400000,
>>>                        '...': '......'},
>>>                       {'symbol': 'BCHUSDT',
>>>                        'pair': 'BCHUSDT',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1569398400000,
>>>                        '...': '......'},
>>>                       {'symbol': 'XRPUSDT',
>>>                        'pair': 'XRPUSDT',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1569398400000,
>>>                        '...': '......'},
>>>                       {'symbol': 'EOSUSDT',
>>>                        'pair': 'EOSUSDT',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1569398400000,
>>>                        '...': '......'},
>>>                       '......']},
>>>  'msg': ''}

相关文章:

1.4 Binance_interface API U本位合约行情

Binance_interface API U本位合约行情 Github地址PyTed量化交易研究院 1. API U本位合约行情接口总览 方法解释Pathget_ping测试服务器连通性 PING/fapi/v1/pingget_time获取服务器时间/fapi/v1/timeget_exchangeInfo获取交易规则和交易对/fapi/v1/exchangeInfoget_depth深度…...

单片机学习笔记---AT24C02(I2C总线)

目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…...

c++恶魔轮盘制造第1期输赢

小常识&#xff0c;恶魔叫DEALER。 赢了很简单 void sheng() { cout<<"你获胜了&#xff01;";MessageBox(NULL,TEXT("你的钱~~~~~~给你"),TEXT("DEALER"),MB_OK);system("pause");system("cls"); } 输了我用了个选…...

60-JS-Ajax

ajax取数据的一种手段,局部刷新,例如弹幕 1.ajax的使用,创建ajax对象,发起对服务器请求 2.核心对象XMLHttpRequest对象(简称XHR) CSS:Cascading Style Sheets(层叠样式表) HTML:Hypertext Markup Language(超文本标记语言) 3.发起对服务器的请求 浏览器方式请求:打…...

C# Avalonia 折线图

线图开发在C# Avalonia框架中可以通过多种方式实现。由于Avalonia旨在成为跨平台的UI框架&#xff0c;您可以利用多种库和方法来绘制折线图。以下是一个简单的例子&#xff0c;展示了如何在Avalonia应用程序中创建一个基本的折线图。 首先&#xff0c;您需要在Avalonia项目中包…...

Vue3中Setup概述和使用(三)

一、引入Setup 1、Person.Vue 与Vue3编写简单的App组件(二) 中的区别是&#xff1a;取消data、methods等方法,而是将数据和方法定义全部放进setup中。 <template><div class"person"><h1>姓名:{{name}}</h1><h1>年龄:{{age}}</h…...

hexo 博客搭建以及踩雷总结

搭建时的坑 文章置顶 安装一下这个依赖 npm install hexo-generator-topindex --save然后再文章的上面设置 top: number&#xff0c;数字越大&#xff0c;权重越大&#xff0c;也就是越靠顶部 hexo 每次推送 nginx 都访问不到 宝塔自带的 nginx 的 config 里默认的角色是 …...

WordPress后台编辑个人资料页面直接修改用户名插件Change Username

前面跟大家介绍了『如何修改WordPress后台管理员用户名&#xff1f;推荐2种简单方法』一文&#xff0c;但是对于新站长或者有很多用户的站长来说&#xff0c;操作有点复杂&#xff0c;所以今天向大家推荐一款可以直接在WordPress后台编辑个人&#xff08;用户&#xff09;资料页…...

ssm+vue的医药垃圾分类管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的医药垃圾分类管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…...

LLM大模型基本概念,及其相关问题汇总(1)

什么是涌现&#xff1f;为什么会出现涌现&#xff1f; "大模型的涌现能力"这个概念可能是指大型神经网络模型在某些任务上表现出的出乎意料的能力&#xff0c;超出了人们的预期。出现的原因从结论上来看&#xff0c;是模型不够好&#xff0c;导致的原因主要是&#…...

【已解决】pt文件转onnx后再转rknn时得到推理图片出现大量锚框变花屏

前言 环境介绍&#xff1a; 1.编译环境 Ubuntu 18.04.5 LTS 2.RKNN版本 py3.8-rknn2-1.4.0 3.单板 迅为itop-3568开发板 一、现象 采用yolov5训练并将pt转换为onnx&#xff0c;再将onnx采用py3.8-rknn2-1.4.0推理转换为rknn&#xff0c;rknn模型能正常转换&#xff0c;…...

DevOps文章之 操作手册用户使用说明书

前言 最近主导了几个项目操作手册的编写。有新开发的项目&#xff0c;要重新编写操作手册&#xff1b;有中途接手别的项目&#xff0c;后来功能迭代&#xff0c;需要更新原操作手册&#xff1b;有客户对操作手册有意见&#xff0c;需要调整&#xff1b;零零散散写了数万字的手…...

【RT-DETR进阶实战】利用RT-DETR进行视频划定区域目标统计计数

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 Hello,各位读者,最近会给大家发一些进阶实战的讲解,如何利用RT-DETR现有的一些功能进行一些实战, 让我们不仅会改进RT-DETR,也能够利用RT-DETR去做一些简单的小工作,后面我也会将这些功能利用PyQt或者是…...

2.11学习总结

有效点对https://www.acwing.com/problem/content/description/5472/ 给定一个 n&#xfffd; 个节点的无向树&#xff0c;节点编号 1∼n1∼&#xfffd;。 树上有两个不同的特殊点 x,y&#xfffd;,&#xfffd;&#xff0c;对于树中的每一个点对 (u,v)(u≠v)(&#xfffd;,…...

以谷歌浏览器为例 讲述 JavaScript 断点调试操作用法

今天来说个比较实用的东西 用浏览器开发者工具 对 javaScript代码进行调试 我们先创建一个index.html 编写代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…...

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}

Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令&#xff0c;也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…...

Unity2D 学习笔记 0.Unity需要记住的常用知识

Unity2D 学习笔记 0.Unity需要记住的常用知识 前言调整Project SettingTilemap相关&#xff08;创建地图块&#xff09;C#脚本相关程序运行函数private void Awake()void Start()void Update() Collider2D碰撞检测private void OnTriggerStay2D(Collider2D player)private void…...

vue3-应用规模化-单文件组件

单文件组件概念 Vue 的单文件组件 (即 *.vue 文件&#xff0c;英文 Single-File Component&#xff0c;简称 SFC) 是一种特殊的文件格式&#xff0c;使我们能够将一个 Vue 组件的模板、逻辑与样式封装在单个文件中。下面是一个单文件组件的示例&#xff1a; <script setup…...

Redis -- 渐进式遍历

家&#xff0c;是心的方向。不论走多远&#xff0c;总有一盏灯为你留着。桌上的碗筷多了几双&#xff0c;笑声也多了几分温暖。家人团聚&#xff0c;是最美的风景线。时间&#xff1a;2024年 2月 8日 12:51:20 目录 前言 语法 示例 前言 试想一个场景,那就是在key非常多的…...

使用 C++23 从零实现 RISC-V 模拟器(3):指令解析

指令解析 这章内容进一解析更多的指令&#xff0c;此外将解析指令的过程拆分为一个单独的类&#xff0c;采用表格驱动的方式&#xff0c;将数据和逻辑分离&#xff0c;降低了 if else 嵌套层数过多。 这部分依旧改动不多&#xff0c;只增加了七个指令。此外代码中细碎的变动没…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...