【python 的各种模块】(10) 在python3使用turtle 模块画图

目录

 1 在anaconda里用python3安装turtle

1.1 因为turtle 本来是适应python2的,所以直接安装报错

1.2 准备好手动下载,官网下载安装包

1.2.1 去官方手册看了下,其实是支持python3的

1.2.2 官网下载,手动安装

1.3 解决办法,参考如下的几个文章可解决

1.3.1 核心注意点

1.3.2 手动安装

2 turtle 运行时会遇到的各种问题

2.1 问题1:第1次可以运行,第2次运行报错的问题 (未解决)

2.2 问题2:第1次可以运行,第2次运行失败时窗口卡死问题 (未解决)

2.3  导入的问题

2.3.1 from turtle import *

2.3.2 import turtle()

2.4 窗口关闭和不关闭的问题

​2.4.1 解决窗口会自动关闭的问题

2.4.2 在jupyternotebook等IDE里,出现不仅不自动关闭,且无法关闭的情况( 未解决)

3 从这次改变学习思路

3.1 新的学习思路尝试(主要是做一个对比)

3.2 官方文档:学习首要参考

3.3 这里可以罗列 turtle的一些方法,属性,等等(缺内容补充)

4  画一个n边形 polygon

4.1 目标

4.2 对应试验代码

4.2.1 代码1:下面的代码设计内容

注意:python的range() 相关

4.2.2 代码2:下面的代码设计内容

4.2.3 代码3: 写入 polygon这个整体block

4.3 动画刷新问题

4.3.1 turtle 自动动画效果,但允许用户自定义修改

4.3.2  屏蔽动画

4.3.3 强制刷新

4.3.4  修改延时

4.4 关于位置

4.4.1 移动

4.4.2 角度(注意这里用的是角度)

4.4.3 查看状态

4.4.4 显示信息

4.5 清除和关闭

5  使用多个turtle 一起画

5.1 使用 turtle.Turtle() 返回一个turtle 对象

5.2 容易犯错的地方

5.3 如何创建多个turtle 小乌龟呢?

5.4 试验多个乌龟的测试代码

5.4.1 测试代码1

5.4.2 测试代码2

6  多角形的画法 

6.1 多角形和多角形形状,其实有着相同的数学原理

6.2 总结 关于多角形和多边形的 形成原理

6.3 关于多角形的起点(也适用于多边形)

6.4 坐标向量的模长公式

6.5 关于浮点数的回到原点判断

6.6 测试代码:这个其实是,多角星的画法

后面这些未完成(建设ing)

7 黄金螺线是弧线

8 绘制弧线相关

9  绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺  黄金螺线

10 总结多类图

11 其他函数


 1 在anaconda里用python3安装turtle

1.1 因为turtle 本来是适应python2的,所以直接安装报错

  1. turtle 最初是适应python2的,但是后面也适配了python3
  2. anaconda里python3安装turtle,或者直接在python3 安装turtle 都会有问题,出现安装失败,无法找到包之类的问题。
  3. 比如你输入 pip install turtle 就会一堆报错

axError: invalid syntax   ----------------------------------------Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/nf/y2318q0x2dg78hz_nnrh4f5c0000gn/T/pip-install-fhotaoh3/turtle/

1.2 准备好手动下载,官网下载安装包

1.2.1 去官方手册看了下,其实是支持python3的

1.2.2 官网下载,手动安装

  • 既然无法自动安装,那就手动安装
  • 官网的下载地址如下
  • turtle · PyPITurtle is an HTTP proxy whose purpose is to throttle connections tospecific hostnames to avoid breaking terms of usage of those APIproviders (like del.icio.us, technorati and so on).icon-default.png?t=N7T8https://pypi.org/project/turtle/#files

1.3 解决办法,参考如下的几个文章可解决

网上搜很多人遇到同样的问题

