基于cobra开发的k8s命令行管理工具k8s-manager
基于cobra开发的k8s命令行管理工具k8s-manager
- 如果觉得好用,麻烦给个Star!
- 通用配置
- 1 node 分析所有node的资源情况
- 2 analysis 分析Node节点上的资源使用构成
- 3 image 获取指定namespace的所有镜像地址
- 4 resource 获取指定namespace的所有limit 与 Requests大小
- 5 top 获取指定namespace的资源使用情况
- 常用的使用套路
- 1 k8s节点异常卡顿,容器频繁重启
- 2 优化limit requests
如果觉得好用,麻烦给个Star!
项目介绍:Github地址 ,代码已开源
- https://github.com/qinlang258/cobra-k8s-manager/tree/main
该命令有以下几个功能:analysis,image,node,resource,top
使用 方法:下载项目githun空间下,使用k8s-manager即可,无需进行额外配置。
longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.Usage:k8s-manager [flags]k8s-manager [command]Available Commands:analysis 分析某一节点的资源使用情况completion Generate the autocompletion script for the specified shellhelp Help about any commandimage 获取镜像信息node 获取节点的资源信息resource 获取pod资源的相关 Limit与Resource信息top 获取容器的实际使用资源开销Flags:--analysis string 请输入想分析的Node名字-h, --help help for k8s-manager--kubeconfig string 请输入 kubeconfig的文件路径 (default "/root/.kube/config")--name string 请输入资源的name信息-n, --namespace string 请输入 namespace空间,如果不填写则输出所有空间下的镜像 (default "all")--node string 请输入想要查询的Node名字--workload string 请输入 workload的种类,如果不填写输出所有类型的镜像 (default "all")Use "k8s-manager [command] --help" for more information about a command.
通用配置
- 所有命令均可附带 --kubeconfig指定配置文件
./k8s-manager --kubeconfig <指定使用的k8s配置文件>
1 node 分析所有node的资源情况
示例代码
1 获取所有节点的资源信息
./k8s-manager node
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager node
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
| 节点名 | 节点IP | OS镜像 | KUBELET版本 | CONTAINER RUNTIME VERSION | 已使用的CPU | CPU总大小 | CPU使用占服务器的百分比 | 已使用的内存 | 内存总大小 | 内存使用占服务器的百分比 |
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
| k8s | 192.168.44.134 | Ubuntu 22.04.4 LTS | v1.26.7 | containerd://1.6.8 | 363.00m | 8000m | 4.54% | 6585.25Mi | 7901.89Mi | 83.34% |
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
2 analysis 分析Node节点上的资源使用构成
1 分析指定节点上的所有容器的资源开销
./k8s-manager analysis --node <节点名>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager analysis --node k8s
E1222 05:55:41.502661 75816 analysis.go:46] context.BackgroundError fetching metrics for pod ingress-nginx-admission-create-r24ff: pods "ingress-nginx-admission-create-r24ff" not found
E1222 05:55:41.504124 75816 analysis.go:46] context.BackgroundError fetching metrics for pod ingress-nginx-admission-patch-w5gnn: pods "ingress-nginx-admission-patch-w5gnn" not found
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
| 节点名 | NAMESPACE | POD NAME | 容器名 | 当前已使用的CPU | CPU使用占服务器的百分比 | 当前已使用的内存 | 内存使用占服务器的百分比 |
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
| k8s | kube-system | kube-apiserver-k8s | kube-apiserver | 35.00m | 0.44% | 492.68m | 6.24% |
| k8s | monitoring | prometheus-k8s-0 | prometheus | 10.00m | 0.12% | 383.23m | 4.85% |
| k8s | monitoring | prometheus-k8s-1 | prometheus | 17.00m | 0.21% | 342.59m | 4.34% |
| k8s | ingress-nginx | ingress-nginx-controller-f87d69b54-t8kd8 | controller | 1.00m | 0.01% | 166.57m | 2.11% |
| k8s | monitoring | grafana-9bb74449d-8m8xl | grafana | 4.00m | 0.05% | 134.36m | 1.70% |
| k8s | kube-system | calico-node-7zbfk | calico-node | 24.00m | 0.30% | 102.68m | 1.30% |
| k8s | kube-system | etcd-k8s | etcd | 18.00m | 0.22% | 86.12m | 1.09% |
| k8s | kube-system | kube-controller-manager-k8s | kube-controller-manager | 11.00m | 0.14% | 85.29m | 1.08% |
| k8s | monitoring | prometheus-adapter-854d95bc45-pvfh7 | prometheus-adapter | 3.00m | 0.04% | 58.35m | 0.74% |
| k8s | monitoring | prometheus-operator-57cf88fbcb-wks8t | prometheus-operator | 1.00m | 0.01% | 45.33m | 0.57% |
| k8s | kube-system | coredns-5bbd96d687-x9qmp | coredns | 2.00m | 0.03% | 43.17m | 0.55% |
| k8s | kube-system | metrics-server-7d5c696976-wlms5 | metrics-server | 3.00m | 0.04% | 38.56m | 0.49% |
| k8s | kube-system | kube-scheduler-k8s | kube-scheduler | 2.00m | 0.03% | 35.71m | 0.45% |
| k8s | monitoring | node-exporter-6cqz8 | kube-rbac-proxy | 1.00m | 0.01% | 34.83m | 0.44% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-state-metrics | 1.00m | 0.01% | 33.56m | 0.42% |
| k8s | kube-system | calico-kube-controllers-57b57c56f-d5p6n | calico-kube-controllers | 1.00m | 0.01% | 31.89m | 0.40% |
| k8s | monitoring | prometheus-adapter-854d95bc45-tz822 | prometheus-adapter | 3.00m | 0.04% | 30.73m | 0.39% |
| k8s | kube-system | kube-proxy-nb9tq | kube-proxy | 1.00m | 0.01% | 29.99m | 0.38% |
| k8s | monitoring | alertmanager-main-1 | alertmanager | 2.00m | 0.03% | 29.04m | 0.37% |
| k8s | kube-system | coredns-5bbd96d687-thl59 | coredns | 2.00m | 0.03% | 29.00m | 0.37% |
| k8s | monitoring | alertmanager-main-0 | alertmanager | 2.00m | 0.03% | 27.72m | 0.35% |
| k8s | monitoring | alertmanager-main-2 | alertmanager | 2.00m | 0.03% | 27.71m | 0.35% |
| k8s | monitoring | alertmanager-main-0 | config-reloader | 0.00m | 0.00% | 22.56m | 0.29% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | blackbox-exporter | 1.00m | 0.01% | 21.18m | 0.27% |
| k8s | monitoring | prometheus-k8s-1 | config-reloader | 1.00m | 0.01% | 20.79m | 0.26% |
| k8s | monitoring | alertmanager-main-1 | config-reloader | 1.00m | 0.01% | 20.40m | 0.26% |
| k8s | monitoring | prometheus-k8s-0 | config-reloader | 0.00m | 0.00% | 20.16m | 0.26% |
| k8s | monitoring | alertmanager-main-2 | config-reloader | 1.00m | 0.01% | 18.77m | 0.24% |
| k8s | nfs | nfs-subdir-external-provisioner-65664b8954-qrs2q | nfs-subdir-external-provisioner | 1.00m | 0.01% | 17.30m | 0.22% |
| k8s | monitoring | node-exporter-6cqz8 | node-exporter | 13.00m | 0.16% | 15.90m | 0.20% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-main | 1.00m | 0.01% | 9.80m | 0.12% |
| k8s | monitoring | prometheus-operator-57cf88fbcb-wks8t | kube-rbac-proxy | 1.00m | 0.01% | 9.67m | 0.12% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | kube-rbac-proxy | 1.00m | 0.01% | 9.62m | 0.12% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-self | 1.00m | 0.01% | 9.15m | 0.12% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | module-configmap-reloader | 0.00m | 0.00% | 4.00m | 0.05% |
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
3 image 获取指定namespace的所有镜像地址
示例代码
1 获取所有namespace的镜像地址
./k8s-manager image
2 获取指定namespace的镜像地址
./k8s-manager image -n <namespace>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager image
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
| NAMESPACE | 资源类型 | 资源名 | 容器名 | 镜像地址 |
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
| ingress-nginx | deployment | ingress-nginx-controller | controller | registry.cn-zhangjiakou.aliyuncs.com/jcrose-k8s/ingress-nginx-controller:v1.7.0 |
| kube-system | deployment | calico-kube-controllers | calico-kube-controllers | docker.io/calico/kube-controllers:v3.25.0 |
| kube-system | deployment | coredns | coredns | registry.aliyuncs.com/google_containers/coredns:v1.9.3 |
| kube-system | deployment | metrics-server | metrics-server | k8s.dockerproxy.net/metrics-server/metrics-server:v0.7.2 |
| kube-system | daemonsets | calico-node | calico-node | docker.io/calico/node:v3.25.0 |
| kube-system | daemonsets | kube-proxy | kube-proxy | registry.aliyuncs.com/google_containers/kube-proxy:v1.26.7 |
| monitoring | deployment | blackbox-exporter | blackbox-exporter | quay.io/prometheus/blackbox-exporter:v0.24.0 |
| monitoring | deployment | blackbox-exporter | module-configmap-reloader | jimmidyson/configmap-reload:v0.5.0 |
| monitoring | deployment | blackbox-exporter | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | grafana | grafana | grafana/grafana:9.5.3 |
| monitoring | deployment | kube-state-metrics | kube-state-metrics | bitnami/kube-state-metrics:2.9.2 |
| monitoring | deployment | kube-state-metrics | kube-rbac-proxy-main | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | kube-state-metrics | kube-rbac-proxy-self | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | prometheus-adapter | prometheus-adapter | xuxiaoweicomcn/prometheus-adapter:v0.11.1 |
| monitoring | deployment | prometheus-operator | prometheus-operator | quay.io/prometheus-operator/prometheus-operator:v0.67.1 |
| monitoring | deployment | prometheus-operator | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | statefulsets | alertmanager-main | alertmanager | quay.io/prometheus/alertmanager:v0.26.0 |
| monitoring | statefulsets | alertmanager-main | config-reloader | quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1 |
| monitoring | statefulsets | prometheus-k8s | prometheus | quay.io/prometheus/prometheus:v2.46.0 |
| monitoring | statefulsets | prometheus-k8s | config-reloader | quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1 |
| monitoring | daemonsets | node-exporter | node-exporter | quay.io/prometheus/node-exporter:v1.6.1 |
| monitoring | daemonsets | node-exporter | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| nfs | deployment | nfs-subdir-external-provisioner | nfs-subdir-external-provisioner | dyrnq/nfs-subdir-external-provisioner:v4.0.2 |
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
4 resource 获取指定namespace的所有limit 与 Requests大小
新增 Java XMX XMS的展示,比较直观的展示 CPU内存的Limit与Requests,Prometheus根据7天查询的内存CPU使用(已经根据转换得到与kubectl top po一直的数据格式),Java_opts的XMX,XMS,可以作为一个参考依据来调整。
示例代码
1 获取所有namespace的limit 与 Requests大小
./k8s-manager resource
2 获取指定namespace的limit 与 Requests大小
./k8s-manager resource -n <namespace>3 在prometheus查询最近七天的内存CPU使用情况
./k8s-manager resource prometheus -u <prometheus访问地址>

