Nginx实现接口复制

1、前言

项目中,通常会遇到一个中转服务需要往多个不同的系统推送同一份数据,传统做法是需要在Java代码侧中调用多个API接口进行发送。其实Nginx作为一个请求代理转发中间件必然具备类似的功能,常见就有mirror指令进行流的镜像复制。

2、接口流复制

2.1、方式一:使用mirror指令

注意:要使用nginx的mirror指令,需要nginx安装ngx_http_mirror_module模块。可以通过nginx -V命令查看。nginx 1.13.4及后续版本已经内置了ngx_http_mirror_module模块,之前的版本需要手动编译安装。

示例场景:

  • 发送一个主请求,端口8080;
  • nginx同时转发到8081服务和8082服务;
  • 8081和8082各自access log都有访问记录,且状态正常。

开撸,我这里准备的nginx版本为1.20.1。

2.1.1、nginx配置
server { listen 8080; index index.php index.html; server_name localhost; location / { mirror /mirror; proxy_pass http://localhostServer; } location = /mirror { internal; proxy_pass http://mirrorServer$request_uri; } } upstream localhostServer { server localhost:8081; } upstream mirrorServer { server localhost:8082; } server { listen 8081; server_name localhost; access_log /var/log/nginx/8081-access.log; root html/local; } server { listen 8082; server_name localhost; access_log /var/log/nginx/8082-access.log; root html/mirror; }

接着在nginx的html目录下,创建local目录和mirror目录,并创建文件test.html。test.html内容随便填写:

mkdir -p local mirror touch test.html echo "local.test---> test.html" >> test.html echo "mirror.test---> test.html" >> test.html
2.1.2、配置说明
  1. 主请求:/ 会将请求转发到 localhostServer。
  2. 镜像请求:配置了 mirror 指令,将请求同时复制一份转发到 /mirror。/mirror 使用了 internal,防止客户端直接访问。
  3. 镜像服务:/mirror 会将请求转发到 mirrorServer。
2.1.3、测试结果

由于8081和8082服务都配置了access log,因此当我们访问http://localhost:8080时,预期的结果是访问请求能得到正常的回显,并且8081和8082服务的access log都有相应的访问日志。

8081-access.log:

8082-access.log:

这样就完成了nginx实现接口复制的功能。Nginx 实现接口复制的需求通常用于在接收到请求后,将请求数据转发到多个后端服务器(例如用于日志记录、监控或者负载分摊)。

2.1.4、注意事项
  • 镜像请求是非阻塞的,Nginx 不会等待镜像请求的响应。
  • 镜像功能仅支持 HTTP 请求,不支持 WebSocket 或其他非 HTTP 协议。

2.2、方式二:使用Lua

Nginx支持Lua脚本有2种方式:

  • 手动编译nginx,加入ngx_http_lua_module模块;
  • 安装openresty,使用该组件的Nginx;

OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

2.2.1、安装Openresty

下载最新版本的openresty,OpenResty - 下载。这里下载的是1.27.1.1版本。

这里下的是源码包,需要重新编译。

注:这里直接编译会使用QAT硬件加速,你需要手动安装QAT_Engine依赖。

这里直接禁用硬件加速,编译时排除qat:

./configure --without-http_qat_module # 安装 make sudo make install # 这里还需要安装resty.http模块 /usr/local/openresty/bin/opm get ledgetech/lua-resty-http

安装完成后,启动openresty的nginx:

/usr/local/openresty/nginx/sbin/nginx
2.2.2、nginx配置
server { listen 8090; location / { content_by_lua_block { local http = require "resty.http" local res = ngx.location.capture("/localServer") local httpc = http.new() httpc:set_timeout(2000) local ok, err = httpc:request_uri("http://127.0.0.1:8092/test.html", { method = ngx.var.request_method, body = ngx.var.request_body, headers = ngx.req.get_headers(), follow_redirects = true, }) if not ok then ngx.log(ngx.ERR, "Mirror request failed: ", err) end ngx.say(res.body) } } location /localServer { proxy_pass http://127.0.0.1:8091; } } server { listen 8091; server_name 127.0.0.1; access_log /usr/local/openresty/nginx/logs/8091-access.log; root html/local; } server { listen 8092; server_name 127.0.0.1; access_log /usr/local/openresty/nginx/logs/8092-access.log; root html/mirror; }
2.2.3、配置说明
  1. 主请求:/ 会先处理主服务的请求,通过 ngx.location.capture 调用 /localServer。
  2. 镜像请求:使用 Lua 的 resty.http 库,手动发起 HTTP 请求将数据复制到镜像服务器。
  3. 返回响应:将主请求的结果返回给客户端。
2.2.4、测试结果

直接访问请求:curl http://localhost:8090/test.html

8901-access.log:

8902-access.log:

3、小结

  • 实时请求复制:推荐使用 ngx_http_mirror_module,简单易用。
  • 高级控制:如果需要复杂逻辑,使用 ngx_http_lua_module 配合 Lua 脚本。
  • 离线分析:通过日志记录请求数据,然后离线处理。

m.0e4c4.pro/Blog/400064.shtm
m.0e4c4.pro/Blog/282622.shtm
m.0e4c4.pro/Blog/248006.shtm
m.0e4c4.pro/Blog/006008.shtm
m.0e4c4.pro/Blog/686808.shtm
m.0e4c4.pro/Blog/406268.shtm
m.0e4c4.pro/Blog/717777.shtm
m.0e4c4.pro/Blog/662466.shtm
m.0e4c4.pro/Blog/622848.shtm
m.0e4c4.pro/Blog/806000.shtm
m.0e4c4.pro/Blog/628280.shtm
m.0e4c4.pro/Blog/068848.shtm
m.0e4c4.pro/Blog/000280.shtm
m.0e4c4.pro/Blog/822444.shtm
m.0e4c4.pro/Blog/086624.shtm
m.0e4c4.pro/Blog/066626.shtm
m.0e4c4.pro/Blog/862082.shtm
m.0e4c4.pro/Blog/066664.shtm
m.0e4c4.pro/Blog/000688.shtm
m.0e4c4.pro/Blog/286008.shtm
m.0e4c4.pro/Blog/600688.shtm
m.0e4c4.pro/Blog/602660.shtm
m.0e4c4.pro/Blog/680828.shtm
m.0e4c4.pro/Blog/806640.shtm
m.0e4c4.pro/Blog/628888.shtm
m.0e4c4.pro/Blog/624668.shtm
m.0e4c4.pro/Blog/119791.shtm
m.0e4c4.pro/Blog/919151.shtm
m.0e4c4.pro/Blog/004640.shtm
m.0e4c4.pro/Blog/268402.shtm
m.0e4c4.pro/Blog/513919.shtm
m.0e4c4.pro/Blog/602860.shtm
m.0e4c4.pro/Blog/066280.shtm
m.0e4c4.pro/Blog/242048.shtm
m.0e4c4.pro/Blog/264028.shtm
m.0e4c4.pro/Blog/046486.shtm
m.0e4c4.pro/Blog/400600.shtm
m.0e4c4.pro/Blog/646008.shtm
m.0e4c4.pro/Blog/197913.shtm
m.0e4c4.pro/Blog/884486.shtm
m.0e4c4.pro/Blog/006688.shtm
m.0e4c4.pro/Blog/806028.shtm
m.0e4c4.pro/Blog/484848.shtm
m.0e4c4.pro/Blog/797533.shtm
m.0e4c4.pro/Blog/068268.shtm
m.0e4c4.pro/Blog/644828.shtm
m.0e4c4.pro/Blog/286264.shtm
m.0e4c4.pro/Blog/822200.shtm
m.0e4c4.pro/Blog/644402.shtm
m.0e4c4.pro/Blog/731731.shtm
m.0e4c4.pro/Blog/759137.shtm
m.0e4c4.pro/Blog/088660.shtm
m.0e4c4.pro/Blog/404242.shtm
m.0e4c4.pro/Blog/731953.shtm
m.0e4c4.pro/Blog/999997.shtm
m.0e4c4.pro/Blog/628202.shtm
m.0e4c4.pro/Blog/286808.shtm
m.0e4c4.pro/Blog/135997.shtm
m.0e4c4.pro/Blog/000644.shtm
m.0e4c4.pro/Blog/820288.shtm
m.0e4c4.pro/Blog/240668.shtm
m.0e4c4.pro/Blog/280444.shtm
m.0e4c4.pro/Blog/880264.shtm
m.0e4c4.pro/Blog/480682.shtm
m.0e4c4.pro/Blog/008422.shtm
m.0e4c4.pro/Blog/888284.shtm
m.0e4c4.pro/Blog/840686.shtm
m.0e4c4.pro/Blog/468244.shtm
m.0e4c4.pro/Blog/480682.shtm
m.0e4c4.pro/Blog/266488.shtm
m.0e4c4.pro/Blog/086246.shtm
m.0e4c4.pro/Blog/260602.shtm
m.0e4c4.pro/Blog/444404.shtm
m.0e4c4.pro/Blog/482600.shtm
m.0e4c4.pro/Blog/462820.shtm
m.0e4c4.pro/Blog/622688.shtm
m.0e4c4.pro/Blog/620888.shtm
m.0e4c4.pro/Blog/464026.shtm
m.0e4c4.pro/Blog/888688.shtm
m.0e4c4.pro/Blog/224686.shtm
m.0e4c4.pro/Blog/448200.shtm
m.0e4c4.pro/Blog/062482.shtm
m.0e4c4.pro/Blog/517117.shtm
m.0e4c4.pro/Blog/806288.shtm
m.0e4c4.pro/Blog/884086.shtm
m.0e4c4.pro/Blog/884484.shtm
m.0e4c4.pro/Blog/484422.shtm
m.0e4c4.pro/Blog/066864.shtm
m.0e4c4.pro/Blog/080448.shtm
m.0e4c4.pro/Blog/555953.shtm
m.0e4c4.pro/Blog/848666.shtm
m.0e4c4.pro/Blog/826408.shtm
m.0e4c4.pro/Blog/664066.shtm
m.0e4c4.pro/Blog/822844.shtm
m.0e4c4.pro/Blog/402408.shtm
m.0e4c4.pro/Blog/666446.shtm
m.0e4c4.pro/Blog/486602.shtm
m.0e4c4.pro/Blog/751553.shtm
m.0e4c4.pro/Blog/280206.shtm
m.0e4c4.pro/Blog/804868.shtm
m.0e4c4.pro/Blog/802240.shtm
m.0e4c4.pro/Blog/626646.shtm
m.0e4c4.pro/Blog/448446.shtm
m.0e4c4.pro/Blog/177131.shtm
m.0e4c4.pro/Blog/662602.shtm
m.0e4c4.pro/Blog/804266.shtm
m.0e4c4.pro/Blog/660282.shtm
m.0e4c4.pro/Blog/331773.shtm
m.0e4c4.pro/Blog/800660.shtm
m.0e4c4.pro/Blog/624042.shtm
m.0e4c4.pro/Blog/660402.shtm
m.0e4c4.pro/Blog/882406.shtm
m.0e4c4.pro/Blog/937557.shtm
m.0e4c4.pro/Blog/424604.shtm
m.0e4c4.pro/Blog/222082.shtm
m.0e4c4.pro/Blog/262068.shtm
m.0e4c4.pro/Blog/222088.shtm
m.0e4c4.pro/Blog/953155.shtm
m.0e4c4.pro/Blog/446080.shtm
m.0e4c4.pro/Blog/646888.shtm
m.0e4c4.pro/Blog/828048.shtm
m.0e4c4.pro/Blog/515955.shtm
m.0e4c4.pro/Blog/197355.shtm
m.0e4c4.pro/Blog/202808.shtm
m.0e4c4.pro/Blog/680068.shtm
m.0e4c4.pro/Blog/131171.shtm
m.0e4c4.pro/Blog/480682.shtm
m.0e4c4.pro/Blog/995937.shtm
m.0e4c4.pro/Blog/660420.shtm
m.0e4c4.pro/Blog/395975.shtm
m.0e4c4.pro/Blog/644404.shtm
m.0e4c4.pro/Blog/620484.shtm
m.0e4c4.pro/Blog/424084.shtm
m.0e4c4.pro/Blog/226080.shtm
m.0e4c4.pro/Blog/420602.shtm
m.0e4c4.pro/Blog/426424.shtm
m.0e4c4.pro/Blog/888628.shtm
m.0e4c4.pro/Blog/244844.shtm
m.0e4c4.pro/Blog/822262.shtm
m.0e4c4.pro/Blog/666686.shtm
m.0e4c4.pro/Blog/622246.shtm
m.0e4c4.pro/Blog/197797.shtm
m.0e4c4.pro/Blog/688482.shtm
m.0e4c4.pro/Blog/208084.shtm
m.0e4c4.pro/Blog/202024.shtm
m.0e4c4.pro/Blog/002000.shtm
m.0e4c4.pro/Blog/620260.shtm
m.0e4c4.pro/Blog/222242.shtm
m.0e4c4.pro/Blog/628688.shtm
m.0e4c4.pro/Blog/157937.shtm
m.0e4c4.pro/Blog/646802.shtm
m.0e4c4.pro/Blog/206604.shtm
m.0e4c4.pro/Blog/060020.shtm
m.0e4c4.pro/Blog/262066.shtm
m.0e4c4.pro/Blog/000808.shtm
m.0e4c4.pro/Blog/604266.shtm
m.0e4c4.pro/Blog/957353.shtm
m.0e4c4.pro/Blog/155751.shtm
m.0e4c4.pro/Blog/937157.shtm
m.0e4c4.pro/Blog/797317.shtm
m.0e4c4.pro/Blog/539159.shtm
m.0e4c4.pro/Blog/246080.shtm
m.0e4c4.pro/Blog/733319.shtm
m.0e4c4.pro/Blog/317517.shtm
m.0e4c4.pro/Blog/088206.shtm
m.0e4c4.pro/Blog/515999.shtm
m.0e4c4.pro/Blog/913731.shtm
m.0e4c4.pro/Blog/513357.shtm
m.0e4c4.pro/Blog/735971.shtm
m.0e4c4.pro/Blog/357937.shtm
m.0e4c4.pro/Blog/999553.shtm
m.0e4c4.pro/Blog/911757.shtm
m.0e4c4.pro/Blog/826468.shtm
m.0e4c4.pro/Blog/313597.shtm
m.0e4c4.pro/Blog/040802.shtm
m.0e4c4.pro/Blog/064802.shtm
m.0e4c4.pro/Blog/682400.shtm
m.0e4c4.pro/Blog/773137.shtm
m.0e4c4.pro/Blog/886408.shtm
m.0e4c4.pro/Blog/006868.shtm
m.0e4c4.pro/Blog/917713.shtm
m.0e4c4.pro/Blog/062820.shtm
m.0e4c4.pro/Blog/244862.shtm
m.0e4c4.pro/Blog/599375.shtm
m.0e4c4.pro/Blog/711933.shtm
m.0e4c4.pro/Blog/171597.shtm
m.0e4c4.pro/Blog/686446.shtm
m.0e4c4.pro/Blog/226048.shtm
m.0e4c4.pro/Blog/200260.shtm
m.0e4c4.pro/Blog/193937.shtm
m.0e4c4.pro/Blog/975373.shtm
m.0e4c4.pro/Blog/119551.shtm
m.0e4c4.pro/Blog/999171.shtm
m.0e4c4.pro/Blog/711979.shtm
m.0e4c4.pro/Blog/957739.shtm
m.0e4c4.pro/Blog/175397.shtm
m.0e4c4.pro/Blog/773335.shtm
m.0e4c4.pro/Blog/737553.shtm
m.0e4c4.pro/Blog/911531.shtm
m.0e4c4.pro/Blog/464422.shtm
m.0e4c4.pro/Blog/179197.shtm
m.0e4c4.pro/Blog/137171.shtm
m.0e4c4.pro/Blog/686080.shtm
m.0e4c4.pro/Blog/802464.shtm
m.0e4c4.pro/Blog/175357.shtm
m.0e4c4.pro/Blog/153777.shtm
m.0e4c4.pro/Blog/557199.shtm
m.0e4c4.pro/Blog/060080.shtm
m.0e4c4.pro/Blog/175955.shtm
m.0e4c4.pro/Blog/408024.shtm
m.0e4c4.pro/Blog/042068.shtm
m.0e4c4.pro/Blog/026408.shtm
m.0e4c4.pro/Blog/246826.shtm
m.0e4c4.pro/Blog/422048.shtm
m.0e4c4.pro/Blog/157537.shtm
m.0e4c4.pro/Blog/577153.shtm
m.0e4c4.pro/Blog/913759.shtm
m.0e4c4.pro/Blog/242002.shtm
m.0e4c4.pro/Blog/911311.shtm
m.0e4c4.pro/Blog/333973.shtm
m.0e4c4.pro/Blog/822682.shtm
m.0e4c4.pro/Blog/480682.shtm
m.0e4c4.pro/Blog/115995.shtm
m.0e4c4.pro/Blog/519597.shtm
m.0e4c4.pro/Blog/733151.shtm
m.0e4c4.pro/Blog/379559.shtm
m.0e4c4.pro/Blog/062484.shtm
m.0e4c4.pro/Blog/808044.shtm
m.0e4c4.pro/Blog/131111.shtm
m.0e4c4.pro/Blog/808844.shtm
m.0e4c4.pro/Blog/397393.shtm
m.0e4c4.pro/Blog/995595.shtm
m.0e4c4.pro/Blog/313995.shtm
m.0e4c4.pro/Blog/777393.shtm
m.0e4c4.pro/Blog/939735.shtm
m.0e4c4.pro/Blog/151757.shtm
m.0e4c4.pro/Blog/997191.shtm
m.0e4c4.pro/Blog/393797.shtm
m.0e4c4.pro/Blog/519177.shtm
m.0e4c4.pro/Blog/711971.shtm
m.0e4c4.pro/Blog/735999.shtm
m.0e4c4.pro/Blog/773717.shtm
m.0e4c4.pro/Blog/935399.shtm
m.0e4c4.pro/Blog/973931.shtm
m.0e4c4.pro/Blog/719775.shtm
m.0e4c4.pro/Blog/715335.shtm
m.0e4c4.pro/Blog/951133.shtm
m.0e4c4.pro/Blog/993771.shtm
m.0e4c4.pro/Blog/953337.shtm
m.0e4c4.pro/Blog/593151.shtm
m.0e4c4.pro/Blog/131779.shtm
m.0e4c4.pro/Blog/199779.shtm
m.0e4c4.pro/Blog/153959.shtm
m.0e4c4.pro/Blog/559313.shtm
m.0e4c4.pro/Blog/719731.shtm
m.0e4c4.pro/Blog/551135.shtm
m.0e4c4.pro/Blog/357131.shtm
m.0e4c4.pro/Blog/935579.shtm
m.0e4c4.pro/Blog/135717.shtm
m.0e4c4.pro/Blog/999791.shtm
m.0e4c4.pro/Blog/771571.shtm
m.0e4c4.pro/Blog/135339.shtm
m.0e4c4.pro/Blog/911179.shtm
m.0e4c4.pro/Blog/593517.shtm
m.0e4c4.pro/Blog/117511.shtm
m.0e4c4.pro/Blog/139151.shtm
m.0e4c4.pro/Blog/173353.shtm
m.0e4c4.pro/Blog/911771.shtm
m.0e4c4.pro/Blog/971197.shtm
m.0e4c4.pro/Blog/593311.shtm
m.0e4c4.pro/Blog/195313.shtm
m.0e4c4.pro/Blog/979317.shtm
m.0e4c4.pro/Blog/597193.shtm
m.0e4c4.pro/Blog/137757.shtm
m.0e4c4.pro/Blog/139933.shtm
m.0e4c4.pro/Blog/193351.shtm
m.0e4c4.pro/Blog/591337.shtm
m.0e4c4.pro/Blog/953557.shtm
m.0e4c4.pro/Blog/911979.shtm
m.0e4c4.pro/Blog/311993.shtm
m.0e4c4.pro/Blog/355937.shtm
m.0e4c4.pro/Blog/759711.shtm
m.0e4c4.pro/Blog/151393.shtm
m.0e4c4.pro/Blog/737371.shtm
m.0e4c4.pro/Blog/931913.shtm
m.0e4c4.pro/Blog/157173.shtm
m.0e4c4.pro/Blog/751555.shtm
m.0e4c4.pro/Blog/973553.shtm
m.0e4c4.pro/Blog/975171.shtm
m.0e4c4.pro/Blog/591397.shtm
m.0e4c4.pro/Blog/915371.shtm
m.0e4c4.pro/Blog/375135.shtm
m.0e4c4.pro/Blog/173199.shtm
m.0e4c4.pro/Blog/331359.shtm
m.0e4c4.pro/Blog/175131.shtm
m.0e4c4.pro/Blog/799795.shtm
m.0e4c4.pro/Blog/397533.shtm
m.0e4c4.pro/Blog/579379.shtm
m.0e4c4.pro/Blog/979351.shtm
m.0e4c4.pro/Blog/335991.shtm
m.0e4c4.pro/Blog/351591.shtm
m.0e4c4.pro/Blog/337773.shtm
m.0e4c4.pro/Blog/371513.shtm
m.0e4c4.pro/Blog/193513.shtm
m.0e4c4.pro/Blog/553951.shtm
m.0e4c4.pro/Blog/335517.shtm
m.0e4c4.pro/Blog/331153.shtm
m.0e4c4.pro/Blog/773777.shtm
m.0e4c4.pro/Blog/733111.shtm
m.0e4c4.pro/Blog/339117.shtm
m.0e4c4.pro/Blog/991533.shtm
m.0e4c4.pro/Blog/599375.shtm
m.0e4c4.pro/Blog/571735.shtm
m.0e4c4.pro/Blog/199193.shtm
m.0e4c4.pro/Blog/911971.shtm
m.0e4c4.pro/Blog/337911.shtm
m.0e4c4.pro/Blog/139371.shtm
m.0e4c4.pro/Blog/935175.shtm
m.0e4c4.pro/Blog/139317.shtm
m.0e4c4.pro/Blog/264000.shtm
m.0e4c4.pro/Blog/460688.shtm
m.0e4c4.pro/Blog/339939.shtm
m.0e4c4.pro/Blog/131151.shtm
m.0e4c4.pro/Blog/088686.shtm
m.0e4c4.pro/Blog/513159.shtm
m.0e4c4.pro/Blog/311793.shtm
m.0e4c4.pro/Blog/595731.shtm
m.0e4c4.pro/Blog/751137.shtm
m.0e4c4.pro/Blog/737715.shtm
m.0e4c4.pro/Blog/195931.shtm
m.0e4c4.pro/Blog/488446.shtm
m.0e4c4.pro/Blog/959391.shtm
m.0e4c4.pro/Blog/531373.shtm
m.0e4c4.pro/Blog/315935.shtm
m.0e4c4.pro/Blog/393357.shtm
m.0e4c4.pro/Blog/935199.shtm
m.0e4c4.pro/Blog/911539.shtm
m.0e4c4.pro/Blog/779331.shtm
m.0e4c4.pro/Blog/335911.shtm
m.0e4c4.pro/Blog/155373.shtm
m.0e4c4.pro/Blog/539531.shtm
m.0e4c4.pro/Blog/951997.shtm
m.0e4c4.pro/Blog/199597.shtm
m.0e4c4.pro/Blog/311995.shtm
m.0e4c4.pro/Blog/135359.shtm
m.0e4c4.pro/Blog/519119.shtm
m.0e4c4.pro/Blog/577951.shtm
m.0e4c4.pro/Blog/191771.shtm
m.0e4c4.pro/Blog/773117.shtm
m.0e4c4.pro/Blog/959799.shtm
m.0e4c4.pro/Blog/119133.shtm
m.0e4c4.pro/Blog/953199.shtm
m.0e4c4.pro/Blog/515115.shtm
m.0e4c4.pro/Blog/397351.shtm
m.0e4c4.pro/Blog/717353.shtm
m.0e4c4.pro/Blog/731775.shtm
m.0e4c4.pro/Blog/377155.shtm
m.0e4c4.pro/Blog/351717.shtm
m.0e4c4.pro/Blog/731137.shtm
m.0e4c4.pro/Blog/771533.shtm
m.0e4c4.pro/Blog/313951.shtm
m.0e4c4.pro/Blog/377357.shtm
m.0e4c4.pro/Blog/953151.shtm
m.0e4c4.pro/Blog/175357.shtm
m.0e4c4.pro/Blog/539993.shtm
m.0e4c4.pro/Blog/377795.shtm
m.0e4c4.pro/Blog/753731.shtm
m.0e4c4.pro/Blog/995931.shtm
m.0e4c4.pro/Blog/575777.shtm
m.0e4c4.pro/Blog/373937.shtm
m.0e4c4.pro/Blog/731193.shtm
m.0e4c4.pro/Blog/537739.shtm
m.0e4c4.pro/Blog/957571.shtm
m.0e4c4.pro/Blog/977939.shtm
m.0e4c4.pro/Blog/595113.shtm
m.0e4c4.pro/Blog/397353.shtm
m.0e4c4.pro/Blog/575119.shtm
m.0e4c4.pro/Blog/775973.shtm
m.0e4c4.pro/Blog/113173.shtm
m.0e4c4.pro/Blog/311359.shtm
m.0e4c4.pro/Blog/359379.shtm
m.0e4c4.pro/Blog/375593.shtm
m.0e4c4.pro/Blog/319171.shtm
m.0e4c4.pro/Blog/779951.shtm
m.0e4c4.pro/Blog/593717.shtm
m.0e4c4.pro/Blog/137133.shtm
m.0e4c4.pro/Blog/957779.shtm
m.0e4c4.pro/Blog/759751.shtm
m.0e4c4.pro/Blog/911173.shtm
m.0e4c4.pro/Blog/539931.shtm
m.k4yes.pro/Blog/553357.shtm
m.k4yes.pro/Blog/311399.shtm
m.k4yes.pro/Blog/351779.shtm
m.k4yes.pro/Blog/579731.shtm
m.k4yes.pro/Blog/373717.shtm
m.k4yes.pro/Blog/371797.shtm
m.k4yes.pro/Blog/959959.shtm
m.k4yes.pro/Blog/711955.shtm
m.k4yes.pro/Blog/991573.shtm
m.k4yes.pro/Blog/935735.shtm
m.k4yes.pro/Blog/377915.shtm
m.k4yes.pro/Blog/193355.shtm
m.k4yes.pro/Blog/995111.shtm
m.k4yes.pro/Blog/755313.shtm
m.k4yes.pro/Blog/159393.shtm
m.k4yes.pro/Blog/397711.shtm
m.k4yes.pro/Blog/533953.shtm
m.k4yes.pro/Blog/775779.shtm
m.k4yes.pro/Blog/939171.shtm
m.k4yes.pro/Blog/357333.shtm
m.k4yes.pro/Blog/771757.shtm
m.k4yes.pro/Blog/577593.shtm
m.k4yes.pro/Blog/377553.shtm
m.k4yes.pro/Blog/715315.shtm
m.k4yes.pro/Blog/593713.shtm
m.k4yes.pro/Blog/531531.shtm
m.k4yes.pro/Blog/937575.shtm
m.k4yes.pro/Blog/311319.shtm
m.k4yes.pro/Blog/593737.shtm
m.k4yes.pro/Blog/135113.shtm
m.k4yes.pro/Blog/395393.shtm
m.k4yes.pro/Blog/519359.shtm
m.k4yes.pro/Blog/751775.shtm
m.k4yes.pro/Blog/197991.shtm
m.k4yes.pro/Blog/513337.shtm
m.k4yes.pro/Blog/337335.shtm
m.k4yes.pro/Blog/173731.shtm
m.k4yes.pro/Blog/717377.shtm
m.k4yes.pro/Blog/119991.shtm
m.k4yes.pro/Blog/117991.shtm
m.k4yes.pro/Blog/719535.shtm
m.k4yes.pro/Blog/131711.shtm
m.k4yes.pro/Blog/193515.shtm
m.k4yes.pro/Blog/119337.shtm
m.k4yes.pro/Blog/359751.shtm
m.k4yes.pro/Blog/591795.shtm
m.k4yes.pro/Blog/117519.shtm
m.k4yes.pro/Blog/171953.shtm
m.k4yes.pro/Blog/573997.shtm
m.k4yes.pro/Blog/199751.shtm
m.k4yes.pro/Blog/197335.shtm
m.k4yes.pro/Blog/591779.shtm
m.k4yes.pro/Blog/797933.shtm
m.k4yes.pro/Blog/177115.shtm
m.k4yes.pro/Blog/591539.shtm
m.k4yes.pro/Blog/597711.shtm
m.k4yes.pro/Blog/117553.shtm
m.k4yes.pro/Blog/753739.shtm
m.k4yes.pro/Blog/797979.shtm
m.k4yes.pro/Blog/553739.shtm
m.k4yes.pro/Blog/195333.shtm
m.k4yes.pro/Blog/935179.shtm
m.k4yes.pro/Blog/791157.shtm
m.k4yes.pro/Blog/135111.shtm
m.k4yes.pro/Blog/197799.shtm
m.k4yes.pro/Blog/791337.shtm
m.k4yes.pro/Blog/197359.shtm
m.k4yes.pro/Blog/111551.shtm
m.k4yes.pro/Blog/595571.shtm
m.k4yes.pro/Blog/577979.shtm
m.k4yes.pro/Blog/713119.shtm
m.k4yes.pro/Blog/197559.shtm
m.k4yes.pro/Blog/733739.shtm
m.k4yes.pro/Blog/133315.shtm
m.k4yes.pro/Blog/337979.shtm
m.k4yes.pro/Blog/175355.shtm
m.k4yes.pro/Blog/193711.shtm
m.k4yes.pro/Blog/773159.shtm
m.k4yes.pro/Blog/553993.shtm
m.k4yes.pro/Blog/533355.shtm
m.k4yes.pro/Blog/573935.shtm
m.k4yes.pro/Blog/515157.shtm
m.k4yes.pro/Blog/931997.shtm
m.k4yes.pro/Blog/173357.shtm
m.k4yes.pro/Blog/593937.shtm
m.k4yes.pro/Blog/137793.shtm
m.k4yes.pro/Blog/353991.shtm
m.k4yes.pro/Blog/773915.shtm
m.k4yes.pro/Blog/751553.shtm
m.k4yes.pro/Blog/135335.shtm
m.k4yes.pro/Blog/375159.shtm
m.k4yes.pro/Blog/953331.shtm
m.k4yes.pro/Blog/755139.shtm
m.k4yes.pro/Blog/793153.shtm
m.k4yes.pro/Blog/717133.shtm
m.k4yes.pro/Blog/315971.shtm
m.k4yes.pro/Blog/515939.shtm
m.k4yes.pro/Blog/553139.shtm
m.k4yes.pro/Blog/155915.shtm
m.k4yes.pro/Blog/175533.shtm
m.k4yes.pro/Blog/391533.shtm
m.k4yes.pro/Blog/199539.shtm
m.k4yes.pro/Blog/135113.shtm
m.k4yes.pro/Blog/391199.shtm
m.k4yes.pro/Blog/775973.shtm
m.k4yes.pro/Blog/779399.shtm
m.k4yes.pro/Blog/775957.shtm
m.k4yes.pro/Blog/177511.shtm
m.k4yes.pro/Blog/551533.shtm
m.k4yes.pro/Blog/553513.shtm
m.k4yes.pro/Blog/535311.shtm
m.k4yes.pro/Blog/793359.shtm
m.k4yes.pro/Blog/393511.shtm
m.k4yes.pro/Blog/579917.shtm
m.k4yes.pro/Blog/937131.shtm
m.k4yes.pro/Blog/777593.shtm
m.k4yes.pro/Blog/155953.shtm
m.k4yes.pro/Blog/931711.shtm
m.k4yes.pro/Blog/759337.shtm
m.k4yes.pro/Blog/733379.shtm
m.k4yes.pro/Blog/951379.shtm
m.k4yes.pro/Blog/191577.shtm
m.k4yes.pro/Blog/359751.shtm
m.k4yes.pro/Blog/355799.shtm
m.k4yes.pro/Blog/597335.shtm
m.k4yes.pro/Blog/931911.shtm
m.k4yes.pro/Blog/357511.shtm
m.k4yes.pro/Blog/111519.shtm
m.k4yes.pro/Blog/719933.shtm
m.k4yes.pro/Blog/759595.shtm
m.k4yes.pro/Blog/373333.shtm
m.k4yes.pro/Blog/571933.shtm
m.k4yes.pro/Blog/973517.shtm
m.k4yes.pro/Blog/759579.shtm
m.k4yes.pro/Blog/193191.shtm
m.k4yes.pro/Blog/519157.shtm
m.k4yes.pro/Blog/933175.shtm
m.k4yes.pro/Blog/911377.shtm
m.k4yes.pro/Blog/195159.shtm
m.k4yes.pro/Blog/579331.shtm
m.k4yes.pro/Blog/717991.shtm
m.k4yes.pro/Blog/177913.shtm
m.k4yes.pro/Blog/313931.shtm
m.k4yes.pro/Blog/933133.shtm
m.k4yes.pro/Blog/197159.shtm
m.k4yes.pro/Blog/933775.shtm
m.k4yes.pro/Blog/973197.shtm
m.k4yes.pro/Blog/133515.shtm
m.k4yes.pro/Blog/139331.shtm
m.k4yes.pro/Blog/357135.shtm
m.k4yes.pro/Blog/133737.shtm
m.k4yes.pro/Blog/177193.shtm
m.k4yes.pro/Blog/395133.shtm
m.k4yes.pro/Blog/955535.shtm
m.k4yes.pro/Blog/131979.shtm
m.k4yes.pro/Blog/519519.shtm
m.k4yes.pro/Blog/311731.shtm
m.k4yes.pro/Blog/793337.shtm
m.k4yes.pro/Blog/533713.shtm
m.k4yes.pro/Blog/373375.shtm
m.k4yes.pro/Blog/757757.shtm
m.k4yes.pro/Blog/797771.shtm
m.k4yes.pro/Blog/335571.shtm
m.k4yes.pro/Blog/333971.shtm
m.k4yes.pro/Blog/797593.shtm
m.k4yes.pro/Blog/799539.shtm
m.k4yes.pro/Blog/195379.shtm
m.k4yes.pro/Blog/599375.shtm
m.k4yes.pro/Blog/535175.shtm
m.k4yes.pro/Blog/795371.shtm
m.k4yes.pro/Blog/355959.shtm
m.k4yes.pro/Blog/595531.shtm
m.k4yes.pro/Blog/537311.shtm
m.k4yes.pro/Blog/957971.shtm
m.k4yes.pro/Blog/533799.shtm
m.k4yes.pro/Blog/915773.shtm
m.k4yes.pro/Blog/179999.shtm
m.k4yes.pro/Blog/597933.shtm
m.k4yes.pro/Blog/393155.shtm
m.k4yes.pro/Blog/151711.shtm
m.k4yes.pro/Blog/331117.shtm
m.k4yes.pro/Blog/757739.shtm
m.k4yes.pro/Blog/555939.shtm
m.k4yes.pro/Blog/399573.shtm
m.k4yes.pro/Blog/715331.shtm
m.k4yes.pro/Blog/919719.shtm
m.k4yes.pro/Blog/151553.shtm
m.k4yes.pro/Blog/559959.shtm
m.k4yes.pro/Blog/997319.shtm
m.k4yes.pro/Blog/195533.shtm
m.k4yes.pro/Blog/351177.shtm
m.k4yes.pro/Blog/955155.shtm
m.k4yes.pro/Blog/711375.shtm
m.k4yes.pro/Blog/351773.shtm
m.k4yes.pro/Blog/131911.shtm
m.k4yes.pro/Blog/335995.shtm
m.k4yes.pro/Blog/517155.shtm
m.k4yes.pro/Blog/773715.shtm
m.k4yes.pro/Blog/731539.shtm
m.k4yes.pro/Blog/597579.shtm
m.k4yes.pro/Blog/191531.shtm
m.k4yes.pro/Blog/133111.shtm
m.k4yes.pro/Blog/911391.shtm
m.k4yes.pro/Blog/175515.shtm
m.k4yes.pro/Blog/319317.shtm
m.k4yes.pro/Blog/315157.shtm
m.k4yes.pro/Blog/975519.shtm
m.k4yes.pro/Blog/973917.shtm
m.k4yes.pro/Blog/795595.shtm
m.k4yes.pro/Blog/771171.shtm
m.k4yes.pro/Blog/377935.shtm
m.k4yes.pro/Blog/357375.shtm
m.k4yes.pro/Blog/551553.shtm
m.k4yes.pro/Blog/519137.shtm
m.k4yes.pro/Blog/911117.shtm
m.k4yes.pro/Blog/373975.shtm
m.k4yes.pro/Blog/191319.shtm
m.k4yes.pro/Blog/911371.shtm
m.k4yes.pro/Blog/593511.shtm
m.k4yes.pro/Blog/317353.shtm
m.k4yes.pro/Blog/735157.shtm
m.k4yes.pro/Blog/531111.shtm
m.k4yes.pro/Blog/375595.shtm
m.k4yes.pro/Blog/711511.shtm
m.k4yes.pro/Blog/939537.shtm
m.k4yes.pro/Blog/193711.shtm
m.k4yes.pro/Blog/113955.shtm
m.k4yes.pro/Blog/951955.shtm
m.k4yes.pro/Blog/157795.shtm
m.k4yes.pro/Blog/719113.shtm
m.k4yes.pro/Blog/357593.shtm
m.k4yes.pro/Blog/319197.shtm
m.k4yes.pro/Blog/997919.shtm
m.k4yes.pro/Blog/779919.shtm
m.k4yes.pro/Blog/779751.shtm
m.k4yes.pro/Blog/977171.shtm
m.k4yes.pro/Blog/199357.shtm
m.k4yes.pro/Blog/359551.shtm
m.k4yes.pro/Blog/753551.shtm
m.k4yes.pro/Blog/955993.shtm
m.k4yes.pro/Blog/175133.shtm
m.k4yes.pro/Blog/331795.shtm
m.k4yes.pro/Blog/533379.shtm
m.k4yes.pro/Blog/537579.shtm
m.k4yes.pro/Blog/715319.shtm
m.k4yes.pro/Blog/735953.shtm
m.k4yes.pro/Blog/397337.shtm
m.k4yes.pro/Blog/177155.shtm
m.k4yes.pro/Blog/135539.shtm
m.k4yes.pro/Blog/959113.shtm
m.k4yes.pro/Blog/797791.shtm
m.k4yes.pro/Blog/555793.shtm
m.k4yes.pro/Blog/577933.shtm
m.k4yes.pro/Blog/995919.shtm
m.k4yes.pro/Blog/511975.shtm
m.k4yes.pro/Blog/135955.shtm
m.k4yes.pro/Blog/397319.shtm
m.k4yes.pro/Blog/379157.shtm
m.k4yes.pro/Blog/571197.shtm
m.k4yes.pro/Blog/713173.shtm
m.k4yes.pro/Blog/393537.shtm
m.k4yes.pro/Blog/195115.shtm
m.k4yes.pro/Blog/173319.shtm
m.k4yes.pro/Blog/771371.shtm
m.k4yes.pro/Blog/939335.shtm
m.k4yes.pro/Blog/733797.shtm
m.k4yes.pro/Blog/571759.shtm
m.k4yes.pro/Blog/939193.shtm
m.k4yes.pro/Blog/795519.shtm
m.k4yes.pro/Blog/793577.shtm
m.k4yes.pro/Blog/913797.shtm
m.k4yes.pro/Blog/539139.shtm
m.k4yes.pro/Blog/797575.shtm
m.k4yes.pro/Blog/397733.shtm
m.k4yes.pro/Blog/713951.shtm
m.k4yes.pro/Blog/311597.shtm
m.k4yes.pro/Blog/773379.shtm
m.k4yes.pro/Blog/919357.shtm
m.k4yes.pro/Blog/797175.shtm
m.k4yes.pro/Blog/991533.shtm
m.k4yes.pro/Blog/151151.shtm
m.k4yes.pro/Blog/173355.shtm
m.k4yes.pro/Blog/519737.shtm
m.k4yes.pro/Blog/931515.shtm
m.k4yes.pro/Blog/377397.shtm
m.k4yes.pro/Blog/151911.shtm
m.k4yes.pro/Blog/731155.shtm
m.k4yes.pro/Blog/553197.shtm
m.k4yes.pro/Blog/151599.shtm
m.k4yes.pro/Blog/313533.shtm
m.k4yes.pro/Blog/755597.shtm
m.k4yes.pro/Blog/991997.shtm
m.k4yes.pro/Blog/775757.shtm
m.k4yes.pro/Blog/313939.shtm
m.k4yes.pro/Blog/153797.shtm
m.k4yes.pro/Blog/575135.shtm
m.k4yes.pro/Blog/793797.shtm
m.k4yes.pro/Blog/599711.shtm
m.k4yes.pro/Blog/517133.shtm
m.k4yes.pro/Blog/157317.shtm
m.k4yes.pro/Blog/597379.shtm
m.k4yes.pro/Blog/333171.shtm
m.k4yes.pro/Blog/793195.shtm
m.k4yes.pro/Blog/797757.shtm
m.k4yes.pro/Blog/193975.shtm
m.k4yes.pro/Blog/971339.shtm
m.k4yes.pro/Blog/993191.shtm
m.k4yes.pro/Blog/131793.shtm
m.k4yes.pro/Blog/355577.shtm
m.k4yes.pro/Blog/715991.shtm
m.k4yes.pro/Blog/579177.shtm
m.k4yes.pro/Blog/579939.shtm
m.k4yes.pro/Blog/399735.shtm
m.k4yes.pro/Blog/351175.shtm
m.k4yes.pro/Blog/131995.shtm
m.k4yes.pro/Blog/939113.shtm
m.k4yes.pro/Blog/755793.shtm
m.k4yes.pro/Blog/935119.shtm
m.k4yes.pro/Blog/937153.shtm
m.k4yes.pro/Blog/119713.shtm
m.k4yes.pro/Blog/737319.shtm
m.k4yes.pro/Blog/331393.shtm
m.k4yes.pro/Blog/775979.shtm
m.k4yes.pro/Blog/511557.shtm
m.k4yes.pro/Blog/573777.shtm
m.k4yes.pro/Blog/971311.shtm
m.k4yes.pro/Blog/751757.shtm
m.k4yes.pro/Blog/713717.shtm
m.k4yes.pro/Blog/337191.shtm
m.k4yes.pro/Blog/919995.shtm
m.k4yes.pro/Blog/537391.shtm
m.k4yes.pro/Blog/371191.shtm
m.k4yes.pro/Blog/977771.shtm
m.k4yes.pro/Blog/559713.shtm
m.k4yes.pro/Blog/319915.shtm
m.k4yes.pro/Blog/913319.shtm
m.k4yes.pro/Blog/719717.shtm
m.k4yes.pro/Blog/557779.shtm
m.k4yes.pro/Blog/111195.shtm
m.k4yes.pro/Blog/779559.shtm
m.k4yes.pro/Blog/513793.shtm
m.k4yes.pro/Blog/173575.shtm
m.k4yes.pro/Blog/957195.shtm
m.k4yes.pro/Blog/711975.shtm
m.k4yes.pro/Blog/959775.shtm
m.k4yes.pro/Blog/135319.shtm
m.k4yes.pro/Blog/153399.shtm
m.k4yes.pro/Blog/319595.shtm
m.k4yes.pro/Blog/915171.shtm
m.k4yes.pro/Blog/515399.shtm
m.k4yes.pro/Blog/335935.shtm
m.k4yes.pro/Blog/755999.shtm
m.k4yes.pro/Blog/173373.shtm
m.k4yes.pro/Blog/153739.shtm
m.k4yes.pro/Blog/579751.shtm
m.k4yes.pro/Blog/911313.shtm
m.k4yes.pro/Blog/397731.shtm
m.k4yes.pro/Blog/151353.shtm
m.k4yes.pro/Blog/919313.shtm
m.k4yes.pro/Blog/393557.shtm
m.k4yes.pro/Blog/393919.shtm
m.k4yes.pro/Blog/971559.shtm
m.k4yes.pro/Blog/708694.shtm
m.k4yes.pro/Blog/373135.shtm
m.k4yes.pro/Blog/531171.shtm
m.k4yes.pro/Blog/399795.shtm
m.k4yes.pro/Blog/195571.shtm
m.k4yes.pro/Blog/597357.shtm
m.k4yes.pro/Blog/973759.shtm
m.k4yes.pro/Blog/515573.shtm
m.k4yes.pro/Blog/919319.shtm
m.k4yes.pro/Blog/355197.shtm
m.k4yes.pro/Blog/991955.shtm
m.k4yes.pro/Blog/311971.shtm
m.k4yes.pro/Blog/131711.shtm
m.k4yes.pro/Blog/175953.shtm
m.k4yes.pro/Blog/191751.shtm
m.k4yes.pro/Blog/953353.shtm
m.k4yes.pro/Blog/195171.shtm
m.k4yes.pro/Blog/175199.shtm
m.k4yes.pro/Blog/155137.shtm
m.k4yes.pro/Blog/157199.shtm
m.k4yes.pro/Blog/111791.shtm
m.k4yes.pro/Blog/795133.shtm
m.k4yes.pro/Blog/599953.shtm
m.k4yes.pro/Blog/159973.shtm
m.k4yes.pro/Blog/515195.shtm
m.k4yes.pro/Blog/973713.shtm
m.k4yes.pro/Blog/177593.shtm
m.k4yes.pro/Blog/779991.shtm

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

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

相关文章

摆脱数据线困扰:3DS无线文件传输新体验

摆脱数据线困扰:3DS无线文件传输新体验 【免费下载链接】3DS-FBI-Link Mac app to graphically push CIAs to FBI. Extra features over servefiles and Boop. 项目地址: https://gitcode.com/gh_mirrors/3d/3DS-FBI-Link 你是否也曾经历过这样的场景&#x…

5款跨语言工具横评:为什么Crow Translate能让翻译效率提升300%?

5款跨语言工具横评:为什么Crow Translate能让翻译效率提升300%? 【免费下载链接】crow-translate Crow Translate - 一个用C/Qt编写的简单轻量级翻译器,支持使用Google、Yandex、Bing等API进行文本翻译和朗读。 项目地址: https://gitcode.…

数据可视化配色工具:从问题诊断到方案落地的实践指南

数据可视化配色工具:从问题诊断到方案落地的实践指南 【免费下载链接】colorbrewer 项目地址: https://gitcode.com/gh_mirrors/co/colorbrewer 数据可视化的色彩困境:为什么专业图表总是差一口气? 在数据可视化实践中,配…

PyTorch-2.x镜像轻松搞定MixUp和Mosaic数据增强

PyTorch-2.x镜像轻松搞定MixUp和Mosaic数据增强 在目标检测模型训练中,数据增强不是锦上添花的可选项,而是决定模型泛化能力的胜负手。尤其面对无人机图像中尺度剧烈变化、目标密度高、背景复杂等挑战时,传统随机裁剪、翻转、色彩抖动已显乏…

Z-Image-Turbo环境配置避雷,新手常见问题汇总

Z-Image-Turbo环境配置避雷,新手常见问题汇总 刚下载完Z-Image-Turbo_UI界面镜像,双击启动脚本却卡在命令行不动?浏览器打开localhost:7860一片空白?生成的图片找不着、删不掉,甚至提示“Permission denied”&#xf…

解决Unity模组开发3大难题:BepInEx从入门到进阶的实战指南

解决Unity模组开发3大难题:BepInEx从入门到进阶的实战指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx Unity游戏模组开发常面临三大核心挑战:插件注入稳…

如何安装linux版本的node.js

在 Linux 系统上安装 Node.js 可以通过多种方式。以下是一些常见的安装方法:方法 1: 使用包管理器Ubuntu / Debian更新包信息:sudo apt update安装 Node.js 和 npm:sudo apt install nodejs npm验证安装:node -v npm -vCentOS / F…

突破ADB命令壁垒:秋之盒让Android管理效率提升300%的实战指南

突破ADB命令壁垒:秋之盒让Android管理效率提升300%的实战指南 【免费下载链接】AutumnBox 图形化ADB工具箱 项目地址: https://gitcode.com/gh_mirrors/au/AutumnBox 还在为记不住复杂的ADB命令发愁?秋之盒作为开源的图形化ADB工具,彻…

Java进阶学习笔记7——权限修饰符

什么是权限修饰符?就是用来限制类中的成员(成员变量、成员方法、构造器、代码块…)能够被访问的范围。protected使用的比较少,但是程序员还是要阅读代码,看官方文档是怎么写的,都会接触到protected修饰符&a…

实测TurboDiffusion的视频生成能力:在创意场景表现如何

实测TurboDiffusion的视频生成能力:在创意场景表现如何 1. TurboDiffusion到底是什么:不只是快,更是创意加速器 TurboDiffusion不是又一个“参数堆砌”的视频生成模型,而是清华大学、生数科技和加州大学伯克利分校联合推出的一套…

YOLOv9官方仓库怎么用?GitHub链接与文档查阅指南

YOLOv9官方仓库怎么用?GitHub链接与文档查阅指南 你是不是刚听说YOLOv9,点开GitHub仓库却有点懵:代码结构太密、README信息量大、不知道从哪下手?别急,这篇指南不讲论文原理,也不堆参数配置,就…

开源机械臂技术突破与产业实践:从硬件革新到智能控制

开源机械臂技术突破与产业实践:从硬件革新到智能控制 【免费下载链接】OpenArm OpenArm v0.1 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArm 开源机械臂作为 robotics 领域的关键基础设施,正逐渐打破传统工业机器人的技术垄断。本文…

如何打造超越系统自带的输入体验?深度定制中文输入法的终极指南

如何打造超越系统自带的输入体验?深度定制中文输入法的终极指南 【免费下载链接】squirrel 项目地址: https://gitcode.com/gh_mirrors/squi/squirrel 你是否曾在编写代码时,因输入法自动切换中英文而打断思路?是否在处理文档时&…

英雄联盟胜率提升神器:ChampR智能决策系统让你的操作如职业选手般精准

英雄联盟胜率提升神器:ChampR智能决策系统让你的操作如职业选手般精准 【免费下载链接】champ-r 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champ-r 当敌方突然掏出版本新英雄时,你的应对…

verl支持哪些并行策略?DP/TP/PP/SP全解析

verl支持哪些并行策略?DP/TP/PP/SP全解析 在大语言模型(LLM)后训练阶段,强化学习(RL)训练正面临前所未有的规模挑战:模型参数动辄百亿、千亿,训练流程涉及Actor、Critic、Reward Mo…

YOLOv9模型蒸馏可能吗?从v9-s到更小模型探索路径

YOLOv9模型蒸馏可能吗?从v9-s到更小模型探索路径 YOLOv9发布后,其提出的可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)架构,让目标检测的精度与效率边界再次被刷新。但随之而来的问题也很现…

如何3天落地企业级管理后台?FastAPI Admin实战指南

如何3天落地企业级管理后台?FastAPI Admin实战指南 【免费下载链接】fastapi-admin A fast admin dashboard based on FastAPI and TortoiseORM with tabler ui, inspired by Django admin 项目地址: https://gitcode.com/gh_mirrors/fa/fastapi-admin 当企业…

视频损坏不用愁:专业级修复方案全解析

视频损坏不用愁:专业级修复方案全解析 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 当视频文件因意外中断录制、存储介质损坏或传输错误导致无法播放时…

Qwen3-0.6B省钱部署方案:按需GPU计费降低企业成本

Qwen3-0.6B省钱部署方案:按需GPU计费降低企业成本 你是不是也遇到过这样的问题:想在业务中接入一个轻量大模型做智能客服、文档摘要或内部知识问答,但一看到动辄几十GB显存的部署要求就打退堂鼓?租整张A10或A100太贵,…

攻克LiDAR-视觉融合定位:从环境搭建到性能调优全攻略

攻克LiDAR-视觉融合定位:从环境搭建到性能调优全攻略 【免费下载链接】FAST-LIVO A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (LIVO). 项目地址: https://gitcode.com/gh_mirrors/fa/FAST-LIVO 3分钟快速上手 以下三个关键命…