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

【QT】QT中http协议和json数据的解析-http获取天气预报

QT中http协议和json数据的解析

  • 1.http协议的原理
  • 2.QT中http协议的通信流程
    • 2.1 方法步骤
  • 3.使用http协议(通过http下载图片和获取天气预报信息)
    • 3.1 http下载网络上的图片(下载小文件)
      • 3.1.1 示例代码
      • 3.1.2 现象
    • 3.2 获取网络上天气预报
      • 3.2.1 免费的天气预报接口:
  • 4.json数据的构成
  • 5.如何解析json数据
    • 5.1 示例代码:(代码为获取网络上的天气预报)
    • 5.2 现象
  • 附件:以下是天气预报json数据获取中使用的城市代码:

1.http协议的原理

本质上http是属于应用层的通信协议,底层使用的就是tcp协议

2.QT中http协议的通信流程

2.1 方法步骤

涉及到三个类:QNetworkRequest --》 http请求QNetworkAccessManager --》管理http请求(发送http请求)QNetworkReply --》http应答
第一步:创建一个http请求 QNetworkRequest::QNetworkRequest(const QUrl &url = QUrl())参数:url --》表示网址QUrl::QUrl(const QString &url)参数:url --》要访问的网址
第二步:创建QNetworkAccessManager的对象,该对象发送刚才的请求//http中有两种常见的请求方法,分别是get/postQNetworkReply *QNetworkAccessManager::get(const QNetworkRequest &request)参数:request --》要发送的请求[signal] void QNetworkAccessManager::finished(QNetworkReply *reply)注意:如果请求成功,服务器(网址)会自动回复应答信息,程序员需要关联finished信号,在槽函数里面接收应答信息即可
第三步:在第二步定义的槽函数里面接收应答信息QByteArray QNetworkReply::readAll()

图示:
在这里插入图片描述

3.使用http协议(通过http下载图片和获取天气预报信息)

https和http的区别
https使用了算法安全加密

3.1 http下载网络上的图片(下载小文件)

注意:在l浏览器中下载图片时,开源右键复制图片的地址,填入时需要把https改成http

直接一次性读取服务器返回的应答信息
QPixmap map;
map.loadFromData(buf是读取的应答信息);

3.1.1 示例代码

// widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
#include <QNetworkReply>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();void recvReply(QNetworkReply *reply);private:Ui::Widget *ui;QNetworkAccessManager *httpManager;
};
#endif // WIDGET_H// widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 初始化httpManager = new QNetworkAccessManager(this);// 主动关联finished信号connect(httpManager, &QNetworkAccessManager::finished, this, &Widget::recvReply);
}Widget::~Widget()
{delete ui;
}//下载图片
void Widget::on_pushButton_clicked()
{// 获取输入框中输入的图片地址QString picURL= ui->lineEdit->text();// 依据图片地址构建一个QUrl对象QUrl url(picURL);// 创建请求对象QNetworkRequest picRequest(url);//发送请求httpManager->get(picRequest);
}void Widget::recvReply(QNetworkReply *reply)
{//读取http服务器回复的应答信息//由于我这个例子是来下载网络上的图片:因此服务器回复给我就是图片数据QByteArray replyPicData = reply->readAll();//在标签上显示图片//方法1:依据图片的路径名来构造QPixmap类的对象//方法2:依据图片的原始数据来构造QPixmap类的对象(目前例子使用)QPixmap pixmap;pixmap.loadFromData(replyPicData); // 依据图片的原始数据(二进制数据)来构造QPixmap类的对象
//    pixmap.scaled(ui->label->width(), ui->label->height()); //调整图片大小ui->label->setScaledContents(true); // 允许 QLabel 自动缩放内容ui->label->setPixmap(pixmap); // 显示图像
}

3.1.2 现象

请添加图片描述

3.2 获取网络上天气预报

3.2.1 免费的天气预报接口:

网址:https://www.sojson.com/api/weather.html
打开网站后界面如下:
在这里插入图片描述当需要获取某个城市天气数据json时候,需要传入一个城市代码编码作为入参,
地址: http://t.weather.itboy.net/api/weather/city/xxxxx ,其中xxxxx即为城市代码(城市代码见后面附件)。

  • 例如获取广州天气:http://t.weather.itboy.net/api/weather/city/101280101

浏览器获取的天气数据:(也可勾选优质打印,输出为排版好的json格式)
在这里插入图片描述
在这里插入图片描述
或者通过json在线解析工具将其解析为json格式的数据:
json在线解析工具网址:https://www.jyshare.com/front-end/53/

在这里插入图片描述

  • 例如获取上海天气:http://t.weather.itboy.net/api/weather/city/101020100
    在这里插入图片描述

4.json数据的构成

json数据:一种数据格式,在计算机前端开发中经常使用这个格式的数据,保存信息很方便
json数据只能由数组,对象,键值对三种构成
\quad 对象:用{}来表示,可以嵌套 {键值对}
\quad 数组:用[]来表示,数组里面只能存放相同类型的数据 [1,2,3] [{},{},{}] [键值对,键值对,键值对]
\quad 键值对:用键:值表示, 键只能是字符串,值可以是任意合法类型

5.如何解析json数据

json数据在解析之前,程序员必须要提前知道json数据的构成,否则无法解析
QT提供了如下几个类帮助解析json数据:QJsonDocument --》把json数据标准化存储QJsonObject   --》对象QJsonArray    --》数组QJsonValue    --》值QJsonParseError --》保存出错信息
解析json数据的一般思路:
第一步:把json数据标准化存储[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = Q_NULLPTR)返回值:QJsonDocument对象存放标准化之后的json数据参数:json --》要存储的原始json数据error --》存放出错信息
第二步:严格按照你看到的json数据的结构一步步解析json数据(从整体到局部,一层层剥洋葱)QJsonObject QJsonDocument::object() const   //获取json数据中的对象QJsonArray QJsonDocument::array() const     //获取json数据中的数组QJsonValue QJsonObject::value(const QString &key) const  //通过键得到对应的值QJsonValue QJsonArray::at(int i) const           //获取数组中的下标元素返回值:跟键对应的值参数:key --》键QJsonObject QJsonValue::toObject() const   //把键值对中的值进行转换,转换成对象总结:QJsonValue类中提供了大量的toxxxxx()方法,原因是键值对中的值可以是任意合法的数据类型,需要我们去转换        