win10,Python3安装turtle报错_windows安装turtle-CSDN博客文章浏览阅读678次。win10,Python3安装turtle报错_windows安装turtlehttps://blog.csdn.net/zhuan_long/article/details/127713918

python3.7安装turtle,解决Command errored out with exit status 1: python setup.py egg_info Check the logs_command errored out with exit status 1: /usr/local-CSDN博客文章浏览阅读4.2k次,点赞3次,收藏6次。介绍Turtle package(海龟库)是python中使用较为广泛的绘制图像的函数库。导入海龟库之后,我们可以引用海归库中的函数绘制出各种各样的图案,比如哆啦A梦、皮卡丘等。Turtle package的核心思想就是把当前点想象成一个小海龟,然后给小海龟指令,让它沿着指令爬行,沿途留下轨迹就是我们绘制的图形,是不是很有意思呀,听到这估计很多朋友都想尝试一下了。Python3.7 Turtle安装问题要想使用Turtle,必须先在自己的计算机上安装Turtle package。由于当时Turtle _command errored out with exit status 1: /usr/local/python3.7.5/bin/python3.7https://blog.csdn.net/Just_do_myself/article/details/108144801

1.3.1 核心注意点

  • 下载文件是一个压缩包
  • 把setup.py文件里的一句py2语法的改成适合py3语法的语句(第40行)
  •  except (ValueError, ve):
  • 修改后保存下来,记住这个解压包地址

1.3.2 手动安装

  •  另外,一定要注意安装时路径改成自己电脑下载的安装包的的路径
  • 不要无脑写出 pip install turtle 这样的安装命令
  • 而要 “ pip install 安装包所在地址文件夹  ” 这样安装

2 turtle 运行时会遇到的各种问题

  • turtle号称很简单
  • 但是我没想到 turtle的包用起来问题很多

2.1 问题1:第1次可以运行,第2次运行报错的问题 (未解决)

  • 第1次可以运行,第2次运行失败的问题
  • 举例下面这个
  • 第1次运行正常,
  • 第2次运行报错

【完美解决】用python自带IDLE 进行turtle画图时,老是报错 AttributeError: module 'turtle' has no attribute 'fd'等问题-CSDN博客文章浏览阅读8.5k次,点赞33次,收藏13次。困扰我许久的一个问题,完美解决! 最近用python自带的IDLE,每当编写turtle画图的代码时,总是会报错,各种AttributeError: module ‘turtle’ has no attribute ‘fd’,连个直线都画不了……以下是问题样式:各种AttributeError: module ‘turtle’ has no attribute ‘fd’问题出现的原因相信..._attributeerror: module 'turtle' has no attribute 'percolorhttps://blog.csdn.net/SJM1996_fighting/article/details/103745286icon-default.png?t=N7T8https://blog.csdn.net/SJM1996_fighting/article/details/103745286

Python Turtle 窗口每第二次运行就会崩溃 - IT工具网icon-default.png?t=N7T8https://www.coder.work/article/4942823关于python:在jupyter笔记本中,Turtle不会运行超过一次 | 码农家园Turtle does not run more than once in jupyter notebook我正在尝试在jupyter笔记本中运行一些海龟代码。 当我运行一次代码时,代码运行良好。 但是,如果我...icon-default.png?t=N7T8https://www.codenong.com/56581957/

2.2 问题2:第1次可以运行,第2次运行失败时窗口卡死问题 (未解决)

  • 第一次运行正常
  • 经常遇到第2次运行时,turtle窗口卡死

2.3  导入的问题

2.3.1 from turtle import *

  • 官方文档里,明确写了,最好不要这样导入。
  • 导入内容多,且存在和其他包冲突的可能性。

如果是导入模式1

  • from turtle import *
  • 这是把turtle全部导入了,可以直接使用方法
  • 比如直接这样写:forward(100) 

2.3.2 import turtle()

如果是导入模式2

  • import turtle
  • 那就是需要这样 turtle.Turtle().forward(100)
  • 这里turtle.Turtle() 其实返回的就是一个海龟对象
  • 但是要注意 turtle 和 turtle.Turtle() 实际是2个不同的海龟对象!

