【二】Django小白三板斧

news2025/1/13 16:57:15

今日内容

【一】Django小白三板斧

image-20240229170127292

  • HttpResponse
    • 返回字符串类型的数据
  • render
    • 返回HTML文件
  • redirect
    • 重定向

【补充】django自带重启功能

  • 当识别到项目中代码有变化之后 隔段时间会自动重启 但是有时候较慢

【项目的前提条件】

# settings.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,"app01/templates") ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

首先,让我们创建 app01 应用程序的 urls.py 文件。在你的项目中,应该有一个名为 urls.py 的主 URL 配置文件,其中包含了所有应用程序的 URL 配置。在这个文件中,你需要添加一个路径配置来引入 myapp 应用程序的 URL 配置。

# 项目的 urls.py 文件
from django.urls import include, path

urlpatterns = [
    # 其他路径配置...
    path('app01/', include('app01.urls')),
]

接下来,创建 app01 应用程序的 urls.py 文件,其中包含了路径配置和视图函数的映射。

# myapp 的 urls.py 文件
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index_view, name='index'),
    path('home/', views.home_view, name='home'),
    path('redirect/', views.redirect_view, name='redirect'),
]

​ 在 app01 应用程序的 views.py 文件中,你可以编写视图函数来处理每个路径的请求。

# app01 的 views.py 文件
from django.shortcuts import render, HttpResponse, redirect


def index_view(request):
    return HttpResponse('Hello, world!')

def home_view(request):
    return render(request, 'login_success.html')

def redirect_view(request):
    return redirect('/app01/home/')

【二】静态文件

我们将html文件默认都凡在templates文件夹下

我们将网站所使用的静态文件默认都放在static文件夹下

【1】什么是静态文件

  • 前端已经写好了的 能够直接调用使用的文件

    • 网站写好的js文件
    • 网站写好的css文件
    • 网站写好的图片文件
    • 第三方前端框架
    • 拿来就可以直接使用的
  • django默认是不会自动帮你创建static文件夹 需要你自己手动创建

  • 一般情况下我在static文件夹内换回做进一步的划分处理

    • –static
      • –js
      • –css
      • –img
      • 其他的第三方文件
  • 在浏览器中输入url能够看到对应的资源

  • 是因为后端提前开设了该资源的借口

  • 如果访问不到资源 说明后端没有开设该资源的借口

  • http://127.0.0.1:8000/static/bootstrap-3.3.7-dist/css/bootstrap.min.css

【二】在Django配置静态文件

  1. 在Django的默认静态文件渲染系统中
  2. 默认的文件访问位置为当前APP的静态文件
  • 在settings.py文件中

  • # 默认的静态文件配置
    STATIC_URL = '/static/'
    
  • 在app 下创建一个static文件夹

    • 创建一个子分类文件夹
  • 访问静态文件http://127.0.0.1:8000/static/avatar/1.jpg

  • 在页面上可以渲染出当前静态文件

第一种

  • 如果想访问到项目目录下指定文件夹内容的静态文件

​ 因为我将static文件夹放在个django文件是同一级文件夹下因此我的默认的配置文件如下:

# 默认的静态文件配置
STATIC_URL = '/static/'

# 添加配置条件
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, r'F:\PicGo\djangoProject\static'),    
]