5.1 示例代码:(代码为获取网络上的天气预报)

// widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
#include <QNetworkReply>
// json相关
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonValue>
#include <QJsonParseError>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();void recvReply(QNetworkReply *reply);private:Ui::Widget *ui;QNetworkAccessManager *httpManager;
};
#endif // WIDGET_H// widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 初始化httpManager = new QNetworkAccessManager(this);// 主动关联finished信号,如果应答成功会回复应答消息,在槽函数中进行接收connect(httpManager, &QNetworkAccessManager::finished, this, &Widget::recvReply);
}Widget::~Widget()
{delete ui;
}//获取天气预报
void Widget::on_pushButton_clicked()
{// 获取输入框中输入的天气预报地址// 例如获取广州的天气:http://t.weather.itboy.net/api/weather/city/101280101QString picURL= ui->lineEdit->text();// 依据天气预报地址构建一个QUrl对象QUrl url(picURL);// 创建请求对象QNetworkRequest picRequest(url);//发送输入框中对应天气预报地址的请求httpManager->get(picRequest);
}void Widget::recvReply(QNetworkReply *reply)
{//读取http服务器回复的应答信息//由于现在获取天气预报信息,因此回复给我的应答信息replyPicData里面就是天气预报信息QByteArray replyWeatherData = reply->readAll();// 在文本编辑框中显示回复的天气预报信息ui->textEdit->setText(replyWeatherData);// 第一步:把json数据标准化存储,也就是解析为json数据QJsonDocument doc = QJsonDocument::fromJson(replyWeatherData);//第二步:严格按照看到的json数据的结构一步步解析json数据(从整体到局部)//1.最外层是对象,获取这个对象里面的内容QJsonObject obj1 = doc.object();//2.获取obj1中键 data 对应的值QJsonValue val1 = obj1.value("data");// 3.val1是个对象,需要把QJsonValue val1转换成对象--》才可以调用QJsonObject类的方法QJsonObject obj2 = val1.toObject();// 4.把obj2里面的键forecast对应的值得到QJsonValue val2 = obj2.value("forecast");// 5.val2是个数组,把QJsonValue转换成数组--》才可以调用QJsonArray类的方法QJsonArray array = val2.toArray();// 6.得到数组下标为1的那个元素(其实也是个对象)QJsonValue val3 = array.at(1);// 7.val3是个对象,需要把QJsonValue转换成对象--》才可以调用QJsonObject类的方法QJsonObject obj3 = val3.toObject();// 8.把obj3里面的键high对应的值得到QJsonValue val4 = obj3.value("high");qDebug() << "high的值是:" << val4.toString();
}

5.2 现象

在这里插入图片描述
请添加图片描述

附件:以下是天气预报json数据获取中使用的城市代码:

