linux+mysql+mongo+redis基础指令一文秒懂

Linux基础指令

基础指令:

  1. 安装网络工具,终端输入:sudo apt install net-tools,可以输入ifconfig查看虚拟机Ip

2. 适配客户机分配率,终端输入:sudo apt install open-vm-tools

3. 指令格式:指令名 选项 参数

4. ls -a 显示所有的文件信息(包含隐藏文件)

5. ls -l 以列表形式展示信息

6. ls -h 以可读性更强的形式显示

7. ls -alh 以列表形式和更强的的形式显示所有的文件信息(最常用)

8. pwd 当前文件路径

9. cd 切换路径 cd ~ 回到家目录 cd - 回到上次所在目录 cd ..回到父级路径

10. mkdir 创建文件夹 mkdir -p 创建多级文件夹

11. rmdir 删除文件夹

12. touch 创建文件

13. rm 删除文件  rm -r 递归删除  rm -f 忽略错误

14. 重定向  > 写入   >> 追加

15. cat  连接多个文件,将内容输出到屏幕

16. head -n  查看文件前n行 tail -n 查看文件后n行

17. more 文件   显示文件内容,每次显示一屏幕   空格,显示下一屏幕  q 退出

18. wc  文件统计  wc -l 行数 wc -w 单词数  wc -m 字符数  wc -c 字节数

19. cp  复制粘贴  (1) cp 源文件 目标路径  

(2) cp 源文件 目标路径 新文件名字

20. mv  剪切粘贴 (1) mv 源文件 目标路径  

(2) mv 源文件 目标路径 新文件名字

21. tar  归档  tar -c 创建tar包  tar -x 解开tar包  tar -f 文件(必须放在末尾)  tar -v 文件详细信息  tar -t 列表显示归档内容

22. *.tar.gz  压缩解压  gzip -r 压缩  gzip -d 解压

23. |  管道 左边输入 右边输出  grep 以行为单位过滤  

24. ps -e 所有进程  ps -f 进程详细信息

25. kill  杀死进程  kill -9 清理信息  常用的例子:ps -ef | grep bash  kill -9 进程号

26. top  查看占用cpu内存最多的进程

27. ln -s源文件 连接文件     软连接:相当于创建了快捷方式,源文件删除 链接文件废弃

28. ln 源文件  链接文件     硬链接:改一个,其他链接同步更改,源文件删除,硬链接文件正常使用,相当于创建了一个新的文件,该文件和源文件保持同步

用户指令:

  1. sudo useradd 用户名   添加用户  sudo useradd -m 自动创建家目录
  2. sudo userdel 用户名    删除用户  sudo userdel -r  删除家目录以及邮件池
  3. sudo groupadd 组名    添加组
  4. sudo groupdel  组名    删除组
  5. sudo passwd (用户名)  更改root(用户)密码
  6. su (用户名) 切换到管理员(指定用户)
  7. whoami   查看当前用户名
  8. exit  退出当前用户,返回上个用户,直至退出系统
  9.  ls  -l  第一个字符是l 代表软连接  d 代表文件夹  - 代表文件
  10. 权限:r:可读(4)  w:可写,可以修改(2)  x:可执行,可以cd, 可以运行(1)  -:无权限(0)  

案例:777:rwxrwxrwx   750:rwxr-x---   000:---------

前三个字符:当前用户权限,中间三个字符:当前用户组的其他用户,后面三个字符:非当前用户组的用户

远程连接(ssh)

  1. 安装  sudo apt install openssh-server
  2. 虚拟机远程连接需要修改配置文件  终端输入:cd /etc/ssh/sshd_config  把”PermitRootLogin ”,修改为”PermitRootLogin yes”
  3. 远程拷贝工具 scp

本地拷贝到远程:scp 本地文件  用户名@ip地址:新文件名

(1) scp abc.txt  qyc@192.168.13.31: cba.txt  拷贝地址默认为家目录

  1. scp -r abc.txt  qyc@192.168.13.31:\home\用户家目录\Desktop

远程拷贝到本地:scp  用户名@ip地址:新文件名 本地文件  

  1. scp  qyc@192.168.13.31: cba.txt abc.txt
  2. scp -r qyc@192.168.13.31:\home\用户家目录\Desktop\456本地文件夹

服务操作

  1.  systemctl status ssh  查看服务状态
  2.  systemctl start ssh   启动服务
  3.  systemctl restart ssh  重启服务
  4.  systemctl stop ssh   停止服务

