Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
Joyber 的博客

原文链接:https://blog.csdn.net/LinkSLA/article/details/139005411

一、运维工具

01 版本控制系统 Git:

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

02 持续集成:

Jenkins - 开源自动化服务器,用于构建、测试和部署代码。

03 自动化部署:

Ansible - 基于Python的自动化工具,用于配置管理和应用程序部署。

04 容器编排:

Kubernetes - 开源容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。

05 容器化:

Docker - 轻量级容器技术,用于封装应用程序和其依赖。

06 监控:

Prometheus - 开源监控和警报工具,用于收集和查询系统指标。

07 日志管理:

ELK Stack (Elasticsearch, Logstash, Kibana) - 用于收集、存储和可视化日志数据的组合工具。

08 配置管理:

Puppet - 自动化配置管理工具,用于保持系统配置的一致性。

09 云平台:

Terraform - 基础设施即代码工具,用于定义和部署云基础设施。

10 持续交付:

Spinnaker - 开源的持续交付平台,支持多云环境的部署。

11 容器注册表:

Docker Registry - 存储和分发Docker镜像的仓库。

12 性能测试:

Apache JMeter - 用于测试性能和负载的开源工具。

13 安全扫描:

SonarQube - 代码质量和安全性扫描工具,用于发现潜在问题。

14 自动化测试:

Selenium - 用于自动化浏览器应用程序的测试工具。

15 协作平台:

Slack - 团队沟通和协作的实时消息平台。

16 容器监控:

cAdvisor - Google开源的容器资源使用和性能分析工具。

17 流水线编排:

Apache Airflow - 用于编排复杂数据工作流的平台。

18 故障注入:

Chaos Monkey - Netflix开源的故障注入工具,用于测试系统的弹性。

19 网络配置:

Istio - 用于管理、保护和监控微服务的服务网格。

20 自动化测试:

Robot Framework - 开源自动化测试框架,支持关键字驱动测试。

21 服务器监控:

Nagios - 开源的主机、服务和网络监控系统。

22 日志收集:

Fluentd - 开源数据收集器,用于统一日志传输和处理。

13 性能监控:

Grafana - 开源分析和监控平台,用于可视化指标和日志。

14 API测试:

Postman - 用于测试API的协作平台。

15 云存储:

Amazon S3 - 可扩展的对象存储服务,用于存储和检索任意类型的数据。

16 容器监控:

Sysdig - 用于容器和微服务的系统调试和监控工具。

17 自动化测试:

JUnit - Java语言的单元测试框架。

18 配置管理:

Chef - 自动化配置管理工具,用于定义基础设施为代码。

19 日志分析:

Splunk - 用于搜索、监控和分析大规模数据的平台。

20 云监控:

AWS CloudWatch - 用于监控AWS资源和应用程序的服务。

21 容器编排:

Docker Compose - 定义和运行多容器Docker应用程序的工具。

22 代码审查:

Gerrit - 用于进行代码审查和合并请求的协作工具。

23 配置管理:

SaltStack - 分布式配置管理和远程执行工具。

24 云平台:

Microsoft Azure - 微软的云计算平台,提供各种云服务。

25 日志分析:

Graylog - 开源的日志管理和分析平台,用于搜索、分析和可视化日志数据。

26 K8s大模型:

K8sgpt - 可用于扫描您的Kubernetes集群,使用简单的英语进行诊断和故障排除。它具有SRE经验的分析器,并通过AI帮助提取最相关的信息。

官方网站:http://k8sgpt.ai/

20个非常优秀的监控告警工具推荐

Prometheus:开源监控系统,支持多维度数据收集和警报。

Grafana:开源分析和监控平台,用于可视化指标和日志。

Zabbix:分布式监控解决方案,支持各种网络、服务器和应用程序监控。

Nagios:开源的主机、服务和网络监控系统,具有可扩展性。

Icinga:Nagios的分支,提供更现代的监控和报警功能。

AlertManager:Prometheus的组件,用于处理和发送警报通知。

InfluxDB:开源时序数据库,与Telegraf和Grafana结合使用可构建完整的监控系统。

Sensu:分布式的监控和警报系统,支持多云环境。

Elasticsearch:开源搜索和分析引擎,与Kibana和Logstash结合用于日志分析。

Netdata:实时性能监控系统,提供详细的系统和应用程序指标。

CAdvisor:Google开源的容器监控工具,用于分析容器资源使用。

Sysdig:用于容器和云环境的系统调试和监控工具。

OpenNMS:企业级网络监控平台,支持自动发现和事件管理。

Check_MK:开源IT监控解决方案,具有用户友好的Web界面。

Shinken:Nagios的克隆,提供更好的性能和可扩展性。

Zenoss:分布式IT监控平台,支持物理、虚拟和云基础设施。

Cabot:开源的自助服务监控系统,用于检测应用程序问题。

Kapacitor:InfluxDB的组件,用于实时数据处理和警报。

VictoriaMetrics:高性能的时序数据库和监控解决方案。

Shout:简单、轻量级的自定义告警通知工具,支持多种集成方式。

umijs/umi
https://github.com/umijs/umi

