自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (7)
  • 收藏
  • 关注

原创 SOA架构介绍与简单代码示例

SOA是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在与操作系统进程中。各个服务之间通过网络调用。

2023-12-27 16:52:53 483 1

原创 云原生机器学习平台cube-studio开源项目及代码简要介绍

cube-studio是开源的云原生机器学习平台,目前包含特征平台,支持在/离线特征;数据源管理,支持结构数据和媒体标注数据管理;在线开发,在线的vscode/jupyter代码开发;在线镜像调试,支持免dockerfile,增量构建;任务流编排,在线拖拉拽;开放的模板框架,支持tf/pytorch/spark/ray/horovod/kaldi等分布式训练任务;task的单节点debug,分布式任务的批量优先级调度,聚合日志;任务运行资源监控,报警;定时调度,支持补录,忽略,重试,依赖,并发限制,定时任务

2023-12-27 15:26:16 2265 8

原创 加载离线镜像包:在线镜像离线为tar包、tar离线镜像包加载并根据imageId打tag

需要四个文件,第一个是第一步生成的压缩包output.tar,第二个是脚本文件image_offline_load.sh脚本,第三个是image_list.txt 按行 存放需要离线的镜像名称,第四个是第一步生成的 imageid_list.txt 存放离线的镜像id。需要两个文件,第一个是脚本文件image_offline_load.sh脚本,第二个是image_list.txt 按行 存放需要离线的镜像名称。

2023-12-07 20:39:19 650

原创 在物理机内的虚机创建进入容器,执行命令时提示权限不够

查阅资料后发现,具体原因可能是因为安全模块selinux把权限禁掉了,因此我们在启动容器时,给容器加特权,及加上 --privileged=true 参数,如下所示。在服务器上创建容器后,run -it 进入容器后执行命令,却提示权限不够,如下所示。

2023-10-27 11:05:00 225

原创 K8s(Kubernetes)学习(七)——k8s持久化存储:emptyDir、local、nfs、PV&&PVC静态供给&动态供给、configMap、secret

在 Kubernetes 中,ConfigMap 是一种用于存储非敏感信息的 Kubernetes 对象。它用于存储配置数据,如键值对、整个配置文件或 JSON 数据等。ConfigMap 通常用于容器镜像中的配置文件、命令行参数和环境变量等。环境变量注入:将配置数据注入到 Pod 中的容器环境变量中。配置文件注入:将配置数据注入到 Pod 中的容器文件系统中,容器可以读取这些文件。命令行参数注入:将配置数据注入到容器的命令行参数中。基本操作。

2023-09-25 16:10:28 432

原创 K8s进阶之网络:pod内不同容器、同节点不同pod通信、CNI插件、不同节点pod通信、Flannel容器网络、Serivce连接外部网络、服务发现、Nginx反向代理与域名、Ingress代理

CNI如Calico、flannel等本身并不能提供网络服务,它只是定义了对容器网络进行操作和配置的规范。CNI仅关注在创建容器时分配网络资源,和在销毁容器时删除网络资源。常见的CNI插件包括Calico、flannel等。具体的流程如下图所示:在集群里面创建一个 Pod 的时候,首先会通过 apiserver 将 Pod 的配置写入。apiserver 的一些管控组件(比如 Scheduler)会调度到某个具体的节点上去。

2023-09-21 10:34:51 2916

原创 K8s(Kubernetes)学习(六)——Ingress

Ingress 是一种 Kubernetes 资源类型,它允许在 Kubernetes 集群中暴露 HTTP 和 HTTPS 服务。通过 Ingress,您可以将流量路由到不同的服务和端点,而无需使用不同的负载均衡器。Ingress 通常使用 Ingress Controller 实现,它是一个运行在 Kubernetes 集群中的负载均衡器,它根据Ingress 规则配置路由规则并将流量转发到相应的服务。

2023-09-18 16:55:04 578

原创 K8s(Kubernetes)学习(五)——Service:ClusterIP、NodePort、LoadBalancer、 ExternalName

官网地址: https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/将运行在一个或一组 Pod 上的网络应用程序公开为网络服务的方法。通俗定义: Service 用来为 pod 提供网络服务的一种方式。

2023-09-18 16:53:06 703

原创 shell脚本批量实现项目镜像本地化:docker注册证书login到harbor、将镜像push到harbor仓库、批量判断镜像是否在harbor仓库中已存在、find+sed替换源代码镜像地址