{"城市代码": [{"省": "北京","市": [{"市名": "北京","编码": "101010100"},{"市名": "朝阳","编码": "101010300"},{"市名": "顺义","编码": "101010400"},{"市名": "怀柔","编码": "101010500"},{"市名": "通州","编码": "101010600"},{"市名": "昌平","编码": "101010700"},{"市名": "延庆","编码": "101010800"},{"市名": "丰台","编码": "101010900"},{"市名": "石景山","编码": "101011000"},{"市名": "大兴","编码": "101011100"},{"市名": "房山","编码": "101011200"},{"市名": "密云","编码": "101011300"},{"市名": "门头沟","编码": "101011400"},{"市名": "平谷","编码": "101011500"},{"市名": "八达岭","编码": "101011600"},{"市名": "佛爷顶","编码": "101011700"},{"市名": "汤河口","编码": "101011800"},{"市名": "密云上甸子","编码": "101011900"},{"市名": "斋堂","编码": "101012000"},{"市名": "霞云岭","编码": "101012100"},{"市名": "北京城区","编码": "101012200"},{"市名": "海淀","编码": "101010200"}]},{"省": "天津市","市": [{"市名": "天津","编码": "101030100"},{"市名": "宝坻","编码": "101030300"},{"市名": "东丽","编码": "101030400"},{"市名": "西青","编码": "101030500"},{"市名": "北辰","编码": "101030600"},{"市名": "蓟县","编码": "101031400"},{"市名": "汉沽","编码": "101030800"},{"市名": "静海","编码": "101030900"},{"市名": "津南","编码": "101031000"},{"市名": "塘沽","编码": "101031100"},{"市名": "大港","编码": "101031200"},{"市名": "武清","编码": "101030200"},{"市名": "宁河","编码": "101030700"}]},{"省": "上海","市": [{"市名": "上海","编码": "101020100"},{"市名": "宝山","编码": "101020300"},{"市名": "嘉定","编码": "101020500"},{"市名": "南汇","编码": "101020600"},{"市名": "浦东","编码": "101021300"},{"市名": "青浦","编码": "101020800"},{"市名": "松江","编码": "101020900"},{"市名": "奉贤","编码": "101021000"},{"市名": "崇明","编码": "101021100"},{"市名": "徐家汇","编码": "101021200"},{"市名": "闵行","编码": "101020200"},{"市名": "金山","编码": "101020700"}]},{"省": "河北","市": [{"市名": "石家庄","编码": "101090101"},{"市名": "张家口","编码": "101090301"},{"市名": "承德","编码": "101090402"},{"市名": "唐山","编码": "101090501"},{"市名": "秦皇岛","编码": "101091101"},{"市名": "沧州","编码": "101090701"},{"市名": "衡水","编码": "101090801"},{"市名": "邢台","编码": "101090901"},{"市名": "邯郸","编码": "101091001"},{"市名": "保定","编码": "101090201"},{"市名": "廊坊","编码": "101090601"}]},{"省": "河南","市": [{"市名": "郑州","编码": "101180101"},{"市名": "新乡","编码": "101180301"},{"市名": "许昌","编码": "101180401"},{"市名": "平顶山","编码": "101180501"},{"市名": "信阳","编码": "101180601"},{"市名": "南阳","编码": "101180701"},{"市名": "开封","编码": "101180801"},{"市名": "洛阳","编码": "101180901"},{"市名": "商丘","编码": "101181001"},{"市名": "焦作","编码": "101181101"},{"市名": "鹤壁","编码": "101181201"},{"市名": "濮阳","编码": "101181301"},{"市名": "周口","编码": "101181401"},{"市名": "漯河","编码": "101181501"},{"市名": "驻马店","编码": "101181601"},{"市名": "三门峡","编码": "101181701"},{"市名": "济源","编码": "101181801"},{"市名": "安阳","编码": "101180201"}]},{"省": "安徽","市": [{"市名": "合肥","编码": "101220101"},{"市名": "芜湖","编码": "101220301"},{"市名": "淮南","编码": "101220401"},{"市名": "马鞍山","编码": "101220501"},{"市名": "安庆","编码": "101220601"},{"市名": "宿州","编码": "101220701"},{"市名": "阜阳","编码": "101220801"},{"市名": "亳州","编码": "101220901"},{"市名": "黄山","编码": "101221001"},{"市名": "滁州","编码": "101221101"},{"市名": "淮北","编码": "101221201"},{"市名": "铜陵","编码": "101221301"},{"市名": "宣城","编码": "101221401"},{"市名": "六安","编码": "101221501"},{"市名": "巢湖","编码": "101221601"},{"市名": "池州","编码": "101221701"},{"市名": "蚌埠","编码": "101220201"}]},{"省": "浙江","市": [{"市名": "杭州","编码": "101210101"},{"市名": "舟山","编码": "101211101"},{"市名": "湖州","编码": "101210201"},{"市名": "嘉兴","编码": "101210301"},{"市名": "金华","编码": "101210901"},{"市名": "绍兴","编码": "101210501"},{"市名": "台州","编码": "101210601"},{"市名": "温州","编码": "101210701"},{"市名": "丽水","编码": "101210801"},{"市名": "衢州","编码": "101211001"},{"市名": "宁波","编码": "101210401"}]},{"省": "重庆","市": [{"市名": "重庆","编码": "101040100"},{"市名": "合川","编码": "101040300"},{"市名": "南川","编码": "101040400"},{"市名": "江津","编码": "101040500"},{"市名": "万盛","编码": "101040600"},{"市名": "渝北","编码": "101040700"},{"市名": "北碚","编码": "101040800"},{"市名": "巴南","编码": "101040900"},{"市名": "长寿","编码": "101041000"},{"市名": "黔江","编码": "101041100"},{"市名": "万州天城","编码": "101041200"},{"市名": "万州龙宝","编码": "101041300"},{"市名": "涪陵","编码": "101041400"},{"市名": "开县","编码": "101041500"},{"市名": "城口","编码": "101041600"},{"市名": "云阳","编码": "101041700"},{"市名": "巫溪","编码": "101041800"},{"市名": "奉节","编码": "101041900"},{"市名": "巫山","编码": "101042000"},{"市名": "潼南","编码": "101042100"},{"市名": "垫江","编码": "101042200"},{"市名": "梁平","编码": "101042300"},{"市名": "忠县","编码": "101042400"},{"市名": "石柱","编码": "101042500"},{"市名": "大足","编码": "101042600"},{"市名": "荣昌","编码": "101042700"},{"市名": "铜梁","编码": "101042800"},{"市名": "璧山","编码": "101042900"},{"市名": "丰都","编码": "101043000"},{"市名": "武隆","编码": "101043100"},{"市名": "彭水","编码": "101043200"},{"市名": "綦江","编码": "101043300"},{"市名": "酉阳","编码": "101043400"},{"市名": "秀山","编码": "101043600"},{"市名": "沙坪坝","编码": "101043700"},{"市名": "永川","编码": "101040200"}]},{"省": "福建","市": [{"市名": "福州","编码": "101230101"},{"市名": "泉州","编码": "101230501"},{"市名": "漳州","编码": "101230601"},{"市名": "龙岩","编码": "101230701"},{"市名": "晋江","编码": "101230509"},{"市名": "南平","编码": "101230901"},{"市名": "厦门","编码": "101230201"},{"市名": "宁德","编码": "101230301"},{"市名": "莆田","编码": "101230401"},{"市名": "三明","编码": "101230801"}]},{"省": "甘肃","市": [{"市名": "兰州","编码": "101160101"},{"市名": "平凉","编码": "101160301"},{"市名": "庆阳","编码": "101160401"},{"市名": "武威","编码": "101160501"},{"市名": "金昌","编码": "101160601"},{"市名": "嘉峪关","编码": "101161401"},{"市名": "酒泉","编码": "101160801"},{"市名": "天水","编码": "101160901"},{"市名": "武都","编码": "101161001"},{"市名": "临夏","编码": "101161101"},{"市名": "合作","编码": "101161201"},{"市名": "白银","编码": "101161301"},{"市名": "定西","编码": "101160201"},{"市名": "张掖","编码": "101160701"}]},{"省": "广东","市": [{"市名": "广州","编码": "101280101"},{"市名": "惠州","编码": "101280301"},{"市名": "梅州","编码": "101280401"},{"市名": "汕头","编码": "101280501"},{"市名": "深圳","编码": "101280601"},{"市名": "珠海","编码": "101280701"},{"市名": "佛山","编码": "101280800"},{"市名": "肇庆","编码": "101280901"},{"市名": "湛江","编码": "101281001"},{"市名": "江门","编码": "101281101"},{"市名": "河源","编码": "101281201"},{"市名": "清远","编码": "101281301"},{"市名": "云浮","编码": "101281401"},{"市名": "潮州","编码": "101281501"},{"市名": "东莞","编码": "101281601"},{"市名": "中山","编码": "101281701"},{"市名": "阳江","编码": "101281801"},{"市名": "揭阳","编码": "101281901"},{"市名": "茂名","编码": "101282001"},{"市名": "汕尾","编码": "101282101"},{"市名": "韶关","编码": "101280201"}]},{"省": "广西","市": [{"市名": "南宁","编码": "101300101"},{"市名": "柳州","编码": "101300301"},{"市名": "来宾","编码": "101300401"},{"市名": "桂林","编码": "101300501"},{"市名": "梧州","编码": "101300601"},{"市名": "防城港","编码": "101301401"},{"市名": "贵港","编码": "101300801"},{"市名": "玉林","编码": "101300901"},{"市名": "百色","编码": "101301001"},{"市名": "钦州","编码": "101301101"},{"市名": "河池","编码": "101301201"},{"市名": "北海","编码": "101301301"},{"市名": "崇左","编码": "101300201"},{"市名": "贺州","编码": "101300701"}]},{"省": "贵州","市": [{"市名": "贵阳","编码": "101260101"},{"市名": "安顺","编码": "101260301"},{"市名": "都匀","编码": "101260401"},{"市名": "兴义","编码": "101260906"},{"市名": "铜仁","编码": "101260601"},{"市名": "毕节","编码": "101260701"},{"市名": "六盘水","编码": "101260801"},{"市名": "遵义","编码": "101260201"},{"市名": "凯里","编码": "101260501"}]},{"省": "云南","市": [{"市名": "昆明","编码": "101290101"},{"市名": "红河","编码": "101290301"},{"市名": "文山","编码": "101290601"},{"市名": "玉溪","编码": "101290701"},{"市名": "楚雄","编码": "101290801"},{"市名": "普洱","编码": "101290901"},{"市名": "昭通","编码": "101291001"},{"市名": "临沧","编码": "101291101"},{"市名": "怒江","编码": "101291201"},{"市名": "香格里拉","编码": "101291301"},{"市名": "丽江","编码": "101291401"},{"市名": "德宏","编码": "101291501"},{"市名": "景洪","编码": "101291601"},{"市名": "大理","编码": "101290201"},{"市名": "曲靖","编码": "101290401"},{"市名": "保山","编码": "101290501"}]},{"省": "内蒙古","市": [{"市名": "呼和浩特","编码": "101080101"},{"市名": "乌海","编码": "101080301"},{"市名": "集宁","编码": "101080401"},{"市名": "通辽","编码": "101080501"},{"市名": "阿拉善左旗","编码": "101081201"},{"市名": "鄂尔多斯","编码": "101080701"},{"市名": "临河","编码": "101080801"},{"市名": "锡林浩特","编码": "101080901"},{"市名": "呼伦贝尔","编码": "101081000"},{"市名": "乌兰浩特","编码": "101081101"},{"市名": "包头","编码": "101080201"},{"市名": "赤峰","编码": "101080601"}]},{"省": "江西","市": [{"市名": "南昌","编码": "101240101"},{"市名": "上饶","编码": "101240301"},{"市名": "抚州","编码": "101240401"},{"市名": "宜春","编码": "101240501"},{"市名": "鹰潭","编码": "101241101"},{"市名": "赣州","编码": "101240701"},{"市名": "景德镇","编码": "101240801"},{"市名": "萍乡","编码": "101240901"},{"市名": "新余","编码": "101241001"},{"市名": "九江","编码": "101240201"},{"市名": "吉安","编码": "101240601"}]},{"省": "湖北","市": [{"市名": "武汉","编码": "101200101"},{"市名": "黄冈","编码": "101200501"},{"市名": "荆州","编码": "101200801"},{"市名": "宜昌","编码": "101200901"},{"市名": "恩施","编码": "101201001"},{"市名": "十堰","编码": "101201101"},{"市名": "神农架","编码": "101201201"},{"市名": "随州","编码": "101201301"},{"市名": "荆门","编码": "101201401"},{"市名": "天门","编码": "101201501"},{"市名": "仙桃","编码": "101201601"},{"市名": "潜江","编码": "101201701"},{"市名": "襄樊","编码": "101200201"},{"市名": "鄂州","编码": "101200301"},{"市名": "孝感","编码": "101200401"},{"市名": "黄石","编码": "101200601"},{"市名": "咸宁","编码": "101200701"}]},{"省": "四川","市": [{"市名": "成都","编码": "101270101"},{"市名": "自贡","编码": "101270301"},{"市名": "绵阳","编码": "101270401"},{"市名": "南充","编码": "101270501"},{"市名": "达州","编码": "101270601"},{"市名": "遂宁","编码": "101270701"},{"市名": "广安","编码": "101270801"},{"市名": "巴中","编码": "101270901"},{"市名": "泸州","编码": "101271001"},{"市名": "宜宾","编码": "101271101"},{"市名": "内江","编码": "101271201"},{"市名": "资阳","编码": "101271301"},{"市名": "乐山","编码": "101271401"},{"市名": "眉山","编码": "101271501"},{"市名": "凉山","编码": "101271601"},{"市名": "雅安","编码": "101271701"},{"市名": "甘孜","编码": "101271801"},{"市名": "阿坝","编码": "101271901"},{"市名": "德阳","编码": "101272001"},{"市名": "广元","编码": "101272101"},{"市名": "攀枝花","编码": "101270201"}]},{"省": "宁夏","市": [{"市名": "银川","编码": "101170101"},{"市名": "中卫","编码": "101170501"},{"市名": "固原","编码": "101170401"},{"市名": "石嘴山","编码": "101170201"},{"市名": "吴忠","编码": "101170301"}]},{"省": "青海省","市": [{"市名": "西宁","编码": "101150101"},{"市名": "黄南","编码": "101150301"},{"市名": "海北","编码": "101150801"},{"市名": "果洛","编码": "101150501"},{"市名": "玉树","编码": "101150601"},{"市名": "海西","编码": "101150701"},{"市名": "海东","编码": "101150201"},{"市名": "海南","编码": "101150401"}]},{"省": "山东","市": [{"市名": "济南","编码": "101120101"},{"市名": "潍坊","编码": "101120601"},{"市名": "临沂","编码": "101120901"},{"市名": "菏泽","编码": "101121001"},{"市名": "滨州","编码": "101121101"},{"市名": "东营","编码": "101121201"},{"市名": "威海","编码": "101121301"},{"市名": "枣庄","编码": "101121401"},{"市名": "日照","编码": "101121501"},{"市名": "莱芜","编码": "101121601"},{"市名": "聊城","编码": "101121701"},{"市名": "青岛","编码": "101120201"},{"市名": "淄博","编码": "101120301"},{"市名": "德州","编码": "101120401"},{"市名": "烟台","编码": "101120501"},{"市名": "济宁","编码": "101120701"},{"市名": "泰安","编码": "101120801"}]},{"省": "陕西省","市": [{"市名": "西安","编码": "101110101"},{"市名": "延安","编码": "101110300"},{"市名": "榆林","编码": "101110401"},{"市名": "铜川","编码": "101111001"},{"市名": "商洛","编码": "101110601"},{"市名": "安康","编码": "101110701"},{"市名": "汉中","编码": "101110801"},{"市名": "宝鸡","编码": "101110901"},{"市名": "咸阳","编码": "101110200"},{"市名": "渭南","编码": "101110501"}]},{"省": "山西","市": [{"市名": "太原","编码": "101100101"},{"市名": "临汾","编码": "101100701"},{"市名": "运城","编码": "101100801"},{"市名": "朔州","编码": "101100901"},{"市名": "忻州","编码": "101101001"},{"市名": "长治","编码": "101100501"},{"市名": "大同","编码": "101100201"},{"市名": "阳泉","编码": "101100301"},{"市名": "晋中","编码": "101100401"},{"市名": "晋城","编码": "101100601"},{"市名": "吕梁","编码": "101101100"}]},{"省": "新疆","市": [{"市名": "乌鲁木齐","编码": "101130101"},{"市名": "石河子","编码": "101130301"},{"市名": "昌吉","编码": "101130401"},{"市名": "吐鲁番","编码": "101130501"},{"市名": "库尔勒","编码": "101130601"},{"市名": "阿拉尔","编码": "101130701"},{"市名": "阿克苏","编码": "101130801"},{"市名": "喀什","编码": "101130901"},{"市名": "伊宁","编码": "101131001"},{"市名": "塔城","编码": "101131101"},{"市名": "哈密","编码": "101131201"},{"市名": "和田","编码": "101131301"},{"市名": "阿勒泰","编码": "101131401"},{"市名": "阿图什","编码": "101131501"},{"市名": "博乐","编码": "101131601"},{"市名": "克拉玛依","编码": "101130201"}]},{"省": "西藏","市": [{"市名": "拉萨","编码": "101140101"},{"市名": "山南","编码": "101140301"},{"市名": "阿里","编码": "101140701"},{"市名": "昌都","编码": "101140501"},{"市名": "那曲","编码": "101140601"},{"市名": "日喀则","编码": "101140201"},{"市名": "林芝","编码": "101140401"}]},{"省": "台湾","市": [{"市名": "台北县","编码": "101340101"},{"市名": "高雄","编码": "101340201"},{"市名": "台中","编码": "101340401"}]},{"省": "海南省","市": [{"市名": "海口","编码": "101310101"},{"市名": "三亚","编码": "101310201"},{"市名": "东方","编码": "101310202"},{"市名": "临高","编码": "101310203"},{"市名": "澄迈","编码": "101310204"},{"市名": "儋州","编码": "101310205"},{"市名": "昌江","编码": "101310206"},{"市名": "白沙","编码": "101310207"},{"市名": "琼中","编码": "101310208"},{"市名": "定安","编码": "101310209"},{"市名": "屯昌","编码": "101310210"},{"市名": "琼海","编码": "101310211"},{"市名": "文昌","编码": "101310212"},{"市名": "保亭","编码": "101310214"},{"市名": "万宁","编码": "101310215"},{"市名": "陵水","编码": "101310216"},{"市名": "西沙","编码": "101310217"},{"市名": "南沙岛","编码": "101310220"},{"市名": "乐东","编码": "101310221"},{"市名": "五指山","编码": "101310222"},{"市名": "琼山","编码": "101310102"}]},{"省": "湖南","市": [{"市名": "长沙","编码": "101250101"},{"市名": "株洲","编码": "101250301"},{"市名": "衡阳","编码": "101250401"},{"市名": "郴州","编码": "101250501"},{"市名": "常德","编码": "101250601"},{"市名": "益阳","编码": "101250700"},{"市名": "娄底","编码": "101250801"},{"市名": "邵阳","编码": "101250901"},{"市名": "岳阳","编码": "101251001"},{"市名": "张家界","编码": "101251101"},{"市名": "怀化","编码": "101251201"},{"市名": "黔阳","编码": "101251301"},{"市名": "永州","编码": "101251401"},{"市名": "吉首","编码": "101251501"},{"市名": "湘潭","编码": "101250201"}]},{"省": "江苏","市": [{"市名": "南京","编码": "101190101"},{"市名": "镇江","编码": "101190301"},{"市名": "苏州","编码": "101190401"},{"市名": "南通","编码": "101190501"},{"市名": "扬州","编码": "101190601"},{"市名": "宿迁","编码": "101191301"},{"市名": "徐州","编码": "101190801"},{"市名": "淮安","编码": "101190901"},{"市名": "连云港","编码": "101191001"},{"市名": "常州","编码": "101191101"},{"市名": "泰州","编码": "101191201"},{"市名": "无锡","编码": "101190201"},{"市名": "盐城","编码": "101190701"}]},{"省": "黑龙江","市": [{"市名": "哈尔滨","编码": "101050101"},{"市名": "牡丹江","编码": "101050301"},{"市名": "佳木斯","编码": "101050401"},{"市名": "绥化","编码": "101050501"},{"市名": "黑河","编码": "101050601"},{"市名": "双鸭山","编码": "101051301"},{"市名": "伊春","编码": "101050801"},{"市名": "大庆","编码": "101050901"},{"市名": "七台河","编码": "101051002"},{"市名": "鸡西","编码": "101051101"},{"市名": "鹤岗","编码": "101051201"},{"市名": "齐齐哈尔","编码": "101050201"},{"市名": "大兴安岭","编码": "101050701"}]},{"省": "吉林","市": [{"市名": "长春","编码": "101060101"},{"市名": "延吉","编码": "101060301"},{"市名": "四平","编码": "101060401"},{"市名": "白山","编码": "101060901"},{"市名": "白城","编码": "101060601"},{"市名": "辽源","编码": "101060701"},{"市名": "松原","编码": "101060801"},{"市名": "吉林","编码": "101060201"},{"市名": "通化","编码": "101060501"}]},{"省": "辽宁","市": [{"市名": "沈阳","编码": "101070101"},{"市名": "鞍山","编码": "101070301"},{"市名": "抚顺","编码": "101070401"},{"市名": "本溪","编码": "101070501"},{"市名": "丹东","编码": "101070601"},{"市名": "葫芦岛","编码": "101071401"},{"市名": "营口","编码": "101070801"},{"市名": "阜新","编码": "101070901"},{"市名": "辽阳","编码": "101071001"},{"市名": "铁岭","编码": "101071101"},{"市名": "朝阳","编码": "101071201"},{"市名": "盘锦","编码": "101071301"},{"市名": "大连","编码": "101070201"},{"市名": "锦州","编码": "101070701"}]}]
}

