珠海做网站价格百度商桥在网站

diannao/2026/1/17 12:33:18/文章来源:
珠海做网站价格,百度商桥在网站,电商平台的营销策略,软件介绍网站模板写什么呢前段时间使用 C# 写了个项目#xff0c;使用 Kubernetes API Server#xff0c;获取信息以及监控 Kubernetes 资源#xff0c;然后结合 Neting 做 API 网关。体验地址 http://neting.whuanle.cn:30080/账号 admin#xff0c;密码 admin123本篇文章主要介绍#xf… 写什么呢前段时间使用 C# 写了个项目使用 Kubernetes API Server获取信息以及监控 Kubernetes 资源然后结合 Neting 做 API 网关。体验地址 http://neting.whuanle.cn:30080/账号 admin密码 admin123本篇文章主要介绍如何通过 C# 开发基于 Kuberetes 的应用实现获取 Kubernets 中各种资源的信息以及实现 Conroller 的前提知识。而在下一篇中则会讲解如何实现 Conroller 和 Kubernetes Operator。Kubernetes API Serverkube-apiserver 是 k8s 主要进程之一apiserver 组件公开了 Kubernetes API (HTTP API)apiserver 是 Kubernetes 控制面的前端我们可以用 Go、C# 等编程语言写代码远程调用 Kubernetes控制集群的运行。apiserver 暴露的 endiont 端口是 6443。为了控制集群的运行Kubernetes 官方提供了一个名为 kubectl 的二进制命令行工具正是 apiserver 提供了接口服务kubectl 解析用户输入的指令后向 apiserver 发起 HTTP 请求再将结果反馈给用户。kubectlkubectl 是 Kubernetes 自带的一个非常强大的控制集群的工具通过命令行操作去管理整个集群。Kubernetes 有很多可视化面板例如 Dashboard其背后也是调用 apiserver 的 API相当于前端调后端。总之我们使用的各种管理集群的工具其后端都是 apiserver通过 apiserver我们还可以定制各种各样的管理集群的工具例如网格管理工具 istio。腾讯云、阿里云等云平台都提供了在线的 kubernetes 服务还有控制台可视化操作也是利用了 apiserver。你可以参考笔者写的 Kubernetes 电子书了解更多https://k8s.whuanle.cn/1.basic/5.k8s.html简而言之 Kubernetes API Server 是第三方操作 Kubernetes 的入口。暴露 Kubernetes API Server首先查看 kube-system 中运行的 Kubernetes 组件有个 kube-apiserver-master 正在运行。rootmaster:~# kubectl get pods -o wide -n kube-system NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ... ... kube-apiserver-master 1/1 Running 2 (76d ago) 81d 10.0.0.4 master none none ... ...虽然这些组件很重要但是只会有一个实例并且以 Pod 形式运行而不是 Deployment这些组件只能放在 master 节点运行。然后查看 admin.conf 文件可以通过 /etc/kubernetes/admin.conf 或 $HOME/.kube/config 路径查看到。admin.conf 文件是访问 Kubernetes API Server 的凭证通过这个文件我们可以使用编程访问 Kubernetes 的 API 接口。但是 admin.conf 是很重要的文件如果是开发环境开发集群那就随便造如果是生产环境请勿使用可通过角色绑定等方式限制 API 访问授权。然后把 admin.conf 或 config 文件下载到本地。你可以使用 kubectl edit pods kube-apiserver-master -n kube-system 命令查看 Kubernetes API Server 的一些配置信息。由于 Kubernetes API Server 默认是通过集群内访问的如果需要远程访问则需要暴露到集群外与是否都在内网无关与是否在集群内有关。将 API Server 暴露到集群外kubectl expose pod kube-apiserver-master --typeNodePort --port6443 -n kube-system查看节点随机分配的端口rootmaster:~# kubectl get svc -n kube-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-apiserver-master NodePort 10.101.230.138 none 6443:32263/TCP 25s32263 端口是 Kubernetes 自动分配每个人的都不一样。然后通过 IP:32263 即可测试访问。如果你的集群安装了 CoreDNS那么通过其他节点的 IP也可以访问到这个服务。然后将下载的 admin.conf 或者 config 文件请改名为 admin.conf修改里面的 server 属性因为我们此时是通过远程访问的。连接到 API Server新建一个 MyKubernetes 控制台项目然后将 admin.conf 文件复制放到项目中随项目生成输出。然后在 Nuget 中搜索 KubernetesClient 包笔者当前使用的是 7.0.1。然后在项目中设置环境变量这个环境变量本身是 ASP.NET Core 自带的控制台程序中没有。下面写一个方法用于实例化和获取 Kubernetes 客户端private static Kubernetes GetClient(){KubernetesClientConfiguration config;if (Environment.GetEnvironmentVariable(ASPNETCORE_ENVIRONMENT) Development){// 通过配置文件config KubernetesClientConfiguration.BuildConfigFromConfigFile(./admin.conf);}else{// 通过默认的 Service Account 访问必须在 kubernetes 中运行时才能使用config KubernetesClientConfiguration.BuildDefaultConfig(); }return new Kubernetes(config);}逻辑很简单如果是开发环境则使用 admin.conf 文件访问如果是非开发环境则 BuildDefaultConfig() 自动获取访问凭证此方式只在 Pod 中运行时有效利用 Service Account 认证。下面测试一下获取全部命名空间static async Task Main(){var client GetClient();var namespaces await client.ListNamespaceAsync();foreach (var item in namespaces.Items){Console.WriteLine(item.Metadata.Name);}}好了你已经会获取 Kubernetes 资源了打开入门的第一步秀儿客户端小知识虽然打开了入门的第一步但是不要急着使用各种 API 这里我们来了解一下 Kubernetes 各种资源在客户端中的定义和如何解析结构。首先在 Kubernetes Client C# 的代码中所有 Kubernetes 资源的模型类都在 k8s.Models 中记录。如果我们要在 Kubernetes 中查看一个对象的定义如 kube-systtem 命名空间的kubectl get namespace kube-system -o yamlapiVersion: v1 kind: Namespace metadata:creationTimestamp: 2021-11-03T13:57:10Zlabels:kubernetes.io/metadata.name: kube-systemname: kube-systemresourceVersion: 33uid: f0c1f00d-2ee4-40fb-b772-665ac2a282d7 spec:finalizers:- kubernetes status:phase: ActiveC# 中模型的结构与其一模一样在客户端中模型的名称以 apiVersion 版本做前缀并且通过 V1NamespaceList 获取这类对象的列表。如果要获取某类资源其接口都是以 List 开头的如 client.ListNamespaceAsync()、client.ListAPIServiceAsync()、client.ListPodForAllNamespacesAsync() 等。看来学习已经步入正轨了让我们来实验练习吧如何解析一个 Service这里笔者贴心给读者准备了一些练习第一个练习是解析一个 Service 的信息出来。查看前面创建的 Serviciekubectl get svc kube-apiserver-master -n kube-system -o yaml对应结构如下apiVersion: v1 kind: Service metadata:creationTimestamp: 2022-01-24T12:51:32Zlabels:component: kube-apiservertier: control-planename: kube-apiserver-masternamespace: kube-systemresourceVersion: 24215604uid: ede0e3df-8ef6-45c6-9a8d-2a2048c6cb12 spec:clusterIP: 10.101.230.138clusterIPs:- 10.101.230.138externalTrafficPolicy: ClusterinternalTrafficPolicy: ClusteripFamilies:- IPv4ipFamilyPolicy: SingleStackports:- nodePort: 32263port: 6443protocol: TCPtargetPort: 6443selector:component: kube-apiservertier: control-planesessionAffinity: Nonetype: NodePort status:loadBalancer: {}我们在 C# 中定义一个这样的模型类public class ServiceInfo{/// summary/// SVC 名称/// /summarypublic string Name { get; set; } null!;/// summary/// 三种类型之一 see crefServiceType//// /summarypublic string? ServiceType { get; set; }/// summary/// 命名空间/// /summarypublic string Namespace { get; set; } null!;/// summary/// 有些 Service 没有此选项/// /summarypublic string ClusterIP { get; set; } null!;/// summary/// 外网访问 IP/// /summarypublic string[]? ExternalAddress { get; set; }public IDictionarystring, string? Labels { get; set; }public IDictionarystring, string? Selector { get; set; }/// summary/// name,port/// /summarypublic Liststring? Ports { get; set; }public string[]? Endpoints { get; set; }public DateTime? CreationTime { get; set; }// 关联的 Pod 以及 pod 的 ip}下面指定获取哪个命名空间的 Service 及其关联的 Endpoint 信息。static async Task Main(){var result await GetServiceAsync(kube-apiserver-master,kube-system);Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(result));}public static async TaskServiceInfo GetServiceAsync(string svcName, string namespaceName){var client GetClient();var service await client.ReadNamespacedServiceAsync(svcName, namespaceName);// 获取 service 本身的信息ServiceInfo info new ServiceInfo{Name service.Metadata.Name,Namespace service.Metadata.NamespaceProperty,ServiceType service.Spec.Type,Labels service.Metadata.Labels,ClusterIP service.Spec.ClusterIP,CreationTime service.Metadata.CreationTimestamp,Selector service.Spec.Selector.ToDictionary(x x.Key, x x.Value),ExternalAddress service.Spec.ExternalIPs?.ToArray(),};// service - endpoint 的信息var endpoint await client.ReadNamespacedEndpointsAsync(svcName, namespaceName);Liststring address new Liststring();foreach (var sub in endpoint.Subsets){foreach (var addr in sub.Addresses){foreach (var port in sub.Ports){address.Add(${addr.Ip}:{port.Port}/{port.Protocol});}}}info.Endpoints address.ToArray();return info;}输出结果如下亲如果你对 Kubernetes 的网络知识不太清楚请先打开 https://k8s.whuanle.cn/4.network/1.network.html 了解一下呢。实践 2我们知道一个 Service 可以关联多个 Pod为多个 Pod 提供负载均衡等功能。同时 Service 有 externalIP、clusterIP 等属性要真正解析出一个 Service 是比较困难的。例如 Service 可以只有端口没有 IP也可以只使用 DNS 域名访问也可以不绑定任何 Pod可以从 Service A DNS - Service B IP 间接访问 BService 包含的情况比较多读者可以参考下面这个图下面我们通过代码获取一个 Service 的 IP 和端口信息然后生成对应的 IP端口结构。单纯获取 IP 和 端口是没用的因为他们是分开的你获取到的 IP 可能是 Cluter、Node、LoadBalancer 的有可能只是 DNS 没有 IP那么你这个端口怎么访问呢这个时候必须根据一定的规则解析信息筛选无效数据才能得出有用的访问地址。首先定义一部分枚举和模型public enum ServiceType{ClusterIP,NodePort,LoadBalancer,ExternalName}/// summary/// Kubernetes Service 和 IP/// /summarypublic class SvcPort{// LoadBalancer - NodePort - Port - Target-Port/// summary/// 127.0.0.1:8080/tcp、127.0.0.1:8080/http/// /summarypublic string Address { get; set; } null!;/// summary/// LoadBalancer、NodePort、Cluster/// /summarypublic string Type { get; set; } null!;public string IP { get; set; } null!;public int Port { get; set; }}public class SvcIpPort{public ListSvcPort? LoadBalancers { get; set; }public ListSvcPort? NodePorts { get; set; }public ListSvcPort? Clusters { get; set; }public string? ExternalName { get; set; }}编写解析代码static async Task Main(){var result await GetSvcIpsAsync(kube-apiserver-master,kube-system);Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(result));}public static async TaskSvcIpPort GetSvcIpsAsync(string svcName, string namespaceName){var client GetClient();var service await client.ReadNamespacedServiceAsync(svcName, namespaceName);SvcIpPort svc new SvcIpPort();// LoadBalancerif (service.Spec.Type nameof(ServiceType.LoadBalancer)){svc.LoadBalancers new ListSvcPort();var ips svc.LoadBalancers;// 负载均衡器 IPvar lbIP service.Spec.LoadBalancerIP;var ports service.Spec.Ports.Where(x x.NodePort ! null).ToArray();foreach (var port in ports){ips.Add(new SvcPort{Address ${lbIP}:{port.NodePort}/{port.Protocol},IP lbIP,Port (int)port.NodePort!,Type nameof(ServiceType.LoadBalancer)});}}if (service.Spec.Type nameof(ServiceType.LoadBalancer) || service.Spec.Type nameof(ServiceType.NodePort)){svc.NodePorts new ListSvcPort();var ips svc.NodePorts;// 负载均衡器 IP有些情况可以设置 ClusterIP 为 None也可以手动设置为 None只要有公网 IP 就行var clusterIP service.Spec.ClusterIP;var ports service.Spec.Ports.Where(x x.NodePort ! null).ToArray();foreach (var port in ports){ips.Add(new SvcPort{Address ${clusterIP}:{port.NodePort}/{port.Protocol},IP clusterIP,Port (int)port.NodePort!,Type nameof(ServiceType.NodePort)});}}// 下面这部分代码是正常的使用 {} 可以隔离部分代码避免变量重名// if (service.Spec.Type nameof(ServiceType.ClusterIP))// 如果 Service 没有 Cluster IP可能使用了无头模式也有可能不想出现 ClusterIP//if(service.Spec.ClusterIP None){svc.Clusters new ListSvcPort();var ips svc.Clusters;var clusterIP service.Spec.ClusterIP;var ports service.Spec.Ports.ToArray();foreach (var port in ports){ips.Add(new SvcPort{Address ${clusterIP}:{port.Port}/{port.Protocol},IP clusterIP,Port port.Port,Type nameof(ServiceType.ClusterIP)});}}if (!string.IsNullOrEmpty(service.Spec.ExternalName)){/* NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEmyapp-svcname ExternalName none myapp.baidu.com none 1mmyapp-svcname - myapp-svc 访问 myapp-svc.default.svc.cluster.local变成 myapp.baidu.com*/svc.ExternalName service.Spec.ExternalName;}return svc;}规则解析比较复杂这里就不详细讲解读者如有疑问可联系笔者讨论。主要规则LoadBalancer - NodePort - Port - Target-Port 。最终结果如下通过这部分代码可以解析出 Service 在 External Name、LoadBalancer、NodePort、ClusterIP 等情况下可真正访问的地址列表。实践3 Endpoint 列表如果对 Endpoint 不太了解亲请打开 https://k8s.whuanle.cn/4.network/2.endpoint.html 看一下相关知识。在 Kubernetes 中Service 不是直接关联 Pod 的而是通过 Endpoint 间接代理 Pod。当然除了 Service - Pod通过 Endpoint也可以实现接入集群外的第三方服务。例如数据库集群不在 Kubernetes 集群中但是想通过 Kubernetes Service 统一访问则可以利用 Endpoint 进行解耦。这里不多说读者可以参考 https://k8s.whuanle.cn/4.network/2.endpoint.html 。这里这小节中笔者也将会讲解如何在 Kubernetes 中分页获取资源。首先定义以下模型public class SvcInfoList{/// summary/// 分页属性具有临时有效期具体由 Kubernetes 确定/// /summarypublic string? ContinueProperty { get; set; }/// summary/// 预计剩余数量/// /summarypublic int RemainingItemCount { get; set; }/// summary/// SVC 列表/// /summarypublic ListSvcInfo Items { get; set; } new ListSvcInfo();}public class SvcInfo{/// summary/// SVC 名称/// /summarypublic string Name { get; set; } null!;/// summary/// 三种类型之一 see crefServiceType//// /summarypublic string? ServiceType { get; set; }/// summary/// 有些 Service 没有 IP值为 None/// /summarypublic string ClusterIP { get; set; } null!;public DateTime? CreationTime { get; set; }public IDictionarystring, string? Labels { get; set; }public IDictionarystring, string? Selector { get; set; }/// summary/// name,port/// /summarypublic Liststring Ports { get; set; }public string[]? Endpoints { get; set; }}Kubernetes 中的分页没有 PageNo、PageSize、Skip、Take 、Limit 这些并且分页可能只是预计不一定完全准确。第一次访问获取对象列表时不能使用 ContinueProperty 属性。第一次访问 Kubernets 后获取 10 条数据那么 Kubernetes 会返回一个 ContinueProperty 令牌和剩余数量 RemainingItemCount。那么我们可以通过 RemainingItemCount 计算大概的分页数字。因为 Kubernetes 是不能直接分页的而是通过类似游标的东西记录当前访问的位置然后继续向下获取对象。ContinueProperty 保存了当前查询游标的令牌但是这个令牌有效期是几分钟。解析方法public static async TaskSvcInfoList GetServicesAsync(string namespaceName, int pageSize 1, string? continueProperty null){var client GetClient();V1ServiceList services;if (string.IsNullOrEmpty(continueProperty)){services await client.ListNamespacedServiceAsync(namespaceName, limit: pageSize);}else{try{services await client.ListNamespacedServiceAsync(namespaceName, continueParameter: continueProperty, limit: pageSize);}catch (Microsoft.Rest.HttpOperationException ex){throw ex;}catch{throw;}}SvcInfoList svcList new SvcInfoList{ContinueProperty services.Metadata.ContinueProperty,RemainingItemCount (int)services.Metadata.RemainingItemCount.GetValueOrDefault(),Items new ListSvcInfo()};ListSvcInfo svcInfos svcList.Items;foreach (var item in services.Items){SvcInfo service new SvcInfo{Name item.Metadata.Name,ServiceType item.Spec.Type,ClusterIP item.Spec.ClusterIP,Labels item.Metadata.Labels,Selector item.Spec.Selector,CreationTime item.Metadata.CreationTimestamp};// 处理端口if (item.Spec.Type nameof(ServiceType.LoadBalancer) || item.Spec.Type nameof(ServiceType.NodePort)){service.Ports new Liststring();foreach (var port in item.Spec.Ports){service.Ports.Add(${port.Port}:{port.NodePort}/{port.Protocol});}}else if (item.Spec.Type nameof(ServiceType.ClusterIP)){service.Ports new Liststring();foreach (var port in item.Spec.Ports){service.Ports.Add(${port.Port}/{port.Protocol});}}var endpoint await client.ReadNamespacedEndpointsAsync(item.Metadata.Name, namespaceName);if (endpoint ! null endpoint.Subsets.Count ! 0){Liststring address new Liststring();foreach (var sub in endpoint.Subsets){if (sub.Addresses null) continue;foreach (var addr in sub.Addresses){foreach (var port in sub.Ports){address.Add(${addr.Ip}:{port.Port}/{port.Protocol});}}}service.Endpoints address.ToArray();}svcInfos.Add(service);}return svcList;}规则解析比较复杂这里就不详细讲解读者如有疑问可联系笔者讨论。调用方法static async Task Main(){var result await GetServicesAsync(default, 2);Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(result.Items));if (result.RemainingItemCount ! 0){while (result.RemainingItemCount ! 0){Console.WriteLine($剩余 {result.RemainingItemCount} 条数据{result.RemainingItemCount / 3 (result.RemainingItemCount % 3 0 ? 0 : 1)} 页按下回车键继续获取);Console.ReadKey();result await GetServicesAsync(default, 2, result.ContinueProperty); Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(result.Items));}}}上面的实践中代码较多建议读者启动后进行调试一步步调试下来慢慢检查数据对比 Kubernetes 中的各种对象逐渐加深理解。

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

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

