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

2024--Django平台开发-Django知识点(三)

  • day03 django知识点
    • 项目相关
    • 路由相关 urls.py
    • 视图相关 views.py
    • 模版相关 templates
    • 资源相关 static/media

1.项目相关

  • 新项目
    • 开发时,可能遇到使用其他的版本。
    • 虚拟环境
  • 老项目
    • 打开项目
    • 虚拟环境

1.1 关于新项目

1.系统解释器+命令行【学习】

C:/python38- python.exe- Scripts- pip.exe- pip3.8.exe- django-admin.exe- Lib- re.py- site-pakages- djangoC:/python39- python.exe- Scripts- pip.exe- pip3.9.exe- django-admin.exe- Lib- re.py- site-pakages- django
>>>C:/python39/Scripts/pip  install django
  • django项目

    >>>E:
    >>>cd code
    >>>C:/python39/Scripts/django-admin  startproject  mysite
    
  • 目录结构

    E:\code\mysite- mysite- urls.py     URL和函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]
    
  • 运行项目

    >>>cd mysite
    >>>C:\python39\python manage.py runserver 
    
  • 对应关系 urls.py

    from django.http import HttpResponsedef demo(request):return HttpResponse("OK")urlpattens = [path("demo/",demo),
    ]
    

2.虚拟环境+命令行【线上部署】

C:\python39- python.exe- Scripts- pip.exe- pip3.9.exe- virtualenv.exe- Lib- re.py- site-pakages
>>>C:\python39\pip install virtualenv
a.创建虚拟环境
>>>C:\python39\Scripts\virtualenv  F:\envs\x1  --python=python3.9
F:\envs\x1- python.exe- Scripts- pip.exe- pip3.9.exe- activate.exe- django-admin.exe- Lib- site-pakages- django- ..
b.激活虚拟环境
>>>F:
>>>cd F:\envs\x1\
>>>activate.exe
c.激活虚拟环境
(x1)>>>pip install django
(x1)>>>pip install django==3.2
d.创建项目
(x1)>>>django-admin startproject mysite

3.虚拟环境+Pycharm【最新django】

E:\PycharmProjects\day002
E:\PycharmProjects\day002\.venv

注意:第2期,都是基于这种方式去创建项目。

4.虚拟环境+Pycharm【老django】

本质:

  • 虚拟环境
  • 安装老版本django
  • 基于django-admin 创建项目
  • 在Pycharm中配置:项目 + 环境 => 绑定
a.虚拟环境

在这里插入图片描述

b.安装老版本django
(.venv) E:\PycharmProjects\day003>pip install django==3.2
c.创建django项目
(.venv) E:\PycharmProjects\day003>django-admin startproject day003
E:\PycharmProjects\day003\day003- day003...- manage.py
(.venv) E:\PycharmProjects\day003>django-admin startproject day003 .
E:\PycharmProjects\day003- day003...- manage.py
d.Pycharm配置

在这里插入图片描述

小结

  • 系统解释器 和 虚拟环境

  • 命令行【线上部署】

    • 安装virtualenv

    • 创建虚拟环境

    • 激活虚拟环境

    • 安装django

      pip install django
      pip install django==3.2
      
    • 创建新项目

      django-admin startproject xxxx
      
    • 编写代码

    • 运行项目

      python manage.py runserver 
      python manage.py runserver 8000
      python manage.py runserver 127.0.0.1:8000
      
  • Pycharm【开发】

    • 最新版本的django

      注意事项:pycharm为了防止大家用低版本pycharm,例如:2020.1版本的pycharm
      
    • 老旧版本的django

      • 虚拟环境

      • 安装老旧django

      • 创建项目

        django-admin startproject xxxx  .
        
      • Pycharm配置:项目 + 环境

1.2 关于老项目

  • 代码下载下来
  • 创建虚拟环境
  • 虚拟环境 + 项目绑定 + 安装必备的模块

注意:requirements.txt + Python解释器(问、文档)

