专营网站建设长安网站建设价格

news/2025/9/26 7:17:04/文章来源:
专营网站建设,长安网站建设价格,公司大厅设计效果图大全,拍摄广告片制作公司目录 1.K8s什么要使用Ingress 2.在本地K8s集群安装Nginx Ingress controller 2.1.使用Kind创建本地集群 2.1.1.创建kind配置文件 2.1.2.执行创建命令 2.2.找到和当前k8s版本匹配的Ingress版本 2.2.1.查看当前的K8s版本 2.2.2.在官网中找到对应的合适版本 2.3.按照版本安…目录 1.K8s什么要使用Ingress 2.在本地K8s集群安装Nginx Ingress controller 2.1.使用Kind创建本地集群 2.1.1.创建kind配置文件 2.1.2.执行创建命令 2.2.找到和当前k8s版本匹配的Ingress版本 2.2.1.查看当前的K8s版本 2.2.2.在官网中找到对应的合适版本 2.3.按照版本安装Ingress controller 2.3.1.注意点 2.4.在本地K8s集群部署Demo app 2.4.1.简单开发只含一个api app 2.4.2.构建镜像 2.4.2.1.创建一个Dockerfile文件 2.4.2.2.构建一个镜像 2.4.2.3.运行镜像 2.4.2.4.测试镜像接口 2.4.2.5.结束本地运行 2.4.3.将镜像上传到k8s集群 2.4.4.部署应用到本地k8s集群 2.4.4.1.创建deployment.yaml文件 2.4.4.2.将应用部署到K8s集群 2.5.测试Ingress 2.5.1.创建Ingress.yaml文件 2.5.2.部署一个ingress实例 2.5.3.测试访问 *2.6.可不可以更便捷的操作命令 3.Ingress的rules和Nginx的关系 参考文章 1.K8s什么要使用Ingress 这个理由其实很多k8s serive模块存在的理由已经间接做了解释。可以自下而上来回顾一下这个过程。 首先当一个app被部署到k8s之后会以Pod的方式运行在k8s中Pod运行中会被分配一个集群内的Ip地址我们在集群内可以通过这个IP访问到这个Pod如下图所示 图1 k8s cluster pod分配了一个IP 但是Pod在K8s是不稳定的Pod每次重启后这个IP会被重新分配因此如果集群内要通过IP访问是不实际的因此K8s增加了一个组件ServiceService以serviceName作为访问路径因为serviceName是不变的不用关注IP的变化我们可以认为这个路径是稳定不变的。至于为什么serviceName可以当成访问路径是CoreDNS维护解析的以后有时间再开文章讨论。 图2 k8s cluster service-pod 访问方式 增加了service这个组件解决了Pod的IP会变化的问题可以通过一个固定的serviceName访问Pod了那么新的问题就出现了那么如何在集群之外访问呢service组件提供了4种类型 ClusterIP                    # 集群内IP在集群内访问NodePort                    # 在Node节点开一个端口然后就可以在集群外通过这个端口访问LoadBalancer             # 云服务商提供你可以理解是一个专用节点然后这个节点对外暴露访问端口ExternalName            # 不常用直接映射到另一个服务的地址有点类似正向代理 这个有很多文章说的很细我这边就一笔带过有个概念就好。 我们本地k8s直接将Service配置NodePort类型我们看看会变成什么样 图3 k8s cluster service-NodePort 访问方式 如上图Service使用NodePort后就可以在宿主机直接通过打通的Port访问在K8s内部署的app。那么假如我有很多个App部署在k8s又如何呢比如每一个App都要开放一个端口如下图 图4 多个Service开启NodePort之后的情况 从上图可以看出多个Service开启NodePort之后就Cluster Node而言无论从安全还是维护的角度来看都不应该使用这种方式开放应用的访问。为此有人想要不就只开一个NodePort然后用一个专门的应用XXX接收请求然后再转发所有的请求到具体的Pod上如下图所示 图5 可以设置一个XXX应用作为一个统一的“Gateway” 如上图如果我们有一个XXX的应用统一处理请求就可以解决上述问题。事实上K8s团队引入了Ingress的组件这个Ingress就是上图的XXX应用当然架构上不止如此简单会复杂一些我偷一下懒从其他文章中“借鉴”了一张图 图6 ingress的架构图 这里有几个点要强调一下方便理解。 1.Ingress是K8s团队定义的但是这个组件只是一个定义概念类似于java的interface接口具体的实现是可以选择的。 2.Ingress controller就是这个具体的实现可以选择不同的controller例如Kubernetes 、Ngnix、Haproxy、kong、Traefik等等。 我们从Kind的官网中来开启本地安装Ingress的测试。 2.在本地K8s集群安装Nginx Ingress controller 2.1.使用Kind创建本地集群 我们创建2节点一个Master Node一个Worker Node节点这也是本地创建k8s比较“经济的”的选择能体验多节点的特性也能尽可能节约资源。和之前的文章“使用Kind搭建本地k8s集群环境”创建Cluster集群配置有点差别需要加一些配置。 2.1.1.创建kind配置文件 # 创建2个节点一个master node一个worker node在master node设置labels配合后续安装ingress controller cat EOF kind-clusters-mutil-config.yaml kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-planekubeadmConfigPatches:- |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: ingress-readytrueextraPortMappings:- containerPort: 80hostPort: 80protocol: TCP- containerPort: 443hostPort: 443protocol: TCP - role: worker EOF 为主节点添加标签”ingress-ready:true”。Kind提供的Nginx Ingress Controller的部署资源中会通过这个标签选择运行在主节点上。 kubeadmConfigPatches: - |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: ingress-readytrue 将容器主节点的80443端口映射到运行Kind的主机(这里是Win10主机)的80443端口。Kind提供的Nginx Ingress Controller的服务资源会通过NodePort将服务通过容器主节点的80443暴露出去这样用户就可以通过访问本地主机的80443端口访问运行在集群中的Nginx Ingress Controller。 extraPortMappings:- containerPort: 80 # 暴露http端口hostPort: 80protocol: TCP- containerPort: 443 # 暴露https端口hostPort: 443protocol: TCP         如果之前本地有集群不妨可以先删除Kind在这方面还是很方便的 ➜ ~ kind get clusters k8s-local-dev ➜ ~ kind delete cluster --name k8s-local-dev Deleting cluster k8s-local-dev ... ➜ ~ 图7 创建本地的k8s双节点集群 2.1.2.执行创建命令 执行命令创建本地集群 # 执行创建本地集群 kind create cluster --name k8s-local-dev --config ./kind-clusters-mutil-config.yaml # 将kubeconfig copy到Win10的用户目录下让Lens可以用 cp ~/.kube/config /mnt/c/Users/${CURRENT_USER}/.kube/config 2.2.找到和当前k8s版本匹配的Ingress版本 2.2.1.查看当前的K8s版本 # 查看k8s版本信息 kubectl version Client Version: version.Info{Major:1, Minor:22, GitVersion:v1.22.2, GitCommit:8b5a19147530eaac9476b0ab82980b4088bbc1b2, GitTreeState:clean, BuildDate:2021-09-15T21:38:50Z, GoVersion:go1.16.8, Compiler:gc, Platform:linux/amd64} Server Version: version.Info{Major:1, Minor:23, GitVersion:v1.23.4, GitCommit:e6c093d87ea4cbb530a7b2ae91e54c0842d8308a, GitTreeState:clean, BuildDate:2022-03-06T21:32:53Z, GoVersion:go1.17.7, Compiler:gc, Platform:linux/amd64}# 从返回的信息中我们看到了k8s版本是v1.23.4 2.2.2.在官网中找到对应的合适版本 登录Nginx Ingress Controller官网找到匹配的版本 图8 当前k8s集群版本适配的最新Nginx Ingress Controller版本 2.3.按照版本安装Ingress controller 在Kind的官网中我们知道可以通过Helm和mainfests两种方式安装我们就按mainfest的方式来安装。和官网中的描述相比我这里增加了版本适配的一个步骤找到对应的版本后直接安装。 # 按照对应的版本安装Ngnix Ingress Controller kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/kind/deploy.yaml#其中 #controller-v1.6.4 就是我们依据k8s集群版本找的适配版本 #kind 是指当前mainfests是为Kind创建的集群准备的还有aws、azure等不同的类型当然基本也差不多。 注意官网给的示例是 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml 这里的版本是main指向的是当前最新的release版本。可以在github仓库中查看 图9 截止2023-08-30最新的版本是controller-v1.8.1 图10 在本地k8s集群中安装Nginx ingress controller 2.3.1.注意点 我们重点关注一下这个ingress-nginx-controller的Service组件这就是在宿主机上可以直接访问集群的根本。 ...... --- apiVersion: v1 kind: Service metadata:labels:app.kubernetes.io/component: controllerapp.kubernetes.io/instance: ingress-nginxapp.kubernetes.io/name: ingress-nginxapp.kubernetes.io/part-of: ingress-nginxapp.kubernetes.io/version: 1.6.4name: ingress-nginx-controllernamespace: ingress-nginx spec:ipFamilies:- IPv4ipFamilyPolicy: SingleStackports:- appProtocol: httpname: httpport: 80protocol: TCPtargetPort: http- appProtocol: httpsname: httpsport: 443protocol: TCPtargetPort: httpsselector:app.kubernetes.io/component: controllerapp.kubernetes.io/instance: ingress-nginxapp.kubernetes.io/name: ingress-nginxtype: NodePort --- ...... 因为当前Service的Typp是NodePort而暴露的端口分别是http:80/https:443。和2.2.1章节中的集群配置是对的上的。如果需要自定义可以修改这个port。 2.3.1.检查安装的Ingress状态 主要是检查如下图的3个Pod(Namespace:ingress-nginx) 图11 在Lens中查看集群中安装Nginx ingress controller的Pod状态 这里不要出现黄色的感叹号因为有感叹号就说明部署Ingress有问题。也没有别的办法可能需要重新安装Ingress甚至k8s集群。 图12 出现感叹号也没什么解决办法我重试就解决了 2.4.在本地K8s集群部署Demo app 安装这个Demo app的目的是为了验证请求是否能到Pod因此这个应用不需要太复杂只需要有一个简单的api接口方便测试。 2.4.1.简单开发只含一个api app 我这里使用springboot开发增加一个Controller开发一个hollo world的接口 package com.demo.java.springboot.web;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;/*** author lyg 2021年9月22日下午2:18:53*/ResponseBody RestController RequestMapping(test) public class TestCtrl {RequestMapping(say)public String testFunc() { System.out.println(hello world!);return hello world!;} } 一个工程若要跑起来一个cotroller肯定是不行的这边我省略了 2.4.2.构建镜像 2.4.2.1.创建一个Dockerfile文件 在工程根目录下创建一个Dockerfile文件 cat EOF Dockerfile # baselibrary, jdk8 FROM openjdk:8-jdk-alpine ADD ./target/app.jar /app/app.jar WORKDIR /app EXPOSE 8080 ENTRYPOINT java -jar ./app.jar EOF 其中./target/app.jar是当前springboot工程构建后在功能目录下的artifacts. # springboot工程构建命令前提是Maven已经被配置这里就不演示了 mvn clear mvn install 2.4.2.2.构建一个镜像 # 将demo app工程构建成为一个镜像 docker build -f Dockerfile -t demo-java-serive:1.0 . 2.4.2.3.运行镜像 # 运行镜像 docker run --name java-demo-app -it -p 8080:8080 -d demo-java-serive:1.0 2.4.2.4.测试镜像接口 当应用启动后可以通过postman 图13 镜像docker run ...之后本地测试镜像测试接口可以测通 或者直接使用curl访问 # 访问测试api curl http://127.0.0.1:8080/test/say # 预期返回hello world!# 2.4.2.5.结束本地运行 # 停止并删除容器 docker container stop java-demo-app docker container rm java-demo-app # image还是不能删除的留着我们要测试ingress2.4.3.将镜像上传到k8s集群 将镜像上传到kind创建的本地k8s集群 # 使用Kind命令将测试镜像上传到kind创建的本地k8s集群 kind load docker-image demo-java-serive:1.0 --name k8s-local-dev# 说明 # demo-java-serive:1.0 我的测试demo app镜像名称:版本 # k8s-local-dev kind创建的本地k8s集群名称 图14 将测试demo app镜像上传到本地k8s集群 可以看到镜像被上传到2个集群节点中了  2.4.4.部署应用到本地k8s集群 2.4.4.1.创建deployment.yaml文件 cat EOF deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: deploymentdemo1labels:app: deploymentdemo1 spec:replicas: 1selector:matchLabels:app: deploymentdemo1template:metadata:name: deploymentdemo1labels:app: deploymentdemo1spec:containers:- name: deploymentdemo1image: demo-java-serive:1.0imagePullPolicy: IfNotPresentports:- containerPort: 8080restartPolicy: Always---apiVersion: v1 kind: Service metadata:name: deploymentdemo1-service spec:selector:app: deploymentdemo1ports:- name: deploymentdemo1-service-portprotocol: TCPport: 8080targetPort: 8080EOF 如上所示这里包含这个Deployment、Service两种组件“---”就是yaml文件分隔不同资源的分隔符。其中Service没有指明类型默认使用ClusterIP类型。 就一般而言将一个应用部署到k8s我们一般都使用Deployment这个组件所以我创建部署yaml文件一般习惯命名为deployment.yaml但是其实Deployment组件一般和Service是配套的也就是说deployment.yaml文件是部署应用的组件mainfest清单可能包含多种组件资源。  2.4.4.2.将应用部署到K8s集群 执行命令在k8s上部署Demo app # 在k8s集群部署Demo app kubectl create -f deployment.yaml 图15 部署demo app到k8s中 图16 在k8s中已创建Deployment、Pod、和Service 重新拿之前的图来理解一下这时我们应该已经创建了如下图红框所示的两个组件 图17 部署Deployment(最终体现为Pod)、Service 在这一步中我遇到过deployment已经创建但是Pod没有创建出来的奇怪现象后面我删除了集群重新建再试就可以了 2.5.测试Ingress 2.5.1.创建Ingress.yaml文件 cat EOF ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: example-ingressannotations:kubernetes.io/ingress.class: nginx spec:rules:- http:paths:- pathType: Prefixpath: /testbackend:service:name: deploymentdemo1-serviceport:number: 8080 EOF 这里我们只是列举了一个最简单的Ingress的规则就是请求路径带test的,转发到Service(deploymentdemo1-service:8080)这个Service就是我们之前部署的Demo app Service服务。         还有很多其他的配置包括annotation都是有讲究的点击传送 2.5.2.部署一个ingress实例 # 部署一个Ingress请求转发实例 kubectl apply -f ingress.yaml # ingress.networking.k8s.io/example-ingress created 图18 在Lens上看到Ingress已经存在一个实例了 2.5.3.测试访问 这里我们需要回顾2.3.1章节的内容因为Ingress-controller-serive绑定的端口80因此我们的访问路径就是http://12.0.0.1:80/...或缺省http://12.0.0.1/.... postman直接访问 图19 直接访问宿主机localhost绑定的Ingress接口80成功 事实上我们也可以为每一个的应用定一个前缀毕竟应用太多api的路径有可能重复比如app1和app2都有一个/test/say的接口这时我们可以重新写url path如下 cat \EOF ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: example-ingressannotations:nginx.ingress.kubernetes.io/rewrite-target: /$2kubernetes.io/ingress.class: nginx spec:rules:- http:paths:- pathType: Prefixpath: /app1(/|$)(.*)backend:service:name: deploymentdemo1-serviceport:number: 8080 EOF 这时访问路径可以加一个前缀变为http://localhost/app1/test/say 图20 访问时可以加前缀区分不同的应用毕竟可以重写path *2.6.可不可以更便捷的操作命令 我们在整个过程中有大量操作的shell命令的过程记不住容易错用本子记录每次还要copy出来非常繁琐我们完全可使用Makefile定义几个function然后使用make [command] [variable] 执行命令例如我定义的Makefile供大家参考 # Image URL to use all building/pushing image targets IMG ? demo-java-serive:1.0 # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. ENVTEST_K8S_VERSION 1.23 # 本地集群的名称 KUBE_CLUSTER ? k8s-local-dev # 本地集群配置文件的名称 KUBE_CLUSTER_INIT_CONFIGFILE ? kind-clusters-mutil-config.yaml # Ingress版本 INGRESS_NGNIX_CTL_VERSION ?v1.6.4.PHONY: create-k8s create-k8s: ## create local k8s by config file and synchronize the kubeconfigkind create cluster --name ${KUBE_CLUSTER} --config ./${KUBE_CLUSTER_INIT_CONFIGFILE} cp ~/.kube/config /mnt/c/Users/Geoff_Lin/.kube/config.PHONY: delete-k8s delete-k8s: ## delete local k8skind delete cluster --name ${KUBE_CLUSTER}.PHONY: install-ingress install-ingress: ## install ingress by mainfest.yamlkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-${INGRESS_NGNIX_CTL_VERSION}/deploy/static/provider/kind/deploy.yaml.PHONY: kind-load kind-load: ## load the local image to the kind clusterkind load docker-image ${IMG} --name ${KUBE_CLUSTER}.PHONY: deploy-app deploy-app: ## deploy my java demo applicationkubectl apply -f ./deployment.yaml.PHONY: deploy-ingress-inst deploy-ingress-inst: ## install ingress instance which configurate proxy ruleskubectl apply -f ./ingress.yaml需要注意命令缩进只能用“tab”键不能使用空格键不然make命令会报错  我们可以方便地执行这些命令 # 删除集群 make delete-k8s # 创建集群 make create-k8s # 安装Ingress make install-ingress # 上传demo app镜像 make kind-load # 部署demo app 到k8s make deploy-app # 部署Ingress代理规则 make deploy-ingress-inst ...... 3.Ingress的rules和Nginx的关系 我们走了一遍流程发现ingress.yaml配置rule的就是一个代理转发我们在前面的章节中知道我们的ingress controller采用的是Ngnix controller,也就是说ingress.yaml配置的rule,会转化成nginx.conf的配置实际上做转发的就是ngnix。 为此我们可以验证一下打开ingress-nginx-controller这个pod的控制台进入容器目录就是一个ngnix镜像打开nginx.conf容易发现我们ingress.yaml配置的规则已经转变成为server下的一个location了。 图21 进入ingress-ngnix-controller目录 图22 Ingress.yaml中的rule转化为nginx.conf的一个location配置 参考文章 kind – Ingress Installation Guide - Ingress-Nginx Controller Kind创建本地Kubernetes集群 - 云斋随笔 https://github.com/kubernetes/ingress-nginx Installation with the NGINX Ingress Operator | NGINX Ingress Controller Kubernetes — 服务类型Service Types - 知乎 Flowchart Maker Online Diagram Software Ingress Annotation 配置说明 | Higress ingress-nginx 中 Rewrite 的使用-阳明的博客|Kubernetes|Istio|Prometheus|Python|Golang|云

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

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