相关文章

顺营销官方网站使用wordpress在ec2上建网站

经济学(六) 国际贸易与资本流动国际贸易相关术语开放/封闭经济自由贸易/贸易保护贸易比价国内生产总值与国民生产总值 国际贸易的利弊分析益处弊端 从贸易中获益:比较优势比较优势和绝对优势比较优势的来源 贸易限制和贸易保护施行贸易保护政…

电子商务网站调研上犹网站建设

三年前,我们宣布了该框架的第二个公开可用的主要版本。 CUBA 6是改变游戏规则的版本–许可从专有转为Apache 2.0。 那些日子,我们甚至无法猜测从长远来看它将把框架带到哪里。 CUBA社区开始呈指数级增长,因此我们了解了开发人员如何使用框架的…

网站建设首选易网宣建设网站的模板

编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 ‘.’ 表示。 Note: 给定的数独序…

厦门微信网站建wordpress更换主题帖子封面不显示

🌈个人主页:程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

百度竞价关键词价格查询工具seo多久可以学会

河流分级法的分级方法是从源头最小河流开始,称为一级河流;两条一级河流汇合成二级河流;以此类推,三级河流等等;最后是干流。本文将介绍中国三级及以上河流数据。 数据简介 1:100万中国三级及以上河流矢量数据是涵盖了全国范围内三级及以上级别河流的详细地理信息和空间分布。这…