1.3 纯净版项目

django内置有100个功能,5个功能是项目使用概率比较大。

  • 创建Django项目时,默认配置上功能。
  • 创建Django项目时,默认配置剔除。

Django纯净和Flask等轻量级框架的对比:

  • Flask,一个py文件项目,基于蓝图项目创建结构化。
  • Django,默认的配置,剔除 好几个文件。

a.创建项目

E:/PycharmProjects/day004- day004- urls.py     URL和函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]

b.默认功能

INSTALLED_APPS = ['django.contrib.admin',              # django内置后台管理,简单数据库的增删改查'django.contrib.auth',               # 用户登录和认证权限'django.contrib.contenttypes',       # 复杂表结构关系'django.contrib.sessions',           # 如果项目中有登录成功让用户可以访问。'django.contrib.messages',           # 消息展示,依赖Session'django.contrib.staticfiles',        # 静态资源处理,图片、css、js等
]
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': BASE_DIR / 'db.sqlite3',}
}
# 找功能模块,将功能模块中需要创建表结构,创建出来。
>>>python manage.py makemigrations          【找功能模块】【表结构】【生成配置文件并放到指定目录】
>>>python manage.py migrate                 【读取生成的配置文件,提交到数据库】
>>>python manage.py createsuperuser

纯净版配置:

# Application definitionINSTALLED_APPS = [# 'django.contrib.admin',# 'django.contrib.auth',# 'django.contrib.contenttypes',# 'django.contrib.sessions',# 'django.contrib.messages','django.contrib.staticfiles',
]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',
]TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [BASE_DIR / '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',],},},
]
from django.contrib import admin
from django.urls import pathurlpatterns = [# path('admin/', admin.site.urls),
]

小结

  • 本地开发:基于Pycharm创建项目(新版本、老旧版)
  • 本地开发:打开别人的项目
  • 创建纯净版项目

1.4 关于APP

创建的django项目:

E:/PycharmProjects/day004- day004- urls.py     URL和函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]

关于APP,主要用于业务功能模块的开发。

  • 创建APP

    python manage.py startapp app01
    python manage.py startapp app02
    
    E:/PycharmProjects/day004- day004- urls.py     URL和视图函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]- app01- migrations  - ..- ...- models.py   用ORM代替原生SQL语句(对类和对象进行操作  -> SQL语句 -> 自动执行)编写类    +  makemigraions/migrate   -> 数据库- apps.py     "app01.apps.App01Config"- admin.py    配合django-admin可以对当前app中的表进行增删改查操作。- test.py     单元测试(不写单元测试)- views.py    业务功能【视图函数】- app02- migrations  - models.py- admin.py- apps.py- test.py- views.py
    

注意:一般情况下一个app就够了;开源组件;公共模块,拆分到单独的app模块。

多app应用的目录结构:

  • 单独1个app的项目 【推荐】

    E:/PycharmProjects/day004- day004- urls.py     URL和视图函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]- app01- migrations  - ..- ...- models.py   用ORM代替原生SQL语句(对类和对象进行操作  -> SQL语句 -> 自动执行)编写类    +  makemigraions/migrate   -> 数据库- apps.py     "app01.apps.App01Config"- admin.py    配合django-admin可以对当前app中的表进行增删改查操作。- test.py     单元测试(不写单元测试)- views.py    业务功能【视图函数】
    
  • 多个app

    在这里插入图片描述

  • 多个app,放在apps的文件夹中 【推荐】

    E:/PycharmProjects/day004- apps- app01- views.py- admins.py- models.py...- app02- views.py- admins.py- models.py...- app03- views.py- admins.py- models.py...- day004- urls.py     URL和视图函数对应关系- wsgi.py     底层请求处理入口【同步】- asgi.py     底层请求处理入口【异步】- settings.py 配置文件(内置配置文件global_settings假设200项配置 + 用户3项配置 =201配置)- manage.py       [管理项目]
    

    到底什么时候创建1个app?什么时候创建多个app?

    • 案例1:公司官网

      app01:  -> 公司官网开发,主要使用者:学员。
      app02:  -> 内部运营使用的功能模块
      app03:  -> 导师下载作业、批改作业、评分。
      
    • 案例2:公司官网【现阶段】

      app01:公司官网开发,主要使用者:学员。内部运营使用的功能模块导师下载作业、批改作业、评分。
      
      app01:  -> 公司官网开发,主要使用者:学员。
      app02:  -> 内部运营使用的功能模块
      app03:  -> 导师下载作业、批改作业、评分。
      