也可以

  • import turtle as t
  • t.Turtle().forward(100)

或者也可以

  • import turtle
  • t=turtle.Turtle()
  • t.forward(100)
     

2.4 窗口关闭和不关闭的问题

​2.4.1 解决窗口会自动关闭的问题

这个问题很常见,用Python turtle画图时,画完图形窗口一下子退出消失,自动退出窗口的几个解决方法

  • 1.第一种方法:在程序的最后面加上:turtle.exitonclick()
  • 该语句让程序等待用户点击界面后才能够退出。
  • 2.第二种方法:在程序的最后面加上:turtle.mainloop()
  • 该语句必须放到最后一句,该句子后面的所有代码都无法执行,该语句的功能是事件循环。
  • 3.第三种方法:在程序的最后面加上:turtle.done()

2.4.2 在jupyternotebook等IDE里,出现不仅不自动关闭,且无法关闭的情况( 未解决)

  • 用turtle.bye()也不管用

3 从这次改变学习思路

3.1 新的学习思路尝试(主要是做一个对比)

  • 不想那么一步步学了
  • 我先看了一遍官方文档,然后自己根据印象,写一个综合其特点的各种例子,实际运用下

总结我之前的2种学习过程

  • 第1种:机器学习,线性代数等,先看书,然后根据书学了,再学笔记
  • 第2种:学用python的包,随便网上搜了,按网上搜到的看看了,直接跟着学一遍
  • 现在第3种是对第2种的改进,不想按部就班的这样学了,看重点文档官方文档,然后按自己的想法,写一些优点意思的代码。中间过程用到的新方法等顺便学下。

3.2 官方文档:学习首要参考

  • 先看了官方文档一遍
  • 这个turtle 文档我觉得写的一般,但是还是需要看的

turtle --- 海龟绘图 — Python 3.12.1 文档源码: Lib/turtle.py 概述: 海龟绘图是对 最早在 Logo 中引入的受欢迎的几何绘图工具 的实现,它由 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 在 1967 年开发。 Turtle star: 使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。 在 Python 中,海龟绘图提供了一个实体“海龟”形象(带有...icon-default.png?t=N7T8https://docs.python.org/zh-cn/3/library/turtle.html#turtle.color

3.3 这里可以罗列 turtle的一些方法,属性,等等(缺内容补充)

但是要简单,主要在使用中感受,学习吧

turtle 这样的用法很多

begin_poly()   和 end_poly()

begin_fill()  和 end_fill()

pendown() 和  penup()

4  画一个n边形 polygon

4.1 目标

  • 1>带参数,可以画任意边形状.(实际上边数较多时,就接近圆形了)
  • 2>试验,延迟动画效果
  • 3>试验,无动画效果y
  • 4>试验 polygon

4.2 对应试验代码

4.2.1 代码1:下面的代码设计内容

  • 屏蔽动画过程,直接画出图形结果
  • 使用了 tracer(False) 和  tracer(True) 控制刷新
  • 接受用户输入,自动生成对应的多边形

注意:python的range() 相关
  • range( start,end,step)
  • 要注意每个数都必须是int,否则会报错,这里我用 range(1,int(n),1) 也是未了避免整个
  • 否则报错TypeError: 'float' object cannot be interpreted as an integer
from turtle import *

tracer(False)
home()
print(position())

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))
tracer(True)
mainloop()

 

4.2.2 代码2:下面的代码设计内容

  • 和代码1的差别是
  • 没用屏蔽动画,反而是放慢的动画播放速度
  • 用delay(int) 来实现
from turtle import *

delay(60)
home()
print(position())

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))

mainloop()