相关文章

对单位网站建设的意见wordpress主菜单导航插件

今天的分享将围绕一个大家再熟悉不过的名称展开——浏览器。 根据百科给出的解释:浏览器是用来检索、展示以及传递Web信息资源的应用程序。通俗的说,浏览器就是一种阅读工具,类似记事本、word、wps,只不过后者阅读的是文本文档&am…

怎么制作免费建网站网站数据采集怎么做

一、进程间通信原理: 1、通信是有成本的:两个或者多个进程,实现数据层面的交互,因为进程独立性的存在,导致进程通信的成本比较高。 2、进程间通信的方式: ①基本数据 ②发送命令 ③某种协同 ④通知 .....…

asp做网站计数器网站如何收费

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 最近 std::pair和std::tuple 二、用法 1.1 创建 看代码规范,提到:通过std::pair 和std::tuple ,函数可以同…

如何给网站添加cnzzdns 部分网站打不开

MySQL是一种流行的关系型数据库管理系统,其中WHERE子句是用于过滤数据的重要部分。通过使用WHERE子句,可以根据指定的条件从表中选择特定的数据行。本文将总结MySQL WHERE子句的使用和优化方法,帮助读者更好地理解和应用WHERE子句&#xff0c…

北京专业制作网站公司佛山企业网站建设公司