我们使用docker login/push/pull去与Harbor打交道,上传下载镜像等。当然,以上脚本的关键在于image_name与new_name的获取,若new_name可根据image_name修改得到,也可以更改脚本得到适合自己的new_name,以下可供参考。如上所示,我们首先需要准备一个images.txt里面包括了所有下载镜像名及上传名,如下所示,每行包括image_name与new_name,其中用空格隔开。, 然后把harbor的证书ca.crt等拷贝到这个目录即可。

2023-09-13 14:26:40 727

原创 K8s(Kubernetes)学习(四):Controller 控制器:Deployment、StatefulSet、Daemonset、Job

Kubernetes 通常不会直接创建 Pod, 而是通过 Controller 来管理 Pod 的。Controller 中定义了 Pod 的部署特性,比如有几个副本、在什么样的 Node 上运行等。通俗的说可以认为 Controller 就是用来管理 Pod 一个对象。其核心作用可以通过一句话总结: 通过监控集群的公共状态,并致力于将当前状态转变为期望的状态。通俗定义: controller 可以管理 pod 让 pod 更具有运维能力。

2023-09-06 14:16:17 658

原创 KubeFlow组件介绍

这很大程度上减少了运维的工作。kubeflow是一个胶水项目,它把诸多对机器学习的支持,比如模型训练,超参数训练,模型部署等进行组合并已容器化的方式进行部署,提供整个流程各个系统的高可用及方便的进行扩展部署了 kubeflow的用户就可以利用它进行不同的机器学习任务。(自定义资源),通过这样一个资源类型,使用 TensorFlow 进行机器学习训练的工程师们不再需要编写繁杂的配置,只需要按照他们对业务的理解,确定 PS 与 worker 的个数以及数据与日志的输入输出,就可以进行一次训练任务。

2023-08-30 16:14:16 1115

原创 算法套路二十——单调栈

单调栈是一种特殊的数据结构,用于解决与元素的相对大小有关的问题。它是一个栈,但其中的元素以的顺序排列,用于处理与有关的问题。

2023-08-10 15:34:29 142

原创 Kubeflow Pipelines介绍与实例

kubeflow/kubeflow 是一个胶水项目,。pipelines 是基于 kubeflow 实现的工作流系统,它的目标是借助 kubeflow 的底层支持,实现出一套工作流,支持数据准备,模型训练,模型部署,可以通过代码提交等等方式触发。

2023-08-10 09:50:07 1060

原创 网络编程——RPC与HTTP基本介绍、历史追溯、主流应用场景、对比分析、为什么还需要使用RPC

RPC并不是一个具体的协议,只是一种协议的规范,它并没有具体实现,只有按照RPC通信协议规范实现的通信框架,也就是RPC框架,才是协议的具体实现,它包括了:接口规范+序列化反序列化规范+通信协议等。现在狭义的RPC一般指一些用IDL(Inteface Description Language)描述接口, 然后生成stub的框架, 比如grpc,thrift,dubbo等,其中grpc,dubbo3.0的传输用的都是HTTP2.0,也已经属于RPC和HTTP的融合体了,这种融合体的设计使得开发人员可以享受到H

2023-07-14 21:04:35 4470 5

原创 Go语言网络编程:HTTP服务端之底层原理与源码分析——http.HandleFunc()、http.ListenAndServe()

在 Golang只需要几行代码便能启动一个 http 服务,在上述代码中,完成了两件事:- 调用 http.HandleFunc 方法,注册了对应于请求路径 /ping 的 handler 函数- 调用 http.ListenAndServe,启动了一个端口为 8999 的 http 服务

2023-07-08 17:02:28 2543

原创 网络编程:TCP粘包问题——各层粘包/拆包、Nagle 算法、Go实现长度字段协议解决TCP粘包、使用TCP的应用层协议设计

需要注意的是,即使是连续发送大量数据,在正常的网络环境和合理的数据处理方式下,TCP通常可以保持数据包的完整性和顺序,不会出现粘包。当发送方过于迅速发送数据而使接收方无法跟上或处理不当,此时**可能**发生粘包问题。注意,TCP粘包问题并非TCP协议设计上的缺陷,而是由于TCP协议的数据传输特性和网络条件的影响所致。解决TCP粘包问题通常需要应用层协议设计或使用特定的数据分隔方式来确的数据传输和解析。长度字段协议(Length-Field Protocol):发送方在每个数据包前部添加一个表示数据包长度的字