(http://127.0.0.1:8000/static/photos/21.jpg)

image-20240227200702898

第二种

# 第一步
# 在前端页面中的第一行  
# {% load static  %}

# 第二步:使用静态文件
# {% static 'static/phots/21.jpg' %}
<!-- login.html -->
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
{#    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>#}
    <link href="{% static 'js/bootstrap-theme.min.css' %}" rel="stylesheet">


{#    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>#}
</head>
<body>
<h1 class = 'text-center'>登陆</h1>
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <form action="" method="post">
                <p>username:<input type="text" 			name="username" class="form-control"></p>
                <p>password:<input type="password" name="password" class="form-control"></p>
                <input type="submit" class="bth btn-block">
            </form>
        </div>
    </div>
</div>
</body>
</html>
  • <form action="" method="post">
    
  • form表单action参数

    • 不写 默认当前所在的url提交是数据
    • 全写 指名姓名
    • 只写后缀 /login/

在前期我们使用Django提交post请求的时侯 需要取配置文件中注释掉一行代码

# <!-- 在settings.py文件中 -->
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

image-20240227214405151

【三】request对象方法

【1】request.method

  • 获取到当前请求方式

【2】request.GET

  • 获取到get请求携带的请求参数
# 请求参数携带在路由地址上以键值对的形式携带
http://127.0.0.1:8000/register/?username=&password=&hobby=music&hobby=sport&hobby=swim
  • request.GET.get(key)
# 获取键值对数据(单个的键值对数据)
  • request.GET.getlist(key)
# 获取GET请求携带的列表数据(一个键多个值的数据)
# hobby=music&hobby=sport&hobby=swim

【3】request.POST

  • 获取POST请求携带的请求体
# 请求数据携带在请求体重,并且在路由地址上看不到
  • form表单提交 post 请求时会报错
# 解决办法:注释掉 middleware中带有 CSRF 参数的中间件
# CSRF verification failed. Request aborted.

【三】pycharm链接数据库(MySQL)

  • 三个位置查数据库相关的

    • 右侧上方的database
    • 左下方database
    • 配置里面的plugins插件搜索安装
    • 不行就卸载安装

    pycharm可以充当很多款数据库软件的客户端

【配置】

要在 Django 中连接 MySQL 数据库,你需要进行以下步骤:

  1. 确保你已经安装了 MySQL 数据库,并且知道数据库的连接信息,例如主机名、用户名、密码和数据库名称。

  2. 在 Django 的项目设置文件 settings.py 中,找到 DATABASES 配置项,并进行如下修改:

# settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bai', # 你的数据库名字
        'USER': 'root', # 一般来说就是root
        'PASSWORD': '12186', # 忘了就要百度
        'HOST': '127.0.0.1',  # 默认为 'localhost'
        'PORT': '3303',  # 默认为 '3306'  
    }
}

请将 'your_database_name''your_username''your_password''your_host''your_port' 替换为你的 MySQL 数据库的实际连接信息。

你直接使用会出现以下错误

image-20240228092911234

​ 这个错误提示是在 Django 中连接 MySQL 数据库时出现的。它指出无法加载 MySQLdb 模块,可能是因为没有安装 mysqlclient。

  1. 如果你还没有安装 mysqlclient 库,请在终端中运行以下命令安装:
# pip install mysqlclient

这是一个用于连接 MySQL 数据库的 Python 库。

  • 安装这个mysqlclient库需要运气
    • win 电脑给力一点,安装就不会报错
  • mac系统安装 mysqlclient 费劲
win报错解决办法
  • 访问 whl文件的官网
  • https://pypi.org/project/mysqlclient/#files
# pip install mysqlclient-2.2.4-cp310-cp310-win_amd64.whl
  1. 运行数据库迁移命令,以创建 Django 所需的数据库表:
# python manage.py migrate

​ 这将根据你的 models.py 文件创建数据库表。

​ 现在,你的 Django 项目应该能够连接到 MySQL 数据库了。你可以在你的应用程序的 models.py 文件中定义模型,并使用 Django 的 ORM (对象关系映射) 功能与数据库交互。

​ 以下是一个简单的示例,展示了如何在 Django 中连接 MySQL 数据库和定义一个简单的模型:

# models.py

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publication_date = models.DateField()

    def __str__(self):
        return self.title

​ 在这个示例中,我们创建了一个名为 Book 的模型,它有三个字段:titleauthorpublication_date__str__ 方法定义了模型对象的字符串表示形式。

​ 确保在定义模型后运行以下命令,以将模型更改应用于数据库:

# python manage.py makemigrations
# python manage.py migrate

【四】Django链接MySQL

【1】Django自带的数据

  • 在 settings.py 文件中有一个配置项就是配置数据库的
  • 但是Django默认的数据库是sqlite3数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        # 修改sqlites
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

image-20240227225240559

image-20240227230040791

  • 将上图中黄色警告缺少驱动程序文件下载
  • 就是傻瓜模式

image-20240227230230096

【五】Django中的ORM操作

【1】什么是ORM

ORM. 对象就是关系映射

  • ORM 的基本思想是将数据库表映射为对象

【2】作用

​ 能够让一个不用sql语句的小白也能通过python 面向对象的代码简单快捷的操作数据库不知之处:

  • 封装程度太高
  • 有时候sql语句的效率偏低
  • 需要你自己写SQL语句
# 类					表
# 对象			   记录
# 对象属性			  记录某一个字段对应的值 

【3】ORM 的优点包括:

  1. 简化数据库操作:ORM 提供了高级的抽象层,使开发人员无需直接编写复杂的 SQL 查询语句,而是使用简单的方法和语法来执行数据库操作。
  2. 提高开发效率:ORM 可以减少开发人员的工作量,提供了便捷的方式来处理数据库,减少了手动编写 SQL 语句的时间和错误。
  3. 跨数据库支持:ORM 框架通常支持多种数据库后端,使开发人员能够在不同的数据库系统之间切换,而无需更改大量的代码。
  4. 数据库独立性:通过使用 ORM,应用程序的数据库访问逻辑与具体的数据库实现解耦,使得应用程序更容易迁移到不同的数据库系统上。
  5. 更好的可维护性:ORM 提供了一种结构化的方式来管理数据库操作,使得代码更易于理解、维护和扩展。

【4】建表操作

【1】定义模型表

  • 在自己的应用程序的文件如:app01下面的models.py文件中定义模型表
from django.db import models


# Create your models here.

# 建表 : 数据库中的表映射为Python中的类
class User(models.Model):
    # 数据库中的字段映射为Python中的属性
    # 定义一个用户名 : 字符串类型 长度 
    # MySQL中字符串类型的字段 : char varchar(32)
    # CharField :字符串类型的字段
    # max_length :最大长度
    # verbose_name : 注释
    # help_text : 解释
    username = models.CharField(max_length=32, 			verbose_name="用户名", help_text="这是一个用户名字段")
    password = models.CharField(max_length=32)
    # IntegerField : 相当于MySQL中的 int 字段
    age = models.IntegerField()
    # FloatField : 相当于MySQL数据库中的 float 字段
    salary = models.FloatField()

​ 一旦你定义了模型,你可以使用 Django 的数据库迁移工具来创建数据库表。迁移工具会根据模型的定义自动生成相应的 SQL 语句,并将其应用到数据库中。你可以使用以下命令进行数据库迁移:

python manage.py makemigrations  # 生成迁移文件
python manage.py migrate  # 应用迁移文件,创建数据库表

​ 这样,Django ORM 将会根据你的模型定义创建一个名为 User 的数据库表,该表包含了 usernamepasswordsalaryage 四个个字段。

image-20240229194104071

默认数据库

  • 在 settings.py 文件中有一个配置项就是配置数据库的
  • 但是Django默认的数据库是sqlite3数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

指定数据库

  • 修改 settings.py 中的数据库配置项
  • 模版
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # 数据库名字
        'NAME': "",  # 如 bai
        # 数据库用户名
        "USER": "", # 一般是 root
        # 数据库密码
        "PASSWORD": "",  # 忘了就拜拜
        # 数据库 IP,本地默认是127.0.0.1/localhost
        "HOST": "localhost",
        # 数据库端口
        "PORT": 3306,   # 可以查看自己数据库文件夹中的min文件
        # 数据库编码
        "CHARSET": "utf8mb4",
    }
}