尧都区建设厅官方网站互联网保险发展现状分析

创建自动化云端流,流的触发器选择第一个提交新回复时 点击蓝色的Change connection,登录创建Microsoft Forms表单的账号 选择提前创建的表单;如果想连接其他账号创建的Microsoft Forms表单,可以再次点击蓝色的Change connection&a…

高端医疗网站模板免费下载用人名做网站域名

在软件测试行业,CNAS认可和CNAS软件测试公司是不可忽视的关键词。CNAS认可是指中国合格评定国家认可委员会对特定领域组织、机构或公司的能力和资质进行的认可过程。该认可遵循国际标准及相关法律法规,是评定组织或实验室技术能力和专业水平的权威认可&a…

电子商务网站开发需要注意问题上海app开发定制公司

简介: LSM-Tree 是很多 NoSQL 数据库引擎的底层实现,例如 LevelDB,Hbase 等。本文基于《数据密集型应用系统设计》中对 LSM-Tree 数据库的设计思路,结合代码实现完整地阐述了一个迷你数据库,核心代码 500 行左右&#…

湘潭网站制作公司专门做捷径网站

C# 8 is old news. Onward, to C# 9! (C# 8 已成旧闻, 向前, 抵达 C# 9!)Did you know that planning is already underway for the ninth version of the C# language?第九版 C# 语言已经在开发中了, 你晓得伐?Now, to be fair, this has been in the planning phases long,…