文本编辑

  1. 安装文本编辑器  sudo apt install vim 
  2. 摁下 i,I,o,O,a,A 进入插入模式

  i  光标前插入  I 行首插入

  a  光标后插入 A 行末插入

  o  下方另起一行  O 上方另起一行

  1. gg  移动光标到一行第一句  M 移动到中间  G 移动到最后一行最后一句

  h 向左  j 向下  k  向上  l 向右

  1. dd  删除整行  n dd 删除n行  D 删除光标之后  d0 删除光标之前
  2. yy  复制  n yy 复制n行  p 粘贴
  3. /???   ???是搜索的字  输入后摁下回车  n 下一个  N上一个
  4. 摁下esc  退出编辑模式
  5. 摁下 : 进入命令模式
  6. :wq  保存并退出   :!q  不保存强制退出

mysql基础指令 

关系型数据库:

  1. 登录  mysql -u root -p 123456
  2.  -u 用户名 -p 密码  -h 主机ip地址  -P 主机ip端口
  3. 虚拟机安装指令: sudo apt install mysql-server
  4. 远程连接需要更改配置文件: /etc/mysql/mysql.conf.d/mysqld.conf  将”bind_address” 改为虚拟机的ip,修改完之后要重启服务:systemctl restart mysql
  5. show databases;  展示所有的数据库
  6. create database 数据库名 charest=utf8;  创建数据库
  7. drop database 数据库名;  删除数据库
  8. select database() ;  查看当前使用的数据库
  9. user 数据库名;  使用数据库
  10. show tables;  显示所有的表
  11. create table 表名( 列名  类型  约束1 约束2 约束3, 列名 类型 约束1 约束2, 列名 类型 约束1 );  创建数据表
  12. desc 表名;      查看表结构
  13. drop table 表名; 删除数据表
  14. (1) alter table 表名 drop 列名; 删除数据表

(2)alter table 表名 add 列名 类型 约束1 约束2 ...;  添加数据表

(3)alter table change 原列名 新列名 类型 约束1 约束2 ...;  修改数据表

15. primary key  主键,可以确定唯一的一行

16. not null  非空,不能为空

17. auto_increment  自增长,每次+1

18. unique  唯一,列中内容不重复

19. default  默认值

20. foreign  外键,与其他表关联 是其他表的左键

21. check  检查(mysql8才能用), alter table user add constraint check_age check(age > 0);

CURD 增删改查

  1. select * from 表名;非常耗时,谨慎使用
  2. select 列 , 列,... from 表;
  3. select 列 as 别名,列as 别名 from 表名;
  4. 条件: (1) 比较运算符: =  > >= < <= !=  <>

        (2) 逻辑运算符:and or  not

        (3) 判空:is null;  is not null

        (4) in[a,b,c]   精确比较

(5) between 1 and  5  范围比较

(6) like  像 like % 多个字符  like - 一个字符

5. 关联查询:表与表之间存在关联关系

(1) 嵌套查询:第一次查询的结果作为第二次查询的条件

(2) 表连接:

  • 笛卡尔链接:一个表中每一行都和另外一个表中所有行连接
  • 内连接:inner join  举例: select user.id as 用户id, user.username as  用户名, role.nick as 昵称, role.level as 等级 from user inner join role  on user.id = role.user_id;
  • 外连接:左外连接:left join,以左表为主,左表条件满足 正常显示 不满足 右侧补null。举例:select * from user left join role on user.id = role.user_id;
  • 外连接:右外连接:right join ,以右表为主,右表条件满足,正常显示,不满足补null。举例:select * from role right join user on user.id = role.user_id;
  • 全连接:full join   mysql不支持关键字 full join,left join   union  right join

举例: select * from user right join role on user.id = role.user_id union  select * from user left join role on user.id = role.user_id;

6.分组,分页,排序,去重

(1) distinct 去重,单独列展示 并对列去重。举例: select  distinct user_id from role;

(2) group by  分组, 一般会结合count (*)进行统计, select info as '组信息', count(*) as 个数 from role group by info;

(3) order by  排序,asc 升序desc 降序,select * from role order by user_id desc , id  desc  ;