【2】指定MySQL数据库报错

先创建一个新的数据库

image-20240301150856572

  • django 默认使用mysqldb模块链接mysql
  • 但是该模块的兼容性不好,需要手动修改为pymysql链接

(1)解决办法一:猴子补丁

  • 在项目下的 __init__ 或者任意的应用名下的 __init__ 文件中书写一下代码
import pymysql

pymysql.install_as_MySQLdb()

(2)解决办法二:下载第三方模块

  • 直接安装
pip install mysqlclient
  • 运气好不会报错,但是运气不好就会报错

(3)Win报错解决办法(下载whl文件)

  • https://pypi.org/project/mysqlclient/#files

image-20240209185757398

  • 下载对应的whl版本文件
  • 安装(切换到指定目录下执行 pip 安装命令)
pip install pip mysqlclient-2.2.4-cp310-cp310-win_amd64.whl

【3】ORM操作之字段操作

https://docs.djangoproject.com/en/3.2/topics/db/

这个是django数据库语句的官网

【1】字段属性

(1)允许为空

  • 在定义模型类的相应字段时,可以为该字段添加 null=True 属性以允许其值为 None 或空字符串。
class MyModel(models.Model):
    name = models.CharField(max_length=50, null=True)  # 允许name字段为空

(2)指定默认值

  • 设置字段的默认值可通过在字段定义时附加 default 参数实现。例如,给字段 age 设置默认值为 18
class MyModel(models.Model):
    age = models.IntegerField(default=18)  # 默认年龄为18岁

【2】字段增加

  • 要在 Django 模型表中增加新的字段,只需在相应的 Model 类中添加新字段及其类型和所需属性。