2023-07-04 19:57:26 2665

原创 Go语言网络编程:Go实现简单的内网穿透

内网穿透是一种通过互联网建立远程连接到私有网络(内网)中设备的技术。通常情况下,内网设备由于位于一个受限制的网络环境中,无法直接从外部访问。内网穿透通过将内网设备的流量转发到公共网络上的服务器,然后再将该流量转发到客户端,从而实现与内网设备的通信。

2023-06-27 16:49:05 2191 6

原创 在windows下将go程序打包为linux可执行程序

【代码】在windows下将go程序打包为linux可执行程序。

2023-06-27 16:24:12 1804

原创 K8s(Kubernetes)学习(三):pod概念及相关操作

Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器; 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。简言之如果用 Docker 的术语来描述,Pod 类似于共享名字空间并共享文件系统卷的一组容器。

2023-06-27 11:16:00 4474 1

原创 K8s(Kubernetes)学习(二):k8s集群搭建

k8s集群搭建方式1.minikube2.裸机安装3.直接用云平台Kubernetes4.k3s搭建

2023-06-27 10:37:02 2340

原创 内网穿透工具cpolar——将内网站点发布至公网、远程连接公司内网电脑

在现代互联的时代,我们经常需要将局域网中的服务器或提供给外部网络进行访问。然而,由于内网通常使用私有IP地址,在没有合适的配置和设置的情况下,对外部网络是不可见的。这就引出了技术,它允许我们在不暴露真实下,访问局域网中的资源。在本篇博客中,我将介绍一个功能强大且易于使用的内网穿透工具:cpolar是一种安全的内网穿透云服务,它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务。接下来,我将详细介绍CPolar的特点、使用方法以及内网穿透的应用。

2023-06-25 16:36:06 1392

原创 Channel通道使用进阶:通道关闭原则、生产者消费者问题、高并发map

在进行Channel通道使用之前,先根据总结有缓冲型channel使用的情况,若对下表有疑问可以前往Golang Channel 实现原理与源码分析进行阅读,如下所示:对一个已关闭的通道,进行关闭对一个已关闭的通道,写入数据在多生产者单消费者问题中,我们可以看到我们并没有对业务通道进行关闭,我们只是在给业务通道中写入数据前判断信号通道是否关闭,如果信号通道已经关闭,则直接返回,而不向业务通道中写入数据,因此业务数据并没有关闭,那么就不会引起panic。

2023-06-13 15:01:43 1581

原创 Golang context 实现原理与源码分析

context实际上只定义了接口,凡是实现该接口的类都可称为是一种context,官方包中实现了几个常用的context,分别可用于不同的场景;- cancelCtx实现了Context接口,通过`WithCancel()`创建cancelCtx实例;- timerCtx实现了Context接口,通过`WithDeadline()`和`WithTimeout()`创建timerCtx实例;- valueCtx实现了Context接口,通过`WithValue()`创建valueCtx实例;

2023-06-09 11:47:08 1239

原创 算法套路十九——树形DP

树形 DP,即在树上进行的 DP。由于树固有的递归性质,这里的DP是指是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法,故虽然带有DP,但一般都是通过来进行。

2023-06-04 19:48:55 1771

原创 Golang Channel 实现原理与源码分析

安全访问共享变量是并发编程的一个难点,在 Golang 语言中,倡导通过通信共享内存,实际上就是使用 channel 传递共享变量,在任何给定时间,只有一个 goroutine 可以访问该变量的值,从而避免发生数据竞争。本文关键是对Channel 实现原理进行分析,并附带源码解读,基于源码分析能更加理解Channel实现的过程与原因,对于源码关键步骤及变量给出了注释,不需要完全读懂源码的每个变量及函数,但可以从代码的异常处理角度来理解Channel,就能明白为什么channel的创建、写入、读取、关闭等流

2023-06-02 17:03:16 1013 1

原创 Docker容器核心技术:Linux命名空间Namespaces、控制组cgroups、联合文件系统UnionFS

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。

2023-05-30 16:51:42 1363

原创 GO语言并发编程入门:Goroutine、Channel、Context、并发安全、GMP调度模型

并发:多线程程序在一个核的cpu上运行。并行:多线程程序在多个核的cpu上运行。由上可知并发不是并行,并行是直接利用多核实现多线程的运行,并发则主要由切换时间片来实现”同时”运行,go可以设置使用核数,以发挥多核计算机的能力。Go语言之所以被称为现代化的编程语言,就是因为它在语言层面已经内置了调度和上下文切换的机制。Go语言的并发编程特点主要体现在Goroutine协程和Channel通道的使用上。Goroutine协程:Goroutine是Go语言中的并发执行单位。