如何彻底删除node和npm 前言: 最近做个项目把本地的node更新了,之前是v10.14.2更新至v16.14.0 ,想着把之前的项目起来下,执行npm install 结果启动不了,一直报npm版本不匹配需要更新本地库异常… 找了几天发现是npm 和…

网站建设的销售好做吗网络哪个公司好

https://adworld.xctf.org.cn/contest/list?rwNmOdr1697354606875 目录 请求数据参数加密 cookie加密 响应数据解密 代码 请求数据参数加密 我们可以根据请求的关键字qmze1yzvhyzcyyjr获取到对应的加密地方 可以看到使用了函数_0x1dc70进行了加密 cookie加密 该步骤需…

做美工用什么素材网站门户网站维护怎么做

在我们使用电脑的时候有时候要对系统进行还原,那么你知道如何进行系统还原吗?不知道的小伙伴一起来操作一遍吧。 1 第一步 鼠标单击左下角的开始菜单,选择设置,进入页面 如何进行系统还原 2 第二步 单击更新和安全,选择左侧的恢…

长春网站快照优化公司vpswindows野外大全

介绍 希尔排序属于那种没有了解过的直接看代码一脸懵逼的, 所以同学们尽量不要直接看代码,仔细阅读本篇博客内容。 插入排序本来算是一个低效排序, 一次只可以挪动一个数据, 但是,它的强来了!&#xff01…