2.路由系统

2.1 常见操作

通俗的语言来表示:URL -> 函数对应关系

在这里插入图片描述

2.2 路由源码分析

2.2.1 路由定义的本质

在这里插入图片描述

from django.urls import path, re_path
from apps.www import viewsfrom django.urls import URLPattern
from django.urls.resolvers import RoutePatternurlpatterns = [URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),path('login/', views.login, name='n1'),# http://127.0.0.1:8000/info/2222/# http://127.0.0.1:8000/info/2222/?a1=1&b1=2# path('info/<int:v1>/', views.info),# http://127.0.0.1:8000/other/11/yiyebaitou/# http://127.0.0.1:8000/other/222/shiyi/# path('other/<int:v1>/<str:v2>/', views.other),# path('xx/<path:v2>/', views.xx),# path('xx/<uuid:v2>/', views.xx),# http://127.0.0.1:8000/yy/2014-11-11# re_path(r'yy/(\d{4})-(\d{2})-(\d{2})/', views.yy),
]
  • 编写路由

  • 启动项目时

    urlpatterns = [对象(URL地址、函数),对象(URL地址、函数),对象,对象,对象,URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),
    ]# 内部路由匹配的时,默认执行:
    URLPattern.resolveself.pattern.match()return ResolverMatch(...)# 进阶操作
    # 路由系统中的扩展点:URLPattern.resolveRoutePattern.match自定义ResolverMatch类
    
  • 用户浏览器访问

    http://127.0.0.1:8000/login/
    
  • django的源码内部,一定会匹配,获得相应的视图函数

    http://127.0.0.1:8000 /login/urlpatterns = [对象(URL地址、函数),对象(URL地址、函数),对象,对象,对象
    ]
    
    urlconf = 'day006.urls'
    resolver = URLResolver(RegexPattern(r"^/"), urlconf)resolver_match = resolver.resolve(request.path_info)callback, callback_args, callback_kwargs = resolver_match
    
  • 执行视图函数

听完的感受:

  • 流程是懵逼,Django请求的流程懵逼【证明】。

  • 我们需要基于源码记住

    urlpatterns = [path('login/', views.login),path('info/<int:v1>/', views.info),
    ]
    
    urlpatterns = [URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),URLPattern(RoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),
    ]
    
  • 源码内部路由匹配的时,是怎么做的?

    URLPattern.resolveRoutePattern.match
    
    def resolve(self, path):match = self.pattern.match(path)if match:new_path, args, captured_kwargs = match# Pass any default args as **kwargs.kwargs = {**captured_kwargs, **self.default_args}return ResolverMatch(self.callback,args,kwargs,self.pattern.name,route=str(self.pattern),captured_kwargs=captured_kwargs,extra_kwargs=self.default_args,)
        def match(self, path):match = self.regex.search(path)if match:# RoutePattern doesn't allow non-named groups so args are ignored.kwargs = match.groupdict()for key, value in kwargs.items():converter = self.converters[key]try:kwargs[key] = converter.to_python(value)except ValueError:return Nonereturn path[match.end() :], (), kwargsreturn None

2.3 name别名

