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

wordpress如何对接微博/seo自学教程

wordpress如何对接微博,seo自学教程,滨州网站建设 远洋科技,西地那非片能延时多久1、环境及简介 前端开发:HTML、CSS、JavaScript 后端开发:Java、PHP、Python、GO 数据库:MySQL、MSSQL、Oracle、Redis 安装Django pip install Django 或 下载.whl后 pip install D:\xxx.whl 创建Django项目 File--New Projec…

1、环境及简介

前端开发:HTML、CSS、JavaScript
后端开发:Java、PHP、Python、GO
数据库:MySQL、MSSQL、Oracle、Redis

安装Django
pip install Django 或 下载.whl后 pip install D:\xxx.whl

创建Django项目
File--New Project--Django 或 命令django-admin startproject MyDjango
* manage.py     命令行工具  python manage.py help 帮助命令
* __init__.py   初始化文件,一般无须修改
* asgi.py       启动异步通信服务,如在线聊天等异步通信功能
* settings.py   项目配置文件
* urls.py       项目路由设置,设置网站的具体网址内容
* wsgi.py       Python Web Server Gateway Interface Python服务器网关接口,用于Django项目在服务器上的部署和上线

查看Django版本
python  import django  django.__version__

创建项目应用,简称App,相当于网站功能
python manage.py startapp index

* migrations    生成数据迁移文件,自动在数据库中生成相应的数据表
* __init__.py   当前App名的初始化文件
* admin.py      设置当前App的后台管理功能
* apps.py       当前App的配置信息
* models.py     数据库的映射类,每个类关联一张数据表,实现数据的持久化,即MTV的模型

Model
* tests.py      自动化测试的模块,实现单元测试
* views.py      试图文件,处理功能的业务逻辑,即MTV中的视图View

启动项目
python manage.py runserver 8001  http://127.0.0.1:8001/

2、项目需求与设计

软件工程

  • 开发流程:需求分析→设计说明(概要和详细设计)→代码编写→程序测试→软件交付→客户验收→后期维护。
  • 网站首页:商品搜索功能、网站导航、广告轮播、商品分类热销、网站尾部
  • 商品列表页:商品搜索功能、网站导航、商品分类、商品列表
  • 商品详细页:商品搜索功能、网站导航、商品基本信息、商品详细介绍、热销推荐
  • 购物车页面:商品搜索功能、网站导航、商品的购买费用核算
  • 个人中心页面:商品搜索功能、网站导航、用户基本信息、订单信息
  • 用户登录注册页面:商品搜索功能、网站导航、登录注册表单

数据库表的数据结构

商品信息表

idInt11主键
nameVarchar100商品名称
sizesVarchar100商品规格
typesVarchar100商品类型
priceFloat商品价格
discountFloatFloat折后价格
stockInt        存货数量
soldInt        已售数量
likesInt  收藏数量

created

Date  商家日期
imgVarchar100商品主图
detailsVarchar100商品描述

商品类别表    关联商品信息表的types

idInt11主键
firstsVarchar100一级分类
secondsVarchar100二级分类

购物车信息表

idInt11主键
quantityInt11购买数量
commodityInfos_idInt11商品信息表的主键id          商品信息表id关联comm.._id
user_idInt11Django内置用户表的主键id    关联Django内置用户表的id

订单信息表

idInt11主键
priceFloat11订单总价   购物车信息表结算费用写入price
createdInt11 订单创建时间
user_idDateDjango内置用户表的主键id   关联Django内置用户表的id
stateVarchar20订单状态
  • MyDjango——与项目名相同
  • commodity——网站的商品列表页、商品详细页
  • index——网站首页
  • media——网站的媒体资源,存放商品的主图、详细介绍图
  • pstatic——网站的静态资源,如CSS、JavaScript、网站界面图片
  • shopper——购物车页面、个人中心页面、用户登录注册页面、在线支付功能
  • templates——存放HTML模板文件,即网站的网页文件

3、项目配置Settings.py

