- 博客(119)
- 资源 (2)
- 收藏
- 关注
原创 Nginx源码分析(25篇)
Nginx源码分析 - 初探Nginx的架构 Nginx源码分析 - 基础数据结构篇 - 内存池 ngx_palloc.c Nginx源码分析 - 基础数据结构篇 - 数组结构 ngx_array.c Nginx源码分析 - 基础数据结构篇 - 缓冲区结构 ngx_buf.c Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c Nginx源码分析 ......
2018-09-19 19:36:17 78561
转载 随机森林算法及其实现(Random Forest)
阅读目录1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Python实现 8 参考内容回到顶部1 什么是随机森林? 作为新兴起的、高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销...
2018-09-04 16:36:06 368135 40
转载 Flink架构、原理与部署测试
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为它们所提供的SLA(Service-Level-Aggreement)是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理...
2018-09-04 14:12:36 7738 1
原创 在Pod中使用Golang构建并推送镜像到镜像仓库
注意,这个示例假设你的Dockerfile在Pod的文件系统中。如果你的Dockerfile在其他地方,你可能需要修改这个示例来读取你的Dockerfile。在Pod中使用Golang构建并推送镜像到镜像仓库,你可以使用。替换为你的Dockerfile的路径,将。替换为你的镜像仓库的用户名和密码。替换为你要推送的镜像的引用,将。库来构建镜像,然后使用。在这个示例中,你需要将。
2024-03-15 19:32:26 455
原创 如何用client-go获取k8s因硬盘容量、cpu、内存、gpu资源不够引起的错误信息?
在这个示例中,我们首先获取了"default"命名空间中的所有Pod,然后对于每个Pod,我们获取了与该Pod相关的所有事件,并检查了这些事件的原因是否是"FailedScheduling"、"OutOfcpu"、"OutOfmemory"或"OutOfDisk"。注意,这个示例假设你的kubeconfig文件在"~/.kube/config"。在Kubernetes中,你可以使用client-go库来获取Pod的状态和事件,这些信息可能包含了由于资源不足引起的错误信息。
2024-03-15 19:29:26 483
转载 k8s的Deployment状态查询
在实际应用中,我们通常需要判断Deployment是否成功部署,在本文中将会介绍如何判断K8S Deployment的部署是否成功,并提供相应的代码示例。通过以上的步骤和代码示例,我们可以在Kubernetes中判断Deployment是否成功部署。在本示例中,我们创建一个名为my-deployment的Deployment,它的镜像使用nginx:1.19.0。我们需要判断Pod的副本数量是否与我们在创建Deployment时指定的副本数量一致。最后,我们需要判断Deployment是否可用。
2024-03-15 19:26:49 21
原创 windows的sc命令
描述:SC 是用来与服务控制管理器和服务进行通信的命令行程序。用法: 选项的格式为 "\\ServerName"可通过键入以下命令获取有关命令的更多帮助: "sc [command]"命令:query-----------查询服务的状态,或枚举服务类型的状态。queryex---------查询服务的扩展状态,或枚举服务类型的状态。start-----------启动服务。pause-----------向服务发送 PAUSE 控制请求。
2024-03-14 17:11:08 957
转载 git常用分支管理
master分支是仓库的主分支,也有人叫production分支,这个分支包含最近发布到生产环境的代码,最近发布的release, 这个分支只能从其他分支合并,不能在这个分支直接修改。上面那么多种分支类型,而且不同的分支又是基于其他分支,每次看完之后都记得,但是结合起来发现仅仅停留在有印象,是的,我们不好从单纯的文字上理清分支之间的关系和合并方式。feature分支主要是用来开发一个新的功能,一旦开发完成,我们合并回develop分支,然后提交合并请求到 release 分支进行提测。
2024-03-14 17:08:07 9
转载 k8s的Pod的几种状态
如果Pod中的一个或多个容器由于某种原因失败,Pod将进入失败的状态。:当Pod的容器正在创建中时,Pod将进入创建容器中的状态。:如果节点下线,污点又恰巧不能容忍到其他节点,会导致pod调度失败,可能也会产生Unknown的状态。:如果Pod中的所有容器成功地执行完任务并退出,Pod将进入已完成的状态。:检查容器的退出代码,如果退出代码为非零,表示容器内部发生了错误,定位可以查看容器的日志。检查节点的健康状态。:如果 Pod 中定义了初始化容器,并且初始化容器失败,那么 Pod 也会失败。
2024-03-07 15:14:43 42
转载 Golang select详解
golang 中的 select 就是用来监听和 channel 有关的 IO 操作,当 IO 操作发生时,触发相应的动作。select 只能应用于 channel 的操作,既可以用于 channel 的数据接收,也可以用于 channel 的数据发送。如果 select 的多个分支都满足条件,则会随机的选取其中一个满足条件的分支执行。
2024-03-07 15:13:32 16
转载 万字长文:LLM能力与应用全解析
经过几年时间的发展,大语言模型(LLM)已经从新兴技术发展为主流技术。而以大模型为核心技术的产品将迎来全新迭代。大模型除了聊天机器人应用外,能否在其他领域产生应用价值?在回答这个问题前,需要弄清大模型的核心能力在哪?与这些核心能力关联的应用有哪些?1、LLM能力解析2、LLM技术分析3、LLM案例实践。
2024-03-07 10:14:08 42
转载 Helmfile学习实践
但在实际使用场景中的一些需求 helm 并不能很好的满足,需要进行一些修改和适配,如同时部署多个 chart、不同部署环境的区分以及 chart 的版本控制。这也是个十分好用的功能,可以为不同的事件配置不同的 hook,这样在 CD 出现问题时,通过 hook 可以第一时间收到通知,并快速定位问题。•定期同步,避免环境中出现不符合预期的配置。helmfile 支持 Semver 2.0[6] 的版本号,可以锁定主版本,防止误升级导致的错误。helmfile 在运行时,会触发各种事件,一旦事件触发,相关的。
2024-01-31 18:55:27 73
转载 k8s中的存储卷
Kubernetes支持诸多类型的卷。卷的核心是包含一些数据的一个目录。存储卷属于Pod,Pod的存储卷Pod内的容器能够共享使用。临时卷的生命周期与Pod相同,持久卷则有自己独立的生命周期。使用字段为Pod设置卷,在字段中声明卷在容器中的挂载位置。卷挂载在镜像内的指定路径上,卷不能挂载到其他卷之上,也不能与其他卷有硬链接。
2024-01-24 11:33:06 43
转载 23种设计模式总结详解(全23种)
浅拷贝:Object类提供的方法clone只是拷贝本对象,其对象内部的数组、引用对象等都不拷贝,还是指向原生对象的内部元素地址,这种拷贝就叫做浅拷贝,其他的原始类型比如int、long、char、string(当做是原始类型)等都会被拷贝。使用场景:认为是命令的地方就可以采用命令模式,例如,在GUI开发中,一个按钮的点击是一个命令,可以采用命令模式;触发-反馈机制的处理等。3. 重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数(见“模板方法模式的扩展”)约束其行为。
2023-12-28 10:02:07 71
转载 Flask 和 Django 中间件对比
def br1():def br2():def ar1():def ar2():app.run()启动服务并接受请求后,打印如下内容在下定义如下一个装饰器函数.然后在 setting.py 中 MIDDLEWARE 添加上# ...定义视图函数启动服务并接受请求后,打印如下内容Flask 将保存在一个列表中,在处理请求/返回响应前遍历列表对请求/响应进行处理;
2023-11-21 15:01:35 95
转载 Perl正则表达式及其实例详解
正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求、高效的正则表达式,还是有一些挑战的。1)不同的场景、不同的语言,正则会有些许差别,只要掌握住基本的元字符以及相应的语言特性,真正用的时候花10几分钟时间熟悉一两个例子就能上手。2)Perl正则是目前最优的,包括特性,建议读者学一学,这对处理数据有很大的好处。
2023-10-23 16:54:10 210
转载 任务编排工具选型:Airflow vs Luigi vs Argo vs MLFlow vs KubeFlow
即使从理论上讲,您可以使用这些CI/CD工具来编排动态的,相互链接的任务,但在一定程度的复杂性下,您会发现更容易使用Apache Airflow之类的更通用的工具。Airflow是一组管理和计划任务的模块的集合,MLFlow是一个纯粹的Python库,您可以将其导入到现有的机器学习代码中,还可以使用命令行工具来将scikit-learn编写的机器学习模型部署到Amazon SageMaker或AzureML。如果您的团队规模较大,可以使用Airflow,一旦您掌握了核心概念,就可以在长期获得更高的生产率。
2023-10-23 14:48:04 609
原创 机器学习平台整理
AirFlow/NiFi/MLFlow/KubeFlow进展:https://blog.csdn.net/chenhuipin1173/article/details/100913909。cube开源一站式云原生机器学习平台:https://blog.csdn.net/luanpeng825485697/article/details/123619334。支持的训练架构-https://www.kubeflow.org/docs/components/training/机器学习偏向小规模选mlflow。
2023-10-23 14:33:18 346
转载 Redis过期策略/内存淘汰策略/持久化过期key处理
对指定个数个库的每一个库随机删除小于等于指定个数个过期key,遍历每个数据库(就是redis.conf中配置的"database"数量,默认为16),检查当前库中的指定个数个key(默认是每个库检查20个key,注意相当于该循环执行20次,循环体时下边的描述),如果当前库中没有一个key设置了过期时间,直接执行下一个库的遍历,随机获取一个设置了过期时间的key,检查该key是否过期,如果过期,删除key,判断定期删除操作是否已经达到指定时长,若已经达到,直接退出定期删除。若没过期,直接执行相应操作。
2023-10-23 10:54:17 23
转载 通过YUM离线下载全套安装依赖包
使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢?例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。与 yumdownloader 命令一样,也是仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。# 离线安装 $ rpm -Uvh --force --nodeps *.rpm。仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。这里说明了如何从yum仓库上下载一个RPM包。
2023-07-27 16:08:47 2317
转载 shell中的判断
1 ] || [ $b = 2 ],而双括号就可以解决这个问题的,[[ $a!又比如这个[ "$a" -lt "$b" ],也可以改成双括号的形式(("$a" < "$b"))3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。[ 文件1 -ot 文件2 ] 为真 如果 文件1 比 文件2 旧, 或者 文件2 存在而且 文件1 不存在。[ -g 文件 ] 为真 如果 文件 存在 而且 已经设置了他的 SGID 位。
2023-07-17 10:45:50 911
转载 Linux自带神器logrotate详解
logrotate.conf 才主要的配置文件,logrotate.d 是一个目录,该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行。另外,如果 /etc/logrotate.d/ 里面的文件中没有设定一些细节,则会以/etc/logrotate.conf这个文件的设定来作为默认值。Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。
2022-12-01 17:27:42 1091 1
转载 如何用yum下载nvidia-docker2的rpm包?
现在nvidia-docker2默认支持的是比较新的18.09.6的docker-ce版本。如果在centos和redhat之间切换,就要灵活定义distribution变量了。先安装好这个版本之后,再使用yum downloadonly命令,下载所有的rpm包。第一步,先安装nvidia-docker2吧。由于公司特殊情况,手工下载rpm。现在慢慢进入GPU的世界,
2022-11-28 18:58:18 559
转载 golang redis快速入门教程
redis是目前流行的高性能key/value缓存,基本上在各种项目都经常出现,后续教程针对golang如何操作redis进行展开。本教程是使用的是go-redis/redis包操作redis。
2022-10-28 12:40:12 2668
转载 如何用Nginx做网关服务?
2、使用开源的方案,在开源方案上找到了一个叫kong的方案,此方案是基于nginx的反向代理开发的一套方案,经过调研,此套方案不支持负载均衡和高可用方案(当然不是很深入的调研),此方案本身是基于nginx的lua扩展模块进行开发的,对于api网关的配置是使用cassandra数据库进行存储,对于团队的技术背景来说,这个不是那么合适。从上述的调研结果来看,使用nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用,那么我们需要解决的就是自注册的问题和网关本身的扩展性。......
2022-07-29 16:51:39 3474
转载 聊聊主流的分布式数据库
单体数据库时代,随着系统交易量的不断上升,数据库读写性能出现了严重下降。我们可以借助分库分表中间件,比如mycat、shardingjdbc来实现分库分表,缓解单库的读写性能。但是分库分表中间件并不支持事务,如果要保证数据一致性,就需要借助于分布式事务中间件,比如阿里巴巴的seata。后来分布式数据库逐渐成为解决数据一致性的选择,目前分布式数据库产品已经比较成熟,支持ACID事务,本文就来聊一聊分布式数据库。增加代理层以mysql为例,我们来看一下单体数据库的逻辑架构,如下图:从这个图我们可
2022-04-12 11:53:21 7019
转载 Linux命令行常用快捷键
Linux 命令行常用快捷键涉及在linux命令行下进行快速移动光标、命令编辑、编辑后执行历史命令、Bang(!)命令、控制命令等。让basher更有效率。常用ctrl+左右键:在单词之间跳转 ctrl+a:跳到本行的行首 ctrl+e:跳到页尾 Ctrl+u:删除当前光标前面的文字 (还有剪切功能) ctrl+k:删除当前光标后面的文字(还有剪切功能) Ctrl+L:进行清屏操作 Ctrl+y:粘贴Ctrl+u或ctrl+k剪切的内容 Ctrl+w:删除光标前面的单词的字符.
2022-03-10 16:52:22 4053
转载 优化docker镜像大小的几种方法
Devops和k8s的火热,越来越多的企业将docker运用到自动化运维中,不管是为了保证开发、测试、生产环境的环境一致性,还是和CI/CD工具的集成度,比如jenkins对docker或k8s的自动构建部署等,亦或利用docker进行自动化测试等那么,在现在这种随随便便一天动辄几十次的快速构建迭代中,镜像作为一个贯穿整个自动化过程中的一个关键,怎么保证自动化构建部署的效率?就是镜像尽可能的小要保证镜像尽可能小,可以从五个方面基础镜像小 层级尽量少 去除不必要 复用镜像层 分阶段构建基
2022-01-11 15:12:15 3015
转载 一些DAG流程框架
AI之风盛行,为什么这么说?记得去年参加公司的校园招聘时,在面试的50人中95%的人学校都有人工智能的课程,如python、matlab等,但很少的人从事过具体应用实践,更不必说工程化场景了,由此看出AI的热度。人工智能前景的确很不错,市场也确实很有刚需,但真正要掌握好,真不是照着教科书打个helloworld那么容易。所以说,为了降低门槛,一直想做个工具,实现从数据准备、特征工程、模型训练、到评估的整个过程,也就是常说由多任务组成的pipeline。在一个流程系统中,任务间往往存在复杂的依赖关系,为保
2022-01-06 20:47:07 3330
转载 如何从0搭建公司后端技术栈?
如何您是一名创业公司的负责人,如何从0搭建公司的后端技术栈。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操作系统等等。整个后台技术栈我的理解包括 4 个层面的内容: 语言:用了哪些开发语言,如:C++/Java/Go/PHP/Python/Ruby 等等; 组件:用了哪些组件,如:MQ 组件,数据库组件等等; 流程:怎样的流程和规范,如:开发流程,项目流程,发布流程,监控告警流程,代码规范等等; 系统:系统化建
2021-12-27 16:08:04 227
转载 常用消息队列介绍和对比
消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。现在比较常见的消息队列产品主要有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ等。1 ActiveMQActiveM
2021-12-27 16:05:24 351
转载 Centos 7 安装OpenCV
目录一、 yum方式安装 1.1 安装opencv及依赖 1.2 查看opencv的版本 1.2.1 方法一(通过命令行的方式查看) 1.2.2 方法二(通过导入python cv2模块的方式查看) 二、源码安装OpenCV 2.1 安装必需的依赖 2.2 获取OpenCV 2.3 CMake配置构建、编译、安装 2.3.1 构建 2.3.2 编译 2.3.5 安装 2.3.6 创建符号链接 2.4 验证版本 2.4.1 方法一
2021-12-27 15:55:44 4467 2
转载 大数据技术在工业界的应用
大数据及其价值大数据是近几年非常热门的一个概念。到底什么叫做大数据呢?简单而言,就是具备4V属性的数据:Volume:量非常大,大到一台计算机所无法处理的数据; Variety:来源广泛,包括文本、图像、语音、机器传感器信号、日算计程序日志等; Velocity:产生速度非常快; Veracity:准确性要求高。关于大数据,有许多大家耳熟能详的经典案例,比如沃尔玛的“啤酒和尿布”案例;Target商场预测17岁女孩怀孕的等。通过这些例子,我们可以了解到大数据具有非常大的潜力和应用价.
2021-12-09 13:08:15 449
转载 一篇带你了解私有仓库 Harbor 的搭建
一、Harbor简介 虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。 Harbor是由VMware公司开源的企业级的Docker Registry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务。 它主要提供 Dcoker Registry 管理界面UI,可基于角色访问控制,镜像复制, AD/LDAP 集成,日志审核等功能,完全
2021-10-20 10:44:59 1184
转载 Docker环境下Jenkins+Gitlab+Harbor的持续集成和自动发布(CI/CD)的部署流程和问题记录
前言:本文只包含部署单节点的后端应用或接口api,不含链接数据库,不包含链接web服务器中间件(nginx),需自行根据实际需求,在运行容器的时候添加其他功能节点的链接,如--link mysql_test:mysql.test.com,如需部署完整web服务项目,可以考虑使用docker-compose等工具统一部署。一,安装Harbor:1.步骤和流程可以参考该文章https://blog.csdn.net/liuyunshengsir/article/details/799765202
2021-10-19 15:28:58 1256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人