【MySQL-数据类型】数据类型分类+数值类型+文本、二进制类型+String类型
一、数据类型分类
二、数值类型
1.bit类型
测试环境ubuntu
基本语法:
bit[(M)]:位字段类型,M表示每个值的位数,范围从1~64;如果M被忽略,默认为1
举例:
create table testBit(id int, a bit(8));
insert into testBit values(10,10);
select * from testBit;#当我们进行查询的时候,发现以16进制出现
当我们以十六进制进行输出时,发现是字符A(16进制数,还是十进制中的10)
如果我们添加一个不在范围内的数据,如下图所示,mysql直接拒绝了用户的操作
如果我们向mysql特定的类型中插入不合法的数据,MySQL一般都是直接拦截我们,不让我们做对应的操作
反过来,如果我们已经有数据被成功插入到mysql中了,一定插入的时候是合法的
所以,mysql中,一般而言,数据类型本身也是一种:约束
这种约束:倒逼程序员,让程序员尽可能进行正确的插入
约束:约束使用者
另外,如果你不是一个很好的使用者,mysql也能保证数据插入的合法性;这样就能够保证数据库中的数据是可预期的,完整的
测试环境Centos
bit使用注意事项:
2.tinyint类型
语法:
tinyint [unsigned]
【测试一】有符号tinyint测试(-128~127):
create table testTinyInt(num tinyint);
insert into testTinyInt values(127);
insert into testTinyInt values(-128);
insert into testTinyInt values(0);
desc testTinyInt;
现在插入越界数值,mysql会拒绝插入
insert into testTinyInt values(128);
insert into testTinyInt values(-129);
【测试二】无符号tinyint测试(0~255)
create table testTinyIntUn(num tinyint unsigned);
insert into testTinyIntUn values (0);
insert into testTinyIntUn values (255);
insert into testTinyIntUn values (128);
select * from testTinyIntUn;
desc testTinyIntUn;
现在插入越界数值,mysql会拒绝插入
insert into testTinyIntUn values(-1);
insert into testTinyIntUn values(-256);
说明:
- 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的
- 可以通过unsigned来说明某个字段是无符号的
- 根据自己实际情况选择不同类型,虽然不同类型之间只差几个字节,但是用于百万级别,千万级别列表情况下,省下来的不是一芯半点了
3.int类型
语法:
int(M) zerofill
M
:这是可选的参数,用于指定显示宽度。M
的值指定了该字段显示的最小位数。如果插入的数值的位数少于M
指定的位数,那么数值将在左侧填充零以达到指定的宽度。ZEROFILL
:这是一个属性,当与INT
类型一起使用时,如果数值的位数少于指定的宽度,则在数值的左侧填充零。
需要注意的是:
ZEROFILL
不会改变数值的实际存储大小。即使指定了INT(5) ZEROFILL
,整数仍然是按照INT
的标准大小(通常是4字节)存储的。- 如果数值超过了
M
指定的位数,那么ZEROFILL
不会起作用,数值将按原样显示,而不会填充零。 ZEROFILL
自动为该字段添加UNSIGNED
属性,这意味着你不能在该字段中存储负数。
4.float类型
float[(m,d)] [unsigned]:m指定显示长度,d指定小数位置,占用空间4个字节;那么整数部分位数为m-d
【示例一】设计一个表,该表表示的范围是 -99.99~99.99,MySQL在保存值时会进行四舍五入
create table testFloat(id int, salary float(4,2));
insert into testFloat values(1, -99.99);
insert into testFloat values(2, -99.991);#多的这一点被拿掉了
insert into testFloat values(3, 3);
insert into testFloat values(4, 0.1);
只要在当前字段范围内的数值,若该数值的小数位数不满d为,mysql会自动在后面补0
float类型会进行四舍五入,如果五入后超出表示范围,则会报错
insert into testFloat values(5, 99.995);
【示例二】如果定义的是float(4,2) unsigned ,因为把它指定为无符号的数,范围是0~99.99
create table testFloatUn(id int, salary float(4,2) unsigned);
insert into testFloatUn values(100, -0.1);
注意:在MySQL中,使用 FLOAT
或 DOUBLE
数据类型时可能会遇到精度丢失的问题。这是因为 FLOAT
和 DOUBLE
类型是基于IEEE标准的浮点数,它们在内部使用二进制格式来表示数值,这可能导致某些十进制小数不能精确表示。
create table testFloatDe(num float);
insert into testFloatDe values(123456789.987654321);
select * from testFloatDe;
MySQL中的 FLOAT
类型默认精度通常是单精度(32位),它只能保证大约7到8位十进制数的精度。当你插入一个非常大的数值,或者一个包含非常多小数位的数值时,超出这个精度的部分就会被舍入或者直接丢失,为了避免精度丢失,我们使用decimal类型
5.decimal类型
语法:
decimal[(m,d)] [unsigned] # 定点数m指定长度,d表示小数点的位数
- decimal(5,2) 表示的范围是 -999.99 ~ 999.99
- decimal(5,2) unsigned 表示的范围 0 ~ 999.99
- decimal 和 float 很像,但是有区别:float 和 decimal 表示的精度不一样
create table testDecimal(id int, salary float(10,8), salary2 decimal(10,8));
insert into testDecimal values(1,12.34567890, 12.34567890);
发现decimal的精度更准确,因此如果我们希望某个数据表示高精度,选择decimal
decimal整数最大位数m为65,支持小数最大位数d是30.如果d被省略,默认为0。如果m被省略默认是10
三、文本、二进制类型
1.char类型
语法:
char(L) #固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
create table testChar(name char(20));
insert into testChar values('zhangsan');
insert into testChar values('张三');
无论是汉字还是字符,在mysql中都认为是一个字符
在utf_8中,一个汉字是3个字节;gbk下一个汉字2个字节
char(2)表示可以存放两个字符,可以是字母或者汉字,但是不能超过2个,最多只能是255
create table testChar1(name char(2));
insert into testChar1 values('张三');
create table testChar2(name char(256));
2.varchar类型
语法:
varchar(L) #可变长度字符串,L表示字符长度,最大长度65535个字节
举例:
create table testVarchar(id int, name varchar(20));
insert into testVarchar values(1,'张三');
insert into testVarchar values(2,'lisi');
说明:关于varchar(len),len到底是多大,这个len值,和表的编码密切相关
- varchar长度可以指定为0到65535之间的值,但是有1到3个字节用于记录数据大小,所以说有效字节数是65532。
- 当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)。
2.1.char 和 varchar比较
实际存储 | char(4) | varchar(4) | char占用字节数 | varchar占用字节数 |
---|---|---|---|---|
abcd | abcd | abcd | 4*3=12 | 4*3+1=13 |
A | A | A | 4*3=12 | 1*3+1=4 |
abcde | 无法存储 | 无法存储 | 数据超出长度 | 数据超出长度 |
如何选择定长或变长字符串?
- 如果数据确定长度都一样,就使用定长,即char类型,比如:身份证,手机号,md5。
- 如果数据长度有变化,就使用变长(varchar), 比如:名字,地址,但是你要保证最长的能存的进去。
- 定长的磁盘空间比较浪费,但是效率高。
- 变长的磁盘空间比较节省,但是效率低。
- 定长的意义是,直接开辟好对应的空间
- 变长的意义是,在不超过自定义范围的情况下,用多少,开辟多少。
3.日期和时间类型
常用的日期类型有3中,分别如下:
- date:日期
yyyy-mm-dd
,占用三个字节 - datetime:时间日期
yyyy-mm-dd hh:mm:ss
,占用八个字节 - timestamp:时间戳,从1970年开始经过的秒数,表示格式与datetime一致
yyyy-mm-dd hh:mm:ss
,占用四个字节
案例:
# 创建表
create table birthday(t1 date, t2 datetime, t3 timestamp);# 插入数据 插入两种时间
insert into birthday(t1,t2) values('2001-1-1','2022-6-7 19:00:00');select * from birthday;
ubuntu环境下,添加数据时,时间戳不会自动补上当前时间
centos环境下,添加数据时,时间戳会自动补上当前时间
centos环境下,更新数据时,时间戳会更新当前时间
//创建表
mysql> create table birthday(t1 date, t2 datetime, t3 timestamp);
Query OK, 0 rows affected (0.01 sec)//插入数据:
mysql> insert into birthday(t1,t2) values('1997-7-1','2008-8-8 12:11:1'); -- 插入两种时间
Query OK, 1 row affected (0.00 sec)mysql> select * from birthday;
+------------+---------------------+---------------------+
| t1 | t2 | t3 |
+------------+---------------------+---------------------+
| 1997-07-01 | 2008-08-08 12:01:01 | 2024-11-10 21:22:55 | --添加数据时,时间戳自动补上当前时间
+------------+---------------------+---------------------+//更新数据:
mysql> update birthday set t1='2000-1-1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from birthday;
+------------+---------------------+---------------------+
| t1 | t2 | t3 |
+------------+---------------------+---------------------+
| 2000-01-01 | 2008-08-08 12:01:01 | 2024-11-10 21:23:09 | -- 更新数据,时间戳会更新成当前时间
+------------+---------------------+---------------------+
四、String类型
1.enum
基本语法:
enum('可选选项1','可选选项2','可选选项3',...)
enum:枚举,“单选”类型;
该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,3,…最多65535个;当我们添加枚举值时,也可以添加对应的数字编号
enum比如可以用在性别字段中,只能选择男女
create table student (name varchar(20), gender enum('男','女'));
insert into student values('张三','男');
insert into student values('李四','女');
如果选择enum之外的值,会报错
insert into student values('王五','保密');
这里的enum类似于C/C++中的enum,第一个选项代表1,第二个代表选项代表2
单选选项对应的数字是从1开始编号的,而不是从0开始编号的,超出enum的选项值会报错
insert into student values('赵六','1');
insert into student values('田七','2');
2.set类型
set:集合,“多选”类型
基本语法:
set('可选选项1','可选选项2','可选选项3',...)
该设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值。最多可以设置64个选项。
【案例】:有一个调查表votes,需要调查人的喜好,比如(登山,游泳,篮球,武术)中去选择(可以多选),(男,女)[单选]
create table votes(name varchar(20),gender enum('男','女'),# 注意:使用数字标识的时候,就是正常的从1开始的数组下标hobby set('登山','游泳','篮球','武术') #注意:使用数字标识每个爱好的时候,想想Linux权限,采用比特位位置来和set中爱好对应起来
);
插入数据
insert into votes values('张三','男','登山,武术');
insert into votes values('李四','2','登山,武术');
select * from votes where gender=2;
有如下数据,想查找所有喜欢篮球的人:
使用如下查询语句
select * from votes where hobby="篮球";
不能查询出所有爱好为篮球的人
集合查询使用 find_in_set 函数
find_in_set(sub,str_list)
:如果 sub 在 str_list 中,则返回下标;如果不在,返回0;str_list是用逗号分隔的字符串。
喜好为篮球的人
select * from votes where find_in_set('篮球',hobby);
不建议在enum中使用选项对应的枚举值,集合值的时候采用数字的方式,因为不利于阅读。
set补充
set使用位图的方式存储各个选项,第一个选项对应1(20),第二个选项为2(21),第三个选项为4(2 ^ 2);这样存储可以大大提高存储效率
登山:000001---->1
游泳:000010 —>2
登山+游泳:000011 —>3
相关文章:
【MySQL-数据类型】数据类型分类+数值类型+文本、二进制类型+String类型
一、数据类型分类 二、数值类型 1.bit类型 测试环境ubuntu 基本语法: bit[(M)]:位字段类型,M表示每个值的位数,范围从1~64;如果M被忽略,默认为1举例: create table testBit(id i…...
cuda矩阵转置算子(共享内存)
cpu版本 即为按行遍历行列互换 // 主机上的矩阵转置函数,用于验证结果 void cpuTranspose(const float *input, float *output, int n) {for (int row 0; row < n; row){for (int col 0; col < n; col){output[col * n row] input[row * n col];}} }gp…...
GB28181视频监控流媒体平台LiveGBS如何自定义收流端口区间以便减少收流端口数或解决端口冲突问题
LiveGBS GB28181流媒体服务在接收视频的时候默认是使用30000-30249, webrtc流播放端口区间默认是UDP的30250-30500区间。有些网络环境不方便开放这么大的端口区间,下面介绍下如何修改配置这个区间。 从页面上修改这个区间,端口区间尽量设置大…...
在Go语言中,判断变量是否为“空”(零值或未初始化状态)的方法总结
在Go语言中,判断变量是否为“空”(零值或未初始化状态)的方法因数据类型而异。以下是各类型变量的判断方法总结: 1. 基本类型 整数(int) 判断是否等于零值 0。 var i int if i == 0 { // 空 } 字符串(string) 判断是否等于空字符串 ""。 var s string if s =…...
VUE3开发-9、axios前后端跨域问题解决方案
VUE前端解决跨域问题 前端页面需要改写 如果无效,记得重启服务器 后端c#解决跨域问题 前端js取值,后端c#跨域_c# js跨域-CSDN博客...
利用 requestrepo 工具验证 XML外部实体注入漏洞
1. 前言 在数字化浪潮席卷的当下,网络安全的重要性愈发凸显。应用程序在便捷生活与工作的同时,也可能暗藏安全风险。XXE(XML外部实体)漏洞作为其中的典型代表,攻击者一旦利用它,便能窃取敏感信息、掌控服务…...
嵌入式开发之串行数据处理
前题 前面几篇文章写了关于嵌入式软件开发时,关于串行数据处理的一些相关内容,有兴趣的可以看看《嵌入式开发:软件架构、驱动开发与串行数据处理》、《嵌入式软件开发之生产关系模型》和《嵌入式开发之Modbus-RTU协议解析》相关的内容。从业十…...
深入解析 JVM —— 从基础概念到实战调优的全链路学习指南
文章目录 一、为什么要学习 JVM?1. 面试必备与技能提升2. 性能优化与问题诊断3. 编写高质量代码 二、JVM 基础概念与体系结构1. JVM 简介2. JDK、JRE 与 JVM 三、JVM 内存模型1. 线程私有区2. 线程共享区 四、类加载机制与双亲委派1. 类加载过程2. 双亲委派模型3. 动…...
LTC6804、LTC6811、LTC6813的使用
FSEC自制BMS第一步:从零开发使用LTC6804采集电池电压 LTC6811特性 LTC6811 是 LTC6804 的引脚兼容型升级器件,LTC6804官方已经不推荐选用 可测量多达 12 节串联电池 1.2mV 最大总测量误差 可堆叠式架构能支持几百个电池 内置 isoSPI™ 接口 可在 290μ…...
Spring 构造器注入和setter注入的比较
一、比较说明 在 Spring 框架中,构造器注入(Constructor Injection)和 Setter 注入(Setter Injection)是实现依赖注入(DI)的两种主要方式。它们的核心区别在于依赖注入的时机、代码设计理念以及…...
【LangChain】对话历史管理
1 历史记录的剪裁 trimmed_messages from langchain_core.messages import (AIMessage,HumanMessage,SystemMessage,trim_messages, ) from langchain_openai import ChatOpenAImessages [SystemMessage("youre a good assistant, you always respond with a joke."…...
【无人机三维路径规划】基于CPO冠豪猪优化算法的无人机三维路径规划Maltab
代码获取基于CPO冠豪猪优化算法的无人机三维路径规划Maltab 基于CPO冠豪猪优化算法的无人机三维路径规划 一、CPO算法的基本原理与核心优势 冠豪猪优化算法(Crested Porcupine Optimizer, CPO)是一种新型元启发式算法,其灵感来源于冠豪猪的…...
CAN协议介绍
目录 一、CAN协议 1.1 CAN协议简介 1.2 CAN物理层 1.3 CAN协议层 二、CAN控制器 2.1 CAN控制内核 2.2 CAN发送邮箱 2.3 CAN接收FIFO 2.4 CAN验收筛选器 一、CAN协议 1.1 CAN协议简介 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生…...
树莓派 Interface Option 中没有camera选项
最近重温树莓派的视觉,烧录了树莓派的新系统后发现在 raspi-config 中的 Interface Option 没有 camera 选项,同时在终端用 vcgencmd get_camera 查看摄像头时没有检测到树莓派的 CSI 摄像头,在 Thonny 中调用树莓派摄像头出现报错࿱…...
大数据学习(55)-BI工具数据分析的使用
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
轻松上手 —— 通过 RPM 包快速部署 NebulaGraph
前言 在当今大数据时代,处理复杂关系数据的需求与日俱增,图数据库应运而生并逐渐崭露头角。NebulaGraph 作为一款高性能、分布式且易扩展的图数据库,专为应对大规模图数据处理而精心打造。它不仅具备丰富的查询语言,还拥有强大高效…...
nginx作为下载服务器配置
一、Nginx 作为下载服务器配置笔记 基本配置指令 server块配置: 在 Nginx 的配置文件(通常是/etc/nginx/nginx.conf或在/etc/nginx/conf.d/目录下的特定配置文件)中,首先需要定义一个server块来监听特定的端口并处理下载请求。例如…...
第六课:数据存储三剑客:CSV/JSON/MySQL
在Python的数据存储与处理领域,CSV、JSON和MySQL被广大开发者誉为“数据存储三剑客”。它们各自在不同的场景下发挥着重要作用,无论是简单的数据交换、轻量级的数据存储,还是复杂的关系型数据库管理,都能找到它们的身影。本文将详…...
Dify 开源大语言模型应用开发平台使用(一)
文章目录 一、创建锂电池专业知识解答应用1.1 应用初始化二、核心功能模块详解2.1 知识库构建2.2 工作流与节点编排节点类型说明工作流设计示例:锂电池选型咨询2.3 变量管理三、测试与调试3.1 单元测试3.2 压力测试3.3 安全验证四、部署与优化建议4.1 部署配置4.2 持续优化结论…...
PyQt高亮代码
PyQt高亮代码 安装 Pygments支持的格式支持的样式详解参考 Qt中使用 安装 Pygments Pygments 是Python中的一个高亮代码的包,挺好用的 pip install Pygments支持的格式 支持的格式比较多,不列出来了 # coding:utf-8 from pygments.lexers import get_all…...
小白学Agent技术[1]
文章目录 课程地址Agent介绍原理架构任务规划记忆工具使用程序开发范式的变化Agent开发注意事项 课程地址 Agent课程地址 Agent介绍 AI Agent(人工智能代理、AI智能体),一种模拟人类智能行为的人工智能系统,以大模型语言&#…...
以商业思维框架为帆,驭创业浪潮前行
创业者踏入商海,如同航海家奔赴未知海域,需有清晰的思维罗盘指引方向。图中“为什么—用什么—怎么做—何人做—投入产出”的商业框架,正是创业者破解商业谜题的密钥,从需求洞察到落地执行,为创业之路铺就逻辑基石。 …...
开源宝藏 Tigshop,开启电商新征程
在电商竞争愈发激烈的当下,一个强大且适配的商城系统是商家制胜的法宝。 Tigshop官网:Tigshop官网 - 开源商城系统Tigshop开源商城系统,支持b2b2c、多商户、多店铺、商家入驻、分销系统、跨境电商、连锁商城等解决方案,免费下载&…...
java多线程实现方式
目录 1. 继承 Thread 类 2. 实现 Runnable 接口 3. 实现 Callable 接口 4. 使用线程池 5. 使用 CompletableFuture(Java 8) 6. 使用 ForkJoinPool(Java 7) 7. 使用 Timer 和 TimerTask 8. 使用 ScheduledExecutorService …...
windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)
目录 1. git update-git-for-windows 报错2. 解决方案2.1. 更新 CA 证书库2.2. 使用 SSH 连接(推荐)2.3 禁用 SSL 验证(不推荐) 1. git update-git-for-windows 报错 LenovoLAPTOP-EQKBL89E MINGW64 /d/YHProjects/omni-channel-…...
python:pymunk + pygame 模拟六边形内小球弹跳运动
向 chat.deepseek.com 提问:编写 python 程序,用 pymunk, 有一个正六边形,围绕中心点缓慢旋转,六边形内有一个小球,六边形的6条边作为墙壁,小球受重力和摩擦力、弹力影响,模拟小球弹跳运动&…...
vulnhub靶场之【digitalworld.local系列】的vengeance靶机
前言 靶机:digitalworld.local-vengeance,IP地址为192.168.10.10 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络 这里官方给的有两种方式ÿ…...
shiro550-cve-2016-4437复现
shiro550-cve-2016-4437 复现环境:docker desktop idea远程调试jdk版本必须与容器里的jdk1.8.0_102 匹配上,下载资源翻我CC1链那篇文章 注意burpsuite的proxy listeners端口改一下别跟docker容器的重了。 ysoserial工具:https://github.c…...
【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)
文章目录 人人都该学习的DeepSeekDeepSeek不同版本功能差异DeepSeek与硬件直接的关系DeepSeek系统兼容性部署方式选择部署步骤(Ollama方式)1.选定适合的deepseek版本2.环境准备3.安装Ollama4.部署deepseek5.测试使用 人人都该学习的DeepSeek DeepSeek 作…...
Windows 版本Nmap使用报错“无法打开device eth0”
背景 使用nmap在win10上进行扫描工作正常,换到win server 2012 r2以后,扫描报错“无法打开device eth0” 使用了重装、重启大法,未彻底解决 PS:这台服务器之前完装过wireshark,实际已经安装了npcap 解决步骤 查询了…...
java字符串
字符串构造 1.使用常量串构造 String h1 "hello";System.out.println(h1); 2.new对象 String h2 new String("hello");System.out.println(h2); 3.使用字符数组构造 char[] array {h,e,l,l,o};String h3 new String(array);System.out.println(h3);…...
Uniapp 页面返回不刷新?两种方法防止 onShow 触发多次请求!
目录 前言1. 变量(不生效)2. 延迟(生效) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Uniapp 中,使用 onShow() 钩子来监听页面显示࿰…...
鸿蒙生态日日新,夸克、顺丰速运、驾校一点通等多款应用功能更新
3月5日鸿蒙生态日日新PLOG:吉事办、健康甘肃等政务服务App上架原生鸿蒙应用市场;夸克、顺丰速运、驾校一点通等多款应用功能更新。...
库制作与原理
什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入…...
《量子Java:从超导芯片到光子计算的编程革命》——解析Google量子AI中心的混合架构,揭秘如何用Java控制量子比特!
标题:《量子Java:从超导芯片到光子计算的编程革命》——解析Google量子AI中心的混合架构,揭秘如何用Java控制量子比特! 引言:当Java代码撞上量子叠加态——Google量子AI中心的0.003秒奇迹 Google量子AI中心首次实现Java程序对1200量子比特光量子芯片的实时控制,仅耗时3毫…...
音频3A测试--AGC(自动增益)和NS(降噪)测试
一、测试前期准备 一台电脑:用于作为控制播放和录制数据; 一台音频处理器(调音台):控制每个通道播放的数据,如噪声、人工头、模拟设备B输入的数据、收集标准麦克风,设备A处理完成的数据; 四个高保真音响&…...
点云数据处理--splat转3dtiles
文章目录 处理流程简介核心功能实现数据读取与格式转换数据读取splat转gltf 点云数据分割定义四叉树递归生成3dtiles瓦片 生成tileset.json递归生成tileset.json计算box 主函数调用渲染 下一步工作性能优化渲染效果调优其他 源码地址: github 处理流程简介 基本流…...
deepseek使用记录18——艺术的追问
一 好的,基于前面学习结果,再写一篇有艺术美的文章 《美的起义》 凌晨四点的茶摊在电子支付二维码下苏醒,蒸腾的水汽中浮动着八百年前建盏的釉色。老板娘把栀子花插在共享单车车筐里,花瓣的弧度与北宋汝窑青瓷的冰裂纹暗合&…...
ArcGIS操作:13 生成最小外接矩阵
应用情景:筛选出屋面是否能放下12*60m的长方形,作为起降场候选点(一个不规则的形状内,判断是否能放下指定长宽的长方形) 1、面积初步筛选 Area ≥ 720 ㎡ 面积计算见 2、打开 ArcToolbox → Data Management Tools …...
Manus AI Agent 技术解读:架构、机制与竞品对比
目录 1. Manus 是什么? 1.1 研发背景 1.2 技术特点 1.3 工具调用能力 1.4 主要应用场景 2. Manus 一夜爆火的原因何在? 2.1 技术突破带来的震撼 2.2 完整交付的产品体验 2.3 生态与开源策略 3. Manus 与其他 AI Agent 的对比分析 3.1 技术架构…...
npm 执行安装报错
Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution. 原因 主要的原因是 npm7 以上的版本,新增了一个对等依赖的特性,在以…...
Django 模型的逆向工程
模型的逆向工程:通过 inspectdb 命令从数据库表创建 Django 模型 在Django开发中,模型(Model)是定义数据库结构的关键组件。通常,我们根据业务需求先设计模型,然后通过Django的迁移系统创建相应的数据库表…...
启动wsl里的Ubuntu24报错:当前计算机配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED
问题:启动wsl里的Ubuntu24报错 报错信息: 当前计算机配置不支持 WSL2。 请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。 通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution 有关信息,请访…...
Electron:点击右键保存图片到本地
前期插件 前端请求后台的一种方法 npm install got -S用于获取ArrayBuffer文件类型 npm install image-type -S生成随机数 npm install randomstring -D增加右击事件 点击右击事件的时候加载菜单 const imageRightSave require("./ImageRightSave") // 创建右…...
C语言中0UL和1UL
0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1 如果不写UL后缀,系统默认为:int, 即,有符号整数。 数值常数分为:整型常数和浮点常数; 数值常数后缀不区分字母大小写; 1.整型常数的后缀:…...
6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...
C++ 学生成绩管理系统
一、项目背景与核心需求 成绩管理系统是高校教学管理的重要工具,本系统采用C++面向对象编程实现,主要功能模块包括: 学生信息管理(学号/姓名/3门课程成绩) 成绩增删改查(CRUD)操作 数据持久化存储 统计分析与报表生成 用户友好交互界面 二、系统架构设计 1. 类结构设计 …...
网络安全配置截图 网络安全i
网络安全概念及规范 1.网络安全定义 网络安全的概述和发展历史 网络安全 广义的网络安全:Cyber Security(网络空间安全) 网络空间有独立且相互依存的信息基础设施和网络组成,包括互联网、电信网、计算机系统、嵌入式处理器和控…...
Facebook营销自动化—— Python脚本 + 代理IP实现内容高效分发
目录 1. 引言:内容分发与Facebook营销的现状与痛点 2. 环境搭建与前期准备 2.1 开发环境与工具选择 2.2 获取代理IP 2.3 Facebook账号与开发者平台配置 3. Facebook内容分发的基本流程与策略 3.1 内容规划与策略制定 3.2 内容分发方式选择 3.3 风控与风险防…...
Centos的ElasticSearch安装教程
由于我们是用于校园学习,所以最好是关闭防火墙 systemctl stop firewalld systemctl disable firewalld 个人喜欢安装在opt临时目录,大家可以随意 在opt目录下创建一个es-standonely-docker目录 mkdir es-standonely-docker 进入目录编辑yml文件 se…...