4.2.3 代码3: 写入 polygon这个整体block

  • 目的是什么呢?
  • 把这段代码 用 begin_poly()   和 end_poly() 这样包围起来,是为了让turtle.write(turtle.get_poly()) # 方便整体调用?
  • 暂时没发现有什么用处?
  • begin_poly() 
  • end_poly()
  • turtle.get_poly()
from turtle import *

pencolor('black')
pensize(1)
fillcolor('orange')

delay(60)
begin_poly()
begin_fill()

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))

end_fill()
end_poly()

p = turtle.get_poly()
turtle.write(p)   #可以把polygon画画时,显示每次的点坐标pos,但是起点终点会写2次
print(p)          #返回信息,图片上不显示

mainloop()

((0.00,0.00), (30.00,0.00), (57.41,12.20), (77.48,34.50), (86.75,63.03), (83.61,92.86), (68.61,118.84), (44.34,136.48), (15.00,142.72), (-14.34,136.48), (-38.61,118.84), (-53.61,92.86), (-56.75,63.03), (-47.48,34.50), (-27.41,12.20), (0.00,0.00))

4.3 动画刷新问题

4.3.1 turtle 自动动画效果,但允许用户自定义修改

  • turtle默认就是自带动画效果的,这是一个很大的特点
  • 但是同时turtle也允许
  1. 用户取消动画过程
  2. 控制动画速度

4.3.2  屏蔽动画

使用 tracer(False) 和  tracer(True) 控制刷新

  • 一般成对使用,关闭刷新,打开刷新
  • tracer(False)
  • tracer(True)

4.3.3 强制刷新

  • update()
  • 在刷新被关闭时,强行刷新1次?

4.3.4  修改延时

  • delay( time毫秒数)
  • time : 一个正整数,以毫秒为单位表示延迟时间,是可选的。
  • 1秒=10分秒=100厘秒=1000毫秒
  • 1毫秒=1000微秒

4.4 关于位置

4.4.1 移动

  • turtle.forward()
  • turtle.backward()
  • setx()
  • sety()
  • goto
  • teleport  瞬间移动

4.4.2 角度(注意这里用的是角度)

turtle.left()

turtle.right()

角度和弧度换算

弧度公式

费360度角度公式

4.4.3 查看状态

  • home()                   #回到原点
  • position()   pos()    #移动/显示位置
  • heading()               #移动/显示方向

4.4.4 显示信息

  • 多边形polygon显示的是坐标信息
  • turtle.write(p)   #可以把polygon画画时,显示每次的点坐标pos,但是起点终点会写2次
  • print(p)          #返回信息,图片上不显示

4.5 清除和关闭

  • clear()
  • reset()        #关掉
  • turtle.bye()   #好像不生效


 

5  使用多个turtle 一起画

5.1 使用 turtle.Turtle() 返回一个turtle 对象

  • turtle.Turtle()     #产生一个新的turtle对象
  • turtle.Turtle()     #再产生一个新的turtle对象

5.2 容易犯错的地方

下面这种写法,实际伤定义了3个不同的turtle,默认的1个, turtle.Turtle()又新建了2个,并且,后面 turtle.Turtle()创建的2个完全是独立的。一定注意

        turtle.color(c)
        turtle.Turtle().forward(steps)

        turtle.Turtle().right(30)

        #上面这种写法,实际伤定义了3个不同的turtle

5.3 如何创建多个turtle 小乌龟呢?

t1=turtle.Turtle()
t2=turtle.Turtle()

5.4 试验多个乌龟的测试代码

5.4.1 测试代码1

import turtle

t1=turtle.Turtle()
t2=turtle.Turtle()

for step1 in range(100):
    t1.color("green")
    t1.forward(step1)
    t1.right(30)
    
    t2.color("red")
    t2.forward(step1*1.2)
    t2.right(30)

turtle.done()

5.4.2 测试代码2

import turtle

t1=turtle.Turtle()
t1.pencolor('black')
t1.pensize(1)
t1.fillcolor('green')

t2=turtle.Turtle()
t2.pencolor('black')
t2.pensize(1)
t2.fillcolor('red')

