Q1:使用了Blob的方式

你提到的问题是正确的。当使用 Blob 包装 JSON 数据并将其添加到 FormData 中时,即使 Blob 的类型被设置为 application/json,前端在开发者工具中仍然会显示为二进制文件,而不是可读的 JSON 字符串。这是因为 FormDataBlob 视为文件处理,因此无法在开发者工具中直接显示其内容。

原因分析

FormData 是为上传文件设计的,它能处理文本字段和文件类型,但对于通过 Blob 包装的 JSON 数据,它会视作二进制数据,因此在开发者工具中显示为“文件”类型。

Read more »

MySQL、Oracle、Redis、ClickHouse 和 InfluxDB 是几种不同类型的数据库管理系统,分别适用于不同的场景和需求。下面是它们的详细比较,包括各自的优缺点和使用场景。

1. MySQL

简介

  • MySQL 是一种关系型数据库管理系统(RDBMS),使用结构化查询语言(SQL)来管理和操作数据。
  • 它是开源的,并广泛用于 Web 应用、企业管理系统等。
Read more »

clickhouse数据库

简介

ClickHouse 是一个开源的列式数据库管理系统(DBMS),主要用于实时分析和大规模数据处理。它最初由俄罗斯的 Yandex 开发,用于支撑其网络分析平台,现在已经成为流行的分析型数据库解决方案之一。

Read more »

例如,假设数据如下:

SHOPORDER_SCHEDULING 表:

ID EQUIPMENT_CODE SHOPORDER PLAN_QTY
1 EQ001 SO1001 100
2 EQ001 SO1002 150
3 EQ002 SO1003 200
4 EQ002 SO1003 250
5 EQ003 SO1001 300

SN_STEP 表:

ID RESOURCE_NAME SHOPORDER ADOPT
1 EQ001 SO1001 0
2 EQ001 SO1001 1
3 EQ001 SO1002 0
4 EQ002 SO1003 1
Read more »

值传递

在 Python 中,参数传递的机制是“共享传参”(Call by Object Reference 或 Call by Sharing)。这意味着函数参数接收的是对象的引用,而不是对象的副本。

具体含义

  1. 对于可变对象(如 list, dict, set 等):在函数中对对象的内容进行修改会影响到原对象。
  2. 对于不可变对象(如 int, float, str, tuple 等):在函数中对对象重新赋值不会影响到原对象,因为重新赋值会创建一个新的对象。

共享引用:函数参数传递的是对象的引用,而不是对象本身的副本。

  • 如果是 可变对象,且只修改内容,不重新赋值,则会影响外部变量。
  • 如果是 不可变对象,或者对可变对象重新赋值则不会影响外部变量

这种机制让 Python 的参数传递既有“值传递”的特点(对于不可变对象)又有“引用传递”的特点(对于可变对象),因此被称为“共享传参”。

Read more »

在 Python 中,with 语句用于简化资源管理,例如文件的打开和关闭、锁的管理等,确保在代码执行完后,资源自动释放。以下是一些常见的 with 用法:

1. 文件操作

使用 with 打开文件,确保在操作完成后自动关闭文件。

1
2
with open('file.txt', 'r') as file:
content = file.read() # 文件会在此代码块执行完后自动关闭
Read more »

前端传入的方式

这些数据格式各有不同的特点和用途,下面详细介绍它们的区别:

1. application/x-www-form-urlencoded

  • 特点:
    • 数据以键值对的形式编码,键和值之间用等号=连接,每对之间用&符号分隔。
    • 在URL编码中,空格被替换为+,特殊字符会被转义。
  • 用途:
    • 传统的表单数据提交方式,适用于简单文本数据(如输入框、选择框)提交。
  • 优点:
    • 适合提交少量的数据,格式简单。
  • 缺点:
    • 不能处理复杂的数据结构(如文件上传、多层嵌套的对象)。
Read more »