path('login/', views.login, name='n1'),
URLPattern(RoutePattern("login/", name="n1", is_endpoint=True), views.login, None, "n1"),
def login(request):return HttpResponse("欢迎登陆")
from django.urls import reverseresult = reverse("n1")
print(result) # "login/"
path('api/auth/login/<int:v1>/', views.login, name='n1'),
def login(request,v1):return HttpResponse("欢迎登陆")
from django.urls import reverseresult = reverse("n1",kwargs={"v1":123})
print(result) # "/api/auth/login/123/"result = reverse("n1",kwargs={"v1":999})
print(result) # "/api/auth/login/999/"

name存在的意义?例如:用户登录登录程序

/api/auth/login/         ->   函数登录
/api/user/account/      ->    函数账单
path('api/auth/login/',  views.login,  name='n1'),
path('api/user/account/', views.account, name='n2'),
def login(request):# 当用户登录成功之后,需要让用户跳转到 /api/user/account/ 页面# return redirect("/api/user/account/")# url = reverse("n2")   # "/api/user/account/"# return redirect(url)return redirect("n2")def account(request):return HttpResponse("用户信息")

name存在的意义?例如:权限管理

A用户有权访问的网址:/api/auth/login/ /api/user/account//api/user/order//api/user/order/<int:v1>/B用户有权访问的网址:/api/user/account//api/user/order//api/user/order/<int:v1>/
A用户有权访问的网址:n1n2n3B用户有权访问的网址:n2n3

总结

  1. 创建Django项目

    • 虚拟环境 + 新版本
    • 虚拟环境 + 老旧版
  2. app的概念

    • 1个app
    • 多个app(apps文件夹)
  3. 路由系统

    • 【必备】常见路由操作

      # http://127.0.0.1:8000/info/2222/
      # http://127.0.0.1:8000/info/2222/?a1=1&b1=2
      path('info/<int:v1>/', views.info),# http://127.0.0.1:8000/other/11/yiyebaitou/
      # http://127.0.0.1:8000/other/222/shiyi/
      path('other/<int:v1>/<str:v2>/', views.other),# path('xx/<path:v2>/', views.xx),
      # path('xx/<uuid:v2>/', views.xx),# http://127.0.0.1:8000/yy/2014-11-11
      re_path(r'yy/(\d{4})-(\d{2})-(\d{2})/', views.yy),
      

      在这里插入图片描述

    • 【必备】name别名

      • 反向别名生成URL地址
      • 权限分配,不会用URL网址而是使用name别名。
    • 【可选】源码的流程+扩展点

      MyURLPattern(MyRoutePattern("login/", name=None, is_endpoint=True), views.login, None, None),
      URLPattern(RoutePattern("login/", name="n1", is_endpoint=True), views.login, None, "n1"),
      
      django.urls.resolvers.URLResolver.resolve
      django.urls.URLPattern.resolve
      django.urls.resolvers.RoutePattern.match
      
      django.urls.resolvers.URLResolver.resolvefor obj in ....:# django.urls.URLPattern.resolve# obj.resolve# self.pattern.matchdjango.urls.resolvers.RoutePattern.match
      

相关文章:

2024--Django平台开发-Django知识点(三)

day03 django知识点 项目相关路由相关 urls.py视图相关 views.py模版相关 templates资源相关 static/media 1.项目相关 新项目 开发时&#xff0c;可能遇到使用其他的版本。虚拟环境 老项目 打开项目虚拟环境 1.1 关于新项目 1.系统解释器命令行【学习】 C:/python38- p…...

Github 2024-01-08开源项目周报 Top14

根据Github Trendings的统计&#xff0c;本周(2024-01-08统计)共有14个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目5TypeScript项目3C项目2Dart项目1QML项目1Go项目1Shell项目1Rust项目1JavaScript项目1C#项目1 免费…...

vue3 的内置组件汇总

官方给出的说明&#xff1a; Fragment: Vue 3 组件不再要求有一个唯一的根节点&#xff0c;清除了很多无用的占位 div。Teleport: 允许组件渲染在别的元素内&#xff0c;主要开发弹窗组件的时候特别有用。Suspense: 异步组件&#xff0c;更方便开发有异步请求的组件。 一、fr…...

ARM工控机Node-red使用教程