哪家企业网站建设好网页设计教程新加坡校友会

检测内容: 五金轴尺寸机器视觉测量 检测要求: 精度0.015mm,速度180~240个/分钟 视觉可行性分析: 对样品进行了光学实验,并进行图像处理,原则上可以使用机器视觉系统进行测试测量。 结果: 对…

合肥专业做网站的公司一个人做电商网站难吗

PaddleOCR.Onnx一款基于Paddle的OCR,项目使用ONNX模型,速度更快。本项目同时支持X64和X86的CPU上使用。本项目是一个基于PaddleOCR的C代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能,同…

河南省城乡和住房建设厅网站网站建设优点

有的时候我们在Windows7的环境下使用Wireshark的时候,比如点击【Interface List】的时候,出现错误。 错误内容如下: There are no interfaces on which a capture can be done. 这个错误是因为系统没有启动NPF服务造成的。 解决的办法很简单&…

linux系统怎么做网站如何做自己的网站后台

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 实例: redis 127…

做网站活动成都网站制作关键词推广排名

Linux swapoff命令Linux swapoff命令用于关闭系统交换区(swap area)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。语法swapoff [设备]参数:-a 将/etc/fstab文件中所有设置为swap的设备关闭-h 帮助信息-V 版本信息实例显示分区信息:# sfdi…