相关文章:

【QT】QT中http协议和json数据的解析-http获取天气预报

QT中http协议和json数据的解析 1.http协议的原理2.QT中http协议的通信流程2.1 方法步骤 3.使用http协议&#xff08;通过http下载图片和获取天气预报信息&#xff09;3.1 http下载网络上的图片(下载小文件)3.1.1 示例代码3.1.2 现象 3.2 获取网络上天气预报3.2.1 免费的天气预报…...

PiscTrace针对YOLO深度适配:从v8到v12

一、YOLO简介&#xff1a;目标检测的核心技术 YOLO&#xff08;You Only Look Once&#xff09;是近年来最为流行的目标检测模型&#xff0c;凭借其实时性与高精度&#xff0c;广泛应用于自动驾驶、视频监控、安防检测等多个领域。YOLO系列模型自v1问世以来&#xff0c;经过不…...

前端面试每日三题 - Day 24

这是我为准备前端/全栈开发工程师面试整理的第24天每日三题练习&#xff0c;涵盖了&#xff1a; JavaScript 中的 Promise.all()、Promise.race() 和 Promise.allSettled() 的实际应用和性能差异React 中的 Concurrent Rendering 和 useTransition API如何设计一个高并发的在线…...

正态分布习题集 · 题目篇

正态分布习题集 题目篇 全面覆盖单变量正态、多变量正态、参数估计、假设检验、变换以及应用&#xff0c;共 20 题&#xff0c;从基础到进阶。完成后请移步《答案与解析篇》。 1. 基础定义与性质&#xff08;5题&#xff09; 1.1 密度函数 写出正态分布 N ( μ , σ 2 ) N(…...