t1.setheading(0)
t2.setheading(180)


t1.begin_fill()
t2.begin_fill()
for step1 in range(50):
    #t1.goto(-step1-50,0)
    t1.color("green")
    t1.forward(step1*10)
    t1.left(170)

    t2.color("red")
    t2.forward(step1)
    t2.left(30)

t1.end_fill()
t2.end_fill()
    
turtle.done()

6  多角形的画法 

6.1 多角形和多角形形状,其实有着相同的数学原理

统一的算法原理

其实,如果是一个点这样持续转动

  • 转动180度那就直接到了对面
  • 转动360度那就直接到了自己这边
  • 转动540度那就直接到了对面

如果不是180呢

其实,如果是一个点这样持续转动

  • 如果         90 < 转动角度 <180
  • 转动170度那就直接到了对面,但是偏差10度,后面一直偏差下去,理论需要 360/10=36 才能刚好转一圈,那就会形成36个角
  • 转动150度那就直接到了对面,但是偏差30度,后面一直偏差下去,理论需要 360/30=12 才能刚好转一圈,那就会形成12个角

6.2 总结 关于多角形和多边形的 形成原理

  • 上面我说清楚了,
  • 多边形其实就是连续旋转多次而成了
  • 而如果连续选择相同的角度,就会形成正多边形
  • 如果旋转的角度     0<x<90,形成多边形,第2象限
  • 如果旋转的角度     90<x<180,就会形成多角星,至少都比四边形复杂
  • 如果,如果旋转的角度    180<x<270,就会形成多角星,
  • 如果,如果旋转的角度    270<x<360,形成多边形,第4象限

6.3 关于多角形的起点(也适用于多边形)

  • 用 stamp() 和dot() 是为了强调原点
  • 这样方便看清楚,运动的原点。
  • 是为了在图上显示原点,这样也能明白最后为什么会收敛于原点

6.4 坐标向量的模长公式

  • abs(pos())

6.5 关于浮点数的回到原点判断

  • 浮点数的判断条件无 ==
  • 只能用 <1足够小来判断

6.6 测试代码:这个其实是,多角星的画法

搞清楚这个的动画后,自己手动画的原理也了解了,直观的经验狠重要啊

from turtle import *
# 绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺

pencolor('black')
pensize(1)
fillcolor('red')
dot(10,"red")
stamp()


begin_fill()
delay(10)
while True:
    forward(200)
    left(150)
    print("pos()=",pos(),"abs(pos())=",abs(pos()))
    if abs(pos()) < 1:    #abs()取模长方法,float没用 ==0这种判断,只能<1像素
        break
end_fill()

done()

pos()= (200.00,0.00) abs(pos())= 200.0
pos()= (26.79,100.00) abs(pos())= 103.52761804100828
pos()= (126.79,-73.21) abs(pos())= 146.41016151377548
pos()= (126.79,126.79) abs(pos())= 179.31509443361068
pos()= (26.79,-46.41) abs(pos())= 53.58983848622458
pos()= (200.00,53.59) abs(pos())= 207.05523608201662
pos()= (0.00,53.59) abs(pos())= 53.58983848622448
pos()= (173.21,-46.41) abs(pos())= 179.31509443361074
pos()= (73.21,126.79) abs(pos())= 146.4101615137754
pos()= (73.21,-73.21) abs(pos())= 103.5276180410084
pos()= (173.21,100.00) abs(pos())= 199.99999999999997
pos()= (0.00,-0.00) abs(pos())= 1.0345658394727079e-13

后面这些未完成(建设ing)

7 黄金螺线是弧线

但原理和之前的线段逐渐变长的原理是想通的

8 绘制弧线相关

9  绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺  黄金螺线

10 总结多类图

11 其他函数

delay()

speed()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/404009.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux之用户和用户组

