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

五大类型网站/seo顾问

五大类型网站,seo顾问,深圳坑梓网站建设公司,wordpress enter简介 linux基本的用户管理。 ⽤户的管理(切换到root) ⽤户的添加(useradd) ⽤户的删除(userdel) ⽤户的修改(usermod) ⽤户的查看(查看/etc/passwd) id⽤户组的管理(切换到root) …

简介

linux基本的用户管理。

⽤户的管理(切换到root)

⽤户的添加(useradd)
⽤户的删除(userdel)
⽤户的修改(usermod)
⽤户的查看(查看/etc/passwd) id

⽤户组的管理(切换到root) 

①⽤户组的添加(groupadd)
②⽤户组的删除
③⽤户组的查看
④⽤户组的修改
primary group(主要组),private group(私有组),attached
group(附加组)
/etc/group存放着⽤户组的信息
[root@foundation0 ~]# head /etc/group
root:x:0:
bin:x:1:
daemon:x:2:sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
/etc/group
每⼀个冒号分割了⼀个内容
第⼀列表示组名
第⼆列表示组密码,x表示密码存放在/etc/gshadows⽂件⾥
第三列表示组ID
第四列表示"组成员"
①⽤户组的添加
[root@foundation0 ~]# groupadd kcz
[root@foundation0 ~]# grep kcz /etc/group
kcz:x:5001:
[root@foundation0 ~]# grep lsz /etc/group
[root@foundation0 ~]#
[root@foundation0 ~]# groupadd lsz
[root@foundation0 ~]# grep lsz /etc/group
lsz:x:5002:
[root@foundation0 ~]# groupadd lsj
[root@foundation0 ~]# grep lsj /etc/group
lsj:x:5003:
②⽤户组的删除
[root@foundation0 ~]# groupdel lsz
[root@foundation0 ~]# grep lsz /etc/group
[root@foundation0 ~]# grep lsj /etc/group
lsj:x:5003:
[root@foundation0 ~]# groupdel lsj
[root@foundation0 ~]# grep lsj /etc/group③⽤户组的查看
grep 组名 /etc/group
④⽤户是有UID的,对于⽤户组来说也有GID(group ID),GID也是唯⼀
的。
可以添加⽤户组的同时指定GID
[root@foundation0 ~]# groupadd -g 10000 kcq
[root@foundation0 ~]# grep kcq /etc/group
kcq:x:10000:
⑤修改组(⼀般功能很鸡肋,就是修改个组ID)
[root@foundation0 ~]# groupmod -g 20000 kcq
[root@foundation0 ~]# grep kcq /etc/group
kcq:x:20000:

⽤户组和⽤户的关联

创建⽤户的时候指定⽤户组