示例代码:获取requests与Limit,并且查询prometheus的实际开销
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager resource prometheus -u http://192.168.44.134:20248/ -n monitoring
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
| NAMESPACE | POD NAME | 容器名 | CPU限制 | CPU所需 | 最近7天已使用的CPU | 内存限制 | 内存所需 | 最近7天已使用的内存 |
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
| monitoring | alertmanager-main-0 | alertmanager | 100m | 4m | 7.76m | 100Mi | 100Mi | 23.12MI |
| monitoring | alertmanager-main-0 | config-reloader | 10m | 10m | 1.13m | 50Mi | 50Mi | 17.61MI |
| monitoring | alertmanager-main-1 | alertmanager | 100m | 4m | 6.68m | 100Mi | 100Mi | 23.20MI |
| monitoring | alertmanager-main-1 | config-reloader | 10m | 10m | 0.56m | 50Mi | 50Mi | 17.49MI |
| monitoring | alertmanager-main-2 | alertmanager | 100m | 4m | 8.00m | 100Mi | 100Mi | 23.27MI |
| monitoring | alertmanager-main-2 | config-reloader | 10m | 10m | 0.58m | 50Mi | 50Mi | 17.42MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | blackbox-exporter | 20m | 10m | 3.24m | 40Mi | 40Mi | 14.40MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | module-configmap-reloader | 20m | 10m | 0.00m | 40Mi | 40Mi | 1.24MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | kube-rbac-proxy | 20m | 10m | 0.54m | 40Mi | 40Mi | 8.84MI |
| monitoring | grafana-9bb74449d-8m8xl | grafana | 200m | 100m | 13.44m | 200Mi | 200Mi | 78.36MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-state-metrics | 100m | 10m | 2.65m | 250Mi | 250Mi | 18.55MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-main | 40m | 20m | 0.98m | 40Mi | 40Mi | 9.24MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-self | 20m | 10m | 0.52m | 40Mi | 40Mi | 8.93MI |
| monitoring | node-exporter-6cqz8 | node-exporter | 250m | 102m | 42.76m | 180Mi | 180Mi | 9.23MI |
| monitoring | node-exporter-6cqz8 | kube-rbac-proxy | 20m | 10m | 2.64m | 40Mi | 40Mi | 11.93MI |
| monitoring | prometheus-adapter-854d95bc45-pvfh7 | prometheus-adapter | 250m | 102m | 10.88m | 180Mi | 180Mi | 31.21MI |
| monitoring | prometheus-adapter-854d95bc45-tz822 | prometheus-adapter | 250m | 102m | 9.31m | 180Mi | 180Mi | 31.08MI |
| monitoring | prometheus-k8s-0 | prometheus | 0 | 0 | 59.38m | 0 | 0 | 321.25MI |
| monitoring | prometheus-k8s-0 | config-reloader | 10m | 10m | 0.35m | 50Mi | 50Mi | 18.61MI |
| monitoring | prometheus-k8s-1 | prometheus | 0 | 0 | 53.57m | 0 | 0 | 321.04MI |
| monitoring | prometheus-k8s-1 | config-reloader | 10m | 10m | 0.67m | 50Mi | 50Mi | 18.47MI |
| monitoring | prometheus-operator-57cf88fbcb-wks8t | prometheus-operator | 200m | 100m | 2.03m | 200Mi | 200Mi | 27.48MI |
| monitoring | prometheus-operator-57cf88fbcb-wks8t | kube-rbac-proxy | 20m | 10m | 0.71m | 40Mi | 40Mi | 9.12MI |
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
5 top 获取指定namespace的资源使用情况
这个命令是查看以namespace为单位的,不能top node节点,如果需要看 node信息,使用 k8s-manager node 或者 k8s-manager analysis --node
1 获取所有namespace的资源开销
./k8s-manager top
2 获取指定namespace的资源开销
./k8s-manager top -n <namespace>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager top -n monitoring
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
| NAMESPACE | 资源类型 | 资源名 | POD NAME | 已使用的CPU | 已使用的内存 |
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-0 | 2.00m | 28.20m |
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-1 | 1.00m | 19.89m |
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-2 | 2.00m | 27.96m |
| monitoring | ReplicaSet | blackbox-exporter-59dddb7bb6 | blackbox-exporter-59dddb7bb6-8lp69 | 0.00m | 4.00m |
| monitoring | ReplicaSet | grafana-9bb74449d | grafana-9bb74449d-8m8xl | 5.00m | 134.92m |
| monitoring | ReplicaSet | kube-state-metrics-79996cfcc5 | kube-state-metrics-79996cfcc5-5286s | 1.00m | 9.84m |
| monitoring | DaemonSet | node-exporter | node-exporter-6cqz8 | 9.00m | 16.10m |
| monitoring | ReplicaSet | prometheus-adapter-854d95bc45 | prometheus-adapter-854d95bc45-pvfh7 | 3.00m | 57.54m |
| monitoring | ReplicaSet | prometheus-adapter-854d95bc45 | prometheus-adapter-854d95bc45-tz822 | 3.00m | 32.05m |
| monitoring | StatefulSet | prometheus-k8s | prometheus-k8s-0 | 12.00m | 397.64m |
| monitoring | StatefulSet | prometheus-k8s | prometheus-k8s-1 | 10.00m | 375.96m |
| monitoring | ReplicaSet | prometheus-operator-57cf88fbcb | prometheus-operator-57cf88fbcb-wks8t | 1.00m | 43.32m |
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
常用的使用套路
1 k8s节点异常卡顿,容器频繁重启
k8s-manager analysis --node k8s #查看实际node上的开销情况,数据是由metrics-server提供的,使用的资源在服务器的占比
2 优化limit requests
支持 namespace与 node的筛选
root@k8s:/usr/local/cobra-k8s-manager# go run main.go resource prometheus -u http://192.168.44.134:20248/ --node k8s -n nfs
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
| 节点名 | NAMESPACE | POD NAME | 容器名 | CPU限制 | CPU所需 | 最近7天已使用的CPU | 内存限制 | 内存所需 | 最近7天已使用的内存 |
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
| k8s | nfs | nfs-subdir-external-provisioner-65664b8954-qrs2q | nfs-subdir-external-provisioner | 0 | 0 | 4.10m | 0 | 0 | 9.60Mi |
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
相关文章:
基于cobra开发的k8s命令行管理工具k8s-manager
基于cobra开发的k8s命令行管理工具k8s-manager 如果觉得好用,麻烦给个Star!通用配置1 node 分析所有node的资源情况2 analysis 分析Node节点上的资源使用构成3 image 获取指定namespace的所有镜像地址4 resource 获取指定namespace的所有limit 与 Requests大小5 top…...
scala基础学习(数据类型)-数组
文章目录 数组 Array创建数组直接定义fillofDimtabulate range打印数组toSeqdeepforeach(println) length获取长度indexOf 获取元素索引获取元素/修改元素遍历数组数组内元素转换filter 过滤found 查找元素数组折叠 foldLeft切片拼接排序拷贝copyclone 数组 Array Array是一个…...
uniapp 微信小程序 页面部分截图实现
uniapp 微信小程序 页面部分截图实现 原理都是将页面元素画成canvas 然后将canvas转化为图片,问题是我页面里边本来就有一个canvas,ucharts图画的canvas我无法画出这块。 想了一晚上,既然canvas最后能转化为图片,那我直接…...
C语言从入门到放弃教程
C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字…...
直流无刷电机驱动原理3-驱动板硬件设计
六步换向原理 检测转子角度,知道什么时候是60度,什么时候应该换向。 逆时针旋转 三相逆变器,mos管,半桥驱动电路。 PWM调制 不对称半桥调制例程使用第(2)种。对上桥臂PWM调制,下桥臂全部导通。这时候由上桥臂的PWM的占空比决定电机的旋转速度。驱动器电路硬件框图--实…...
攻防世界web第三题file_include
<?php highlight_file(__FILE__);include("./check.php");if(isset($_GET[filename])){$filename $_GET[filename];include($filename);} ?>惯例: 代码审查: 1.可以看到include(“./check.php”);猜测是同级目录下有一个check.php文…...
Trivy Operator命令使用说明
你已成功安装了 Trivy Operator,以下是命令的使用说明: 1. 查看 VulnerabilityReports VulnerabilityReports 是 Trivy Operator 生成的漏洞扫描报告,用于检查容器镜像中的漏洞。 kubectl get vulnerabilityreports --all-namespaces -o wi…...
Lazada商品评论API接口:深度解析与应用实践
在电商领域,用户评论是了解产品市场表现和消费者反馈的重要渠道。Lazada作为东南亚领先的电商平台,提供了商品评论API接口,允许第三方开发者获取平台上商品的评论信息。本文将深入解析Lazada商品评论API接口的重要性、开发应用、以及如何通过…...
2024最新鸿蒙开发面试题合集(二)-HarmonyOS NEXT Release(API 12 Release)
上一篇面试题链接:https://mp.csdn.net/mp_blog/creation/editor/144685078 1. 鸿蒙简单介绍和发展历程 HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁,流畅,连续࿰…...
macrodroid通过http请求控制手机运行宏
macrodroid adb命令 adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS例:http请求手机播放指定MP3文件 声音素材_电量过低提醒 新建一个宏 添加触发器-连接-http服务器请求 路径随意填,最好不要有特殊符号,不然浏览器识别链接会出错,…...
【Unity3D】Jobs、Burst并行计算裁剪Texture3D物体
版本:Unity2019.4.0f1 PackageManager下载Burst插件(1.2.3版本) 利用如下代码,生成一个Texture3D资源,它只能脚本生成,是一个32*32*32的立方体,导出路径记得改下,不然报错。 using UnityEditor; using Uni…...
Cesium材质——Material
简介: Cesium.Material对象的目的,就是生成一段名称为czm_getMaterial的函数(示例代码如下), 这个czm_getMaterial函数,是shader代码,会被放到片元着色器中使用。 czm_material czm_getMater…...
Postman请求报错SSL证书验证问题
1.报错如下 2.解决报错...
终章:DevOps实践总结报告
DevOps实践总结报告 一、概述 1. 报告目的 本报告旨在总结DevOps实践中的关键领域、最佳实践和实施成果,包括需求管理、持续集成/持续部署、测试管理、安全管理和效能度量等方面。 2. 覆盖范围 #mermaid-svg-L0xFFzMbiDH1qhbl {font-family:"trebuchet ms&…...
解锁金融新纪元:内部知识库的深度挖掘与战略价值
在日新月异的金融行业中,信息的快速流通与精准决策成为了企业竞争力的核心。随着大数据、人工智能等技术的不断渗透,金融机构开始意识到,内部知识库的深度挖掘不仅是提升业务效率的关键,更是推动行业创新与转型的重要驱动力。本文…...
【c语言】一维数组与二维数组
数组 数组名代表的是数组在内存中的起始位置,即首元素的地址,而下表表示的则是该元素相对数组起始位置的偏移量 一维数组 1.定义 类型名 数组名[数组长度] int a[100]; //整型数组长度为101,数组名为a char b[100];//字符型数组长度为101&…...
Milvus×EasyAi:如何用java从零搭建人脸识别应用
如何从零搭建一个人脸识别应用?不妨试试原生Java人工智能算法:EasyAi Milvus 的组合拳。 本文将使用到的软件和工具包括: EasyAi:人脸特征向量提取Milvus:向量数据库用于高效存储和检索数据。 01. EasyAi:…...
Dockerfile 实战指南:解锁高效容器化开发
一、Dockerfile 简介 Dockerfile 是构建镜像的文本文件,通过一系列指令描述镜像构建过程,构建操作由 Docker daemon 进行,它会先验证语法,然后逐一运行指令,每次生成一个新的镜像层,直到构建出最终的镜像。…...
【每日学点鸿蒙知识】混淆配置、主线程处理大量数据、客户端拖拽效果、三方网站加载样式、List警告问题
1、HarmonyOS API升级之后缺少混淆配置文件? 可参考以下文档: 混淆配置:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-build-obfuscation-V5 混淆规则:https://gitee.com/openharmony/arkcompiler_ets…...
ChatGPT-4助力学术论文提升文章逻辑、优化句式与扩充内容等应用技巧解析。附提示词案例
目录 1.扩写(expansion/paraphrasing) 2.优化(optimization) 3.缩写(optimization) 4.提取关键词(keyword extraction) 5.短语转换(phrase transformationÿ…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
高分辨率图像合成归一化流扩展
大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...
Java高级 |【实验八】springboot 使用Websocket
隶属文章:Java高级 | (二十二)Java常用类库-CSDN博客 系列文章:Java高级 | 【实验一】Springboot安装及测试 |最新-CSDN博客 Java高级 | 【实验二】Springboot 控制器类相关注解知识-CSDN博客 Java高级 | 【实验三】Springboot 静…...