from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=50) 
    created_at = models.DateTimeField(auto_now_add=True)  # 新增一个自动记录创建时间的datetime字段
    is_active = models.BooleanField(default=True)  # 新增一个布尔类型字段,默认激活状态为True

【3】字段删除

  • 要从模型表中删除字段,请直接在 Model 类中注释掉该字段或者将其完全移除。
  • 不过,在生产环境中删除字段前请确保不会影响现有数据,因为这可能导致数据丢失或结构不一致。
class MyModel(models.Model):
    name = models.CharField(max_length=50) 
    created_at = models.DateTimeField(auto_now_add=True) 
    is_active = models.BooleanField(default=True)  # 移除is_removed字段

【补充】

  • 每次修改关于数据库字段的操作时,都要执行数据库的迁移相关操作
python manage.py makemigrations
python manage.py migrate

【六】ORM操作之数据操作

【1】增加

(1)语法

模型表名.objects.create(字段名=字段值)

(2)示例

new_instance = MyModel.objects.create(
    name="张三", 
    age=25,
    email="zhangsan@example.com"
)

【2】查询

(1)语法

  • 获取到当前表中的全部数据
模型表名.objects.all()
  • 根据指定条件筛选数据
# 方式一
模型表名.objects.get(筛选字段名=筛选字段值)

# 方式二
模型表名.objects.filter(筛选字段名=筛选字段值)
  • 去除指定条件的数据
模型表名.objects.exclude(筛选字段名=筛选字段值)

(2)示例

# 获取表中所有数据
all_records = MyModel.objects.all()

# 根据特定条件筛选数据(方式一)
filtered_records = MyModel.objects.get(name="张三")

# 根据特定条件筛选数据(方式二)
# 查询包含"张"的所有name
filtered_records = MyModel.objects.filter(name__contains="张")  

# 去除满足指定条件的数据
# 过滤掉所有年龄小于18岁的记录
excluded_records = MyModel.objects.exclude(age__lt=18) 

【3】更改

(1)语法

# 方式一:先查询直接修改
模型表名.objects.filter(筛选字段名=筛选字段值).update(修改字段名=修改字段值)

# 方式二:先查询后修改
obj = 模型表名.objects.get(筛选字段名=筛选字段值)
obj.修改字段名=修改字段值
obj.save()

(2)示例

# 可以使用.filter() 和 .update() 方法批量更新符合条件的数据
# 所有年龄为25的记录年龄改为26
MyModel.objects.filter(age=25).update(age=26) 

# 更新已有记录的值,可先通过查询获取对象实例后调用 .save() 方法
instance_to_update = MyModel.objects.get(name="张三")
instance_to_update.age = 26
instance_to_update.save()

【4】删除

(1)语法

# 方式一:删除需要先查询直接删除
模型表名.objects.filter(筛选字段名=筛选字段值).delete()

# 方式二:删除需要先查询再删除
instance_to_delete = MyModel.objects.get(筛选字段名=筛选字段值)
instance_to_delete.delete()

(2)示例

# 删除满足特定条件的记录,通常先通过查询获取对象实例再调用 .delete() 方法
instance_to_delete = MyModel.objects.get(name="张三")
instance_to_delete.delete()

# 可以使用 .filter() 方法批量删除
MyModel.objects.filter(name="李四").delete()  # 删除所有名字为"李四"的记录

常用的操作语法:

在Django中,ORM(对象关系映射)提供了一种便捷的方式来执行数据库操作。ORM允许您使用Python代码而不是SQL语句来操作数据库。下面是一些常见的ORM操作语法:
  1. 创建对象:
new_object = MyModel(field1='Value 1', field2=123)
new_object.save()
  1. 读取对象:
all_objects = MyModel.objects.all()  # 获取所有记录

# 根据条件过滤记录
filtered_objects = MyModel.objects.filter(field1='Value 1')

# 获取单个记录
single_object = MyModel.objects.get(pk=1)
  1. 更新对象:
object_to_update = MyModel.objects.get(pk=1)
object_to_update.field1 = 'New Value'
object_to_update.save()
  1. 删除对象:
object_to_delete = MyModel.objects.get(pk=1)
object_to_delete.delete()
  1. 聚合操作(Aggregation):
from django.db.models import Count, Sum, Avg

# 计算记录总数
count = MyModel.objects.count()

# 对字段进行求和
total = MyModel.objects.aggregate(Sum('field2'))