由于任何⽤户都必须依赖于⽤户组才能存在,所以如果创建⽤户没有指定⽤
户组(primary group),那么系统会为该⽤户创建⼀个同名的组。这个组
叫做该⽤户的private group(私有组),私有组默认⾥⾯只有⼀个和该私
有组同名的⽤户。
经验之谈:私有组的意义就在于让⽤户有了⼀个⽤户组。
[root@foundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[root@foundation0 ~]# grep 5232 /etc/group
hzz:x:5232:
如果你创建了⼀个⽤户,指定了该⽤户的所属组,那么该⽤户就没有私有
组。
[root@foundation0 ~]# groupadd lsj -g 30000
[root@foundation0 ~]# useradd tgb -g lsj
[root@foundation0 ~]# grep tgb /etc/passwd
tgb:x:5233:30000::/home/tgb:/bin/bash
[root@foundation0 ~]# grep tgb /etc/group
[root@foundation0 ~]#
/etc/passwd的第四列GID表示该⽤户属于的primary group(主要
组),⼀个⽤户可以属于多个组,记录在/etc/passwd的那个组就是
primary group(主要组)
[root@foundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[root@foundation0 ~]# grep hzz /etc/group
hzz:x:5232:
在上⾯的例⼦,我们看到了,hzz这个组既是hzz⽤户的private group,
⼜是primary group。
添加附加组(attached group),⼀个⽤户只可以属于⼀个primary
group,但是可以同时属于多个attached group
useradd -g 指定的是添加⽤户该⽤户的primary group,-G 指定的是
添加该⽤户的attached group。
[root@foundation0 ~]# groupadd diqiu
[root@foundation0 ~]# useradd yzq -G diqiu
[root@foundation0 ~]# grep yzq /etc/passwd
yzq:x:5236:5236::/home/yzq:/bin/bash
[root@foundation0 ~]# grep 5236 /etc/group
yzq:x:5236:
附加组理论上可以随便将任何⼀个⽤户组当做任何⼀个⽤户的附加组,但是
理论上,应该尽可能的不将私有组作为某个⽤户的附加组。
[root@foundation0 ~]# id yzq
uid=5236(yzq) gid=5236(yzq)
groups=5236(yzq),30001(diqiu)
id查看⼀个⽤户的时候,可以看到uid和gid还有该⽤户属于的所有组。
gid就表示该⽤户的primary group,除了gid之外的所有组都是
attached group。
添加⽤户的时候直接指定附加组
useradd username -G attached group
将⼀个现有的⽤户添加到附加组
[root@foundation0 ~]# useradd gousheng
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng)
[root@foundation0 ~]# usermod -G lsj gousheng
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),30000(lsj)
[root@foundation0 ~]# usermod -G kcq gousheng
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq)
[root@foundation0 ~]# usermod -aG lsj gousheng
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq),30000(lsj)
⽤户密码的管理(最常⻅的运维操作)
[root@foundation0 ~]# usermod -Ga lys gousheng
usermod: group 'a' does not exist'
[root@foundation0 ~]# gpasswd -a gousheng lys
Adding user gousheng to group lys
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq),30000(lsj),5237(lys)
[root@foundation0 ~]# gpasswd -d gousheng lys
Removing user gousheng from group lys
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq),30000(lsj)
[root@foundation0 ~]# gpasswd -d gousheng kcq
Removing user gousheng from group kcq
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),30000(lsj)
[root@foundation0 ~]# gpasswd -d gousheng lsj
Removing user gousheng from group lsj
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng)

⽤户密码的管理(最常⻅的运维操作)

