ftp怎么设置网站首页广州有哪些做网站的公司

diannao/2026/1/20 13:59:38/文章来源:
ftp怎么设置网站首页,广州有哪些做网站的公司,建设网站条件,四川微信网站建设公背景#xff1a;由于项目要对接到grcp 的框架#xff0c;然后需要对接老外的东西#xff0c;还有签名和证书刚开始没有接触其实有点懵逼。 gRPC 是由 Google 开发的高性能、开源的远程过程调用#xff08;RPC#xff09;框架。它建立在 HTTP/2 协议之上#xff0c;使用 …背景由于项目要对接到grcp 的框架然后需要对接老外的东西还有签名和证书刚开始没有接触其实有点懵逼。 gRPC 是由 Google 开发的高性能、开源的远程过程调用RPC框架。它建立在 HTTP/2 协议之上使用 Protocol Buffers 作为其接口定义语言IDL。gRPC 被设计为可跨多种环境包括客户端、服务器和各种语言使用支持多种编程语言如 C、C、Java、Go、Python、Ruby、Node.js 等。 gRPC 具有以下特点 性能高效gRPC 使用基于 HTTP/2 的传输协议能够复用连接、多路复用请求、支持头部压缩等特性从而提高了性能。 跨语言支持gRPC 支持多种编程语言使得客户端和服务器可以使用不同的编程语言实现并且它们之间的通信依然高效。 IDL 和自动代码生成gRPC 使用 Protocol Buffers 作为接口定义语言IDL定义服务接口和消息格式并提供了自动生成客户端和服务器代码的工具。 多种调用方式gRPC 支持四种调用方式包括简单 RPC、服务器流式 RPC、客户端流式 RPC 和双向流式 RPC可以根据业务需求选择合适的调用方式。 安全性gRPC 支持 TLS/SSL 加密传输保障通信的安全性。 插件机制gRPC 提供了插件机制可以扩展其功能例如添加认证、日志、监控等功能。 总的来说gRPC 是一个强大的远程过程调用框架适用于构建分布式系统中的各种服务并且在性能、跨语言支持和安全性方面具有很多优势。 一开发工具集成 安装指定插件网上说还要Protobuf buffer 安装但是我用的idea2018的版本搜索不到这个不是必须的可以不用。 二 protobuf编译器一定要安装配置一个 Releases · protocolbuffers/protobuf · GitHub 三安装好插件后就可以看的了这俩个就是生产java代码的。 四grpc 的文件格式 syntax proto3;package c3_vanilla_app;option java_package com.test.conncar.c3vanillaapp; option java_outer_classname C3VanillaAppProtos;import google/protobuf/empty.proto;message ExampleRequestMessage {string id 1;int64 timestamp 2;string message 3; }message ExampleResponseMessage {string message 1; }service ExampleService {rpc PostExampleMessages(ExampleRequestMessage) returns (ExampleResponseMessage) {} }生成出来的代码就是 可以用命令生成然后也可以用maven自动生成 pom加上这个插件就可以生产代码了 plugingroupIdorg.xolstice.maven.plugins/groupIdartifactIdprotobuf-maven-plugin/artifactIdversion0.6.1/versionconfigurationprotocArtifactcom.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}/protocArtifactpluginIdgrpc-java/pluginIdpluginArtifactio.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}/pluginArtifact/configurationexecutionsexecutiongoalsgoalcompile/goalgoalcompile-custom/goal/goals/execution/executions/plugin 完整的pom文件 propertiesprotoc.version3.25.2/protoc.versiongrpc.version1.61.1/grpc.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdio.grpc/groupIdartifactIdgrpc-protobuf/artifactIdversion${grpc.version}/version/dependencydependencygroupIdio.grpc/groupIdartifactIdgrpc-stub/artifactIdversion${grpc.version}/version/dependencydependencygroupIdio.grpc/groupIdartifactIdgrpc-core/artifactIdversion${grpc.version}/version/dependencydependencygroupIdcom.google.protobuf/groupIdartifactIdprotobuf-java/artifactIdversion3.25.2/version !-- 或者与你的 protoc.version 相匹配的版本 --/dependencydependencygroupIdio.grpc/groupIdartifactIdgrpc-netty/artifactIdversion${grpc.version}/version/dependencydependency!-- necessary for Java 9 --groupIdorg.apache.tomcat/groupIdartifactIdannotations-api/artifactIdversion6.0.53/version/dependency/dependenciesbuildextensionsextensiongroupIdkr.motd.maven/groupIdartifactIdos-maven-plugin/artifactIdversion1.6.2/version/extension/extensionspluginsplugingroupIdorg.xolstice.maven.plugins/groupIdartifactIdprotobuf-maven-plugin/artifactIdversion0.6.1/versionconfigurationprotocArtifactcom.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}/protocArtifactpluginIdgrpc-java/pluginIdpluginArtifactio.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}/pluginArtifact/configurationexecutionsexecutiongoalsgoalcompile/goalgoalcompile-custom/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.10.1/versionconfigurationsource1.8/sourcetarget1.8/target/configuration/pluginplugingroupIdorg.jfrog.buildinfo/groupIdartifactIdartifactory-maven-plugin/artifactIdversion3.3.0/versioninheritedfalse/inheritedexecutionsexecutionidbuild-info/idgoalsgoalpublish/goal/goalsconfigurationartifactoryincludeEnvVarsfalse/includeEnvVarstimeoutSec60/timeoutSecpropertiesFilepublish.properties/propertiesFile/artifactorypublishercontextUrl${env.ARTIFACTORY_HOST_POM}/contextUrlusername${env.ARTIFACTORY_CCAR_USER}/usernamepassword${env.ARTIFACTORY_CCAR_APIKEY}/passwordexcludePatterns*-tests.jar/excludePatternsrepoKey${CI_PROJECT_NAMESPACE}/repoKeysnapshotRepoKey${CI_PROJECT_NAMESPACE}/snapshotRepoKey/publisherbuildInfobuildName${CI_PROJECT_NAME}/buildNamebuildNumber${CI_PIPELINE_ID}/buildNumberbuildUrl${CI_PROJECT_URL}/buildUrl/buildInfo/configuration/execution/executions/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build 生成的代码路径 生成的代码记得install的时候注释掉插件然后进行install 然后本地写个client和sever就行了 server package com.grpc.mistra.server;import com.grpc.mistra.generate.MistraRequest; import com.grpc.mistra.generate.MistraResponse; import com.grpc.mistra.generate.MistraServiceGrpc; import io.grpc.BindableService; import io.grpc.Server; import io.grpc.ServerBuilder; import io.grpc.stub.StreamObserver;import java.io.IOException;/*** Time: 14:46* Description:*/ public class MistraServer {private int port 8001;private Server server;private void start() throws IOException {server ServerBuilder.forPort(port).addService((BindableService) new MistraHelloWorldImpl()).build().start();System.out.println(------------------- 服务端服务已开启等待客户端访问 -------------------);Runtime.getRuntime().addShutdownHook(new Thread() {Overridepublic void run() {System.err.println(*** shutting down gRPC server since JVM is shutting down);MistraServer.this.stop();System.err.println(*** server shut down);}});}private void stop() {if (server ! null) {server.shutdown();}}private void blockUntilShutdown() throws InterruptedException {if (server ! null) {server.awaitTermination();}}public static void main(String[] args) throws IOException, InterruptedException {final MistraServer server new MistraServer();//启动服务server.start();//服务一直在线不关闭server.blockUntilShutdown();}// 定义一个实现服务接口的类private class MistraHelloWorldImpl extends MistraServiceGrpc.MistraServiceImplBase {Overridepublic void sayHello(MistraRequest mistraRequest, StreamObserverMistraResponse responseObserver) {// 具体其他丰富的业务实现代码System.err.println(server: mistraRequest.getName());MistraResponse reply MistraResponse.newBuilder().setMessage((响应信息: mistraRequest.getName())).build();responseObserver.onNext(reply);responseObserver.onCompleted();}} }client: package com.grpc.mistra.client;import com.grpc.mistra.generate.MistraRequest; import com.grpc.mistra.generate.MistraResponse; import com.grpc.mistra.generate.MistraServiceGrpc; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder;import java.util.concurrent.TimeUnit;/*** Time: 14:46* Description:*/ public class MistraClient {private final ManagedChannel channel;private final MistraServiceGrpc.MistraServiceBlockingStub blockingStub;public MistraClient(String host, int port) {channel ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build();blockingStub MistraServiceGrpc.newBlockingStub(channel);}public void shutdown() throws InterruptedException {channel.shutdown().awaitTermination(5, TimeUnit.SECONDS);}public void greet(String name) {MistraRequest request MistraRequest.newBuilder().setName(name).build();MistraResponse response blockingStub.sayHello(request);System.out.println(response.getMessage());}public static void main(String[] args) throws InterruptedException {MistraClient client new MistraClient(127.0.0.1, 8001);System.out.println(-------------------客户端开始访问请求-------------------);for (int i 0; i 10; i) {client.greet(你若想生存绝处也能缝生: i);}} }效果图 grpc的调用类 package com.grpc.mistra.generate;import static io.grpc.MethodDescriptor.generateFullMethodName; import static io.grpc.stub.ClientCalls.asyncUnaryCall; import static io.grpc.stub.ClientCalls.blockingUnaryCall; import static io.grpc.stub.ClientCalls.futureUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;/*** pre* 声明一个服务名称* /pre*/ javax.annotation.Generated(value by gRPC proto compiler (version 1.11.0),comments Source: helloworld.proto) public final class MistraServiceGrpc {private MistraServiceGrpc() {}public static final String SERVICE_NAME mistra.MistraService;// Static method descriptors that strictly reflect the proto.io.grpc.ExperimentalApi(https://github.com/grpc/grpc-java/issues/1901)Deprecated // Use {link #getSayHelloMethod()} instead.public static final io.grpc.MethodDescriptorMistraRequest,MistraResponse METHOD_SAY_HELLO getSayHelloMethodHelper();private static volatile io.grpc.MethodDescriptorMistraRequest,MistraResponse getSayHelloMethod;io.grpc.ExperimentalApi(https://github.com/grpc/grpc-java/issues/1901)public static io.grpc.MethodDescriptorMistraRequest,MistraResponse getSayHelloMethod() {return getSayHelloMethodHelper();}private static io.grpc.MethodDescriptorMistraRequest,MistraResponse getSayHelloMethodHelper() {io.grpc.MethodDescriptorMistraRequest, MistraResponse getSayHelloMethod;if ((getSayHelloMethod MistraServiceGrpc.getSayHelloMethod) null) {synchronized (MistraServiceGrpc.class) {if ((getSayHelloMethod MistraServiceGrpc.getSayHelloMethod) null) {MistraServiceGrpc.getSayHelloMethod getSayHelloMethod io.grpc.MethodDescriptor.MistraRequest, MistraResponsenewBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(mistra.MistraService, SayHello)).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(MistraRequest.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(MistraResponse.getDefaultInstance())).setSchemaDescriptor(new MistraServiceMethodDescriptorSupplier(SayHello)).build();}}}return getSayHelloMethod;}/*** Creates a new async stub that supports all call types for the service*/public static MistraServiceStub newStub(io.grpc.Channel channel) {return new MistraServiceStub(channel);}/*** Creates a new blocking-style stub that supports unary and streaming output calls on the service*/public static MistraServiceBlockingStub newBlockingStub(io.grpc.Channel channel) {return new MistraServiceBlockingStub(channel);}/*** Creates a new ListenableFuture-style stub that supports unary calls on the service*/public static MistraServiceFutureStub newFutureStub(io.grpc.Channel channel) {return new MistraServiceFutureStub(channel);}/*** pre* 声明一个服务名称* /pre*/public static abstract class MistraServiceImplBase implements io.grpc.BindableService {/*** pre* 请求参数MistraRequest 响应参数MistraResponse* /pre*/public void sayHello(MistraRequest request,io.grpc.stub.StreamObserverMistraResponse responseObserver) {asyncUnimplementedUnaryCall(getSayHelloMethodHelper(), responseObserver);}Overridepublic final io.grpc.ServerServiceDefinition bindService() {return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getSayHelloMethodHelper(),asyncUnaryCall(new MethodHandlersMistraRequest,MistraResponse(this, METHODID_SAY_HELLO))).build();}}/*** pre* 声明一个服务名称* /pre*/public static final class MistraServiceStub extends io.grpc.stub.AbstractStubMistraServiceStub {private MistraServiceStub(io.grpc.Channel channel) {super(channel);}private MistraServiceStub(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {super(channel, callOptions);}Overrideprotected MistraServiceStub build(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {return new MistraServiceStub(channel, callOptions);}/*** pre* 请求参数MistraRequest 响应参数MistraResponse* /pre*/public void sayHello(MistraRequest request,io.grpc.stub.StreamObserverMistraResponse responseObserver) {asyncUnaryCall(getChannel().newCall(getSayHelloMethodHelper(), getCallOptions()), request, responseObserver);}}/*** pre* 声明一个服务名称* /pre*/public static final class MistraServiceBlockingStub extends io.grpc.stub.AbstractStubMistraServiceBlockingStub {private MistraServiceBlockingStub(io.grpc.Channel channel) {super(channel);}private MistraServiceBlockingStub(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {super(channel, callOptions);}Overrideprotected MistraServiceBlockingStub build(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {return new MistraServiceBlockingStub(channel, callOptions);}/*** pre* 请求参数MistraRequest 响应参数MistraResponse* /pre*/public MistraResponse sayHello(MistraRequest request) {return blockingUnaryCall(getChannel(), getSayHelloMethodHelper(), getCallOptions(), request);}}/*** pre* 声明一个服务名称* /pre*/public static final class MistraServiceFutureStub extends io.grpc.stub.AbstractStubMistraServiceFutureStub {private MistraServiceFutureStub(io.grpc.Channel channel) {super(channel);}private MistraServiceFutureStub(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {super(channel, callOptions);}Overrideprotected MistraServiceFutureStub build(io.grpc.Channel channel,io.grpc.CallOptions callOptions) {return new MistraServiceFutureStub(channel, callOptions);}/*** pre* 请求参数MistraRequest 响应参数MistraResponse* /pre*/public com.google.common.util.concurrent.ListenableFutureMistraResponse sayHello(MistraRequest request) {return futureUnaryCall(getChannel().newCall(getSayHelloMethodHelper(), getCallOptions()), request);}}private static final int METHODID_SAY_HELLO 0;private static final class MethodHandlersReq, Resp implementsio.grpc.stub.ServerCalls.UnaryMethodReq, Resp,io.grpc.stub.ServerCalls.ServerStreamingMethodReq, Resp,io.grpc.stub.ServerCalls.ClientStreamingMethodReq, Resp,io.grpc.stub.ServerCalls.BidiStreamingMethodReq, Resp {private final MistraServiceImplBase serviceImpl;private final int methodId;MethodHandlers(MistraServiceImplBase serviceImpl, int methodId) {this.serviceImpl serviceImpl;this.methodId methodId;}OverrideSuppressWarnings(unchecked)public void invoke(Req request, io.grpc.stub.StreamObserverResp responseObserver) {switch (methodId) {case METHODID_SAY_HELLO:serviceImpl.sayHello((MistraRequest) request,(io.grpc.stub.StreamObserverMistraResponse) responseObserver);break;default:throw new AssertionError();}}OverrideSuppressWarnings(unchecked)public io.grpc.stub.StreamObserverReq invoke(io.grpc.stub.StreamObserverResp responseObserver) {switch (methodId) {default:throw new AssertionError();}}}private static abstract class MistraServiceBaseDescriptorSupplierimplements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {MistraServiceBaseDescriptorSupplier() {}Overridepublic com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {return MistraProto.getDescriptor();}Overridepublic com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {return getFileDescriptor().findServiceByName(MistraService);}}private static final class MistraServiceFileDescriptorSupplierextends MistraServiceBaseDescriptorSupplier {MistraServiceFileDescriptorSupplier() {}}private static final class MistraServiceMethodDescriptorSupplierextends MistraServiceBaseDescriptorSupplierimplements io.grpc.protobuf.ProtoMethodDescriptorSupplier {private final String methodName;MistraServiceMethodDescriptorSupplier(String methodName) {this.methodName methodName;}Overridepublic com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {return getServiceDescriptor().findMethodByName(methodName);}}private static volatile io.grpc.ServiceDescriptor serviceDescriptor;public static io.grpc.ServiceDescriptor getServiceDescriptor() {io.grpc.ServiceDescriptor result serviceDescriptor;if (result null) {synchronized (MistraServiceGrpc.class) {result serviceDescriptor;if (result null) {serviceDescriptor result io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME).setSchemaDescriptor(new MistraServiceFileDescriptorSupplier()).addMethod(getSayHelloMethodHelper()).build();}}}return result;} }咋们就完成了grpc接入到java里面调用了本质上其实代码没有区别小杨看了一下他就是多了一些设计模式生产的代码工厂构建等。  ————没有与生俱来的天赋都是后天的努力拼搏我是小杨谢谢你的关注和支持

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

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