# 对字段进行平均值计算
average = MyModel.objects.aggregate(Avg('field2'))
  1. 排序:
# 按字段升序排序
sorted_objects = MyModel.objects.order_by('field1')

# 按字段降序排序
sorted_objects = MyModel.objects.order_by('-field1')
  1. 关联查询:
class RelatedModel(models.Model):
    my_model = models.ForeignKey(MyModel, on_delete=models.CASCADE)

# 获取关联模型的记录
related_objects = RelatedModel.objects.select_related('my_model')

# 获取关联模型的记录并预先加载
related_objects = RelatedModel.objects.prefetch_related('my_model')

​ 这些是常见的ORM操作语法示例。Django的ORM还提供了更多高级的查询和操作方法,如跨表查询、事务管理等。https://docs.djangoproject.com/en/3.2/topics/db/

ggregation):

from django.db.models import Count, Sum, Avg

# 计算记录总数
count = MyModel.objects.count()

# 对字段进行求和
total = MyModel.objects.aggregate(Sum('field2'))

# 对字段进行平均值计算
average = MyModel.objects.aggregate(Avg('field2'))
  1. 排序:
# 按字段升序排序
sorted_objects = MyModel.objects.order_by('field1')

# 按字段降序排序
sorted_objects = MyModel.objects.order_by('-field1')
  1. 关联查询:
class RelatedModel(models.Model):
    my_model = models.ForeignKey(MyModel, on_delete=models.CASCADE)

# 获取关联模型的记录
related_objects = RelatedModel.objects.select_related('my_model')

# 获取关联模型的记录并预先加载
related_objects = RelatedModel.objects.prefetch_related('my_model')

​ 这些是常见的ORM操作语法示例。Django的ORM还提供了更多高级的查询和操作方法,如跨表查询、事务管理等。https://docs.djangoproject.com/en/3.2/topics/db/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2012年认证杯SPSSPRO杯数学建模D题(第一阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 减缓热岛效应 D题 人机游戏中的数学模型 原题再现&#xff1a; 计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力&#xff0c;使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可…

C语言中的结构体:揭秘数据的魔法盒

前言 在C语言的广阔天地中&#xff0c;结构体无疑是一颗璀璨的明珠。它就像是一个魔法盒&#xff0c;能够容纳各种不同类型的数据&#xff0c;并按我们的意愿进行组合和排列。那么&#xff0c;这个魔法盒究竟有何神奇之处呢&#xff1f;让我们一探究竟。 一、结构体的诞生&…

C++指针与二维数组

按行顺序存放所有元素 二维数组与行 a代表二维数组的首地址&#xff0c;也是第0行的首地址&#xff1b; ai代表第i行&#xff08;个&#xff09;元素的地址&#xff0c;即&a[i]; ai或&a[i]表示行地址&#xff0c;每次加1会移动一行&#xff1b; *&#xff08;ai&#…

STM32CubeMX配置步骤详解五 —— 基础配置(2)

接前一篇文章&#xff1a;STM32CubeMX配置步骤详解四 —— 基础配置&#xff08;1&#xff09; 本文内容主要参考&#xff1a; STM32CUBEMX配置教程&#xff08;一&#xff09;基础配置-CSDN博客 特此致谢&#xff01; 三、STM32CubeMX基础配置 上一回讲解了STM32CubeMX基础…

ELA:深度卷积神经网络的高效局部注意力机制

文章目录 摘要1、引言2、相关工作3、方法3.1、重新审视坐标注意力3.1.1、坐标注意力3.1.2、坐标注意力的不足 3.2、高效局部注意力3.3、多个ELA版本设置3.4、可视化3.5、实现 4、实验4.1、实验细节4.2、ImageNet上的图像分类4.3、目标检测4.4、语义分割 5、结论 摘要 https://…

【打印SQL执行日志】⭐️Mybatis-Plus通过配置在控制台打印执行日志

目录 前言 一、Mybatis-Plus 开启日志的方式 二、测试 三、日志分析 章末 前言 小伙伴们大家好&#xff0c;相信大家平时在处理问题时都有各自的方式&#xff0c;最常用以及最好用的感觉还是断点调试&#xff0c;但是涉及到操作数据库的执行时&#xff0c;默认的话在控制台…

Linux基础篇:Linux网络yum源——以配置阿里云yum源为例