settings.py  添加新增的文件夹,识别这些文件夹

实际开发中,需要根据实际情况对INSTALLED_APPS、MIDDLEWARE、TEMPLATES、DATABASES、STATIC_URL进行配置

完成网站的开发过程,网站上线阶段则配置属性DEBUG、ALLOWED_HOSTS

INSTALLED_APPS:识别新增的项目应用(App),新增新建的App

TEMPLATES:模板文件设置,App中创建的模板文件夹需要在配置属性DIRS中添加如'index/temp,APP_DIRS需要为True,否则无法从项目应用中查找模板文件

MIDDLEWARE:中间件的作用是处理用户请求信息和返回响应内容

DATABASES:配置数据库
        "ENGINE": "django.db.backends.mysql",
        # "NAME": BASE_DIR / "db.sqlite3",
        "NAME": 'xxxs',  # 数据库名称
        'USER': 'root',  # mysql用户名
        'PASSWORD': 'xxx',  # mysql密码
        'HOST': '127.0.0.1',  # 数据库主机号
        'PORT': '3306',  # 数据库端口

创建my.cnf

[client]
database = 数据库名称
user = root
password = 密码
default-character-set = utf8
DATABASES = {"default": {"ENGINE": "django.db.backends.mysql","OPTIONS": {"read_default_file": "my.cnf",},}
}

Django可以使用mysqlclient和pymysql模块实现MySQL
django--db--backends--mysql--base.py mysqlclient版本要求
如果是使用pymysql,则需要在项目名目录下__init__.py文件中写入:import pymysql  pymysql.install_as_MySQLdb()

如果是使用MySQL8.0版本,加密方式需要改为原来的加密方式
ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword'; FLUSH PRIVILEGES;

STATIC_URL进行配置:静态资源配置