目录 一.简介 二.用户 2.1 添加用户&#xff08;useradd&#xff09; 2.2 删除用户账号&#xff08;userdel&#xff09; 2.3 修改账户&#xff08;usermod&#xff09; 2.4 用户口令管理&#xff08;passwd&#xff09; 三. 用户组 3.1 添加用户组&#xff08;groupadd&…

WRF WPS : namelist 学习笔记

WPS & share 采用ARW方式进行模拟&#xff0c;除了ARW还有NMM,不过科研上常用ARW: wrf_core ‘ARW’最大的嵌套层数为3层&#xff0c;初学者一般是从一层开始逐步加多: max_dom 3 # max_dom 2设置模式开始和结束 的时间&#xff0c;从左到右依次是第一层第二层和第三…

c++笔记理解

1.封装 &#xff08;1&#xff09;构造函数不是必须在的 可以通过行为修改属性 &#xff08;2&#xff09;private和protected区别在于继承那里要学 &#xff08;3&#xff09;类默认是私有&#xff0c;struct是共有 私有的好处&#xff1a;控制数据的有效性&#xff0c;意…

9、内网安全-横向移动Exchange服务有账户CVE漏洞无账户口令爆破

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正&#xff01; 背景&#xff1a; 在内网环境的主机中&#xff0c;大部分部署有Exchange邮件服务&#xff0c;对于Exchange服务的漏洞也是频出&#xff0c;在这种情况下&#xff0c;如果拿到内网中一台主机…

国家治理的数据赋能及其秩序生产(四)

国家治理的数据赋能及其秩序生产(四) 文章目录 国家治理的数据赋能及其秩序生产(四)前言五、大数据赋能国家治理的秩序异化(一) 数据垄断(二) 数据壁垒(三) 数据鸿沟前言 大数据刻画了社会存在,能够记录并存储有关权力流动的诸种细节,是治理主体使用的一种重要工具…

windows如何恢复删除文件?「2024恢复策略」

在数字时代&#xff0c;数据无疑是最为宝贵的财富之一。然而&#xff0c;无论是因为误操作、病毒感染还是其他各种原因&#xff0c;我们时常会面临文件被误删的风险。当重要的文件从Windows系统中消失时&#xff0c;许多用户都会感到焦虑和无助。那么&#xff0c;Windows系统下…

element导航菜单el-menu添加搜索功能

element导航菜单-侧栏&#xff0c;自带的功能没有搜索或者模糊查询。 找了找资料 找到一个比较可行的&#xff0c;记录一下&#xff1a; //index.vue的代码 <div style"overflow:auto"><el-menu :default-active"$route.path":default-openeds&…

IP 协议

IP 协议 .IP协议格式四位版本号四位首部长度8位服务类型16位总长度16位标识符,3位标志位,13位片偏移8位生存时间TTL8位协议16位首部校验和32位源地址 32位目的地址IP地址的组成特殊的IP地址 . IP协议格式 四位版本号 用来表示IP协议的版本,现有的IP协议只有两个版本,IPv4,IPv6…

Java面试题之分布式/微服务篇

经济依旧不景气啊&#xff0c;如此大环境下Java还是这么卷&#xff0c;又是一年一次的金三银四。 兄弟们&#xff0c;你准备好了吗&#xff1f;冲冲冲&#xff01;欧里给&#xff01; 分布式/微服务相关面试题解 题一&#xff1a;CAP理论&#xff0c;BASE理论题二&#xff1a;…

pclpy 可视化点云(多窗口可视化、单窗口多点云可视化)

pclpy 可视化点云&#xff08;多窗口可视化、单窗口多点云可视化&#xff09; 一、算法原理二、代码三、结果1.多窗口可视化结果2.单窗口多点云可视化 四、相关数据五、问题与解决方案1.问题2.解决 一、算法原理 原理看一下代码写的很仔细的。。目前在同一个窗口最多建立2个窗…

江科大stm32学习笔记——【3-2】GPIO输出:LED闪烁LED流水灯蜂鸣器