相关文章

网站建设方案书个人柚皮子wordpress主题

前言现在稍微有点规模的系统,很多都是采用分布式/微服务架构,将一个大系统拆分为很多个功能模块进行开发、测试、发布、管理等,如果全部流程都采用人工的形式进行的话,效率肯定是超级不高效滴。而且现在很多项目都采用极限编程的模…

怎样建官方网站北京 企业建网站

建立连接可能涉及到的问题(只需要自己改一下就行) 1、MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发 2、数据库连接配置 (1)yml配置 # 数据库连接配置 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/…

南充公司做网站建设南大街小学网站

大数据法律监督平台是基于监督数据整合管理平台、监督模型构建平台、内置模型库以及法律监督线索管理平台打造的一套服务于检察机关法律监督工作的专业化系统。通过数据采集、融合、挖掘、建模、展现等一系列能力,辅助检察官从纷繁复杂的数据中,开展多维…

如何做机票预订网站网站素材设计

实验环境——vulnhub-dc2靶场 git提权 前提:用户可以使用sudo中git权限 查看sudo权限 sudo -l可以发现git命令存在sudo提权 基于此进行权限提升 方式: sudo git help config #在末行命令模式输入 !/bin/bash 或 !sh #完成提权 sudo git -p help…

seo服务器配置seo广告投放

