规划院网站建设书/北大青鸟职业技术学院简介
目录
1. Nginx作为web服务器处理请求
2. http协议复习
Get方式提交数据
Post方式提交数据
3. fastCGI
3.1 CGI
3.2 fastCGI
3.3 fastCGI和spawn-fcgi安装
1. 安装fastCGI
2. 安装spawn-fcgi
3.4 nginx && fastcgi
4其他知识点
1. fastCGI环境变量 - fastcgi.conf
2. 客户端使用Post提交数据常用方式
3. strtol 函数使用
4linux 搜狗输入法不能使用的的问题
问题
解决方法
5 共享库找不到的问题
1. Nginx作为web服务器处理请求
1. 静态请求
客户端访问服务器的静态网页, 不涉及任何数据的处理, 如下面的URL:
http://localhsot/login.html
# 使用 get 方式提交数据得到的 urlhttp: //localhost/login?user=zhang3&passwd=123456&age=12&sex=man- http: 协议- localhost: 域名- /login: 服务器端要处理的指令- ? : 连接符 , 后边的内容是客户端给服务器提交的数据- & : 分隔符动态的 url 如何找服务器端处理的指令 ?- 去掉协议- 去掉域名 /IP- 去掉端口- 去掉 ? 和它后边的内容
# 如果看到的是请求行 , 如何找处理指令 ?POST /upload/UploadAction HTTP/1.1GET /?username=tom&phone=123&email=hello%40qq.com&date=2018-01-01&sex=male&class=3&rule=on HTTP/1.11. 找请求行的第二部分- 如果是 post, 处理指令就是请求行的第二部分- 如果是 get, 处理指令就是请求行的第二部分 , ? 以前的内容
2. http协议复习
四部分 : 请求行 , 请求头 , 空行 , 请求数据请求行 : 说明请求类型 , 要访问的资源 , 以及使用的 http 版本请求头 : 说明服务器要使用的附加信息空行 : 空行是必须要有的 , 即使没有请求数据请求数据 : 也叫主体 , 可以添加任意的其他数据
Get方式提交数据
第一行 : 请求行第 2-9 行 : 请求头 ( 键值对 )第 10 行 : 空行get 方式提交数据 , 没有第四部分 , 提交的数据在请求行的第二部分 , 提交的数据会全部显示在地址栏中
GET /?username=tom&phone=123&email=hello%40qq.com&date=2018-01-01&sex=male&class=3&rule=on HTTP/1.1Host: 192.168.26.52:6789Connection: keep-aliveCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh,zh-CN;q=0.9,en;q=0.8
Post方式提交数据
第一行 : 请求行第 2 -12 行 : 请求头 ( 键值对 )第 13 行 : 空行第 14 行 : 提交的数据
POST / HTTP/1.1Host: 192.168.26.52:6789Connection: keep-aliveContent-Length: 84Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Origin: nullContent-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh,zh-CN;q=0.9,en;q=0.8username=tom&phone=123&email=hello%40qq.com&date=2018-01-01&sex=male&class=3&rule=on
四部分 : 状态行 , 消息报头 , 空行 , 响应正文状态行 : 包括 http 协议版本号 , 状态码 , 状态信息消息报头 : 说明客户端要使用的一些附加信息空行 : 空行是必须要有的响应正文 : 服务器返回给客户端的文本信息
第一行 : 状态行第 2 -11 行 : 响应头 ( 消息报头 )第 12 行 : 空行第 13-18 行 : 服务器给客户端回复的数据
HTTP/1.1 200 OkServer: micro_httpdDate: Fri, 18 Jul 2014 14:34:26 GMT/* 告诉浏览器发送的数据是什么类型 */Content-Type: text/plain; charset=iso-8859-1 ( 必选项 )/* 发送的数据的长度 */Content-Length: 32Location: urlContent-Language: zh-CNLast-Modified: Fri, 18 Jul 2014 08:36:36 GMTConnection: close#include <stdio.h>int main(void){printf("hello world!\n");return 0;}
3. http状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别 :1xx :指示信息 -- 表示请求已接收,继续处理2xx :成功 -- 表示请求已被成功接收、理解、接受3xx :重定向 -- 要完成请求必须进行更进一步的操作4xx :客户端错误 -- 请求有语法错误或请求无法实现5xx :服务器端错误 -- 服务器未能实现合法的请求
3. fastCGI
3.1 CGI
通用网关接口 ( C ommon G ateway I nterface/ CGI ) 描述了客户端和服务器程序之间传输数据的一种标准 ,可以 让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI 独立于任何语言的, CGI 程序可以用 任何 脚本语言 或者是完全独立 编程语言 实现,只要这个语言可以在这个系统上运行。
服务器可以解析出来数据,但是不能处理里面的数据的内容。
http://localhost/login?user=zhang3&passwd=123456&age=12&sex=man1. 用户通过浏览器访问服务器 , 发送了一个请求 , 请求的 url 如上2. 服务器接收数据 , 对接收的数据进行解析3. nginx 对于一些登录数据不知道如何处理 , nginx 将数据发送给了 cgi 程序。服务器端会创建一个cgi进程4. CGI 进程执行加载配置, 如果有需求加载配置文件获取数据连接其他服务器: 比如数据库,验证数据逻辑处理:得到结果, 将结果发送给服务器退出5. 服务器将 cgi 处理结果发送给客户端在服务器端 CGI 进程会被频繁的创建销毁服务器开销大, 效率低
CGI 链接其他服务器的过程。
3.2 fastCGI
快速通用网关接口(Fast Common Gateway Interface/ FastCGI )是 通用网关接口 (CGI)的改进,描述了客户端和服务器程序之间传输数据的一种标准。 FastCGI 致力于减少 Web 服务器 与 CGI 程式 之间互动的开销,从而使 服务器 可以同时处理更多的 Web 请求 。与为每个请求创建一个新的进程不同, FastCGI 使用持续的进程来处理一连串的请求。这些进程由FastCGI 进程管理器管理,而不是 web 服务器。
fastCGI与CGI的区别:
CGI 就是所谓的短生存期应用程序, FastCGI 就是所谓的长生存期应用程序。 FastCGI 像是一个常驻 (long-live) 型的CGI,它可以一直执行着,不会每次都要花费时间去 fork 一次
http://localhost/login?user=zhang3&passwd=123456&age=12&sex=man
1. 用户通过浏览器访问服务器 , 发送了一个请求 , 请求的 url 如上2. 服务器接收数据 , 对接收的数据进行解析3. nginx 对于一些登录数据不知道如何处理 , nginx 将数据发送给了 fastcgi 程序通过本地套接字网络通信的方式4. fastCGI 程序如何启动不是有web 服务器直接启动通过一个fastCGI 进程管理器启动5. fastcgi 启动加载配置 - 可选连接服务器 - 数据库循环服务器有请求 -> 处理将处理结果发送给服务器本地套接字网络通信没有请求 -> 阻塞6. 服务器将 fastCGI 的处理结果发送给客户端
3.3 fastCGI和spawn-fcgi安装
1. 安装fastCGI
./configuremake- fcgio.cpp:50:14: error: 'EOF' was not declared in this scope- 没有包含对应的头文件 :- stdio.h - c- cstdio - > c ++找到![]()
最开始地方包含头文件,就可以完成了。
make 之后已经生成了动态库了,但是在本地的隐藏文件下面,所以需要执行makefile 将这些文件库拷贝对应的库文件下面就可以了。
sudo make install ##将对应的动态库拷贝到对应的系统目录下面去。![]()
2. 安装spawn-fcgi
(fastcgi的进程管理器)
同上。
./configuremakesudo make install
3.4 nginx && fastcgi
nginx 不能像 apache 那样直接执行外部可执行程序,但 nginx 可以作为代理服务器,将请求转发给后端服务器,这也是nginx 的主要作用之一。其中 nginx 就支持 FastCGI 代理,接收客户端的请求,然后将请求转发给后端 fastcgi进程。下面介绍如何使用C/C++ 编写 cgi/fastcgi ,并部署到 nginx 中。通过前面的介绍知道,fastcgi 进程由 FastCGI 进程管理器管理,而不是 nginx 。这样就需要一个 FastCGI 管理,管理我们编写fastcgi 程序。我们使用 spawn-fcgi 作为 FastCGI 进程管理器。 spawn-fcgi是一个通用的 FastCGI 进程管理器,简单小巧,原先是属于 lighttpd 的一部分,后来由于使用比较广泛,所以就迁移出来作为独立项目了。spawn-fcgi 使用 pre-fork 模型, 功能主要是打开监听端口,绑定地址,然 后fork-and-exec 创建我们编写的 fastcgi 应用程序进程,退出完成工作 。 fastcgi 应用程序初始化,然后进入死循环侦听socket 的连接请求。
http://localhost/login?user=zhang3&passwd=123456&age=12&sex=man
1. 客户端访问 , 发送请求2. nginx web 服务器 , 无法处理用户提交的数据3. spawn-fcgi - 通信过程中的服务器角色被动接收数据在spawn-fcgi 启动的时候给其绑定 IP 和端口4. fastCGI 程序程序猿写的 -> login.c -> 可执行程序 ( login )使用 spawn-fcgi 进程管理器启动 login 程序 , 得到一进程
1. nginx的数据转发 - 需要修改nginx的配置文件 nginx.conf
通过请求的 url http ://localhost/ login?user = zhang3&passwd = 123456&age = 12&sex = man 转换为一个 指令 :- 去掉协议- 去掉域名 / IP + 端口- 如果尾部有文件名 去掉- 去掉 ? + 后边的字符串- 剩下的就是服务器要处理的指令 : / loginlocation / login{# 转发这个数据 , fastCGI 进程fastcgi_pass 地址信息 : 端口 ;#fastcgi_pass localhost:8888# fastcgi.conf 和 nginx.conf 在同一级目录 : /usr/local/nginx/conf# 这个文件中定义了一些 http 通信的时候用到环境变量 , nginx 赋值的include fastcgi.conf;}地址信息 :- localhost- 127.0.0. 1- 192.168.1. 100端口 : 找一个空闲的没有被占用的端口即可
2. spawn-fcgi如何启动
# 前提条件 : 程序猿的 fastCGI 程序已经编写完毕 -> 可执行文件 loginspawn-fcgi -a IP 地址 -p 端口 -f fastcgi 可执行程序- IP 地址 : 应该和 nginx 的 fastcgi_pass 配置项对应- nginx: localhost - > IP: 127 .0.0.1- nginx: 127 .0.0.1 - > IP: 127 .0.0.1- nginx: 192 .168.91.130 - > IP: 192 .168.91.130- 端口 :8888应该和 nginx 的 fastcgi_pass 中的端口一致
将标准输入和输出使用dup2()重定向到fastcgi 的读缓冲区和写缓冲区里面。
3. fastCGI程序怎么写
// http://localhost/login?user=zhang3&passwd=123456&age=12&sex=man// 要包含的头文件#include "fcgi_config.h" // 可选#include "fcgi_stdio.h" // 必须的 , 编译的时候找不到这个头文件 , find->path , gcc -I (指定头文件的路径即可)// 编写代码的流程int main (){// FCGI_Accept()是一个阻塞函数 , nginx 给 fastcgi 程序发送数据的时候解除阻塞,while ( FCGI_Accept () >= 0 ){// 1. 接收数据// 1.1 get方式提交数据 - 数据在请求行的第二部分//得到的结果是: user=zhang3&passwd=123456&age=12&sex=manchar * text = getenv ( "QUERY_STRING" );// 1.2 post方式提交数据 --char * contentLength = getenv ( "CONTENT_LENGTH" );//获取数据的长度。// 根据长度大小判断是否需要循环// 2. 按照业务流程进行处理(注册,登录,上传文件进行处理等等)
// 3. 将处理结果发送给 nginx// 数据回发的时候 , 需要告诉 nginx 处理结果的格式 - 假设是 html 格式//Content_type 需要指定。printf ( "Content-type: text/html\r\n" );//必须要加的。printf ( "<html> 处理结果 </html>" );}}
# 部署静态网页1. 制作出来 , 并且部署到对应的资源目录中2. 根据客户端的请求 , 在服务器端添加对应的 location 处理指令 - nginx. conf3. 重新加载 nginx . conf 配置文件客户端请求的 url : http ://xxxx.com/hello/login. html- 去掉协议 : http- 去掉域名 /IP:- 去掉端口- 去掉尾部的文件名
server {listen : 80; # 客户端访问反向代理服务器的时候使用的端口server_name : localhost; # 域名 , 客户端访问反向代理服务器时候 , 使用的地址# 配置如何转发 , 根据客户端的请求的 url 找到对应的转发指令location /{# 设置转发地址proxy_pass http ://test.com;}location / login{# 设置转发地址proxy_pass http ://test.com;}}# 设置代理upstream test. com{# web 服务器的地址信息server 192.168.1.100:80;server 192.168.1.101:80;}# 192.168.1.100 web 服务器http - > serverserver {location /{# 设置转发地址root xxx;}location / login{# 设置转发地址xxxx;}}# 192.168.1.101 web 服务器http - > serverserver {location /{# 设置转发地址root xxx;}location / login{# 设置转发地址xxxx;}}
4其他知识点
1. fastCGI环境变量 - fastcgi.conf
2. 客户端使用Post提交数据常用方式
Http 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。 开发者完全可以自己决定消息主体的格式数据发送出去,还要服务端解析成功才有意义, 服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。
常用的四种方式
application/x-www-form-urlencoded
# 请求行POST http: //www.example.com HTTP/1.1# 请求头Content-Type: application/x-www-form-urlencoded;charset=utf-8# 空行# 请求数据 ( 向服务器提交的数据 )title=test&user=kevin&passwd=32222
application/json
POST / HTTP/1.1Content-Type: application/json;charset=utf-8{"title": "test","sub":[1,2,3]}
text/xml
POST / HTTP/1.1Content-Type: text/xml<?xml version="1.0" encoding="utf8"?><methodcall><methodname color="red">examples.getStateName</methodname><params><value><i4>41</i4></value></params></methodcall><font color="red">nihao, shijie</font>
multipart/form-data
POST / HTTP/1.1Content-Type: multipart/form-data# 发送的数据------WebKitFormBoundaryPpL3BfPQ4cHShsBz \r\nContent-Disposition: form-data; name="file"; filename="qw.png"Content-Type: image/png\r\n; md5="xxxxxxxxxx"\r\n............. 文件内容 ............................. 文件内容 ................------WebKitFormBoundaryPpL3BfPQ4cHShsBz--Content-Disposition: form-data; name="file"; filename="qw.png"Content-Type: image/png\r\n; md5="xxxxxxxxxx"\r\n............. 文件内容 ............................. 文件内容 ................------WebKitFormBoundaryPpL3BfPQ4cHShsBz--
3. strtol 函数使用
// 将数字类型的字符串 -> 整形数long int strtol ( const char * nptr , char ** endptr , int base );- 参数 nptr : 要转换的字符串 - 数字类型的字符串 : "123" , "0x12" , "0776"//0 开头是8进制,其余是16进制。- 参数 endptr : 测试时候使用 , 一般指定为 NULL- 参数 base : 进制的指定- 10 , nptr = "123456" , 如果是 "0x12" 就会出错- 8 , nptr = "0345"- 16 , nptr = "0x1ff"char* p = "123abc" ;char* pt = NULL ;strtol ( p , & pt , 10 );- 打印 pt 的值 : "abc"//fread(buf,1,stdin);
http://tool.oschina.net/
4linux 搜狗输入法不能使用的的问题
问题
(1)Ubuntu下,搜狗拼音输入法能启动(系统托盘处有图标),但是打不出汉字,打字时选框不正常。
或者
(2)Deepin下,搜狗输入法无法启动,托盘处不显示图标,fcitx运行正常(这个可以通过命令行启动fcitx来验证)。解决方法
删除搜狗拼音输入法的配置文件,并重启输入法。
执行如下指令cd ~/.config find . -name sogou* find . -name Sogou*
将两次搜索到的配置文件删除即可。
如果是单独文件,使用rm [文件名]
指令,如果是目录,使用rm -R [目录名]
指令。备注:
重启fcitx几次,有可能恢复(只能说有可能)。如果不愿意删除配置文件,可以重启fcitx几次试试。fcitx restart &
或者在系统托盘的fcitx菜单中点击“重新启动(restart)”。
5 共享库找不到的问题
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.
另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.
所以安装共享库后要注意共享库路径设置问题, 如下:
1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.
2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.
LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.
ldd命令可查看执行文件所引用到的动态库情况
相关文章:

C++ 网络编程项目fastDFS分布式文件系统(四)-fastCGI项目相关技术以及linux搜狗输入法相关问题。
目录 1. Nginx作为web服务器处理请求 2. http协议复习 Get方式提交数据 Post方式提交数据 3. fastCGI 3.1 CGI 3.2 fastCGI 3.3 fastCGI和spawn-fcgi安装 1. 安装fastCGI 2. 安装spawn-fcgi 3.4 nginx && fastcgi 4其他知识点 1. fastCGI环境变量 - fas…...

【HarmonyOS】服务卡片 API6 JSUI跳转不同页面
【引言】 “JS卡片支持为组件设置action,包括router事件和message事件,其中router事件用于应用跳。若设置router事件,则action属性值为"router";abilityName为卡片提供方应用的跳转目标Ability名;params中的…...

【linux】debian10安装vim
debian10.0上用apt vim安装vim提示依赖的版本冲突。后来发现是软件源没有添加更新源buster-updates。 以下是问答。 问:debian10怎么安装vim? 答: 在 Debian 10 系统上安装 Vim 的方法很简单,主要有以下两种: 1. 使用 apt 命令安装 bash sudo apt u…...

文件同步工具rsync
文章目录 作用特性安装命令服务端启动增加安全认证及免密登录 实时推送源服务器配置结合inotify实现实时推送 参数详解 学些过程中遇到的问题 作用 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或…...

【嵌入式开发 Linux 常用命令系列 12 -- linux 下 log 输出重定向 详细介绍 】
文章目录 Linux 输出重定向使用背景Linux 重定向使用介绍 上篇文章:嵌入式开发 Linux 常用命令系列 11 – linux 下 任务与CPU绑定命令 taskset 详细介绍 Linux 输出重定向使用背景 在Linux中,输入和输出重定向是非常常见的操作,它们可以用…...

gin中关于参数注入问题
关于参数注入的问题 如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是post请求、 前端—post—json{id:1,pageSize:10,page:1}———————————- 参数注入方法:ShouldBindJSON p…...

记录首次面试2023-08-18
人生第一次面试,大概一个小时左右。没有问我C的,上来一个数据库事务,虽然没有复习,但是还是能够记住一些,主要问的一些事务的隔离级别,以及都有什么作用,我是举例回答的,客户端A和客…...

【Apollo学习笔记】——规划模块TASK之LANE_CHANGE_DECIDER
文章目录 前言LANE_CHANGE_DECIDER功能简介LANE_CHANGE_DECIDER相关配置LANE_CHANGE_DECIDER总体流程LANE_CHANGE_DECIDER相关子函数PrioritizeChangeLaneUpdateStatusIsClearToChangeLaneHysteresisFilter 参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实…...

rabbitmq的死信队列
目录 成为死信的条件 消息TTL过期 队列达到最大长度 消息被拒 延迟队列 延迟队列使用场景 消息设置 TTL 队列设置 TTL 两者区别 producer 将消息投递到 broker 或者直接到 queue 里了, consumer 从 queue 取出消息 进行消费,但某些时候由…...

利用网络对拷工具进行系统安装与恢复
各学校计算机机房经常批量安装操作系统和应用软件。实现对批量计算机的安 装,应用较多的是使用 Symantec 的 ghost 企业版。但笔者采用的是网络还原精灵 (Net Recovery Genius)软件附带的网络对拷 Ncp.com 工具,利用它能够轻松实…...

opencv-python使用鼠标点击图片显示该点坐标和像素值IPM逆透视变换车道线二值化处理
OpenCV的鼠标操作 实现获取像素点的功能主要基于OpenCV的内置函数cv2.setMouseCallback(),即鼠标事件回调 setMouseCallback(winname, onMouse,userdata0) winname: 接收鼠标事件的窗口名称 onMouse: 处理鼠标事件的回调函数指针 userdata: 传给回调函数的用户数据…...

AIGC绘画:kaggle部署stable diffusion项目绘画
文章目录 kaggle介绍项目部署edit my copy链接显示 结果展示 kaggle介绍 Kaggle成立于2010年,是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲,可以提供一些数据,进而提出一个实际需要解决的问题;从参赛者的角度来讲&…...

微服务概述-7
Shiro 框架 Shiro 是一个用于 Java 应用程序的安全框架。它提供了身份验证、授权、加密和会话管理等功能,可以帮助开发人员构建安全可靠的应用程序。 Java 中针对权限管理常见的有 2 个著名的框架:spring security 和 shiro shiro 基本概念 credentia…...

十二、Linux如何修改文件/文件夹所属用户or用户组?chown命令
目录 1、基础语法 2、修改目标用户: 3、修改用户组: 4、使用-R命令,并同时修改用户/用户组 1、基础语法 chown [-R] [目标用户][:][目标用户组] 被修改文件/文件夹 (1)选项-R:同chmod,对文…...

企业百家号蓝V认证后,百度营销基木鱼落地页如何嵌入百家号中
首先搭建百度营销基木鱼落地页 在我们的百度营销后台,点击基木鱼跳转至百度营销基木鱼页面,在我的站点位置,可以创建H5站点,PC站点等,创建完成后可以点击复制基木鱼落地页的链接。 注意事项 1、企业百家号需要进行…...

Redis缓存读写策略(三种)数据结构(5+3)
Redis缓存读写策略(三种) Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。 写: 先更新 db然后直接删除 cache 。 读 : …...

计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv
1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…...

使用python向窗口发送鼠标点击命令
今天遇到一个问题。公司让用电脑在网页上看个视频。网页有个判断:一段时间没有鼠标活动,视频就会暂停。于是就想,能否隔一段时间就模拟鼠标点击一下视频暂停,再点一下继续播放。省得它自己停止播放。这样我就可以让网页窗口在后台…...

C++11并发与多线程笔记(6) unique_lock(类模板)
C11并发与多线程笔记(6) unique_lock(类模板) 1、unique_lock取代lock_guard2、unique_lock的第二个参数2.1 std::adopt_lock:2.2 std::try_to_lock:2.3 std::defer_lock: 3、unique_lock的成员…...

计算机网络——OSI与TCP/IP各层的结构与功能,都有哪些协议?
文章目录 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下 二 ⭐TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手⭐2.3 第2次握手传回了ACK,为什么还要传回SYN&…...

Win7 x86 家庭版SP1 配置 Python 开发环境
1 Win7 下载地址 来源于 MSDN, 我告诉你 - 做一个安静的工具站 ed2k://|file|cn_windows_7_home_basic_with_sp1_x86_dvd_u_676500.iso|2653276160|843E7A78F2126FAC726CF5342710082D|/ 2 Python 版本选择 Python 3.7.9 Python Release Python 3.7.9 | Python.org 3 Pychar…...

从零玩转系列之微信支付实战PC端装修我的订单页面 | 技术创作特训营第一期
一、前言 欢迎来到本期的博客!本篇文章是 PC 端的结尾了,前面经历过九个章节到本章节刚刚好十章节感谢观看我的文章,那么接下来我们将要编写的是我的订单页面. GGBOM! 本篇完毕后将是 UniApp 的篇章感受移动端的诱惑 💗 本次为前端知识点如果不懂前段可以…...

ChatGPT和Claude的能力全测评
创造性思维/语言 提示:“写一首 4 行诗,每行只有 3 个词,描写重庆” ChatGPT写诗👇 Claude写诗👇 仁者见仁,您怎么看谁更强? 提示: "如果你随机选择这个问题的答案,…...

ffmpeg简介
1.什么是ffmpeg ffmpeg即使一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。 ffmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议…...

AI绘画 stable diffusion Midjourney 官方GPT文档 AIGC百科全书资料收集
教学AI绘画 AIGC工具 SD教程 ###Redis面试题 单机Redis的qps大概是多少? 项目中用到了哪些Redis的数据类型?为什么这么用? Redis的key到了过期时间就被删除了吗?简述下Redis的过期策略? Redis有哪几种内存淘汰策略…...

Lombok注解大全
一、安装插件,eclipse 对于 lombok 的支持 二、引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version> <!-- Spring Boot 项目此部分可以不写 --&g…...

STM32--ADC模数转换
文章目录 ADC简介逐次逼近型ADCADC框图转换模式数据对齐转换时间校准ADC基本结构ADC单通道工程代码: ADC简介 STM32的ADC(Analog-Digital Converter)模拟-数字转换器,是一种逐次逼近型模拟数字转换器,可以将引脚上连续…...

陕西科技大学改考408!附考情分析
改考信息 8月14日,陕西科技大学公布了2024年硕士研究生招生目录(初稿),其中不难发现083500软件工程初试专业课由819数据结构改为408计算机学科专业基础 图片:陕西科技大学24专业目录-软件工程学硕 https://yjszs.sus…...

02.有监督算法——朴素贝叶斯
1.朴素贝叶斯 1.1条件概率 如果两个事件A和B不是相互独立,并且知道事件B已经发生,A在B中的条件概率: P ( A ∣ B ) P ( A B ) P ( B ) P(A|B) {P(AB) \over P(B)} P(A∣B)P(B)P(AB) 先验概率: 根据以往经验和分析得到的概…...

前端新手学习路线
文章目录 前端学习路线!特点符号表大纲前言 - 学编程需要的特质一、前端入门⭐️ 开发工具浏览器编辑器文档笔记 ⭐️ HTML⭐️ CSS⭐️ JavaScript✅ ES6 特性 二、巩固基础前端基础知识计算机基础✅ 算法和数据结构✅ 计算机网络✅ 操作系统 软件开发基础✅ 设计模…...