网站开发前途塘沽网站建设优化

目录 一、部署PXE远程安装服务 1. 系统装机的三种引导方式 2. pxe概述 3. 实现过程 4. 搭建过程中服务介绍 4.1 TFTP服务 4.2 vsftp:安装系统镜像文件获取方式 4.3 syslinux 4.4 DHCP服务 5. 操作过程 二、实现Kickstart无人值守安装 1. 安装Kickstart图…

Java 与交通科技:智慧交通与自动驾驶实践

一、引言 交通运输作为社会运行的重要支撑,正经历从 信息化 到 智能化 的深度变革。智慧交通系统(ITS)与自动驾驶技术的发展,使得交通管理更高效、出行体验更便捷、安全性也显著提升。 在这一进程中,Java 作为全球…

商机互联做网站怎么样中国万网张向东

Advanced REST Client是 Chrome 浏览器下的一个插件,通过它可以发送 http、https、WebSocket 请求。在 Chrome 商店下搜索 Advanced REST Client,即可找到如果搜索不到的可到CSDN 下载:1.下载插件:Advanced Rest Client2.因为最新…

成都响应网站建设wordpress文字围绕图片

DevExpress WPF Diagram(流程图)控件帮助用户完美复制Microsoft Visio UI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。 P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至…

北京专业的网站ui设计公司wordpress更换域名后显示空白