(4) limit  一个数字n 表示前n个,两个数字表示start,count   比如 (1,3),每页显示count个 第n页公式 (n-1) * count,count

 

  1. insert into  表名 values (列1, 列2,列n),(列1, 列2, 列n);  列的个数要与值得个数一致
  2. insert into  表名  (列1, 列2) values (值1, 值2), (值1, 值2); (比较经常使用) 可以指定插入哪些列,有默认值和可以为空的列可以不插入,没有默认值且非空的列必须添值
  3. insert into   表名  set  列1=值1,列2=值2;  插入指定的一行的列与值

update 表名 set 列1 = 值1 where 条件;  如果没有条件就修改整个表

delete from 表名 where 条件;   如果没有条件就清空表、

用户指令

  1. create user qyc@% identified by 123456;  创建用户qyc,密码为123456
  2. grant 权限列举 to ‘qyc’@‘%’ on  数据名.表名   分配权限  all 代表所有权限  *.*代表数据库中所有表
  3. flush privileges;  刷新权限
  4. drop user  'qyc'@'%'; 删除用户
  5. alter user ‘qyc’@‘%’  identified by ‘12345678’;修改密码

外键

  1. 概念:MySQL中的外键(Foreign Key)是数据库表中的一个字段,它指向另一个表的主键(Primary Key)。外键用于在两个表之间建立链接,保证数据的参照完整性。
  2. constraint 外键名 foreign key列名)references表名()on update cascade on delete   cascade;    添加外键
  3. alter table 表名 drop foreign key 外键名;  删除外键

函数

  1. select database();  查看当前使用数据库
  2. select user();      查看当前用户
  3. select version();   查看当前版本
  4. select now();      查看现在时间,包括年、月、日、小时、分钟和秒
  5. select curdate();   查看当前日期
  6. select curtime();   查看当前时间,只包括小时、分钟和秒
  7. select unix_timestamp();   获取当前时间的时间戳