广州网站建设方案案例个人可以做商城网站

2023年上半年,ChatGPT引起了广泛的热议,对于ChatGPT有多热,不需要我重复了,你可能在网上看到了很多报道,标题如《ChatGPT揭开AI战幔:杀死黄页一样摧毁Google?》和《ChatGPT强势来袭,…

兴科cms网站建设系统app下载安装注册

勾选填充零后的效果,就是不够的位数用零来补齐!

网站空间 php程序微网站模板怎么用

MySQL卸载步骤如下: (1)按 winr 快捷键,在弹出的窗口输入 services.msc,打开服务列表。 (2)在服务列表中, 找到 mysql 开头的所有服务, 右键停止,终止对应的…

免费建站平台官网福州做网站价格

Application Fundamentals 署名:译言biAji 链接:http://developer.android.com/guide/topics/fundamentals.html 应用程序基础(Application Fundamentals) Android应用程序使用Java做为开发语言。aapt工具把编译后的Java代码连同其它应用程序需要的数据…

专业旅游网站开发系统网站子域名查询

1、打开开发的基本配置,成为开发者 2、启用开发者密码 3、看一下自己的公众号id 4、记录自己的AppID、AppSecret

深圳建网站兴田德润实惠西安网站设计建设公司 交通

转载自 干货:排名前 16 的 Java 工具类!在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目…