Three.js在vue中的使用(二)-动画、材质

一、Three.js 动画原理与实现 1. 基本原理 Three.js 的动画系统基于 关键帧&#xff08;Keyframe&#xff09; 和 时间轴&#xff08;AnimationClip&#xff09; 实现&#xff1a; THREE.AnimationMixer&#xff1a;管理多个动画片段的播放器THREE.AnimationClip&#xff1a…...

【办公类-99-04】20250504闵豆统计表excle转PDF,合并PDF、添加中文字体页眉+边框下划线

需求说明 督导检查&#xff0c;各条线都要收集资料。 今天去加班&#xff0c;遇到家教主任&#xff0c;她让我用保教主任的彩色打印机打印这套活跃度表格。&#xff08;2023学年上学期下学期-2024学年上学期&#xff0c;就是202309-202504&#xff09; 每个excle都是内容在A4一…...

ES类迁移方法

快照(s3 file FS)跨集群迁移es-dumpremote-reindexLogstash Elasticsearch 迁移方法 Elasticsearch 迁移是将数据、索引和配置从一个 Elasticsearch 集群转移到另一个集群的过程。以下是几种常见的迁移方法&#xff1a; 1. 快照和恢复 (Snapshot and Restore) 这是最推荐的…...

智能合约部署之全国职业院校技能大赛“区块链技术应用”赛项—“航班延误险案例”