"""
Django settings for xxxs project.Generated by 'django-admin startproject' using Django 4.2.7.For more information on this file, see
https://docs.djangoproject.com/en/4.2/topics/settings/For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.2/ref/settings/
"""from pathlib import Path# Build paths inside the project like this: BASE_DIR / 'subdir'.
# 项目路径
BASE_DIR = Path(__file__).resolve().parent.parent# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/# SECURITY WARNING: keep the secret key used in production secret!
# 密钥配置
SECRET_KEY = "xxx"# SECURITY WARNING: don't run with debug turned on in production!
# 调试模式
DEBUG = True# 域名访问权限
ALLOWED_HOSTS = []# Application definition
# App列表
INSTALLED_APPS = ["django.contrib.admin",  # 内置的后台管理系统"django.contrib.auth",  # 内置的用户认证系统"django.contrib.contenttypes",  # 记录项目中所有model元数据(Django的ORM框架)"django.contrib.sessions",  # Session会话功能,用于标识当前访问用户的身份,记录相关用户信息"django.contrib.messages",  # 消息提示功能"django.contrib.staticfiles",  # 查找静态资源路径'index','commodity','shopper',
]
# 中间件  用于处理Django的请求Request和相应Response
MIDDLEWARE = ["django.middleware.security.SecurityMiddleware",  # 内置的安全机制,保护用户与网站的通信安全"django.contrib.sessions.middleware.SessionMiddleware",  # 会话Session功能"django.middleware.common.CommonMiddleware",  # 处理请求信息,规范化请求内容"django.middleware.csrf.CsrfViewMiddleware",  # 开启CSRF防护功能"django.contrib.auth.middleware.AuthenticationMiddleware",  # 开启内置的用户认证系统"django.contrib.messages.middleware.MessageMiddleware",  # 开启内置的信息提示功能"django.middleware.clickjacking.XFrameOptionsMiddleware",  # 防止恶意程序单机劫持  LocaleMiddleware:国际化和本地化功能
]
# 路由入口配置  默认值是与项目同名的文件夹的urls.py文件
ROOT_URLCONF = "xxxs.urls"
# 模板配置  配置模板的解析引擎、模板的存放路径地址即内置功能模板使用配置信息
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",],},},
]
# WSGI配置  告诉Django如何查找WSGI文件
WSGI_APPLICATION = "xxxs.wsgi.application"# 数据库配置
# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
# 配置数据库的连接信息,如连接数据库的模块、数据库名称、帐号和密码,默认连接SQLite数据库
# django.db.backends.postgresql/mysql/sqlite3/oracle
DATABASES = {"default": {"ENGINE": "django.db.backends.mysql",# "NAME": BASE_DIR / "db.sqlite3","NAME": 'xxx',  # 数据库名称'USER': 'root',  # mysql用户名'PASSWORD': 'xxx',  # mysql密码'HOST': '127.0.0.1',  # 数据库主机号'PORT': '3306',  # 数据库端口}
}
或者配置成以下方式
DATABASES = {"default": {"ENGINE": "django.db.backends.mysql","OPTIONS": {"read_default_file": "my.cnf",},}
}# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
# 内置Auth认证的功能配置
AUTH_PASSWORD_VALIDATORS = [{"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",},{"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",},{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",},{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",},
]# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/
# 国际与本地化配置  语言设置、不同时区时间的设置
LANGUAGE_CODE = "en-us"
LANGUAGE_CODE = "zh-hans"TIME_ZONE = "UTC"
TIME_ZONE = "Asia/Shanghai"USE_I18N = TrueUSE_TZ = True# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/
# 静态资源配置
STATIC_URL = "static/"
# 添加并设置配置属性STATICFILES_DIRS
# 静态文件加载路径  如果静态文件不和app挂钩,可以在settings.py中添加STATICFILES_DIRS,之后DTL会在这个列表的路径中查找静态文件
STATICFILES_DIRS = (BASE_DIR / 'static',
)
# STATIC_ROOT = BASE_DIR / 'AllStatic'  该文件夹与服务器之间构建映射关系# 媒体资源配置
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'# Default primary key field type
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-fieldDEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"# 发送邮件相关配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'xxx@qq.com'
EMAIL_HOST_PASSWORD = 'xxx'  # 开启服务授权码,在邮箱的设置更改密码下方的位置进行配置,配置需要发送短信,之后获得的码输入到此处
DEFAULT_FROM_EMAIL = 'xxx@qq.com'  # 默认发送者LOGIN_URL = '/auth/login'

4、路由  URL(Uniform Resource Locator 统一资源定位符)

互联网上标准资源的地址,用于指出网站文件的路径位置

5、数据模型搭建

ORM框架,实现面向对象编程
models  id = models.AutoField(primary_key=True)
      模型字段名称    数据类型    字段属性

__str__()  设置模型的返回值
默认情况:返回值为模型名+主键

模型扩展功能

class Meta:  设置模型的常用属性  元数据db_table = 指定表名unique_together = ('列名1', '列名2', ...)  联合约束,确定唯一记录ordering = ['列名1', '-列名2']  先按列名1升序排序,再按列名2降序排序app_label = 指定该模型所属的应用abstract = True 抽象模型,不能生成数据库表结构,只能作为其他模型的父类

当模型较多时,用包Package将模型拆分进行统一管理;将models.py文件拆分为xx.py和xxx.py后,需要在__init__.py文件中导入所有模型

settings.py的DATABASES属性中配置MySQL数据库连接信息

数据迁移指令
python manage.py makemigrations  新定义的模型会在项目应用的migrations文件夹中创建新的.py文件
python manage.py migrate  执行新建到数据库操作
python manage.py migrate 应用名 0001_initial  执行某个项目应用中的某个.py文件

其他迁移指令
squashmigrations、inspectdb、showmigrations、sqlflush、sqlsequencereset、remove_stale_contenttypes

数据导入(loaddata)与导出(dumpdata)
python manage.py dumpdata>data.json
data.json项目根目录下,如果要保存到指定的文件夹下,cd到该路径后执行命令
命令行需要python xxx/xxx/manage.py dumpdata>data.json

导出项目应用commodity中所有模型数据
python manage.py dumpdata commodity>data.json
导出项目应用commodity中模型Types的数据
python manage.py dumpdata commodity.Types>types.json

导入数据
python manage.py loaddata data.json
注:数据的导入需要以整个项目或整个项目应用的数据为单位,因为存在外键关联,只导入某张表数据,需要考虑该数据表是否设有外键且外键所关联的数据表是否已有数据

*关联关系型字段*

一对一关系            

从表中增加xxx_id字段,关联主表的id
xxx = models.OneToOneField(to_field=’id‘, to='table_name', on_delete=models.CASCADE, blank=True, null=True)
                           指向主表的id        指向主表        主表中删除一条记录,对应表也同步删除

一对多关系    

主表的一条记录对应从表的多条记录
xxx = models.Foreignkey('主表的模型名称', on_delete=models.CASCADE)    xxx_id

多对多关系

A表的一条记录和B表的多条记录对应,B表的一条记录和A表的多条记录对应(如:作者和图书,一个作者可以借阅多本图书,一本图书可以由多人借阅)
xxx = models.ManyToManyField(模型名, blank=True)  与模型建立多对多关系
作者信息表    多对多关联中间表    图书信息表

数据库基本操作

新增

  • python manage.py shell    交互模式环境
  • from xxx.models import goods  导入模型
  • g = goods()     构建goods模型实例
  • g.xxx = 'xxx'   为属性赋值
  • 或 g = goods(xxx='xxx, ...)
  • g.save()        通过save()方法将实例保存到数据库表中
  • g = goods.objects.create(xxx='xxx', ...)  通过create()方法新增记录
  • g = goods.objects.get_or_create(xxx='xxx', ...)  新增前检查记录是否存在
  • d = dict(xxx='xxx',...)
  • g = goods.objects.update_or_create(**d, defaults={'xxx':xxx})  数据表中如存在该记录,对记录进行修改
  • g1 = goods(xxx='xxx', ...)  g2 = goods(xxx='xxx', ...)  goods.objects.bulk_create([g1, g2])  批量新增

查询

  • goods.objects.all()         查找数据库表中所有记录
  • QuerySet类型,对应于数据库表的记录集合(字典、元组)
  • goods.objects.values()      ...所有记录,以字典的形式表示
  • goods.objects.values_list() 以列表的形式返回指定模型对象所对应的数据库表所有记录
  • goods.objects.get(条件)      返回符合条件的记录
  • goods.objects.first() 返回第一条记录 / last() 返回最后一条记录 / count() 返回数据个数
  • goods.objects.filter(条件)   可以在组合条件下对数据库表中记录进行查找
  • goods.objects.exclude(条件)  排除条件,返回不符合条件的记录
  • goods.objects.order_by('id', '列名')  按照指定字段排序
  • goods.objects.aggregate()

修改

  • models.goods.objects.filter(条件).update(条件)

删除

  • models.goods.objects.filter(条件).delete()
  • models.goods.objects.filter(条件).distinct()  去掉重复记录

命令行

安装Django
pip install Django 或 下载.whl后 pip install D:\xxx.whl

创建Django项目
django-admin startproject MyDjango

查看Django版本
python  import django  django.__version__

创建项目应用,简称App,相当于网站功能
python manage.py startapp index

启动项目
python manage.py runserver 8001
访问地址为http://127.0.0.1:8001/

创建Django内置功能的数据表(创建新表)
python manage.py makemigrations    创建模型对应的表结构命令文件
python manage.py migrate           创建新表结构

python manage.py makemigrations    新定义的模型会在项目应用的migrations文件夹中创建新的.py文件
python manage.py migrate           执行新建到数据库操作
python manage.py migrate 应用名 0001_initial  执行某个项目应用中的某个.py文件

数据导入(loaddata)与导出(dumpdata)
python manage.py dumpdata>data.json
导出项目应用commodity中所有模型数据
python manage.py dumpdata commodity>data.json
导出项目应用commodity中模型Types的数据
python manage.py dumpdata commodity.Types>types.json
 

相关文章:

Django学习(2)项目实战

1、环境及简介 前端开发:HTML、CSS、JavaScript 后端开发:Java、PHP、Python、GO 数据库:MySQL、MSSQL、Oracle、Redis 安装Django pip install Django 或 下载.whl后 pip install D:\xxx.whl 创建Django项目 File--New Projec…...

pdf格式转成jpg图片,pdf格式如何转jpg

pdf转图片的方法,对于许多人来说可能是一个稍显陌生的操作。然而,在日常生活和工作中,我们有时确实需要将pdf文件转换为图片格式,以便于在特定的场合或平台上进行分享、展示或编辑。以下,我们将详细介绍一个pdf转成图片…...

Java的三个接口Comparable,Comparator,Cloneable(浅拷贝与深拷贝)

Comparable 当我们要进行对象的比较的时候&#xff0c;我们是不能直接用>、< 这些符号直接进行比较的。 由于这是引用类型变量也是自定义类型变量&#xff0c;直接进行比较的时候&#xff0c;我们是通过对象的地址进行比较的&#xff0c;我们可以使用、! 进行两个对象的…...

pytorch学习笔记7

getitem在进行索引取值的时候自动调用,也是一个魔法方法,就像列表索引取值那样,一个意思 import torchvision from torch.utils.data import DataLoaderdata_transformtorchvision.transforms.Compose([torchvision.transforms.ToTensor()] ) test_datatorchvision.datasets.C…...

LeetCode热题3.无重复的最长字串

前言: 经过前序的一系列数据结构和算法学习后&#xff0c;开始用leetCode热题练练手。 . - 力扣&#xff08;LeetCode&#xff09; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为…...

Python武器库开发-武器库篇之SQL注入扫描器(五十九)

Python武器库开发-武器库篇之SQL注入扫描器(五十九) SQL注入漏洞简介以及危害 SQL注入漏洞是一种常见的Web应用程序漏洞&#xff0c;攻击者可以利用该漏洞在应用程序的数据库中执行恶意的SQL查询或指令。这可能导致数据泄露、数据损坏、应用程序崩溃或未经授权的访问。 SQL注…...

图说设计模式:单例模式

更多C学习笔记&#xff0c;关注 wx公众号&#xff1a;cpp读书笔记 5. 单例模式 单例模式 模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结 5.1. 模式动机 对于系统中的某些类来说&#xff0c;只有一个实例很重要&#xff0c;例如…...

探索设计模式——单例模式详解

前言&#xff1a;设计模式的作用主要是为了——利用设计方式的重用来自动地提高代码的重新利用、提高代码的灵活性、节省时间&#xff0c; 提高开发效率、低耦合&#xff0c;封装特性显著&#xff0c; 接口预留有利于扩展。 设计模式的种类有很多种&#xff0c;本篇内容主要讲解…...

建筑垃圾/城市固废倾倒转移乱象:EasyCVR+AI智能视频监控方案助力城市环保监管

近日有新闻记者报道&#xff0c;中央生态环境保护督察组在上海、浙江、江西、湖北、湖南、重庆、云南7省市督察发现&#xff0c;一些地方建筑垃圾处置工作存在明显短板&#xff0c;乱堆乱倒问题时有发生&#xff0c;比如&#xff0c;江西湘东区在杨家田地块违规设置弃土场&…...

C的I/O操作

目录 引言 一、文件与目录操作 1. 打开与关闭文件 2. 文件读写操作 3. 文件定位与错误处理 二、字符流与字节流 1. 字符流处理 2. 字节流处理 三、序列化与反序列化 1. 序列化 2. 反序列化 四、新的I/O&#xff08;NIO&#xff09; 表格总结 文件与目录操作 字符…...

Android Audio实战——声道信息回调(五)

在前面的 AudioTrack 构造中,我们传入了音频的声道信息,这一节我们就来详细介绍一下声道的配置信息。 一、声道介绍 音频中的声道配置从单声道到双声道(立体声)、再到多声道系统(如5.1和7.1),代表了声音录制和回放技术的发展,旨在提供越来越丰富和沉浸式的听觉体验。 …...

ThreeJS给模型添加介绍文字(贴在模型上 不会一直面向我们)

使用到 FontLoader跟 TextGeometry 引包 import {TextGeometry} from "three/examples/jsm/geometries/TextGeometry"; import {FontLoader} from "three/examples/jsm/loaders/FontLoader";使用 // 创建字体加载器并加载字体 const fontLoader new Fo…...

[Qt] Qt Creator 以及 Qt 在线安装教程

一、Qt Creator 下载及安装 1、从以下镜像源下载安装包常规安装即可 Qt Creator 也可以在第二步Qt 在线安装时一次性勾选安装&#xff0c;见后文 Qt Creator 中科大源下载地址 二、Qt 在线安装 1、根据所在平台选择对应的安装器下载 Qt 在线安装器下载 2、可能的安装报错…...

【大分享05】动态容差归档,打通不动产登记管理“最后一公里”

关注我们 - 数字罗塞塔计划 - 本篇是参加由电子文件管理推进联盟联合数字罗塞塔计划发起的“大分享”活动投稿文章&#xff0c;来自上海涵妍档案信息技术有限责任公司&#xff0c;作者&#xff1a;陈雪。 一、政策背景 在“互联网政务服务”的浪潮下&#xff0c;各级政府机构…...

嵌入式模拟电路面试题大全及参考答案(持续更新)

目录 理想运算放大器的两个基本特性 共模抑制比(CMRR)及其重要性 负反馈在放大器中的作用 差分放大电路的工作原理 使用运算放大器构建非反相放大器 电源抑制比(PSRR) 带宽(BW)在放大器中的含义 计算RC低通滤波器的截止频率 基本的积分电路及其时间常数 增益-带…...

【C语言】解决C语言报错:Uninitialized Variable

文章目录 简介什么是Uninitialized VariableUninitialized Variable的常见原因如何检测和调试Uninitialized Variable解决Uninitialized Variable的最佳实践详细实例解析示例1&#xff1a;局部变量未初始化示例2&#xff1a;数组未初始化示例3&#xff1a;指针未初始化示例4&am…...

RabbitMQ实践——交换器(Exchange)绑定交换器

在《RabbitMQ实践——交换器&#xff08;Exchange&#xff09;和绑定&#xff08;Banding&#xff09;》一文中&#xff0c;我们实验了各种交换器。我们可以把交换器看成消息发布的入口&#xff0c;而消息路由规则则是由“绑定关系”&#xff08;Banding&#xff09;来定义&…...

使用 Vue 官方脚手架初始化 Vue3 项目

Vite 官网&#xff1a;https://cn.vitejs.dev/ Vue 官网&#xff1a;https://vuejs.org/ Vue 官方文档&#xff1a;https://cn.vuejs.org/guide/introduction.html Element Plus 官网&#xff1a;https://element-plus.org/ Tailwind CSS 官网&#xff1a;https://tailwindcss.…...

C语言中的宏定义(#define)和函数调用的区别

C语言中的宏定义&#xff08;#define&#xff09;和函数调用在概念、工作方式以及它们对代码的影响上有显著的区别。以下是它们之间的主要差异&#xff1a; 宏定义&#xff08;#define&#xff09; 工作方式&#xff1a;宏定义是在预处理阶段进行的文本替换。预处理器会在编译…...

196. 删除重复的电子邮箱

196. 删除重复的电子邮箱 题目链接&#xff1a;196. 删除重复的电子邮箱 代码如下&#xff1a; # Write your MySQL query statement below delete from Person as p where p.id not in(select e.id from (select min(id) as idfrom Person group by email ) as e )...

Android 大话binder通信 (上)

戳蓝字“牛晓伟”关注我哦&#xff01; 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 本文摘要 用故事的方式把binder通信的整个过程都描述出来&#xff0c;binder通信都经历了哪些节点&#xff0c;在这些节点上的数据有哪些变化&#xff0c;同时还对binder通…...

DevOps学习回顾01-技能发展路线-岗位能力-体系认知

事为先&#xff0c;人为重–事在人为 参考来源&#xff1a; 极客时间专栏&#xff1a;DevOps实战笔记&#xff0c;作者&#xff1a;石雪峰 课程链接&#xff1a;https://time.geekbang.org/column/intro/235 时代的典型特征 VUCA VUCA 是指易变性&#xff08;Volatility&…...

【MySQL】复合查询和内外连接

文章目录 MySQL复合查询和内外连接1. 复合查询1.1 多表查询1.2 自连接1.3 子查询单行子查询多行子查询多列子查询from中使用子查询合并查询 2. 内外连接1. INNER JOIN2. LEFT JOIN3. RIGHT JOIN4. FULL JOIN5. CROSS JOIN MySQL复合查询和内外连接 1. 复合查询 1.1 多表查询 …...

【星海随笔】云解决方案学习日志篇(二) kafka、Zookeeper、Fielbeat

Elastic 中国社区官方博客 https://blog.csdn.net/ubuntutouch/category_9209092.html Kafka kafka的源代码是基于Scala语言编写的&#xff0c;运行在Java虚拟机&#xff08;即:JVM&#xff09;上。因此&#xff0c;在安装kafka之前需要先安装JDK Kafka 为什么依赖 Zookeepe…...

【测试专题】系统测试报告(原件Word)

软件测试报告在软件开发过程中起着至关重要的作用&#xff0c;主要有以下几个主要原因&#xff1a; 1、确保软件质量 2、提供决策支持 3、记录测试过程和结果 4、促进沟通和协作 5、符合标准和法规要求 6、改进测试流程和策略 7、降低风险 软件开发全套资料获取进主页或者本文末…...

C++中的模板方法模式

目录 模板方法模式&#xff08;Template Method Pattern&#xff09; 实际应用 数据处理流程 在线教育系统的课程模板 软件开发生命周期 总结 模板方法模式&#xff08;Template Method Pattern&#xff09; 模板方法模式是一种行为设计模式&#xff0c;它定义了一个操作…...

【数据结构】第十七弹---C语言实现选择排序

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、选择排序 1.1、基本思想 1.2、代码实现 1.3、代码测试 1.4、时空复杂度分析 总结 1、选择排序 1.1、基本思想 选择排序是一种简单直观的比…...

信号处理中的梯型权重操作(Tapering)

目录 1. 引言2. 一个Tapering操作的例子3. Tapering操作的简单实现延伸阅读1. 引言 Tapering 操作是对信号数据在水平和垂直方向上应用梯形权重,这个操作可以减弱数据边界效应,从而在进行傅里叶变换时减少伪影和边缘效应。本文将通过一个简单的例子来展示 Tapering 操作的具…...

深入解析分布式链路追踪:原理、技术及应用

目录 分布式链路追踪简介分布式链路追踪的基本概念 Span 和 Trace上下文传播采样策略 分布式链路追踪的工作原理常见的分布式链路追踪系统 ZipkinJaegerOpenTelemetry 分布式链路追踪的技术实现 数据收集数据传输数据存储数据展示 分布式链路追踪的应用场景 性能优化故障排除依…...

2024信息系统、信号处理与通信技术国际会议(ICISPCT2024)

2024信息系统、信号处理与通信技术国际会议&#xff08;ICISPCT2024) 会议简介 2024国际信息系统、信号处理与通信技术大会&#xff08;ICISPCT2024&#xff09;将在青岛隆重开幕。本次会议旨在汇聚全球信息系统、信号处理和通信技术领域的专家学者&#xff0c;共同探索行业…...