Linux网络yum源——以阿里云为例 一、网络yum源介绍 Linux中的YUM&#xff08;Yellowdog Updater, Modified&#xff09;源是一个软件包管理器&#xff0c;它可以自动处理依赖关系并安装、更新、卸载软件包。YUM源是一个包含软件包的远程仓库&#xff0c;它可以让用户轻松地安…

实验一 Windows 2008虚拟机安装、安装VM Tools、快照和链接克隆、添加硬盘修改格式为GPT

一、安装vmware workstation软件 VMware workstation的安装介质&#xff0c;获取路径&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1AUAw_--yjZAUPbsR7StOJQ 提取码&#xff1a;umz1 所在目录&#xff1a;\vmware\VMware workstation 15.1.0 1.找到百度网盘中vmwa…

x86汇编写矩阵乘法问题(实现一个3×3矩阵乘法的汇编代码)

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

4核8G服务器性能怎么样?4核8G12M配置可应对哪些场景?

腾讯云4核8G服务器多少钱&#xff1f;腾讯云4核8G轻量应用服务器12M带宽租用价格646元15个月&#xff0c;活动页面 txybk.com/go/txy 活动链接打开如下图所示&#xff1a; 腾讯云4核8G服务器优惠价格 这台4核8G服务器是轻量应用服务器&#xff0c;详细配置为&#xff1a;轻量4核…

【TB作品】MSP430单片机读取大气压强传感器BMP180

文章目录 实物main所有代码 实物 main #include <msp430.h> #include "stdio.h" #include "OLED.h"#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h>// P2.2 oled scl // P2.3 oled sda// p…

java算法day43 | 动态规划part05 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

1049. 最后一块石头的重量 II 核心思想&#xff1a; 尽量让石头分成重量相同的两堆&#xff0c;相撞之后剩下的石头最小&#xff0c;这样就化解成01背包问题了。 是不是感觉和昨天讲解的416. 分割等和子集 (opens new window)非常像了。那么分成两堆石头&#xff0c;一堆石头的…

LeetCode十一题:容纳最多水的容器【11/1000 python】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

基于SpringBoot的“数码论坛系统设计与实现”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“数码论坛系统设计与实现”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统首页界面图 数码板…

提升提测质量之研测共建

提升提测质量之研测共建 简介 你是否也有同样的困惑&#xff1f;跟进的需求&#xff0c;就在提测前一秒&#xff0c;被告知不能如期提测了&#xff0c;研测计划被打乱&#xff1b;提测的功能&#xff0c;犹如遇到不好的购物体验&#xff0c;缺斤短两&#xff0c;与prd预期不符…

09 flink-sql 中基于 mysql-cdc 的 select * from test_user 的具体实现

前言 这也是最近帮一个朋友看问题 遇到的一个问题 然后 引发了一下 对于 flink-sql 里面的一些 常规处理的思考, 理解 原始问题主要是 在测试库可以使用 flink-sql 可以正常同步, 但是 在生产环境 无法正常同步数据 这个问题 我们后面单独 记录一篇文章 测试用例 下载…

C++算法 —— 前缀和

一、【模版】前缀和 1.链接 【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 2.描述 3.思路 前缀和的思想其实就是一种简单的动态规划&#xff0c;以i位置记录从头位置到i位置的和&#xff0c;然后间接的求一段连续区间的数组和&#xff0c;时间复杂度是O&#xff08;n&…

20.2k stars项目搭建私人网盘界面美功能全

Nextcloud是一套用于创建网络硬盘的客户端&#xff0d;服务器软件。其功能与Dropbox相近&#xff0c;但Nextcloud是自由及开放源代码软件&#xff0c;每个人都可以在私人服务器上安装并执行它。 GitHub数据 20.2k stars561 watching3.2k forks 开源地址:https://github.com/ne…

保研线性代数复习3

一.基底&#xff08;Basis&#xff09; 1.什么是生成集&#xff08;Generating Set&#xff09;&#xff1f;什么是张成空间&#xff08;Span&#xff09;&#xff1f; 存在向量空间V(V&#xff0c;&#xff0c;*)&#xff0c;和向量集&#xff08;xi是所说的列向量&#xff…

H5面临的网络安全威胁和防范措施

H5&#xff0c;是基于HTML5技术的网页文件。HTML&#xff0c;全称Hyper Text Markup Language&#xff0c;即超文本标记语言&#xff0c;由Web的发明者Tim Berners-Lee与同事Daniel W. Connolly共同创立。作为SGML的一种应用&#xff0c;HTML编写的超文本文档能够独立于各种操作…