一、题目大意标签:动态规划https://leetcode.cn/problems/minimum-path-sum给定一个包含非负整数的m x n 网格 grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[i].length10二、解题思路二维的动态规则,定义一个二维dp数组,其中dp[i][j]
0、转载go-zerodocker-compose搭建课件服务(一):编写服务api和proto0.1源码地址https://github.com/liuyuede123/go-zero-courseware1、创建项目目录mkdirgo-zero-coursewarecdgo-zero-courseware2、安装goctl#安装GOPROXY=https://goproxy.cn/,directgoinstallgithub.com/zeromicro/go-zero/tools/goctl@latest#mac放到/usr/local/bin/下面ln-s~/go/bin/goctl/u
0、转载go-zerodocker-compose搭建课件服务(一):编写服务api和proto0.1源码地址https://github.com/liuyuede123/go-zero-courseware1、创建项目目录mkdirgo-zero-coursewarecdgo-zero-courseware2、安装goctl#安装GOPROXY=https://goproxy.cn/,directgoinstallgithub.com/zeromicro/go-zero/tools/goctl@latest#mac放到/usr/local/bin/下面ln-s~/go/bin/goctl/u
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯首先,我希望所有golang中用于http请求响应的结构,都使用proto3来定义。麻烦的是,有的情况下某个字段的类型可能是动态的,对应的JSON类型可能是number/string/boolean/null中的其中一种。一开始我尝试用proto.Any类型,就像这样:import"google/protobuf/any.proto";messageMyRequest{google.protobuf.Anyuser_input=1;//用户可能输入number/s
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯首先,我希望所有golang中用于http请求响应的结构,都使用proto3来定义。麻烦的是,有的情况下某个字段的类型可能是动态的,对应的JSON类型可能是number/string/boolean/null中的其中一种。一开始我尝试用proto.Any类型,就像这样:import"google/protobuf/any.proto";messageMyRequest{google.protobuf.Anyuser_input=1;//用户可能输入number/s
前言Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、AmazonECS...)集成,并自动和动态地配置自己。系列文章:《Traefik系列文章》实践中,一个很常见的需求,用户输入的url是ewhisper.cn/alert-manager,如果什么都不做会返回404,需要自动加斜杠变成ewhisper.cn/alert-manager/,如何基于TraefikonK8S实现?答案是:用redirectRegexM
前言Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、AmazonECS...)集成,并自动和动态地配置自己。系列文章:《Traefik系列文章》实践中,一个很常见的需求,用户输入的url是ewhisper.cn/alert-manager,如果什么都不做会返回404,需要自动加斜杠变成ewhisper.cn/alert-manager/,如何基于TraefikonK8S实现?答案是:用redirectRegexM
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯我在多进程插件框架hashicorp/go-plugin的基础上,使用protoreflect来解析proto3语法的IDL文件,通过命令行工具自动生成多进程框架的callee和caller代码。项目的地址请看:https://github.com/ahfuzhang/go-plugin/tree/main/examples/code_generator并且已经提了PR到官方。golang自身的plugin还非常的弱,主要有这些限制:其插件的编译环境必须与宿主进程
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯我在多进程插件框架hashicorp/go-plugin的基础上,使用protoreflect来解析proto3语法的IDL文件,通过命令行工具自动生成多进程框架的callee和caller代码。项目的地址请看:https://github.com/ahfuzhang/go-plugin/tree/main/examples/code_generator并且已经提了PR到官方。golang自身的plugin还非常的弱,主要有这些限制:其插件的编译环境必须与宿主进程
proto是在当今使用最广泛的IDL之一,起因是dubbo3的Triple协议需要用到proto文件来生成统一规范的跨语言代码,Grpc也有类似的问题,想想一个团队有很多的业务模块,涉及到一些相互调用依赖的问题,如A模块需要用到B模块的接口,就需要找到B模块开发者,请告知一下B模块相关的proto文件是哪些,我需要copy到A模块来生成客户端调用代码,虽说这个场景单看起来条理是清晰的,后续如果越来越多的模块需要相互引用依赖,版本变更,昨天提供给你的proto文件今天已经被提供者加了字段或者删减了字段,需要一一通知到位,并需要重新copy最新的proto文件给使用者,如果B模块又依赖了C模块,这