umi 是 React 社区中的一个框架,它的核心优势在于提供了一种快速创建 React 应用程序的方式。 以下是 umi 的主要功能、关键特性和核心优势:

  • 提供了一种快速创建 React 应用程序的方式
  • 可以轻松地创建路由、插件和布局
  • 支持多种构建方式,包括 SSR、SPA 和静态导出
  • 提供了一套完整的插件系统,可以轻松地扩展功能
  • 社区活跃,有大量的贡献者和维护者支持 总之,umi 是一个非常强大的 React 框架,可以帮助开发人员快速创建高质量的应用程序。

ComposioHQ/composio
https://github.com/ComposioHQ/composio

Composio 是一个为 AI 代理提供生产就绪工具集的项目,它为代理提供高质量的工具和集成,无需担心身份验证、准确性和可靠性,只需一行代码即可完成。该项目的主要功能、关键特性和核心优势包括:

  • 支持 100 多种工具,包括软件、操作系统、浏览器、搜索、SWE、RAG 和框架等。
  • 支持 GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等 90 多个软件。
  • 支持多种身份验证协议,包括访问令牌、刷新令牌、OAuth、API 密钥、JWT 等。
  • 可以获得高达 40% 更好的准确性。
  • 可以轻松扩展,支持添加其他工具、框架和身份验证协议。
  • 可以嵌入到应用程序的后端,为所有用户和代理管理身份验证和集成,保持一致的体验。

modelscope/FunClip
https://github.com/modelscope/FunClip

FunClip 是一个开源、精准、方便的视频切片工具,集成了大语言模型 AI 智能剪辑功能。 该项目的主要功能、关键特性和核心优势包括:

  • 使用阿里巴巴通义实验室开源的 FunASR Paraformer 系列模型进行视频语音识别。
  • 用户可以自由选择识别结果中的文本片段或说话人,并通过点击裁剪按钮获取对应片段的视频。
  • 集成了多种大语言模型调用方式并提供 prompt 配置接口,尝试通过大语言模型进行视频裁剪。
  • 集成了阿里巴巴开源的工业级模型 Paraformer-Large 和 SeACo-Paraformer 的热词定制化功能,提升识别效果。
  • 支持多段自由剪辑,并且会自动返回全视频 SRT 字幕和目标段落 SRT 字幕。

lllyasviel/IC-Light
https://github.com/lllyasviel/IC-Light

IC-Light 是一个用于操纵图像照明的项目。

该项目的主要功能和关键特性包括:

  • 提供两种模型:文本条件重照模型和背景条件模型
  • 以前景图像作为输入
  • 能够产生高度一致的重照效果
  • 不同的重照效果可以合并为法线贴图

hydralauncher/hydra
https://github.com/hydralauncher/hydra

hydra 是一个游戏启动器,具有自己的内置 BitTorrent 客户端和自我管理的重新打包抓取器。 该项目的主要功能、关键特性和核心优势如下:

  • 内置 BitTorrent 客户端
  • 游戏页面上的 How Long To Beat (HLTB) 集成
  • 下载路径自定义
  • 支持 Windows 和 Linux

日常 web 开发中,我们经常遇到想要滚动某元素,但却导致了其他元素发生了滚动的问题。

比如我们某元素使用了浮层,当浮层无法滑动时,我们尝试滑动浮层,会发现浮层下的元素(通常来说是页面)发生了滚动,这就是滚动穿透。

而元素滚动到底时,再尝试滚动会导致元素的可滚动父级开始滚动,这就是滚动链(Scroll Chaining)。

换个说法来说规范可能更好理解一些,规范不是用户手册,它只会规定了你要有哪些特性以及如何实现这些特性,但它不会规定你不要实现某些特性。而各大浏览器厂商不约而同的选择了这样的模式:当尝试滚动目标元素时,如果元素不能滚动,那就去尝试让它的父级元素进行滚动,哪个能滚滚哪个。

这篇文章分析了这个问题,并给出了解决方案:
https://blog.osvlabs.com/?p=246

1.交互式:使用标准的输入和输出,是程序执行的中途让用户输入
在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读
取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上。

#! /usr/bin/php

<?php

// ask for input
fwrite(STDOUT, "Enter your name: ");

// get input
$name = trim(fgets(STDIN));

// write input back
fwrite(STDOUT, "Hello, $name!\n");

2.使用命令行参数

在命令行里输入程序参数来更改其运行方式是很常见的做法。你也可以对CLI程序这样做。PHP CLI带有两个特殊的变量,专门用来达到这个
目的:一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素;另一个是$argc变量,它用来保存$argv数组里元素的
个数。

要注意的是,$argv的第一个自变量总是脚本自己的名

方法一:read指令
该命令是在shell提示符下获取用户输入的最简单,使用最广泛的方法read。演示其用法的最佳方法是一个简单的演示:

#! /bin/bash

while true; do
    read -p "Do you wish to install this program? [Y/N]" yn
    echo You input is: $yn;
    case $yn in
        [Yy]* ) echo make install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done

方法二:select指令
另一种方法是Bash的命令。这是使用的相同示例:select

#! /bin/bash

echo "Do you wish to install this program? Please select a number:"
select yn in "Yes" "No"; do
    echo You input is: $yn;
    case $yn in
        Yes ) echo make install; break;;
        No ) exit;;
    * ) echo "Please answer yes or no.";;
    esac
done

执行命令结果:

$ ./test_select.sh 
Do you wish to install this program? Please select a number:
1) Yes
2) No
#? 2
You input is: No
$ ./test_select.sh 
Do you wish to install this program? Please select a number:
1) Yes
2) No
#? 1
You input is: Yes
make install