1.若有char w; int x; float y; double z; 则表达式w*xz-y值的数据类型为( )。 (2分) A.float B.char C.int D.double D 解析: 整形和浮点型计算,结果为浮点型;单精度和双精度计算,结果为双精度 因为在计算…

网站备案查询不到网站备案掉了怎么办

在 golang中,想要并发安全的操作map,可以使用sync.Map结构,sync.Map 是一个适合读多写少的数据结构,今天我们来看看它的设计思想,来看看为什么说它适合读多写少的场景。 如下,是golang 中sync.Map的数据结构…

wordpress html5的关系网站建设优化开发公司

input输入 (默认输入: 苹果🍎 橘子🍊 梨子🍐 葡萄🍇空一行空值表示结束输入input添加 1. 添加 2. 删除 序号和文字都可以,要空格或者空行 可以点对点输入数据深色主题 mpl_style(darkTrue)# 折线…

阿里云轻量级服务器搭建wordpressseo优化搜索结果

在C#中,ref和out关键字用于按引用传递变量,它们在变量传递、输出参数、返回值以及异常处理等方面有一些重要区别。本文将详细阐述这些差异。 1. 变量传递 ref和out关键字都可以用于方法的参数传递。它们的主要区别在于如何处理变量的引用。 ref关键字…

遵义市做网站公司网站开发设计师岗位职责

↑ ↑ ↑ ↑ ↑ 请看文件夹 ↑ ↑ ↑ ↑ ↑ 下载 / 安装 windows / MAC OS 官网下载,双击安装,这个都会吧~ linux linux下安装,一种办法是从官网下载 tar.bz ,手动安装。 这里介绍用 apt-get 自己主动安装方法&#xf…

做网站需要什么步骤优秀设计网站

Tag 【动态规划】【数组】 题目来源 70. 爬楼梯 题目解读 有过刷题「动态规划」刷题经验的读者都知道,爬楼梯问题是一种最典型也是最简单的动态规划问题了。 题目描述为:你每次可以爬 1 或者 2 个台阶,问爬上 n 阶有多少种方式。 解题思路…

泰安网站开发网站排名优化技巧

A - 一方通行和最大公约数I CodeForces - 664A 作为学园都市最强的lv5,一方通行必须解决一道数学题才能接触last order身上植入的病毒,请你帮他解决这个问题。给出两个整数a,b 求出[a,b]区间中所有整数的最大公约数。输入输入包括一行,一…

外贸网站推广wordpress 简书风格

前言: I2C(Inter-Integrated Circuit)总线(也称 IIC 或 I2C) 是有PHILIPS公司开发的两线式串行总线,用于连接微控制器及外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少、控制方式…

网页与网站的区别和关系校园网络设计报告

嵌入式 lnmp搭建的记录 N:NginxP:php编译PHP可能遇到的问题configure阶段:Makefile-make阶段:Makefile-make install阶段: 文章比较水,并没有没解决什么实际问题,有点不好意思发布。但好像又记录…

智通人才网东莞最新招聘信息网站优化需要

给定一个整数数组 nums&#xff0c;处理以下类型的多个查询: 计算索引 left 和 right &#xff08;包含 left 和 right&#xff09;之间的 nums 元素的 和 &#xff0c;其中 left < right 实现 NumArray 类&#xff1a; NumArray(int[] nums) 使用数组 nums 初始化对象 in…

ppt模板免费网站在线制作wordpress可以做网站吗

Python有四种类型的数字:1.整型 a = 2 print a 2.长整型 b = 123456789 print b 3.浮点数 c = 3.2E2 print c 4.复数 复数为实数的推广,它使任一多项式都有根。复数当中有个“虚数单位”j,它是-1的一个平方根。任一复数都可表达为x+yj,其中x及y皆为实数,分别称为复数之“实…

淘宝网站制作多少钱泰州建站程序

Kong标准软件基于Bitnami apache 构建。当前版本为2.4.58 你可以通过轻云UC部署工具直接安装部署&#xff0c;也可以手动按如下文档操作&#xff0c;该项目已经全面开源&#xff0c;可以从如下环境获取 配置文件地址: https://gitee.com/qingplus/qingcloud-platform qinghub…

做阀门的网站在58同城做网站有生意吗

除了联合查询注入&#xff0c;报错注入&#xff0c;盲注注入 sql注入还有以下几类&#x1f9b9;&#x1f9b9;&#x1f9b9;&#x1f9b9;&#x1f9b9; 开始填坑 1.UA注入 原理&#xff1a;有些网站会把用户的UA信息写入数据库&#xff0c;用来收集和统计用户…

校园网网站建设规划书合肥关键词排名技巧

目录 1 560. 和为 K 的子数组 2 239. 滑动窗口最大值 3 76. 最小覆盖子串 菜鸟做题第二周&#xff0c;语言是 C 1 560. 和为 K 的子数组 题眼&#xff1a;“子数组是数组中元素的连续非空序列。” 解决本问题的关键就在于如何翻译问题。子数组 s 的和可以看作数组 i 的…

自然人做音频网站违法吗网站的备案的要多少钱

在OpenStack环境中&#xff0c;虚拟机的迁移可以通过多种方式实现&#xff0c;包括实时迁移&#xff08;Live Migration&#xff09;和冷迁移&#xff08;Cold Migration&#xff09; 实时迁移&#xff08;Live Migration&#xff09; 实时迁移是在虚拟机运行的同时将其迁移到…