①给⽤户设置密码
[root@foundation0 ~]# id wjx
uid=5001(wjx) gid=5000(wjx) groups=5000(wjx)
[root@foundation0 ~]# passwd wjx
Changing password for user wjx.
New password: 1
BAD PASSWORD: The password is a palindrome
Retype new password: 1
passwd: all authentication tokens updated successfully.
②⽤户的密码信息存放在/etc/shadow中
[root@foundation0 ~]# grep wjx /etc/shadow
wjx:$6$ae3uY4p/bFgASqKo$pjbAm7hpnwfsEq3fMdvDUIsRmqRhLMHs
kZizAWLZbLUTuI3EcAi7yce0KhNrptMVz5a1z12PrVyN3o4LHYGjU/:1
8363:0:99999:7:::
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:!!:18363:0:99999:7:::
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:$6$iCqzFNJ7wLtjp/96$iKAyxBortuzeDEpFChKZavAnM6qzhlbu
JEdzrECQeZwK8D5UzwwQh/yhTeBOp29tzAvEtNEozxkAg8ZZxChTS.:1
8363:0:99999:7:::
/etc/shadow存放的是密码信息,每⼀列密码信息都被冒号分割开来。
第⼀列表示存放的是哪个⽤户的密码信息(username)
第⼆列存放的就是密码,该密码并不是明⽂的,⽽是使⽤算法⽣成的,算法
在/etc/login.defs中有指定。
第三列存放的是上次修改密码的时间
第四列存放的是密码最⼩有效期
如果是0,就可以⽆限次的不考虑间隔的修改密码
如果是1,就表示,修改完密码之后,必须使⽤该密码⼀天才能再次修改
第五列存放的是密码的最⼤有效期
默认是99999,表示密码99999天就会失效。
如果该数字是3,就表示,3天后密码会过期,如果你想继续使⽤,必须要在
密码到期之前修改。
第六列存放的是密码到期前提前多少天警告的时间信息
如果该数字为7,就表示密码到期之前的7天就会发出警告,告诉你密码即将
过期。
第七列表示⽤户密码到期后宽限⽇期
如果该数字是2,就表示密码到期后,你还能使⽤该密码2天,如果2天到了,
你还没修改或更新密码,密码就失效了。
第⼋列表示账号失效⽇期
第⼋列的⽇期就是账号的失效⽇期。如果到了第⼋列的时间,账号直接失
效。不可登录。
第九列保留
使⽤passwd命令控制⽤户的密码信息
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:$6$iCqzFNJ7wLtjp/96$iKAyxBortuzeDEpFChKZavAnM6qzhlbu
JEdzrECQeZwK8D5UzwwQh/yhTeBOp29tzAvEtNEozxkAg8ZZxChTS.:1
8363:0:99999:7:::
[root@foundation0 ~]# passwd -d tgb
Removing password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb::18363:0:99999:7:::
-d 参数可以删除⼀个⽤户的密码
passwd不能设置上次修改密码的时间信息
[root@foundation0 ~]# passwd -n 3 -x 10 -w 5 -i 2 tgb
Adjusting aging data for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb::18363:3:10:5:2::
passwd的账号失效⽇期-e,直接加⽤户名,能将该⽤户的密码直接设置过
期。
[root@foundation0 ~]# passwd -e tgb
Expiring password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb::0:3:10:5:2::
上次修改密码时间的字段变成了0,就表示该⽤户下次登录必须修改密码。在
windows server当中,创建完⽤户,默认该值就是0。
使⽤chage(change age)来修改⽤户的密码信息,相⽐于passwd更灵
活的修改所有的密码信息。
[root@foundation0 ~]# chage -d 1300 -m 2 -M 20 -W 10 -I
4 -E 2021-1-1 tgb
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9
ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:1
300:2:20:10:4:18628:
⼀般来说,针对上次修改密码的时候,要么不修改,要么设置为0,表示让⽤
户下次登录必须修改密码。(tgb登录的时候,先输⼊tgb原来的密码,然后
设置tgb新的密码,新的密码必须有⼀定的密码强度)
如何锁定⽤户的密码
[root@foundation0 ~]# passwd -l tgb
Locking password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:!!$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpH
V9ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81
:0:2:20:10:4:18628:
当账号被锁定了,除了root之外,任何其它⽤户不能切换到被锁定的账号
[root@foundation0 ~]# passwd -u tgb
Unlocking password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9
ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:0
:2:20:10:4:18628:
-l 锁定
-u 解锁
passwd命令root⽤户可以⽤passwd修改任何⽤户的密码,包括⾃⼰的。
普通⽤户只可以⽤passwd命令修改⾃⼰的密码。
[tgb@foundation0 ~]$ passwd wjx
passwd: Only root can specify a user name.
[tgb@foundation0 ~]$
[tgb@foundation0 ~]$ passwd hzz
passwd: Only root can specify a user name.
[tgb@foundation0 ~]$
[tgb@foundation0 ~]$
[tgb@foundation0 ~]$ passwd tgb
passwd: Only root can specify a user name.
[tgb@foundation0 ~]$
[tgb@foundation0 ~]$ passwd
Changing password for user tgb.
Current password:
New password:
普通⽤户想修改⾃⼰的密码,直接passwd就可以的。
passwd --stdin 可以让passwd接收标准的输⼊,只能root使⽤
⽤户组密码信息
[root@foundation0 ~]# echo 123 | passwd --stdin tgb
Changing password for user tgb.
passwd: all authentication tokens updated successfully.
将tgb的密码设置为123

⽤户组密码信息