特殊数据类型

  1. int  整型
  2. varchar char   字符型
  3. datetime  default current_timestamp 在插入新记录时自动设置时间戳字段的值为当前的 日期和时间

  default current_timestamp on update current_timestamp  插入时或更新时把该列的值设置为当前的日期和时间

  1. enum  枚举  enum("男“,”女“, ”保密“)  default "保密"  默认保密

使用python操作mysql

  1. 导入模块   import pymysql
  2. 构建连接   con = pymysql.content(user=root,password=123456 datebase=python2407)
  3.  构建游标  cur = con.cursour()

通过游标执行sql       cur.excute(sql语句)  sql语句:select * from students;  insert into students valuaes %s, 小明

  1. cur.fetchall()   获取所有数据,返回元组
  2. cur.fetchone()  获取一个数据,返回元组
  3. cur.fetchmany(size=n)  获取n个数据,返回大元组,默认一个小元组
  4. cur.scroll(mode=relative)  移动游标 relative相对位置  负值倒退 正值前进

absolute  绝对位置  0是初始位置 一直到len-1 可以随意定位

  1. cur.close()       关闭游标
  2. con.close()      关闭连接

索引

  1. 索引类型:主键索引、唯一索引、普通索引
  2. 索引不是越多越好,数据修改概率比较小,适合建索引,反之不适合

事物

  1. 四大特性ACIP:

原子性:事务不可在分割,要么全部执行要不全部放弃

一致性:事务执行前后都要保持数据一致性

隔离性:多个事务相互不干扰

持续性:事务一旦提交永久更改

  1. 关键字:begin  开始事物

rollback  回滚事务(出现异常时)

commit  提交事务

  1. 隔离级别,隔离处理高并发情况
  2. 读未提交,读已提交,可重复度,串行化

sqlite文件数据库

概念:一个文件就是一个数据库,数据库下可以有表

mongodb基础指令 

  1. 特点:结构不是固定的,没有关系表
  2. ubuntu安装:网站   https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-ubuntu/
  1. 终端输入:cat /etc/lsb-release
  2. sudo apt-get install gnupg curl
  3. curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \

   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \   --dearmor

  1. echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
  2. sudo apt-get update
  3. sudo apt-get install -y mongodb-org
  4. echo "mongodb-org hold" | sudo dpkg --set-selections

echo "mongodb-org-database hold" | sudo dpkg --set-selections

echo "mongodb-org-server hold" | sudo dpkg --set-selections

echo "mongodb-mongosh hold" | sudo dpkg --set-selections

echo "mongodb-org-mongos hold" | sudo dpkg --set-selections

echo "mongodb-org-tools hold" | sudo dpkg --set-selections

  1. 启动服务:sudo systemctl start mongod
  2. 查看服务状态:sudo systemctl status mongod

pymongo:

  1. 导入模块  import pymongo
  2. 构建客户端  client = pymongo.MongoClient()
  3. db = client.create_database(python2407)  创建数据库
  4. db = client.get_database(python2407)    使用数据库,没有就创建
  5. db = client.drop_database(数据库名)   删除数据库
  6. db.list_database_names   列出所有的数据库名
  7. student = client.create_collection(student)   创建集合
  8. student = db.get_collection(student)     使用集合,没有就创建
  9. db.list_collection_names  列出所有集合名
  10. db.drop_collection(集合名) 删除集合

db = client.get_database(“python2407a”) 以下举例均在此数据库下

collection = db.get_collection(“student”)

  1. client.insert_one({name:101})  插入单个数据
  2. client.insert_many([{name:101},{name:张三}])  插入多个数据
  3. collection.delete_one({age:25})  删除第一个age=25的元素
  4. collection.delete_many({name:张三})  删除所有name=”张三”的数据
  5. collection.update_one({name:101},{$set:{name:1011,age:18}}, upsert=True)  更改第一个name=101的数据
  6. collection.update_many({name:张三},{$set:{name:张珊珊}},upsert=True)  更改所有name=张三的数据
  7. collection.find_one({name:张三})   查找第一个name=张三
  8. collection.find({name:张三})       查找全部name=张三
  9. 关闭连接  client.close()

 

redis基础指令 

  1. 内存数据库,内存键值对,操作内存中的数据效率要远远高于操作磁盘数据效率
  2. 启动服务:在Redis目录下输入cmd打开命令窗口,输入redis-server.exe redis.windows.conf,运行指定配置文件
  3. 启动客户端:上方打开的启动服务器不要关闭,重新打开一个cmd命令窗口,输入:redis-cli -h 192.168.13.20 -a 123456    -h是本机主机ip    -a是密码  进入后使用auth跟密码
  4. config get *    获取所有配置  
  5. config get requirepass  获取密码配置

以下是配置文件的个别内容

  1. config set loglevel warning  设置配置文件(临时配置,服务器重启会失效)
  2. dbfilename 数据库文件名    会不断的把内存中的数据与磁盘文件数据同步
  3. save   同步条件 save 900 1   如果在900s(15m)中至少改变了一个,执行保存

save 300 10 如果在300s(5m)中至少改变了十个,执行保存

save 60 10000 如果在60s(1m)中至少改变了一万个,执行保存

  1. requirepass    获取密码
  2. dir    获取文件
  3. bind   服务器绑定的ip
  4. slaveof <masterip> <masterport>   主从关系中 从的是哪个主机ip 端口
  5. masterauth <master-password>     主机密码
  6. 命令窗口输入  info replication   查看主从信息
  7. ubuntu  安装redis   终端输入 sudo apt install redis-server

redis五种数据类型

import redis

# 构建连接

client = redis.Redis(db=1)

# 关闭连接

client.close()

  1. 键的操作
  1. print(client.type("id"))   打印 id 的类型(假设已经存在)
  2. client.expire("id", 100)   设置id存活时间
  3. print(client.ttl("id"))     打印剩余存活时间
  4. client.persist("id")       设置为永久存在

  1. 字符串
  1. client.set("id",101)      创建字符串的键
  2. print(client.get("id").decode())   获取键
  3. client.mset({"name": "张三", "age": 23})  获取键的值
  4. print(client.mget(["name", "age"]))   获取键的多个值
  5. client.incr("id", amount=2)        id 自增,步长为2
  6. client.decr("id", amount=2)      id自减,步长为1(默认)

  1. 列表
  1. client.lpush("key_list", 1, 2, 3)    创建列表并向上添加(左)
  2. client.rpush("key_list", 0)     向下添加(右)
  3. print(client.llen("key_list"))       打印列表长度
  4. client.lpop("key_list")            删除上(左)
  5. client.rpop("key_list")            删除下(右)
  6. print(client.lindex("key_list",1))    返回索引对应的元素
  7. print(client.lrange("key_list",1,3))   返回索引范围内的元素
  8. print(client.ltrim("key_list",2,3))    切割

  1. 哈希
  1. client.hset("key_hash", "key2", "value2")  创建hash表,添加键值对
  2. print(client.hget("key_hash", "key2"))     获取表中键对应的值
  3. print(client.hlen("key_hash"))            获取长度
  4. client.hdel("key_hash", "key1")           删除对应的键值对
  5. print(client.hkeys("key_hash"))           获取所有的键
  6. print(client.hvals("key_hash"))          获取所有的值
  7. print(client.hgetall("key_hash"))         获取所有的键值对

  1. 集合
  1. client.sadd("key_set", 1, 2, 3, 4, 5)  

client.sadd("key_set2", 1, 3, 5, 7)      创建表并添加数据

  1. client.srem("key_set", 1,6)            删除对应的数据
  2. print(client.sismember("key_set","3"))  判断是否是成员
  3. print(client.scard("key_set"))          打印成员个数
  4. print(client.smembers("key_set"))      打印所有成员
  5. print(client.sinter(["key_set", "key_set2"]))  求两列表的交集
  6. print(client.sunion(["key_set", "key_set2"]))  求两列表的并集
  7. print(client.sdiff(["key_set", "key_set2"]))     求两列表的差集

  1. 有序集合
  1. client.zadd("key_zset", {"q": 5, "y": 2, "c": 6})   创建表并添加权重
  2. client.zrem("key_zset","q")            删除值和对应的权重
  3. print(client.zrange("key_zset", 1, 10))    查找范围内满足条件的权重
  4. print(client.zcount("key_zset",1,7))      查找范围内满足条件的权重的个数

print(client.zscore("key_zset","c"))       根据值查看权重

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

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

相关文章

Linux系统下的容器安全:深入解析与最佳实践

在云计算和微服务架构的推动下&#xff0c;容器技术因其高效、可移植和灵活的特点&#xff0c;已经成为现代软件开发和部署的首选方案。然而&#xff0c;容器的广泛应用也带来了新的安全挑战&#xff0c;尤其是在Linux系统下&#xff0c;容器安全的实现和维护变得尤为重要。本文…

Ruby跨平台移动应用开发的新篇章

标题&#xff1a;Ruby跨平台移动应用开发的新篇章 在移动应用开发领域&#xff0c;Ruby作为一种高效灵活的编程语言&#xff0c;通过一系列框架和工具&#xff0c;成功地拓展了其应用边界。本文将详细介绍Ruby在移动应用开发中的应用&#xff0c;特别是跨平台解决方案&#xf…

C++ 设计模式——单例模式

单例模式 C 设计模式——单例模式1. 单例模式的基本概念与实现2. 多线程环境中的问题3. 内存管理问题1. 内存泄漏风险2. 自动释放策略3. 垃圾回收机制4. 嵌套类与内存管理 4. UML 图UML 图解析 优缺点适用场景总结 C 设计模式——单例模式 单例模式&#xff08;Singleton Patt…

【Redis】渐进式遍历和数据库管理

渐进式遍历和数据库管理 渐进式遍历scan 数据库管理切换数据库清除数据库 渐进式遍历 Redis 使⽤ scan 命令进⾏渐进式遍历键&#xff0c;进⽽解决直接使⽤ keys 获取键时可能出现的阻塞问题。每次 scan 命令的时间复杂度是 O(1)&#xff0c;但是要完整地完成所有键的遍历&…

360发布FancyVideo:通过跨帧文本指导实现动态且一致的视频生成SOTA!

文章链接&#xff1a;https://arxiv.org/pdf/2408.08189 项目链接&#xff1a;https://360cvgroup.github.io/FancyVideo/ 亮点直击 本文介绍了FancyVideo&#xff0c;据众所知的首个探索T2V任务中跨帧文本指导的开创性尝试。该方法为增强当前的文本控制方法提供了新的视角。 …

EmguCV学习笔记 VB.Net 6.5 凸包和凸缺陷

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

git远程仓库关联切换迁移

上一篇有关git基础设置文章地址&#xff1a; https://blog.csdn.net/lareinax5/article/details/124271339 关于两个仓库迁移&#xff0c;使用&#xff1a; 一、本地仓库文件关联远程仓库 1.先进入你要上传的文件夹&#xff1a; cd /path/to/your/folder2.初始化仓库、查看…

组合的输出-深度优先搜索

组合的输出 https://www.luogu.com.cn/problem/P1157 #include<bits/stdc.h> using namespace std; int n,r; bool v[50]; int f[50]; //now 用哪个数填 l填第几个空 void dfs(int now,int pos){ if(posr1){//r个空填满 for(int i1;i<r;i){ printf(“%3d”,f[i]); } …

OpenCV c++ 实现图像马赛克效果

VS2022配置OpenCV环境 关于OpenCV在VS2022上配置的教程可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程 图像马赛克 图像马赛克&#xff08;Image Mosaic&#xff09;的原理基于将图像的特定区域替换为像素块&#xff0c;这些像素块可以是纯色或者平均色&#xff0c…

SpringMVC核心机制环境搭建

文章目录 1.SpringMVC执行流程1.基础流程图2.详细流程图 2.安装Tomcat1.下载2.解压到任意目录即可3.IDEA配置Tomcat1.配置Deloyment2.配置Server 3.创建maven项目1.创建sun-springmvc模块&#xff08;webapp&#xff09;2.查看是否被父模块管理3.pom.xml引入依赖4.目录5.SunDis…

【Redis】Redis数据结构——Hash 哈希

哈希 命令hsethgethexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloat命令小结 内部编码使用场景缓存⽅式对⽐ ⼏乎所有的主流编程语⾔都提供了哈希&#xff08;hash&#xff09;类型&#xff0c;它们的叫法可能是哈希、字典、关联数组、映射。在 Redis 中&#…

一拖二快充线市场需求 - LDR6020

一拖二快充线市场需求与LDR6020应用快充线市场推广 随着科技的飞速发展&#xff0c;智能设备已成为我们日常生活中不可或缺的一部分。从智能手机到平板电脑&#xff0c;再到笔记本电脑&#xff0c;这些设备极大地丰富了我们的生活方式&#xff0c;但同时也带来了一个普遍的问题…

C语言函数介绍(上)

函数概念库函数标准库和头文件库函数的使用方法头文件包含库函数文档的一般格式 自定义函数函数的语法形式函数例子 形参和实参实参形参实参和形参的关系 return 语句数组做函数参数 函数概念 数学中我们其实就见过函数的概念&#xff0c;比如&#xff1a;一次函数 ykxb &…

【HuggingFace Transformers】BertModel源码解析

BertModel源码解析 1. BertModel 介绍2. BertModel 源码逐行注释 1. BertModel 介绍 BertModel 是 transformers 库中的核心模型之一&#xff0c;它实现了 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;模型的架构。BERT 是基于 Trans…

Linux开发:通过readlink读取软连接指向的文件

Linux系统中经常会使用软连接指向其他目录或文件以快速方便的访问,那么如何读取软连接指向的位置呢,可以通过readlink函数: #include <unistd.h> ssize_t readlink(const char *pathname, char *buf, size_t bufsiz); 参数说明: pathname:软连接的路径 buf:…

UE5中制作箭头滑动转场

通过程序化的方式&#xff0c;可以制作一些特殊的转场效果&#xff0c;如箭头划过的转场&#xff1a; 1.制作思路 我们知道向量点积可以拿来做投影&#xff0c;因此可以把UV空间想象成向量坐标&#xff0c;绘制结果就是在某个向量上的投影&#xff1a; 绘制结果似乎是倾斜方…

学习前端面试知识(15)

防抖和节流怎么实现&#xff1f; 参考文章 彻底理清防抖和节流 防抖和节流都是用于控制函数执行频率的方法&#xff0c;防抖是在一定时间内只执行最后一次操作&#xff0c;节流是在一定时间内只执行一次操作&#xff0c;可以通过setTimeout和时间戳等方法实现。 防抖&#x…

去雾去雨算法

简单版 import cv2 import numpy as npdef dehaze(image):"""简单去雾算法&#xff0c;使用直方图均衡化来增强图像"""# 将图像转换为YUV颜色空间yuv_image cv2.cvtColor(image, cv2.COLOR_BGR2YUV)# 对Y通道&#xff08;亮度&#xff09;进行…

springsecurity 在web中如何获取用户信息(后端/前端)

一、SecurityContextHolder 是什么 SecurityContextHolder用来获取登录之后用户信息。Spring Security 会将登录用户数据保存在Session中。但是&#xff0c;为了使用方便,Spring Security在此基础上还做了一些改进&#xff0c;其中最主要的一个变化就是线程绑定。当用户登录成功…

4820道西医综合真题西医真题ACCESS\EXCEL数据库

本题库内容源自某出版物《西医综合真题考点还原与答案解析》&#xff0c;包含4千多道真题。这个数据库包含3个表&#xff0c;一个是分类表&#xff08;SECTION_BEAN&#xff09;&#xff0c;一个是题库主表&#xff08;QUESTION_INFO_BEAN&#xff09;&#xff0c;一个是选项表…