Other

20212211彭派 Python技能树及CSDN MarkDown编辑器测评

课程:《Python程序设计》 班级:2122 姓名:彭派 学号:20212211 实验教师:王志强 实验日期:2022年4月18日 必修/选修:公选课 在CSDN上发表博客的链接如下: https://blog.csdn.net/p18326071019/article/details/124108600

JavaScript 数学 (Math) 方法

一、Math 方法 1、Math.round(x) 的返回值是 x 四舍五入为最接近的整数: Math.round(7.8); // 返回 8 Math.round(3.3); // 返回 3  2、Math.random() 返回介于 0(包括) 与 1(不包括) 之间的随机数: Math.random() //返回随机整数  3、Math.pow(x, y) 的返回值是 x 的 y 次幂: Math.pow(4, 2); // 返回 16  4、Math.sqrt(x) 返回 x 的平方根: Math.sqrt(64); // 返回 8  5、Math.ceil(x) 的返回值是 x 上舍入最接近的整数: Math.ceil(6.4); // 返回 7  6、Math.floor(x) 的返回值是 x 下舍入最接近的整数: Math.floor(2.7); // 返回 2  7、Math.abs(x) 返回 x 的绝对(正)值: Math.abs(-4.7); // 返回 4.

ubuntu下通过samba实现局域网文件共享

1. 安装samba服务组件 sudo apt install samba 2. 创建新用户或使用当前用户 若想创建新用户只给samba使用,使用useradd命令创建一个三无用户即可(无密码、无主目录、没有指定shell版本,需通过后继命令设定)。 也可以使用当前用户。 3. 为用户设置密码 sudo smbpasswd -a user 4. 修改配置文件 smb.conf sudo vim /etc/samba/smb.conf 在配置文件最后添加下面内容: [myshare] comment = myshare browseable = yes path = /home/user create mask = 0777 directory mask = 0777 valid users = user public = no available = yes writeable = yes 参数解释: [myshare] //定义共享的显示名称,可根据自己需要修改 comment = myshare //共享的注释说明,可根据自己需要修改 browseable = yes //让用户能看到共享 path = /var/sambafiles //定义共享资源的目录路径,这里指向前面所建的sambafiles目录 create mask = 0777 //指定新建文件的权限 directory mask = 0777 //指定新建目录的权限 valid users = smbuser //设定允许访问此共享资源的用户或组,这里指定给smbuser这个用户 public = no //指定该共享不允许guest账户访问 available = yes //指定该共享资源可用 writeable = yes //允许客户对共享有写操作的权限

嵌入式开发之linux---web 服务器Nginx 详解

1,nginx的下载 http://nginx.org/en/download.html  选择第二个稳定版下载即可,下载好后解压得到如下目录  其中最主要的配置文件nginx.conf在conf文件夹中 简单介绍下几个nginx命令 start nginx 启动nginxnginx -s reload :修改配置后重新加载生效nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确 关闭nginx:nginx -s stop :快速停止nginx quit :完整有序的停止nginx  启动nginx,配置nginx.conf配置文件  本文采用自定义conf配置文件然后用命令include内嵌到nginx.conf的方式 自定义配置文件名字是fapiao.conf 以下为配置内容 #实际的服务器列表,负载均衡,默认采用轮询,可添加多个serverupstream fapiao{undefined #负载均衡分发策略默认为轮询,策略比较多不一一介绍,只介绍ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session共享的问题(直接用以下方式添加分发策略即可) ip_hash; server 127.0.0.1:8080; #负载均衡可直接在下方加ip:端口号,如下 #server 192.168.1.116:8182;} server{undefined #监听端口 listen 80; #监听域名 server_name fp.zzfapiao.com; #首页 index index.html #编码格式 charset utf-8; #静态文件配置(以.

SQLSERVER varchar(MAX) 字段的使用注意

 在使用UniDAC控件连接SQLSERVER数据库时,如果遇到的字段是varchar(MAX)或者nvarchar(MAX)时,代码写的时候不能写成ParamByName('fieldname').AsString :=xxx;而要写成:ParamByName('fieldname').AsMemo :=xxx;用AsString的方式写入的,字段内容被截断了。   用两种方式写入的数据,可以看到,AsString写入的数据被截断到8000以下。  

sql扫描