⽤户组密码信息存放在/etc/gshadow
[root@foundation0 ~]# usermod -G lsj tgb
[root@foundation0 ~]# grep lsj /etc/gshadow
lsj:!::tgb
[root@foundation0 ~]# grep lsj /etc/group
lsj:x:30000:tgb
组密码的第⼆列记录的是组密码
默认的组和默认的⽤户⼀样没有密码
[root@foundation0 ~]# gpasswd lsj
Changing the password for group lsj
New Password:
Re-enter new password:
[root@foundation0 ~]# grep lsj /etc/gshadow
lsj:$6$Xw4eSQtu$j5cnpBa/aHXzdub9PQwru5k.9tGw70A6.UOV5ThA
NF4SWwnU.KVmAz5Hl6xz6JaU1LF4ZcG.nf8neb7lfVIjd0::tgb
对于任何⼀个⽤户来说,创建的⽂件,默认的拥有⼈就是该⽤户,默认的所
属组是该⽤户的primary group
[tgb@foundation0 ~]$ id
uid=5239(tgb) gid=5239(tgb) groups=5239(tgb),30000(lsj)
context=unconfined_u:unconfined_r:unconfined_t:s0-
s0:c0.c1023
[tgb@foundation0 ~]$ touch aaa.avi
[tgb@foundation0 ~]$ ls -l
total 0
-rw-rw-r--. 1 tgb tgb 0 Apr 11 22:51 aaa.avi
[tgb@foundation0 ~]$ newgrp lsj
[tgb@foundation0 ~]$ touch bbb.avi
[tgb@foundation0 ~]$ ls -l
total 0
-rw-rw-r--. 1 tgb tgb 0 Apr 11 22:51 aaa.avi
-rw-r--r--. 1 tgb lsj 0 Apr 11 22:51 bbb.avi
newgrp groupname,能让⼀个⽤户临时的切换到另外⼀个组,那么切换成
功之后,该⽤户创建的⽂件就都属于切换后的组。
组密码的作⽤是让那些不属于该组的⽤户,可以切换到该组的⼀种⽅式,只
要提供正确的组密码,即可切换成功。
touch /etc/nologin 除了root之外的所有⽤户都进制登录。
rm -rf /etc/nologin 解除⽤户登录限制

相关文章:

Linux入门篇-用户管理

简介 linux基本的用户管理。 ⽤户的管理(切换到root) ⽤户的添加(useradd) ⽤户的删除(userdel) ⽤户的修改(usermod) ⽤户的查看(查看/etc/passwd) id⽤户组的管理(切换到root) …...

G. Special Permutation(构造)

1、题目 G. Special Permutation 这道题的意思是给我们从111到nnn的排列,然后我们对这个排列的顺序上进行调换,需要满足的条件是任意两个相邻元素的绝对值的差满足条件:2≤∣pi−pi1∣≤42\leq |p_i-p_{i 1}|\leq 42≤∣pi​−pi1​∣≤4 …...

QML动态对象管理

QML中有多种方式来动态创建和管理QML对象: Loader (加载器)Repeater(复制器)ListView,GridWiew,PethView(视图) (之后会介绍)使用加载器&#xff…...

cmake入门03 -自定义find外部库

自定义检测外部库使用pkg-config查找库搜索.pc配置文件cmake函数链接到库自定义find库检测外部库的便捷方法&#xff1a;使用CMake自带的find-module使用<package>Config.cmake, <package>ConfigVersion.cmake和<package>Targets.cmake。这些文件由软件商提供…...

Dubbo源码解析-——服务导出

前言 在之前我们讲过Spring和Dubbo的集成&#xff0c;我们在服务上标注了DubboService的注解&#xff0c;然后最终Dubbo会调用到ServiceBean#export方法中&#xff0c;本次我们就来剖析下服务导出的全流程。 一、前置回顾 由于ServiceBean实现了ApplicationListener接口&…...

vue+django+neo4j 基于知识图谱红楼梦问答系统

vuedjangoneo4j 基于知识图谱红楼梦问答系统 项目背景 知识图谱是一种以图谱形式描述客观世界中存在的各种实体、概念及其关系的技术, 广泛应用于智能搜索、自动问答和决策支持等领域. 可视分析技术可以将抽象的知识图谱映射为图形元素, 帮助用户直观地感知和分析数据, 从而提…...

2023年全国最新食品安全管理员精选真题及答案13

百分百题库提供食品安全管理员考试试题、食品安全员考试预测题、食品安全管理员考试真题、食品安全员证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 121.关于食品召回的说法&#xff0c;以下表述不正确的是&#xff08;&am…...

Keychron K7 Pro 轻薄矮轴机械键盘开箱体验

