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

Django简介与虚拟环境安装Django

目录

1.Django简介

1.1 Django 的核心特点

1.2 Django 的核心组件

1.3 Django 的应用场景

1.4 总结

2.基础环境建立

2.1 创建虚拟环境

2.1.1 使用 virtualenv 创建虚拟环境

2.1.2 使用 venv 创建虚拟环境

2.2 激活虚拟环境

2.2.1 在 Windows 上

2.2.2 在 macOS 或 Linux 上

2.3 安装 Django

2.4 创建 Django 项目

2.5 启动开发服务器

2.6 停用虚拟环境

2.7 保存依赖

2.8 小结


1.Django简介

Django 是一个开源的 Python Web 框架,它是为帮助开发者快速构建高效、可扩展且安全的 Web 应用而设计的。Django 强调 "DRY"(Don't Repeat Yourself) 原则,尽量减少代码重复,并提供很多内置功能,帮助开发者快速实现复杂的 Web 应用。

1.1 Django 的核心特点

(1)快速开发

  • Django 的设计目标之一是让开发者能够快速创建 Web 应用。它提供了大量的内置功能和工具,帮助开发者避免从零开始编写常见的 Web 应用组件。
  • 例如,Django 提供了 自动生成的后台管理系统(Django Admin),开发者只需要定义数据模型(Model)和简单配置,就可以获得强大的数据管理界面。

(2)强大的 ORM(对象关系映射)

  • Django 提供了一个 ORM(Object-Relational Mapping)系统,让开发者无需直接写 SQL 查询,便可以通过 Python 对象进行数据库操作。
  • 你只需要定义模型(Model)类,Django 会自动为你创建对应的数据库表,并且支持通过 Python 代码对数据进行增删改查(CRUD)操作。

(3)自动化的管理后台

  • Django 自带的管理后台非常强大,开发者只需要简单地注册模型(Model)到管理后台,就可以自动获得一个功能完整的界面用于管理数据。
  • 后台支持数据的增删改查(CRUD),并提供了过滤、搜索等高级功能。

(4)安全性

  • Django 提供了多种内建的安全功能,帮助开发者防止常见的 Web 安全问题,如:
    • CSRF(跨站请求伪造)防护:Django 默认启用 CSRF 保护,防止恶意网站伪造用户请求。
    • XSS(跨站脚本攻击)防护:Django 自动转义模板中的变量,避免 HTML 注入攻击。
    • SQL 注入防护:通过 ORM 进行数据库操作,Django 自动防止 SQL 注入攻击。
    • 密码管理:Django 使用加密的哈希算法来存储密码,确保用户数据的安全。

(5)可扩展性和灵活性

  • Django 是 模块化的,开发者可以根据需要选择合适的功能进行扩展。
  • 例如,Django 提供了多个扩展包来处理认证、RESTful API、文件上传、缓存等功能。
  • 你也可以自己创建 应用(App),并将它们集成到主项目中。

(6)良好的文档和社区支持

  • Django 有着 极其完善的官方文档,它包含了从基础入门到高级功能的全面指南,帮助开发者快速学习和掌握 Django。
  • Django 社区非常活跃,你可以通过官方论坛、Stack Overflow 等途径获取支持,解决开发中的问题。

1.2 Django 的核心组件

(1)Model(模型)

  • Django 提供了 ORM 系统来处理与数据库的交互。模型定义了数据的结构,并通过 Django 的 ORM 系统自动与数据库进行交互。
  • 示例
    from django.db import modelsclass Product(models.Model):name = models.CharField(max_length=100)price = models.DecimalField(max_digits=10, decimal_places=2)description = models.TextField()def __str__(self):return self.name
    

(2)View(视图)

  • 视图是请求和响应之间的核心处理单元。它负责接收 HTTP 请求,处理请求并返回响应。
  • 在 Django 中,视图可以是函数视图(FBV)或类视图(CBV)。
  • 示例(函数视图):
    from django.http import HttpResponsedef home(request):return HttpResponse("Welcome to the homepage!")
    

(3)Template(模板)

  • Django 提供了模板系统来动态渲染 HTML 页面。模板系统允许开发者插入动态内容(例如数据库查询结果)并控制页面结构。
  • 示例(模板):
    <h1>{{ title }}</h1>
    <p>Welcome to the site, {{ user.username }}</p>
    

(4)URL Dispatcher(URL 路由)

  • Django 使用 URL 路由系统将 URL 映射到视图函数或视图类。路由系统可以匹配动态 URL,例如 URL 中带有参数。
  • 示例
    from django.urls import path
    from . import viewsurlpatterns = [path('', views.home, name='home'),path('product/<int:id>/', views.product_detail, name='product_detail'),
    ]
    

(5)Admin(管理后台)

  • Django 提供了一个强大的自动生成的管理后台,开发者只需注册模型,便可以获得一个全面的数据管理界面。
  • 示例(注册模型):
    from django.contrib import admin
    from .models import Productadmin.site.register(Product)
    

(6)Form(表单)

  • Django 提供了一个表单框架,用于生成 HTML 表单、处理用户提交的数据并验证数据。
  • 示例
    from django import formsclass ProductForm(forms.Form):name = forms.CharField(max_length=100)price = forms.DecimalField(max_digits=10, decimal_places=2)description = forms.CharField(widget=forms.Textarea)
    

1.3 Django 的应用场景

  • 快速构建 Web 应用:Django 提供了许多内建工具,可以让开发者快速搭建 Web 应用,适合从小型博客到大型复杂应用的开发。
  • 企业级应用:Django 强调可扩展性和安全性,适合处理复杂的企业级应用,如电商平台、社交网络等。
  • RESTful API:Django 可以与 Django REST Framework 配合使用,快速构建 API 服务,适合前后端分离的应用。

1.4 总结

Django 是一个功能强大且易用的 Web 框架,旨在让开发者能够快速构建高质量的 Web 应用。通过 Django,你可以避免重复造轮子,专注于业务逻辑的实现。Django 内置了 ORM、表单处理、安全性保护、自动化管理后台等功能,极大地简化了 Web 开发过程。

2.基础环境建立

2.1 创建虚拟环境

在此之前,可以创建一个文件夹来存放,如创建一个Django文件夹来存放项目。

首先,确保你的 Python 环境中已经安装了 virtualenv 或者使用 Python 自带的 venv 模块来创建虚拟环境,我采用了第二种。

如果你还没有安装 virtualenv,可以通过以下命令来安装:

pip install virtualenv

但是,Python 3.3 及以上版本已经自带了 venv 模块,因此你也可以直接使用 venv 来创建虚拟环境。

2.1.1 使用 virtualenv 创建虚拟环境

在你项目的根目录下,执行以下命令来创建一个虚拟环境(假设虚拟环境的名字是 venv):

virtualenv venv

2.1.2 使用 venv 创建虚拟环境

如果你使用的是 Python 3 自带的 venv 模块,可以这样创建虚拟环境:

python -m venv venv

这将创建一个名为 venv 的文件夹,其中包含虚拟环境的所有必要文件。

2.2 激活虚拟环境

2.2.1 在 Windows 上

在命令行中,运行以下命令来激活虚拟环境:

venv\Scripts\activate

2.2.2 在 macOS 或 Linux 上

在终端中,运行以下命令来激活虚拟环境:

source venv/bin/activate

激活虚拟环境后,你会看到命令行提示符前面会显示 (venv),表示当前虚拟环境已激活。

2.3 安装 Django

虚拟环境激活后,安装 Django:

pip install django

这样,Django 会安装在虚拟环境中,而不会影响系统级别的 Python 环境。

2.4 创建 Django 项目

虚拟环境激活后,继续按照之前的步骤来创建 Django 项目和应用。假设你要创建一个名为 myproject 的 Django 项目:

django-admin startproject myproject

cd myproject

2.5 启动开发服务器

在项目目录下,运行以下命令启动开发服务器:

python manage.py runserver

这时,你的 Django 项目应该在虚拟环境中成功运行。

访问127.0.0.1:8000,可以看到如下信息,到这步已经成功安装,下面内容便可以略过:

2.6 停用虚拟环境

当你完成工作并希望退出虚拟环境时,可以运行:

deactivate

这样,虚拟环境就会被禁用,返回到系统默认的 Python 环境。

2.7 保存依赖

为了方便其他人或者你自己在不同机器上安装相同的依赖,你可以创建一个 requirements.txt 文件,该文件包含所有项目依赖的库。使用以下命令生成 requirements.txt

pip freeze > requirements.txt

然后,其他人在设置项目时,只需运行以下命令来安装所有依赖:

pip install -r requirements.txt

2.8 小结

  1. 使用 virtualenvvenv 创建虚拟环境。
  2. 激活虚拟环境并安装 Django。
  3. 在虚拟环境中进行开发,避免与系统 Python 环境发生冲突。
  4. 使用 deactivate 停用虚拟环境,并使用 requirements.txt 管理项目的依赖。

相关文章:

Django简介与虚拟环境安装Django

目录 1.Django简介 1.1 Django 的核心特点 1.2 Django 的核心组件 1.3 Django 的应用场景 1.4 总结 2.基础环境建立 2.1 创建虚拟环境 2.1.1 使用 virtualenv 创建虚拟环境 2.1.2 使用 venv 创建虚拟环境 2.2 激活虚拟环境 2.2.1 在 Windows 上 2.2.2 在 macOS 或 …...

python实现pdf转word和excel

一、引言   在办公中&#xff0c;我们经常遇收到pdf文件格式&#xff0c;因为pdf格式文件不易修改&#xff0c;当我们需要编辑这些pdf文件时&#xff0c;经常需要开通会员或收费功能才能使用编辑功能。今天&#xff0c;我要和大家分享的&#xff0c;是如何使用python编程实现…...

Ubuntu 24.04 LTS 更改软件源

Ubuntu 24.04 LTS 修改软件源...

从CRUD到高级功能:EF Core在.NET Core中全面应用(三)

目录 IQueryable使用 原生SQL使用 实体状态跟踪 全局查询筛选器 并发控制使用 IQueryable使用 在EFCore中IQueryable是一个接口用于表示可查询的集合&#xff0c;它继承自IEnumerable但具有一些关键的区别&#xff0c;使得它在处理数据库查询时非常有用&#xff0c;普通集…...

浅谈云计算22 | Kubernetes容器编排引擎

Kubernetes容器编排引擎 一、Kubernetes管理对象1.1 Kubernetes组件和架构1.2 主要管理对象类型 二、Kubernetes 服务2.1 服务的作用与原理2.2 服务类型 三、Kubernetes网络管理3.1 网络模型与目标3.2 网络组件3.2.1 kube-proxy3.2.2 网络插件 3.3 网络通信流程 四、Kubernetes…...

C 语言的void*到底是什么?

一、void* 的类型任意性 void* 是一种通用指针类型。它可以指向任意类型的数据。例如&#xff0c;它可以指向一个整数&#xff08;int&#xff09;、一个浮点数&#xff08;float&#xff09;、一个字符&#xff08;char&#xff09;或者一个结构体等。在C语言中&#xff0c;当…...

前端【3】--CSS布局,CSS实现横向布局,盒子模型

盒子分类 1、块级盒子 2、内联级盒子 3、内联块级盒子 4、弹性盒子 5、盒子内部分区 方法一&#xff1a;使用 float 普通盒子实现横向布局 方法二&#xff1a;使用 display: inline-block 内联块级元素实现横向布局 方法三&#xff1a;使用弹性盒子 flexbox&#xff0…...

JavaEE

一.web开发概述 1.服务器 解释1&#xff1a;服务器是一款软件&#xff0c;可以向其他发送请求&#xff0c;服务器会做出一个响应。可以在服务器中部署文件&#xff0c;让其他人访问。 解释2&#xff1a;也可以把运行服务器软件的计算机称为服务器 2.安装服务器 Tomcat官方…...

C语言之文本加密程序设计

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 文本加密程序设计 摘要&#xff1a;本文设计了一种文本加密程序&#xff0c;旨在提高信息安…...

Spring-Data-Redis连接模式

Redis可以在各种设置中操作。每个操作模式都需要特定的配置&#xff0c;这些配置将在以下部分中进行解释。 一、Redis 单机模式 最简单的入门方法是将Redis Standalone与单个Redis服务器一起使用&#xff0c; 配置LettuceConnectionFactory或JedisConnectionFactor&#xff0…...

详细介绍下linux内核的高端地址

在32位系统中&#xff0c;内核空间通常占据1GB&#xff0c;用户空间占3GB&#xff0c;这主要是基于历史原因、内存管理需求和系统安全性考虑。 历史原因&#xff1a;早期的UNIX系统就采用了将内核空间和用户空间分离的设计&#xff0c;在32位系统设计时&#xff0c;延续了这种…...

ThinkPhp项目解决静态资源请求的跨域问题的解决思路

背景&#xff1a;我在前端使用vue语言开发的&#xff0c;请求的后端是用ThinkPhp项目开发的。我vue项目里的请求php接口&#xff0c;自带header参数的跨域问题通过网上查询到的server端配置方法已经解决了。我使用的 是中间件的配置方法&#xff1a; <?php//admin 项目 配…...

通过图形界面展现基于本地知识库构建RAG应用

1. 客户需求 快速完成概念验证(PoC)通过图形界面快速完成演示本地私有数据对比不同模型和成本&#xff0c;决定如何部署 2. 阿里云基于本地知识库构建RAG应用 参考方案&#xff1a; 百炼本地知识库方案 解决方案&#xff1a; FastAPI Gradio Llamaindex qwen-plus 主要三大…...

GCPAAS/DashBoard:完全免费的仪表盘设计,基于Vue+ElementUI+G2Plot+Echarts,开源代码,简单易用!还在等什么呢

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 GCPAAS/DashBoard&#xff0c;一款基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的仪表盘设计器&#xff0c;具备仪表盘目录管理…...

深度学习笔记——循环神经网络RNN

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络RNN知识点。 文章目录 文本特征提取的方法1. 基础方法1.1 词袋模型&#xff08;Bag of Words, BOW&#xff09;工作原…...

【Linux系统编程】—— 深度解析进程等待与终止:系统高效运行的关键

文章目录 进程创建再次认识fork()函数fork()函数返回值 写时拷贝fork常规⽤法以及调用失败的原因 进程终⽌进程终止对应的三种情况进程常⻅退出⽅法_exit函数exit函数return退出 进程等待进程等待的必要性进程等待的⽅法 进程创建 再次认识fork()函数 fork函数初识&#xff1…...

EPSANet2021笔记

来源&#xff1a; EPSANet: An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network 相关工作&#xff1a; #注意力机制 #多尺度特征表示 创新点&#xff1a; 贡献&#xff1a; 建立了长距离通道依赖关系有效获取利用不同尺度特征图的空间信息 问…...

CTTSHOW-WEB入门-信息搜集11-20

web11 1. 题目&#xff1a; 2. 解题步骤及思路&#xff1a;本题的flag已经给出&#xff0c;主要考点是考察域名的查询&#xff0c;通过查询有时候也可以得到一些有用的信息。 3. 相关知识点&#xff1a;查询域名可以使用nslookup命令使用方法如下&#xff1a;&#xff08;windo…...

2025年1月19日(理论力学动静法)

动静法&#xff08;Dynamic-Static Method&#xff09;是理论力学中常用的一种分析方法&#xff0c;用来求解多自由度系统的平衡问题&#xff0c;尤其适用于静力学分析和动力学分析之间的转化。动静法通过引入虚拟的动力学效应&#xff0c;将静力学问题转化为一个动力学问题&am…...

iOS 性能优化:实战案例分享

摘要&#xff1a; 本文将深入探讨 iOS 性能优化的重要性&#xff0c;并通过一系列实际开发案例&#xff0c;展示如何解决常见的性能问题&#xff0c;包括内存管理、CPU 性能、网络性能、UI 性能和启动性能等方面的优化&#xff0c;帮助 iOS 开发者打造更流畅、高效的应用程序。…...

基于本地消息表实现分布式事务

假设我们有一个电商系统,包含订单服务和库存服务。当用户下单时,需要在订单服务中创建订单,同时在库存服务中扣减库存。这是一个典型的分布式事务场景,我们需要保证这两个操作要么都成功,要么都失败,以保证数据的最终一致性。 项目结构: 订单服务(Order Service)库存服务(Inv…...

select函数

系统调用 select()可用于执行 I/O 多路复用操作&#xff0c;调用 select()会一直阻塞&#xff0c;直到某一个或多个文件描述符成为就绪态&#xff08;可以读或写&#xff09;。其函数原型如下所示&#xff1a; #include <sys/select.h> int select(int nfds, fd_set *re…...

自然语言处理——自注意力机制

一、文字表示方法 在自然语言处理中&#xff0c;如何用数据表示文字是基础问题。独热编码&#xff08;One-hot Encoding &#xff09;是一种简单的方法&#xff0c;例如对于 “我”“你”“他”“猫”“狗” 等字&#xff0c;会将其编码为如 “我 [1 0 0 0 0 ……]”“你 [0 …...

C语言初阶--函数

目录 1. 函数是什么&#xff1f; 2. C语言中函数的分类 2.1 库函数 2.2 自定义函数 3. 函数的参数 3.1 实际参数&#xff08;实参&#xff09; 3.2 形式参数&#xff08;形参&#xff09; 4. 函数调用 4.1 传值调用 4.2 传址调用 练习&#xff1a;写一个函数判断一个…...

探索基于机器学习的信用评分:从数据到洞察

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…...

Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile&#xff0c;实现在线编辑…...

【Golang 面试题】每日 3 题(三十六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…...

Linux虚拟机安装与FinalShell使用:探索Linux世界的便捷之旅

文章目录 软件准备安装 VMware 虚拟机下载CentOS 光盘镜像文件选择适合的 CentOS 版本选择合适的镜像文件 本教程工具版本 第一部分&#xff1a;安装 Linux 虚拟机1. 启动 VMware 并创建新虚拟机2. 默认硬件兼容性设置3. 安装操作系统的设置4. 选择操作系统类型与版本5. 为虚拟…...

leetcode19-删除链表的第n结点

leetcode 19 思路 要删除倒数第n个元素&#xff0c;那么就要找到倒数第n1个元素&#xff0c;那么我们需要两个指针来记录&#xff0c;首先快指针需要先走n1步&#xff0c;然后快慢指针一起进行移动&#xff0c;直到快指针为null的时候&#xff0c;此时慢指针恰好走到倒数第n…...

多学科视角下探索开源Github、Git初步学习

​ Think 1.Github 作为现今最主流的代码托管平台、协作平台甚至是“社交平台”&#xff0c;本身是闭源的。一方面&#xff0c;它是和大多数开发者连接最紧密的开源阵地&#xff0c;另一方面&#xff0c;拥有传统“黑客精神”的人认为将用户身份绑定这样一个闭源平台上恰恰与…...

新星杯-ESP32智能硬件开发--ESP32的I/O组成-系统中断矩阵

本博文内容导读&#x1f4d5;&#x1f389;&#x1f525; ESP32开发板的中断矩阵、功能描述与实现、相关API和示例程序进行介绍 ESP32中断矩阵将任一外部中断源单独分配到每个CPU的任一外部中断上&#xff0c;提供了强大的灵活性&#xff0c;能适应不同的应用需求。 ESP32中断主…...

Android 右键后无Java class创建

Android studio 创建java class &#xff1a; 最近几个月用Android studio 开发&#xff0c;因为电脑设置了一个新的用户使用&#xff0c;原来的android studio,打开之前的正常的项目总是报一些奇奇怪怪的错误&#xff0c;就重新安装了最新的版本 问题描述 但是新的android s…...

leetcode-买卖股票问题

309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 动态规划解题思路&#xff1a; 1、暴力递归&#xff08;难点如何定义递归函数&#xff09; 2、记忆化搜索-傻缓存法&#xff08;根据暴力递归可变参数确定缓存数组维度&#xff09; 3、严格表结构依…...

如何通过 Apache Airflow 将数据导入 Elasticsearch

作者&#xff1a;来自 Elastic Andre Luiz 了解如何通过 Apache Airflow 将数据导入 Elasticsearch。 Apache Airflow Apache Airflow 是一个旨在创建、安排&#xff08;schedule&#xff09;和监控工作流的平台。它用于编排 ETL&#xff08;Extract-Transform-Load&#xff0…...

LDPC (Low-Density Parity-Check) 码min_sum、n_0、block_length 和 rate参数

1. min_sum 1; min_sum 是与 最小和解码算法&#xff08;Min-Sum Decoding Algorithm&#xff09;相关的参数。最小和解码算法是 LDPC 码的一种常用解码方法&#xff0c;主要通过传递信号的信息在接收端进行解码。此参数表示最小和算法中的缩放因子。 在 LDPC 解码过程中&am…...

基于javaweb的SpringBoot景区旅游管理系统设计和实现(源码+文档+部署讲解)

个人名片 &#x1f525; 源码获取 | 毕设定制| 商务合作&#xff1a;《个人名片》 ⛺️心若有所向往,何惧道阻且长 文章目录 个人名片运行环境技术栈适用功能说明使用说明 运行环境 Java≥8、MySQL≥5.7 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台…...

(二)afsim第三方库编译(qt编译)

注意&#xff1a;源码编译的路径不能有中文否则报错&#xff0c;压缩包必须用官网下载的xz格式解压的才可以&#xff0c;否则sudo ./configure命令找不到 先编译openssl3.1.1软件包&#xff0c;否则编译的qt库将不支持network&#xff0c;相关库的编译(上文&#xff08;一&…...

重学SpringBoot3-Spring Retry实践

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞??收藏评论 重学SpringBoot3-Spring Retry实践 1. 简介2. 环境准备3. 使用方式 3.1 注解方式 基础使用自定义重试策略失败恢复机制重试和失败恢复效果注意事项 3.2 编程式使用3.3 监听重试过程 监…...

极域电子教室破解(JiyuTrainer)

JiyuTrainer下载 byebye极域电脑安装包也可以使用 如果只玩单机游戏最简单的办法就是拔网线 另一种办法安装360卫士通过360卫安全卫士上网设置来进行禁用JiyuTrainer网络跟拔网线一样...

Oracle数据库传统审计怎么用

Oracle数据库传统审计怎么用 审计功能开启与关闭By Session还是By AccessWhenever Successful数据库语句审计数据库对象审计查看审计策略和记录Oracle数据库审计功能分为传统审计(Traditional Auditing)和统一审计(Unified Auditing)。统一审计是从Oracle 12c版本开始引入的…...

windows 搭建flutter环境,开发windows程序

环境安装配置&#xff1a; 下载flutter sdk https://docs.flutter.dev/get-started/install/windows 下载到本地后&#xff0c;随便找个地方解压&#xff0c;然后配置下系统环境变量 编译windows程序本地需要安装vs2019或更新的开发环境 主要就这2步安装后就可以了&#xff0…...

基于SpringBoot的健身房管理系统【源码+文档+部署讲解】

系统介绍 基于SpringBootVue实现的健身房管理系统采用前后端分离架构方式&#xff0c;系统设计了管理员、会员、员工三种角色&#xff0c;系统实现了用户登录与注册、个人中心、会员管理、员工管理、会员卡管理、会员卡类型管理、教练信息管理、解聘管理、健身项目管理、指导项…...

2.slf4j入口

文章目录 一、故事引入二、原理探究三、SLF4JServiceProvider四、总结 一、故事引入 故事要从下面这段代码说起 public class App {private static final Logger logger LoggerFactory.getLogger(App.class);public static void main( String[] args ) throws Exception {lo…...

sql_实用查询语句模版

1. 查询某个字段是否为必填项 SQL 查询模板 SELECT COLUMN_NAME,IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME YourTableNameAND COLUMN_NAME YourColumnName;说明&#xff1a; INFORMATION_SCHEMA.COLUMNS 表包含了所有数据库中表的列信息。IS_NULLABL…...

Nginx反向代理架构介绍

Nginx反向代理架构是一种强大的服务器架构模式&#xff0c;它位于用户和原始服务器之间&#xff0c;接收用户的请求并将其转发到一个或多个后端服务器&#xff0c;然后将从后端服务器获取的响应返回给用户&#xff0c;就好像这些内容都是由代理服务器本身直接提供的一样。以下是…...

Mysql MVCC

MVCC 什么是MVCC MVCC&#xff08;多版本并发控制&#xff0c;Multi-Version Concurrency Control&#xff09; 是一种用于数据库管理系统&#xff08;DBMS&#xff09;中的并发控制机制&#xff0c;它允许多个事务同时执行而不互相阻塞&#xff0c;并通过创建数据的多个版本…...

JavaEE之CAS

上文我们认识了许许多多的锁&#xff0c;此篇我们的CAS就是从上文的锁策略开展的新概念&#xff0c;我们来一探究竟吧 1. 什么是CAS&#xff1f; CAS: 全称Compare and swap&#xff0c;字⾯意思:“比较并交换”&#xff0c;⼀个CAS涉及到以下操作&#xff1a; 我们假设内存中…...

Flink CDC 使用实践以及遇到的问题

背景 最近公司在做一些业务上的架构调整&#xff0c;有一部分是数据从mysql采集到Starrocks&#xff0c;之前的一套方法是走 debezium 到 puslar 到 starrocks,这一套下来比较需要配置很多东西&#xff0c;而且出现问题以后&#xff0c;需要修改很多配置&#xff0c;而且现阶段…...

idea上git log面板的使用

文章目录 各种颜色含义具体的文件的颜色标签颜色&#x1f3f7;️ 节点和路线 各种颜色含义 具体的文件的颜色 红色&#xff1a;表示还没有 git add 提交到暂存区绿色&#xff1a;表示已经 git add 过&#xff0c;但是从来没有 commit 过蓝色&#xff1a;表示文件有过改动 标…...

03.选择排序

一、题目思路 选择排序是一种简单直观的排序算法。它的工作原理是&#xff1a;首先在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素中继续寻找最小&#xff08;或最大&#xff…...