select(select count(*) from city)-count(*) from city where id<=5;这样的语句不用全表扫描,提高了效率,这条语句扫描了6次 小括号中的查询语句没有进行全表扫描,sql知道有多少行数, count(*) from city where id<=5 sql语句中的这一部分语句查询了5行数据 select * from city where id>5;扫描了95次 select count(*) from city;速度更快,但是加了where就不一样了#建表create table if not exists cnt(id int,name varchar(10),age int,tel varchar(10));#创建存储过程,循环插入100000条数据delimiter $create procedure cnt()begindeclare i int default 0;定义一个循环变量while(i<100000) do begin select i; 查询变量i i不区分大小写,sql关键字也不区分大小写 set i=i+1; insert into cnt(id,name)values(i,zhang); end;end while;end $delimiter;call cnt(); 调用存储过程create index index_age on cnt(age);select * from cnt where age>18;效率高select * from cnt where age*2>36;效率低delete from cnt;要使用这条语句删除所有数据,因为100000条数据有好几页,手动删除比较麻烦select *,concat('%',';','%') from user2 where uname like concat('%',uname,'%');#concat()用来连接一个或多个字符串,第一个字符串%连接第二个字符串uname和第三个字符串%select count(*) from emp where age in(select age from emp where id>100);较快select count(*) from emp where exists(select age from emp where id>100);较慢select * from emp where age in(100,150,200);in查询不连续的范围,不能使用索引  #distinct去重:如果除了name列外其他列数据不同,SELECT DISTINCT *就显示所有数据,而SELECT DISTINCT name只显示一条数据

gdb调试多进程

1. set follow-fork-mode [parent|child] gdb 默认设置是 parent,可用使用show follow-fork-mode 来查询当前fork模式。 如果想要调试子进程,进入gdb后设置 set follow-fork-mode child 然后再设置子进程里的断点,就可以调试停到子进程。 使用follow-fork-mode,只能调试一个进程,不能同时调试父子进程 2. set detach-on-fork [on|off] on: 只调试父进程或子进程的其中一个(根据follow-fork-mode来决定),这是默认的模式。 off: 父、子进程都在gdb的控制之下,其中一个进程正常调试(根据follow-fork-mode来决定),另一个进程会被设置为暂停状态。 如果设置了set detach-on-fork off且follow-fork-mode为parent,fork后子进程并不运行,而是处于暂停状态。 follow-fork-mod 意义:代表当前gdb跟随着哪个进程在调试 注意:follow-fork-mod默认情况下跟随着主进程调试(parent) 查看当前gdb跟随着哪个进程在调试: show follow-fork-mode 设置gdb跟随哪个进程调试 set follow-fork-mode parent //设置gdb跟随主进程调试(默认) set follow-fork-mode child //设置gdb跟随着子进程调试 detach-on-fork 意义:当前gdb调试多进程的规则查看gdb调试多进程时的规则: 如果结果显示on:代表调试一个进程,其他进程自动运行如果结果显示off:代表调试一个进程,其他进程阻塞(处于等待状态) show detach-on-fork 设置detach-on-fork: set detach-on-fork off set detach-on-fork on //默认的 follow-fork-mod与detach-on-fork的组合 只调试主进程,子进程自动运行 set follow-fork-mod parent set detach-on-fork on 只调试子线程,主线程自动运行 set follow-fork-mod child set detach-on-fork on 同时调试两个进程,gdb跟随着父进程,子进程处于等待状态,在fork处 set follow-fork-mod parent set detach-on-fork off 同时调试两个进程,gdb跟随着子进程,父进程处于等待状态,在fork处 set follow-fork-mod child set detach-on-fork off

crowdstrike 内存型无文件攻击 都是属于主动防御范畴

prevention settings里有: Force ASLR Mitigation:An address space layout randomization(ASLR) bypass attempt was detected and blocked. This may have been part of an attempted exploit.  Heap preallocation mitigation:A heap spray attempt was detetected and blocked. This may have been part of an attempted exploit.  Force DEP mitigation: A process tha had Force Data Execution Prevention(Force DEP) applied tyied to execute non-executable memory and was blocked.

程序、进程、线程

程序:用某种语言编写指令的集合(代码)。(程序是静态的)---------------程序   进程:是程序的一次执行过程,(程序是动态的)---------------运行程序   线程:是进程的执行路径---------------同时执行程序的多个功能  

Linux根目录下各文件目录的作用

bin 用户二进制可执行文件 boot 系统启动引导文件 dev[device] 系统中使用的外部设备,但不是放的外部设备的驱动。一个访问这些外部设备端口 如:/dev/cdrom 可以看见光驱中的文件 etc 整个系统配置文件 相当于C:\windwos\System32\drivers,用来存放相关的配置文件 如:k8s守护进程用于保存集群的资源配置等重要数据 home 普通用户的家目录上一级/用户目录均在home目录下 lib[libiary] 存放共享库和内核模块 相当于windows的dll lib64 存放共享库和内核模块 64位 media 临时挂载的额外装置,且可移除的装置 mnt 和media功能相同 opt[optional] 用于安装第三方软件的地方 proc[process] 系统进程、一个虚拟的文件系统,当系统关闭后会自动删除 root root用户家目录 run 运行临时文件 sbin 系统二进制可执行文件,主要用于系统管理 srv 服务启动后,所需要访问的数据目录 sys[system] 系统文件 tmp 系统缓存文件和windows temp差不多,一些临时文件 usr 操作系统软件资源 var 系统经常产生变化的文件