文章目录1. 拆箱2. 零件3. 外观4. 声音5. 特点5.1 有线 / 无线5.2 RGB背光5.3 轻薄5.4 mac / win / iphone 切换5.5 人体工程学支持5.6 扁平双射PBT键帽5.7 重新设计的稳定器5.8 扁平Gateron(佳达隆)轴体5.9 热插拔5.10 支持 QMK / VIA 改键6. 对比6.1 K7 与 K7 Pro 参数对比6.…...

加油站ai视觉识别系统 yolov7

加油站ai视觉识别系统通过yolov7网络模型深度学习&#xff0c;加油站ai视觉识别算法对现场画面中人员打电话抽烟等违规行为&#xff0c;还有现场出现明火烟雾等危险状态。除此之外&#xff0c;模型算法还可以对卸油时灭火器未正确摆放、人员离岗不在现场、卸油过程静电释放时间…...

【电子学会】2022年12月图形化二级 -- 绘制风车

绘制风车 1. 准备工作 &#xff08;1&#xff09;隐藏默认的小猫角色&#xff1b; &#xff08;2&#xff09;选择背景&#xff1a;“Xy-grid”。 2. 功能实现 &#xff08;1&#xff09;小猫角色的初始位置为(x:0,y:0)&#xff1b; &#xff08;2&#xff09;线条粗细为…...

【golang/go语言】Go语言代码实践——高复用、易扩展性代码训练

某个项目里有一段老代码写的不是很好&#xff0c;想着能否通过自己掌握的知识&#xff0c;将其改善一下。感兴趣的小伙伴可以通过了解背景和需求&#xff0c;自己试想下该如何实现&#xff0c;如果有更好的方案也欢迎留言讨论。 1. 背景及需求 (1) 背景 假设我们的下游提供了…...