智能合约部署之全国职业院校技能大赛“区块链技术应用”赛项—“航班延误险案例” 1.启动虚拟机上的区块链 (1)打开VMware虚拟机,在桌面中点击右键,选择Open Terminal打开命令行窗口。 (2)使用"cd geth_local/"命令,切换至区块链根目录,输入下面的命令启动…...

STM32外设-GPIO输入(仅数字)

STM32外设-GPIO输入 一&#xff0c;输入的三种类型1. 上拉 (Pull-up)输入2. 下拉 (Pull-down)输入3. 浮空 (Floating / High-Impedance)输入 二&#xff0c;下拉电阻的作用 学完基础的led&#xff0c;接下来学习key即按键&#xff0c;但在连接按键之前&#xff0c;我们必须了解…...

QT开发工具对比:Qt Creator、Qt Designer、Qt Design Studio

前端开发工具—Qt Designer Qt Designer是Qt框架的一部分&#xff0c;是一个图形用户界面设计工具。它允许开发者通过可视化方式设计和布局GUI组件&#xff0c;而无需手动编写UI代码。设计完成后&#xff0c;Qt Designer生成UI文件&#xff08;通常以.ui为扩展名&#xff09;&…...

(ADC)数模转换器的不同类型对比

&#xff08;ADC&#xff09;数模转换器的不同类型对比 数模转换器&#xff08;ADC&#xff09;类型详解1. **并行比较型ADC&#xff08;Flash ADC&#xff09;****工作原理****优缺点****应用场景** 2. **逐次逼近型ADC&#xff08;SAR ADC&#xff09;****工作原理****优缺点…...

MOS管极间电容参数学习

文章目录 前言1. 输入电容&#xff08;Ciss&#xff09;2. 输出电容&#xff08;Coss&#xff09;3. 反向转移电容&#xff08;Crss&#xff09;4&#xff0c;测试条件解读总结 前言 MOS管在电路设计中非常常用&#xff0c;用途包括DC-DC&#xff0c;电平转换等&#xff0c;所…...

Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷

目录 第18关 渗透实战 1.打开靶场 2.构造php脚本 3.源码分析 &#xff08;1&#xff09;客户端源码 &#xff08;2&#xff09;服务的源码 4.Nginx解析法渗透 &#xff08;1&#xff09;缺陷原因 &#xff08;2&#xff09;缺陷条件 &#xff08;3&#xff09;构造脚…...

外观模式(Facade Pattern)

非常好&#xff01;现在我们来讲解结构型设计模式之一&#xff1a;外观模式&#xff08;Facade Pattern&#xff09;。 我会通过&#xff1a; ✅ 简洁定义 &#x1f3af; 为什么需要 &#x1f40d; Python 代码&#xff08;含注释&#xff09; &#x1f9ed; 流程图 应用场…...

Javase 基础加强 —— 03 集合

本系列为笔者学习Javase的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程&#xff0c;java零基础入门到大牛一套通关》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习Javase系列课程的同学们提供参考。 集合是一种容…...

【React】 Hooks useTransition 解析与性能优化实践

1.背景 useTransition 是 React 18 引入的一个并发模式下的 Hook&#xff0c;用于区分紧急和非紧急的状态更新&#xff0c;提升应用的响应性和用户体验;它可以管理 UI 中的过渡状态&#xff0c;特别是在处理长时间运行的状态更新时。它允许你将某些更新标记为“过渡”状态&…...

C++23 std::tuple与其他元组式对象的兼容 (P2165R4)

文章目录 引言C23 std::tuple概述std::tuple的定义和基本用法std::tuple的特性std::tuple的应用场景 其他元组式对象的特点Python元组的特点Python元组与C std::tuple的对比 P2165R4提案的具体内容提案背景提案主要内容提案的影响 兼容性示例代码总结 引言 在C编程的世界里&am…...