嵌入式ARM工控机Node-red安装教程 从前车马很慢书信很远&#xff0c;而现在人们不停探索“科技改变生活”。 智能终端的出现改变了我们的生活方式&#xff0c;钡铼技术嵌入式工控机协助您灵活布建能源管理、大楼自动化、工业自动化、电动车充电站等各种多元性IoT应用&#xff…...

Visual Studio 发布程序自动更新 ClickOnce和AutoUpdater测试

文章目录 前言运行环境ClickOnce&#xff08;Visual Studio 程序发布&#xff09;IIS新建文件夹C# 控制台测试安装测试更新测试卸载 AutoUpdaterDotNET实现原理简单使用新建一个WPF项目 代码封装自动更新代码封装简单使用 总结 前言 虽然写的大部分都是不联网项目&#xff0c;…...

Codeforces Round 761 (Div. 2) E. Christmas Chocolates(思维题 树的直径 二进制性质 lca)

题目 n(n<2e5)个值&#xff0c;第i个值ai(0<ai<1e9)&#xff0c;所有ai两两不同 初始时&#xff0c;选择两个位置x,y(x≠y)&#xff0c;代表需要对这两个位置进行操作&#xff0c;要把其中一个值变成另一个 你可以执行若干次操作&#xff0c;每一次&#xff0c;你可…...

知识图谱之汽车实战案例综述与前瞻分析