感谢!点点赞和评论呀!我将继续更新 目录: 感谢!点点赞和评论呀!我将继续更新0.创建项目1.函数的引入2.注意事项3.详细介绍3.1 形参介绍 4.导入包4.1 基本知识4.2 注意事项 0.创建项目 创建目录 执行命令加载模块 cd 0…

付钱做编程题目的网站富阳做网站

int.parse() float.parase() double.parse()这些都可以把字符串类型转换为数值类型 **.ToString();把各种类型转换为字符串类型 (int)**代表类型之间的转换有显示转换,也有隐形转换,这种只限于数值之间的转换,即想转换…

读人形机器人23政府的角色

读人形机器人23政府的角色1. 监管机器人和AI 1.1. 世界各国政府面临着驾驭这场技术革命的关键任务,既要实现利益最大化,又要降低风险 1.2. 随着机器人和AI系统逐步融入日常生活,制定有效的政策来管理技术集成至关重…

汕尾建设局网站首页个人网站制作软件哪个好

区别 在Qt项目开发中,经常会用到窗体控件用于显示及数据操作和其他交互等。 但,窗体分为顶层窗口(Top-level Window)和普通窗口(Regular Window)。 他们之间是有区别的,包括在项目实际中的用法…

网站建设门户书店网站建设策划书

文章目录 十、 关系和连接10.1 模型定义10.1.1 创建测试数据 10.2 执行简单连接10.3 连接多个表10.4 从多个来源中选择10.4.1 更复杂的例子 10.5 子查询10.5.1 公用表表达式 10.6 同一模型的多个外键10.7 加入任意字段 十、 关系和连接 在本文档中,我们将介绍 Peew…

做网站用什么前端框架手机做app的软件叫什么

时间过的好快, 考研倒计时①天 去年这个时候, 我应该也是充满未知地进入即将来到的考研初试 去年,这个时候,疫情😷刚刚放开 许多人都🐑,发烧,可幸的是我受影响不大 &#x1f3…

诊所网站模板二手交易平台 网站开发

源码分析丨MySQL的多层SP中Cursor相关BUG 一、问题发现 在一次开发中在sp中使用多层cursor的时候想知道每层的m_max_cursor_index值分别是多少,以用来做后续开发。于是做了以下的试验,但是发现第一个level2那层的m_max_cursor_index的值有点问题。 注&…

有哪些html网页设计的比赛优化大师apk

1. grep 简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(使用固定…