网络Tips20-003

1.E1载波的控制开销占2/32*100%6.25%&#xff0c;E1载波的基本帧传送时间是125uS。 2.计算机在一个指令周期的过程中&#xff0c;为从内存读取指令操作码&#xff0c;首先要将.程序计数器(PC)的内容送到地址总线上 3.3DES算法:密码学中&#xff0c;3DES是三重数据加密算法通称…...

Rust的安全卫生原则

在Rust编程世界里&#xff0c;unsafe关键字常常让初学者感到困惑。他们经常会问&#xff1a;“在unsafe块里能做什么&#xff1f;”“什么时候需要使用unsafe&#xff1f;” 这些问题虽然很常见&#xff0c;但对于真正理解Rust的安全机制来说还远远不够。因为随着Rust操作语义的…...

TestBench激励与待测

TestBench激励与待测 ✅ 一、TestBench 的作用✅ 二、例化的目的✅ 三、TestBench 中的信号类型选择&#x1f7e2; 输入端口&#xff08;input&#xff09; → 在 TestBench 中声明为 reg&#x1f7e1; 输出端口&#xff08;output&#xff09;→ 在 TestBench 中声明为 wire ✅…...

VulnHub-OSCP靶机

前言&#xff1a;由于这台机器过于简单&#xff0c;所以我会尽量细化和介绍每个步骤以及涉及到的知识点&#xff0c;让正在打入门机器的你不在迷茫和硬化的操作&#xff0c;理解并熟悉每条命令以及参数的含义&#xff0c;以及把前期带给我们的信息进行快速筛选&#xff0c;有利…...

【前端】【面试】在 Nuxt.js SSR/SSG 应用开发的 SEO 优化方面,你采取了哪些具体措施来提高页面在搜索引擎中的排名?

在 Nuxt.js 的 SSR&#xff08;服务器端渲染&#xff09;或 SSG&#xff08;静态站点生成&#xff09;应用中&#xff0c;SEO 优化是非常核心的工作内容之一。利用 Nuxt.js 的特性&#xff0c;我们可以通过多个维度系统地提升搜索引擎排名。 下面是我在实际项目中采取的 SEO 优…...

软考 系统架构设计师系列知识点之杂项集萃(53)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;52&#xff09; 第85题 在静态测试中&#xff0c;主要是对程序代码进行静态分析。“数据初始化、赋值或引用过程中的异常”属于静态分析中的&#xff08;&#xff09;。 A. 控制流分析 B. 数据…...

【AI面试准备】模型自动化评估经验

面试要求&#xff1a;模型自动化评估经验。 以下是针对模型自动化评估经验的结构化知识总结&#xff0c;涵盖核心概念、工具链、高频考点和面试回答技巧&#xff0c;助你快速掌握关键点&#xff1a; 目录 **一、模型自动化评估的核心逻辑**1. **为什么要自动化评估&#xff1f…...

indexedDB

indexedDB 特点 **容量大&#xff1a;**不同浏览器不一样&#xff0c;250MB **遵守同源策略&#xff1a;**只能访问同源下的数据库&#xff0c;不能跨域 **异步操作&#xff1a;**防止阻塞&#xff08;特别是大量数据的操作&#xff09; 事务支持‌&#xff1a;确保数据的…...

Mybatis学习(下)

目录 1. 动态sql的应用 1.2 1.2 1.3 、 、 标签 1.4 1. 动态sql的应用 使用Mybatis框架时, 对于sql数据的操作量比较大的时候, 看着会觉得很乱, 可能写着写着就乱了, 或者说回过头来发现sql语句写错了, 很麻烦, 所以动态sql就可以让我们用Java代码, 替换部分sql语句 1.2 &l…...

[三分钟学算法]分治-快速排序-最小的K个数:设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。

文章目录 题目详情算法原理编写代码 题目详情 题目链接 设计一个算法&#xff0c;找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例&#xff1a; 输入&#xff1a; arr [1,3,5,7,2,4,6,8], k 4 输出&#xff1a; [1,2,3,4]提示&#xff1a; 0 < len(arr) <…...

从github的插件直接导入unity

我们随便找个插件&#xff1a; A&#xff1a;处直接下载压缩包文件&#xff0c;或是git下载也可以 B&#xff1a;直接下载打好包也行 我们这里选择直接下好的包 请注意!!!有些版本可能不支持&#xff0c;请找到支持的&#xff0c;对应的历史版本进行下载使用 点击B&#xf…...

Linux | 了解Linux中的任务调度---at与crontab 命令

一. 延迟任务 1.1 延迟任务的发起 -- at命令 at命令执行是调用的是atd服务&#xff0c;即使系统最小化安装atd也会被安装到系统中at 任务信息存放在系统中/var/spool/at目录中at 任务的日志文件被存放到/var/log/cron中at 任务执行时如果遇到系统处于关闭状态&#xff0c;那么…...

多语言笔记系列:Polyglot Notebooks 多种使用方式

.NET Interactive 使用方式 .NET Interactive生态&#xff0c;大约由&#xff1a;前端UI(Jupyter、VSCode等)、交互协议(PMP、JMP)、执行器(.net interactive)和语言服务组成。 有多种组合方式&#xff0c;来使用。最常用的还是 VS Code(Polyglot Notebooks插件)充当前端UI&am…...

TF-IDF算法详解

引言 TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;是信息检索和文本挖掘中常用的加权技术&#xff0c;用于评估一个词语对于一个文档集或语料库中某个文档的重要程度。 一、基本概念 1. 组成要素 TF-IDF由两部分组成&#xff1a; TF (Term F…...

C语言实现数据结构:堆排序和二叉树_链式