知识图谱的前置介绍 什么是知识图谱 知识图谱本质(Knowledge Graph&#xff09;上是一种叫做语义网络(semantic network &#xff09; 的知识库&#xff0c;即具有有向图结构的一个知识库&#xff1b;图的结点代表实体&#xff08;entity&#xff09;或者概念&#xff08;con…...

网关Gateway

什么是网关? 网关实质上是一个网络通向其他网络的 IP 地址&#xff0c;是当前微服务项目的"统一入口"。 网关能做什么&#xff1f; 反向代理 、鉴权、 流量控制、 熔断、 日志监控等 图片原文&#xff1a;http://t.csdnimg.cn/SvUJh 核心概念 Router&#xff08;…...

java 生成一个当前时间的时间搓

开发过程中 用时间搓数值格式存储 会更加精准 那么 我们在一些日常增删查改中就可以用时间搓来记录操作时间 就一行代码 long timestamp System.currentTimeMillis();他就能生成当前时间的时间搓 运行结果如下 然后 我们可以在 http://shijianchuo.wiicha.com/ 上进行转换查…...

金融中IC和IR的定义

当谈到金融领域时&#xff0c;IC&#xff08;Information Coefficient&#xff09;和IR&#xff08;Information Ratio&#xff09;通常是用来评估投资组合管理绩效的指标。它们都涉及到投资者对信息的利用和管理的效果。 信息系数&#xff08;IC - Information Coefficient&a…...

Git(2):Git环境的安装

本教程里的git命令例子都是在Git Bash中演示的&#xff0c;会用到一些基本的linux命令&#xff0c;在此为大家提前列举&#xff1a; ls/ll 查看当前目录cat 查看文件内容touch 创建文件vi vi编辑器&#xff08;使用vi编辑器是为了方便展示效果&#xff0c;学员可以记事本、edi…...

Pytest单元测试系列[v1.0.0][pytest插件常用技巧]

使用pytest-xdist并发执行测试 pytest-xdist&#xff1a;Run Tests in Parallel [https://pypi.python.org/pypi/pytest-xdist] 在自动化测试中有些资源只能同时被一个测试用例访问&#xff0c;如果不需要同时使用同一个资源&#xff0c;那么测试用例便可以并行执行 执行命令…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第五天-Linux消息共享内存练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…...

04set注入专题/简单类型/数组/List/Set/Map/空字符串/null/特殊符号

1.1注入外部Bean 在之前使用的案例就是注入外部Bean的方式。 <!-- class属性声明要管理哪个类中的对象 property标签的name是提示set方法名ref标签指明注入的bean的id--><bean id"userServiceBean" class"com.powernode.spring6.service.UserService…...

Linux引导和服务管理

目录 一.Linux引导&#xff1a; 1、Linux开机启动的完整过程&#xff1a; 2、bios的作用&#xff1a; 3、boot&#xff1a; 4.mbr: 5、grub&#xff1a; 6、加载内核文件&#xff1a; 7、启动进程&#xff1a; 8、centos6与centos7的区别&#xff1a; 9、完整的过程 …...

HarmonyOS 应用开发学习笔记 ets自定义组件及其引用 @Component自定义组件

Component注解的作用是用来构建自定义组件 Component组件官方文档 自定义组件具有以下特点&#xff1a; 可组合&#xff1a;允许开发者组合使用系统组件、及其属性和方法。 可重用&#xff1a;自定义组件可以被其他组件重用&#xff0c;并作为不同的实例在不同的父组件或容器…...

在做题中学习(43):长度最小的子数组

LCR 008. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;同向双指针-------滑动窗口算法 解释&#xff1a;本是暴力枚举做法&#xff0c;因为全部是正整数&#xff0c;就可以利用单调性和双指针解决问题来节省时间 思路&#xff1a; 如上面图&am…...

如何将 element-ui 中的 el-select 默认展开

<el-form-item label"藕粉桂花糖糕" prop"state" required><el-selectref"mySelect"v-model"form.state"style"width: 280px"placeholder"请选择"><el-option label"藕粉" :value"…...

Typora基本用法

文章目录 一、标题标题快捷键 二、段落1.换行2.分割线 三、文字显示1.字体2.上下标 四、列表1.无序列表2.有序列表3.任务列表 五、区块显示六、代码显示1.行内代码2.代码块 七、链接八、脚注九、图片插入十、表格十一、流程图十二、表情符号十三、数学公式的输入1.公式的插入①…...

读元宇宙改变一切笔记02_元素(上)

1. 很多组织和机构都想在元宇宙的定义上掌握话语权&#xff0c;使得它的定义中存在矛盾之处&#xff0c;也有大量含义混淆之处 1.1. 微软 1.1.1. 在谈论“多个元宇宙” 1.1.2. 微软首席执行官萨提亚纳德拉将元宇宙描述为一种可以将“整个…...

听GPT 讲Rust源代码--compiler(2)

File: rust/compiler/rustc_codegen_cranelift/build_system/prepare.rs 在Rust源代码中&#xff0c;rust/compiler/rustc_codegen_cranelift/build_system/prepare.rs文件的作用是为Cranelift代码生成器构建系统准备依赖项。 具体来说&#xff0c;该文件的主要目标是处理Crane…...

SpringCloud系列篇:核心组件之负载均衡组件

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.负载均衡组件是什么 二.负载均衡…...

多线程模板应用实现(实践学习笔记)

出处&#xff1a;B站码出名企路 个人笔记&#xff1a;因为是跟着b站的教学视频以及文档初步学习&#xff0c;可能存在诸多的理解有误&#xff0c;对大家仅供借鉴&#xff0c;参考&#xff0c;然后是B站up阳哥的视频&#xff0c;我是跟着他学。大家有兴趣的可以到b站搜索。加油…...

Linux系统中MYSQL重置密码(针对root忘记密码)

⼀ .进⼊MySql配置⽂件中 vi /etc/my.cnf 在最后⼀⾏添加免密码登陆: skip-grant-tables :wq 保存退出 ⼆.重启MySql service mysql restart 或 systemctl restart mysqld.service 三. 登陆数据库 mysql -uroot -p 让输⼊密码直接回⻋就可以 四.修改MySql密码 use mysql…...

蓝桥杯基础知识1 字母大小写转换

蓝桥杯基础知识1 字母大小写转换 isalpha()判断一个字符是否为字母。 isalnum()判断一个字符是否为十进制数字字符或者字母&#xff0c;是否属于a~ z或A~ Z或0~9。 isdigit() 判断一个字符是否是十进制数字字符。十进制数字是&#xff1a;0 1 2 3 4 5 6 7 8 9 isalnum()和isdig…...

攀登者1 - 华为OD统一考试

OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下…...

通信原理期末复习——基础小题汇总(二)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…...

代码随想录刷题第四十二天| 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

代码随想录刷题第四十二天 今天是0-1背包问题&#xff0c;掌握了套路就不难了~~~ 0-1背包问题理论基础&#xff08;二维数组篇&#xff09;卡码网第46题 题目思路&#xff1a; 代码实现&#xff1a; input_line input() # 读取一行输入 mn input_line.split() m, n int…...

前端开发加速器:十个VSCode插件精选

前端开发是一个不断发展的领域&#xff0c;随着技术的进步&#xff0c;工具也在不断更新。Visual Studio Code&#xff08;VSCode&#xff09;是前端开发者广泛使用的编辑器之一&#xff0c;得益于其强大的插件系统&#xff0c;可以帮助开发者提升工作效率。以下是十个对于前端…...

剑指offer面试题3 二维数组中的查找

考察点&#xff1a; 考察数据结构二维数组知识点&#xff1a; 1.java中的数据类型分为基本类型和引用类型&#xff0c;数组属于引用类型&#xff0c;引用类型的变量中存储的是地址&#xff0c;该地址指向内存中的某个对象&#xff0c;参考c中的指针。2.一维数组定义&#xff0c…...

企业展示网站/搜狗收录查询

日萌社 人工智能AI&#xff1a;Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战&#xff08;不定时更新&#xff09; 用户画像 总文章 用户访问模型表 用户上网轨迹表 SQL目的&#xff1a;以同一个用户ID作为同一个分组的情况下&#xff0c;同时可根据sessio…...

wordpress内存占用大/安卓嗅探app视频真实地址

以下以读数据为例&#xff0c;写数据同理。 读数据的两个阶段 读数据有两个阶段&#xff1a; ①内核中有数据可读&#xff1b;&#xff08;下文称为第一阶段&#xff09; ②数据从内核缓冲区拷贝到用户缓冲区。&#xff08;下文称为第二阶段&#xff09; 五种IO模型 UNP中…...

wordpress获取api密钥/windows优化大师靠谱吗

Best Time to Buy and Sell Stock I 题意&#xff1a;用一个数组表示股票每天的价格&#xff0c;数组的第i个数表示股票在第i天的价格。 如果只允许进行一次交易&#xff0c;也就是说只允许买一支股票并卖掉&#xff0c;求最大的收益。 分析&#xff1a;动态规划法。从前向后…...

ppt下一页/搜索引擎优化是什么意思啊

入门 《SSM企业级框架实战》 作者&#xff1a; 肖睿/丁慧洁/张宁彬 **简介&#xff1a;**框架(Framework)的本质为某种应用的半成品&#xff0c;即把不同应用程序中的共性内容抽取出来而形成的半成品程序。SSM框架是以Spring为核心&#xff0c;整合Spring MVC和Mybatis的轻量…...

wordpress每个标签文章置顶/外包公司的优势和劣势

前言 对于xxe漏洞的认识一直都不是很清楚&#xff0c;而在我为期不长的挖洞生涯中也没有遇到过&#xff0c;所以就想着总结一下&#xff0c;撰写此文以作为记录&#xff0c;加深自己对xxe漏洞的认识。 xml基础知识 要了解xxe漏洞&#xff0c;那么一定得先明白基础知识&#…...

网站模板与网站定制版的区别/谷歌chrome浏览器

工具&#xff0c;开发IDE还是强大&#xff0c;有些编辑器已经帮你解决了很多问题。工作空间&#xff0c;路径啥的。 这部分其实跟python设计原理&#xff0c;工作原理&#xff0c;书写规范也挺相关的。 #现在的目录结构为&#xff1a; #现在想要在web2/bin.py中调用web3/main…...