[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(学习复习笔记)

1.1 数据结构的研究内容 计算机解决问题的步骤 从具体问题抽象出数学模型设计一个解此数学模型的算法编写程序&#xff0c;进行测试、调试&#xff0c;直到解决问题 计算机解决问题的过程中寻求数学模型的实质是 分析问题&#xff0c;从中提取操作的对象&#xff0c;并找出这些…...

05_Pulsar的主要组件介绍与命令使用、名称空间、Pulsar的topic相关操作、Pulsar Topic(主题)相关操作_高级操作、

1.5.Apache Pulsar的主要组件介绍与命令使用 1.5.1.多租户模式 1.5.1.1. 什么是多租户 1.5.1.2.Pulsar多租户的相关特征_安全性&#xff08;认证和授权&#xff09; 1.5.1.3.Pulsar多租户的相关特性_隔离性 1.5.1.4.Pulsar多租户的相关操作 1-获取租户列表 2-创建租户 3-获取配…...

我的终端怎么莫名卡死了?shell下ctrl+s的含义

在终端下面一不小心按下了ctrl s&#xff0c;整个终端就锁住了&#xff0c;不知道原油的同学可能会以为终端卡死了&#xff0c;找不到原因只好关闭终端重新打开&#xff0c;然后下意识还不忘吐槽一句&#xff0c;垃圾ubuntu&#xff0c;动不动卡死。 事实上ctrl s在终端下是…...

【Vue】Vue的简单介绍与基本使用

一、什么是VueVue是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;Vue 都可以胜任。1.构建用户界面传统方…...

网络知识篇

网络知识篇 局域网 当多台计算机或设备通过同一物理或逻辑连接&#xff08;例如以太网或Wi-Fi网络&#xff09;连接在一起&#xff0c;并且它们可以相互通信时&#xff0c;就构成了一个局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;。 子网划分 为了更…...

python 连接数据库

文章目录同步操作同步连Mysql同步连redis同步连mongodb异步操作异步连mysql异步连redis异步连mongodb同步操作 同步连Mysql python 连接mysql可以使用pymysql、mysqlclient等。 安装&#xff1a; # win pip install pymysql 连接mysql: # __author__ "laufing"…...

一文讲明白一致性hash算法

一致性Hash算法常用来解决数据分片时的数据扩容/缩容的性能问题。 一、业内数据分片用的Hash算法&#xff0c;将节点的hash值对节点数取余。 存取通过key / value的方式对节点取余。 二、数据分片使用hash算法的优缺点&#xff1a; 优点&#xff1a;简单&#xff0c;方便。 缺…...

Java分布式解决方案(一)

随着互联网的不断发展&#xff0c;互联网企业的业务在飞速变化&#xff0c;推动着系统架构也在不断地发生变化。 如今微服务技术越来越成熟&#xff0c;很多企业都采用微服务架构来支撑内部及对外的业务&#xff0c;尤其是在高 并发大流量的电商业务场景下&#xff0c;微服务…...

设备树系统学习(二)设备树的节点和属性

一、节点 1.节点命名格式 格式:<name>[@<unit-address>] name:是一个简单的 ASCII 字符串,长度最多为 31 个字符,节节点是根据它所代表的设备类型来命名的,比如 “gpu” 就表示这个节点是 gpu外设。 unit-address:一般表示设备的地址或寄存器首地址,可以为…...

【数据结构】二叉树的基本操作中的一些易错点

文章目录前言一、求二叉树节点个数二、求树的叶子结点个数三、求树的高度四、二叉树查找值为x的结点总结前言 笔者整理出了一些关于萌新在入门二叉树时容易犯的一些错误&#xff0c;你也来试试自己会不会掉到这些坑里把~ 一、求二叉树节点个数 错误示例&#xff1a; int Tre…...

在线图书借阅网站( Python +Vue 实现)

功能介绍 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括&#xff1a;首页、图书详情页、用户中心模块。后台功能包括&#xff1a;总览、借阅管理、图书管理、分类…...

不平衡数据集的建模的技巧和策略

不平衡数据集是指一个类中的示例数量与另一类中的示例数量显著不同的情况。 例如在一个二元分类问题中&#xff0c;一个类只占总样本的一小部分&#xff0c;这被称为不平衡数据集。类不平衡会在构建机器学习模型时导致很多问题。不平衡数据集的主要问题之一是模型可能会偏向多数…...

3. 算法效率

同一个问题的不同算法在性能上的比较,现在的方法主要是算法时间复杂度。算法效率是算法操作(operate)或处理(treat)数据的重复次数最小。 例题选自《编程珠玑》第8章,算法设计技术。 这个问题是一维模式识别(人工智能)中的一个问题。 输入有n个元素的向量,输出连续子向…...

仪表放大器放大倍数分析-运算放大器

仪表放大器是一种非常特殊的精密差分电压放大器&#xff0c;它的主要特点是采用差分输入、具有很高的输入阻抗和共模抑制比&#xff0c;能够有效放大在共模电压干扰下的信号。本文简单分析一下三运放仪表放大器的放大倍数。 一、放大倍数理论分析 三运放仪表放大器的电路结构…...

laravel8多模块、多应用和多应用路由

1、安装多应用模块 composer require nwidart/laravel-modules2、执行命令&#xff0c;config文件夹下生成一个modules.php配置文件 php artisan vendor:publish --provider"Nwidart\Modules\LaravelModulesServiceProvider"3、修改config文件夹下的modules.php&am…...

【Java学习笔记】6.Java 变量类型

Java 变量类型 在Java语言中&#xff0c;所有的变量在使用前必须声明。声明变量的基本格式如下&#xff1a; type identifier [ value][, identifier [ value] ...] ;格式说明&#xff1a;type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 …...

Promise对象状态属性 工作流程 Promise对象的几个属性

Promise 对象状态属性介绍 实例对象中的一个属性 PromiseState pending 1、pending 变为 resolved / fullfilled 成功 2、pending 变为 rejected 失败 说明&#xff1a;只有这2种&#xff0c;且一个promise对象只能改变一次 无论变为成功还是失败&#xff0c;都会有一个结果…...

webgpu思考obj携带属性

今天在搞dbbh.js的时候&#xff0c;想到一个问题&#xff0c;啥问题呢&#xff0c;先看看情况 画2个材质不相同的box的时候 首先开始createCommandEncoder,然后beginRenderPass&#xff0c;分歧就在这里了 第一个box,他有自己的pipeline&#xff0c;第二个也有&#xff0c;那么…...

设计模式(只谈理解,没有代码)

1.什么是设计模式设计模式&#xff0c;是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。2.为什么要学习设计模式看懂源代码&#xff1a;如果你不懂设计模式去看Jd…...