2023-05-25 15:24:41 1249 1

原创 算法套路十八——区间 DP

区间DP:需要确定给定区间内所有可能状态的问题,并从较小区间向较大区间进行转移。

2023-05-24 20:15:21 1110 1

原创 Go语言网络编程入门:TCP、HTTP、JSON序列化、Gin、WebSocket、RPC、gRPC示例

在本文中,我们将介绍Go语言中的网络编程的不同方式,包括TCP、HTTP、Gin框架、WebSocket、RPC、gRPC的介绍与连接实例,并对所有示例代码都给出了详细的注释,最后对每种模式进行了总结。

2023-05-19 16:08:42 2434

原创 算法套路十七——买卖股票问题:状态机 DP

买卖股票问题是一种典型的状态机 DP问题,设"未持有股票"和"持有股票"两个状态,每个节点表示某一状态下的最大收益,相邻节点之间的边表示在当前状态下进行一次交易得到的收益。

2023-05-17 20:32:47 971

原创 算法套路十六——DP求解最长递增子序列LIS

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

2023-05-15 20:58:15 1318

原创 K8s(Kubernetes)学习(一):k8s概念及组件

而Kubernetes就是一个开源容器集群管理系统,可以在物理或虚拟机的Kubernetes集群上运行容器化应用,提供一个以“容器为中心的基础架构”,实现容器集群的自动化部署、自动扩缩容、维护等功能。在生产环境中, 需要管理运行着应用程序的容器,并确保服务不会下线。 例如,如果一个容器发生故障,则你需要启动另一个容器。 这就可以交给Kubernetes ,它提供了一个可弹性运行分布式系统的框架。Kubernetes 可以通过一个命令为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚。

2023-05-14 18:27:08 4958

原创 算法套路十五——动态规划求解最长公共子序列LCS

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。

2023-05-11 19:21:25 1975

原创 初学GoLang易错点

在Go语言中,变量的定义语法与其他编程语言不同,需要注意变量类型在变量名之后如,而不是在变量名之前。你可以使用var关键字声明一个变量,然后使用等号分配一个值。你也可以使用短变量声明(:=)来声明并初始化一个变量,这种语法可以自动推断变量类型,因此你不需要显式地指定变量类型。但是,短变量声明只能在函数内部使用。x := 10另外,Go语言还支持多个变量的声明和初始化。

2023-05-08 18:32:18 678

原创 算法套路十四——动态规划之背包问题:01背包、完全背包及各种变形

0-1背包:有n个物品,第i个物品的体积为w[i],价值为v[i],每个物品至多选一个, 求体积和不超过capacity时的最大价值和,其中i从0开始。

2023-05-01 20:16:33 2033

原创 算法套路十三——动态规划DP入门

动态规划和递归都是通过将大问题分解为较小的子问题来解决问题。它们都可以用来解决具有重叠子问题和最优子结构特性的问题。在很多情况下,。

2023-04-27 18:17:02 1095

原创 算法套路十二——回溯法之排列型回溯

相比子集型回溯,排序型回溯的区别就是在选择相同子集时不会判断为重复,而是不同的排列,因此我们从答案的角度出发,考虑每次选哪一个数,且由于选择顺序不同排列也不同,故在递归时不用考虑要使后选的元素大于当前选的元素,那我们如何判断是否选择,可以使用on_path数组,来记录数组第i个元素是否被选择,且要在递归完成后回溯。你可以 按任意顺序 返回答案。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

2023-04-22 20:00:21 705

原创 算法套路十一 ——回溯法之组合型回溯

剪枝:对于本题,为考虑方便,我们可以从n开始进行选择,设path长为m,那么还需要选d=k - m个数设当前需要从[1,i]这i个数中选数,如果i

2023-04-21 22:51:46 831

原创 云原生入门

云原生是一种设计和构建应用程序的方法,它充分利用了云计算的优势,如弹性、可扩展性、自动化和敏捷性。云原生应用程序不仅可以在云中运行,而且是为云而生的,它们采用了一些新式的技术和架构模式,使得应用程序可以快速响应市场变化,提高用户体验和业务价值。在本文中,我们将介绍云原生的概念、特点、技术和应用场景,以及云原生的挑战和趋势。