一.堆的应用 1.堆排序 void test01() {int arr[] { 17,20,10,13,19,15 };int n sizeof(arr) / sizeof(arr[0]);HP p;HPInit(&p);for (int i 0; i < n; i){HPPush(&p, arr[i]);}int i 0;while (!HPEmpty(&p)){arr[i] HPTop(&p);HPPop(&p);}for (i…...

网狐系列三网通新钻石娱乐源码全评:结构拆解、三端实测与本地部署问题记录

本文为基于“网狐系列三网通新钻石娱乐电玩”源码的私测报告&#xff0c;涵盖前后端结构解析、三端测试结果、控制台功能说明、智能机器人机制以及本地部署过程中的真实报错与解决策略。文章目的仅限于源码结构研究和测试用途&#xff0c;不具备任何上线、商用部署条件。 一、源…...

C语言的指针认识

当实参传递给形参时&#xff0c;形参实例化相当于实参的一份临时拷贝 对形参的修改不能改变实参&#xff0c;除非用指针...

iview自定义下拉树菜单

最近由于项目需要&#xff0c;封装了第二种下拉树&#xff0c;带checkBox并且可以支持快速选择的下拉树。样式如下 自定义下拉树菜单.png 所实现交互功能如下&#xff1a; 1.点击对应的层级按钮&#xff0c;自动勾选出对应的所有同级节点。 2.点击自定义&#xff0c;清空所有勾…...

Dubbo(94)如何在金融系统中应用Dubbo?

在金融系统中应用Dubbo&#xff0c;可以通过以下步骤实现&#xff1a; 项目结构设计&#xff1a;规划项目的模块结构&#xff0c;通常包括服务接口模块、各个服务提供者模块&#xff08;如账户服务、交易服务、风控服务等&#xff09;、服务消费者模块&#xff08;如前端应用、…...

Linux:web服务

一、nginx的安装及启用 1、为主机配置IP和搭建软件仓库 &#xff08;1&#xff09;IP的配置 &#xff08;2&#xff09;搭建软件仓库 2、 web服务的安装与启用 &#xff08;1&#xff09;nginx的端口 更改nginx端口号 效果 &#xff08;2&#xff09; 默认发布目录 修改默认发…...

process terminated with status -1073741515

使用CodeBlocks25.03编译wxWidgets3.2.8程序时提示process terminated with status -1073741515 后来自己重新编译生成了一下wxWidgets3.2.8源码&#xff0c;问题得以解决。...

2025信息安全网络安全意识培训资料汇编(24份)

最新整理&#xff1a;2025信息安全网络安全意识培训资料汇编&#xff0c;共24份资料&#xff0c;供学习参考。 互联网信息安全意识培训.pptx100个网络安全风险防范知识.pptx亚信信息安全意识培训.pptx网络安全法规及意识培训.pptx网络安全意识与案例分析.pptx绿盟-安全意识培训…...

线程概念与控制

Linux线程概念 什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部 的控制序列”&#xff0c;一切进程至少都有一个执行线程&#xff0c;线程在进程内部运行&#xff0c;本质是在进程地址空间内…...

【SpringAI+阿里云百炼】AI对话4个Demo

基于SpringAI和阿里云百炼平台&#xff0c;实现了四个AI对话的小Demo 小团团对话机器人哄哄模拟器培训班智能客服仿ChatPDF 笔记如下:语雀知识笔记《SpringAI》...

Redis-----认识NoSQL

文章目录 前言一、SQL的结构化与NoSQL非结构化1.SQL2.NoSQL 二、关系型数据库SQL与非关系型数据库NoSQL1.SQL2.NoSQL 三、SQL查询与NoSQL查询1.SQL2.NoSQL 四、事务的区别1.SQL2.NoSQL 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 提示&#xff…...

驱动开发硬核特训 · Day 27(下篇):深入掌握 Common Clock Framework 架构与实战开发

节。 在本篇内容中&#xff0c;我们将围绕 Linux 内核中的时钟子系统核心架构 —— Common Clock Framework&#xff08;简称 CCF&#xff09;展开深入讲解&#xff0c;目标是帮助你全面理解其设计理念、主要数据结构、注册流程、驱动实现方式&#xff0c;以及如何基于 NXP i.M…...

Qt基础知识记录(终篇)

写在前面 博主的项目所需知识已经差不多学完了&#xff0c;后续如果还需要再学习那就继续学&#xff0c;毕竟程序员就是摸着石头过河的&#xff0c;碰壁乃是常有的事情。博主的项目服务器是用MySQL存储数据的&#xff0c;所以博主学习一下Qt如何连接MySQL及从MySQL中存取数据 博…...

LeetCode刷题链表

文章目录 链表总结 常用技巧两数相加题解代码 两两交换链表中的节点题解代码 重排链表题解代码 合并k个升序链表题解代码 K个一组翻转链表题解代码 链表总结 常用技巧 画图 直观 形象 便于理解引入虚拟头节点&#xff0c;便于处理边界情况&#xff0c;方便我们对链表进行…...

transfomer网络构建

目录 整体架构 详细模块分析 Transformer 算法的演进 代码讲解 1. 导入必要的库 2. InputEmbeddings 类 3. PositionalEncoding 类 4. LayerNormalization 类 5. FeedForwardBlock 类 6. MultiHeadAttentionBlock 类 7. ResidualConnection 类 8. EncoderBlock 类 9. Encoder 类…...

【mathematica】常见命令

mathematica官方文档 下载安装 安装激活教程 基本用法 输入、画图、基本运算、方程组求解、公式导出、 笔记本新建&#xff1a; 文件-新建-笔记本 输入&#xff1a; 直接在界面输入定义的变量、式子或者方程组即可 输出&#xff08;计算&#xff09; ENTER : 换行ENTER SHIF…...

photoshop学习笔记2

第一章 第01节-界面的重要性(学习方法) 第02节-文件的打开新建及储存 第03节-移动工具(图层概念) 学习目标&#xff1a; 1.了解图层概念 2.认识工具属性 3.掌握工具使用 图层的概念 移动工具 移动工具就是用来移动图层内容的。是否可以用来移动组…...

从软件到硬件:三大主流架构的特点与优劣详解

常见的架构包括软件架构、企业架构、硬件架构等&#xff0c;以下是对这几种常见架构的分析&#xff1a; 一、软件架构 1.分层架构 描述&#xff1a;分层架构是一种经典的软件架构模式&#xff0c;将软件系统按照功能划分为不同的层次&#xff0c;一般包括表现层&#xff08;…...

网狐旗舰大联盟组件源码私测笔记:结构分层、UI重构与本地实操全流程

作为一套衍生于传统网狐架构的源码版本&#xff0c;大联盟这套源码组件可谓是在经典基础上进行了深度重塑。与老版死板的框架风格不同&#xff0c;它不仅对界面做了大刀阔斧的重构&#xff0c;还在组件层级的组织上做了优化。本文将基于一整套源码进行深度解析&#xff0c;强调…...