&#xff08;一&#xff09; 硬件连接 1.LED闪烁 LED灯正极连接面包板电源正极&#xff0c;LED负极连接单片机A0口 (也可以LED负极连面包板负极&#xff0c;LED正极连接单片机A0口) 跳线连接单片机3.3和面包板正极&#xff0c;连接单片机GND和面包板负极 2.LED流水灯 3.蜂鸣…

2个wordpress优化SEO主题模板

SEO优化wordpress主题 简洁的SEO优化wordpress主题&#xff0c;效果好不好&#xff0c;结果会告诉你&#xff0c;适合SEO公司使用的主题。 https://www.jianzhanpress.com/?p2804 SEO优化海外WordPress主题 简洁的SEO优化海外服务商WordPress主题&#xff0c;为中国制造202…

GaussDB SQL调优:建立合适的索引

背景 GaussDB是华为公司倾力打造的自研企业级分布式关系型数据库&#xff0c;该产品具备企业级复杂事务混合负载能力&#xff0c;同时支持优异的分布式事务&#xff0c;同城跨AZ部署&#xff0c;数据0丢失&#xff0c;支持1000扩展能力&#xff0c;PB级海量存储等企业级数据库…

微服务篇之分布式系统理论

一、CAP定理 1.什么是CAP 1998年&#xff0c;加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式系统有三个指标&#xff1a; 1. Consistency&#xff08;一致性&#xff09;。 2. Availability&#xff08;可用性&#xff09;。 3. Partition tolerance &#xff0…

突破企业发展瓶颈:解决人、机、物数据关联难题

在当今竞争激烈的商业环境中&#xff0c;企业面临着诸多挑战&#xff0c;而这些痛点正逐渐成为企业发展的绊脚石。人、机、物数据采集复杂&#xff0c;关联困难&#xff0c;导致全方位产能协同难以实现&#xff1b;产品多样性使得精准管控变得愈发困难。同时&#xff0c;库存积…

干货 | 如何通过 Navicat Monitor 3 创建自定义指标

Navicat Monitor 3 是一款安全、简单且无需代理的远程服务器监控工具&#xff0c;包含许多强大的功能&#xff0c;尽可能使你的监控工作更加有效。你可以通过 Web 浏览器从任何地方访问 Navicat Monitor&#xff0c;获取关于服务器负载和性能的统计数据&#xff0c;包括可用性、…

开源图表库Echarts 简介与基本使用

ECharts 是一个使用 JavaScript 实现的开源可视化图表库&#xff0c;由百度团队开发。它提供了丰富的图表类型&#xff0c;如折线图、柱状图、饼图、地图、雷达图等&#xff0c;并且可以轻松地与其他前端框架和库集成。ECharts 的设计目的是为了满足复杂数据的可视化需求&#…

ES6内置对象 - Set

Set&#xff08;es6提供的一种数据结构&#xff0c;类似数组&#xff0c;是一个集合&#xff0c;可以存储任何类型的元素且唯一、不重复&#xff0c;so,多用于元素去重&#xff09; 如上图&#xff0c;Set数据结构自带一些方法 1.Set对象创建 let a new Set([1,2,3,3,1,2,4,…

C++力扣题目 739--每日温度 496--下一个更大元素I 503--下一个更大元素II

739. 每日温度 力扣题目链接(opens new window) 请根据每日 气温 列表&#xff0c;重新生成一个列表。对应位置的输出为&#xff1a;要想观测到更高的气温&#xff0c;至少需要等待的天数。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;…

【Unity】【VR开发】Unity云同步功能使用心得

【背景】 有时出差,旅行等等也带着电脑,晚上想要继续编辑项目,就需要用到云同步功能。目前实践下来,发现有些内容可以同步,有些内容则是不可以同步的,总结如下。 【如何云同步一个本地项目】 UnityHub的项目面板中有两个选项卡:项目和云端项目。 鼠标挪动到想要云同步…