2023-04-19 18:13:35 962

原创 算法套路十——回溯法之子集型回溯

采用回溯法,用path记录当前数字选择的情况,ans记录答案。当前问题:数组前i-1个元素是否选择固定,枚举数组从第i个元素开始的所有元素是否选择当前操作:i是否为n,若是则将当前path加入ans中。若不是则需要枚举子集选择第i位元素或不选第i位元素,若不选第i位元素,则直接递归子问题;若选择第i位元素,则需要先将当前元素加入path中,并递归子问题,在递归完成后,进行回溯,将第i位元素从path中删除子问题:数组前i-1个元素是否选择固定,枚举数组从第i+1个元素开始的所有元素是否选择。

2023-04-18 19:10:58 818

中国信通院:人工智能研发运营体系 (MLOps)实践指南

随着国家新型基础设施建设发展战略(2020)、国家“十四五规划和2035年远景目标纲要”等系列政策的出台,人工智能(AI)发展迎来新一轮红利,科技革命和产业升级处于进行时。近年来,AI工程化的研究热度持续提升,其目的是帮助组织在数智化转型过程中,更高效、大规模地利用AI创造业务价值。人工智能研发运营体系(MLOps )作为AI工程化重要组成部分,其核心思想是解决Al生产过程中团队协作难、管理乱、交付周期长等问题,最终实现高质量、高效率、可持续的AI生产过程。

2023-09-06

Fabric-explorer部署的json附件

区块链浏览器部署的json文件 包括connection-profile、config.json、docker-compose.yaml

2023-06-30

bujindianji1.zip

芯片+步进电机档位控制实验代码

2023-01-06

华科软件考研复试真题.zip

华科软件考研复试线上考试真题,可以帮助大家寻找复试学习方向 免费分享两题 1.什么是软件配置管理,什么是基线 2.什么是设备驱动程序 3.解释门面模式

2023-01-06

SSM项目部署服务器全套资源

包括jdk,MySQL,Navicat,Tomcat全套资源,只需解压和安装。 https://blog.csdn.net/qq_45808700/article/details/124177172

2022-04-14

官方mcafee卸载软件.exe

mcafee卸载工具

2021-06-19

疫情实时爬取-2020-03-27-12-12-46.xls

2020年3月27日爬取的疫情实时

2021-06-12

Android 数据库编程SQLite实现学生信息管理应用

Android 数据库编程SQLite实现学生信息管理应用https://blog.csdn.net/qq_45808700/article/details/117535524?spm=1001.2014.3001.5501

2021-06-09

基于Java的愤怒的小鸟游戏的设计与实现.zip.zip

游戏玩法功能 能实现发射器创建、发射角度、发射力度等 可以实现小鸟飞行功能,包括小鸟飞行抛物线、小鸟飞行悬停 实现游戏中猪的移动功能,包括猪的根据级别不同改变移动速度、猪在哪里移动 碰撞功能:实现小鸟与障碍的碰撞、小鸟与猪的碰撞、鸡蛋与障碍物的碰撞、鸡蛋与猪的碰撞、猪与障碍物的碰撞 页面管理功能:实现各个页面功能,包括主界面、载入游戏界面、控制帮助界面、跳转界面功能等 难度、级别功能:实现游戏难度功能,难度不同猪的移动速度不同,实现级别功能,级别不同地图难易程度也不同 实体类管理功能:创建游戏中各种实体类,包括鸟的种类、猪、障碍物、草地等 玩家管理功能和备份功能:实现玩家信息管理以及游戏信息保存的功能

2021-06-08

基于ssm的在线问答系统

功能要求: 1.非登陆用户可以看其他人的问答,按最后一个回答时间的倒序排列 2.登陆用户可以发布、终结自己的问题。 3.对于未终结的问题,登陆用户可以发布、修改、删除自己的回答。 4.不分板块。 5.普通人可申请注册,管理员同意后算作注册成功;管理员可将现有用户拉黑,管理员不能删除用户。 6.被拉黑用户的问题、回答对其他人不可见。 7.管理员可以屏蔽掉某个问题或者回答,也可取消屏蔽。 8.被屏蔽的问题或回答对其他人不可见;提问人或回答人自己可见。 9.被屏蔽的问题或者回答,提问人或回答人不能改、删。

2021-06-08

Navicat Premium 12.zip

数据库Navicat Premium 12 方便数据库可视化

2021-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除