05 2022 档案
摘要:##go 泛型 func main() { fmt.Println(fxinit2(1,2)) //泛型。go 1.17版本不支持泛型,运行mian的脚本时,打开idea左下方Terminal运行,需要加上 go run -gcflags=-G=3 test1.go fmt.Println(fxin
阅读全文
摘要:##windows graphviz安装 ###1.1 简介 图形呈现辅助,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的函式库。需要图形化呈现PProf的分析结果,就需要安装Graphviz工具包。 ###2.1 下载并安装 注意下载系统和版本,我这里下载的windows64位3.0
阅读全文
摘要:##go 特征提取 ###1.1 简介 电商领域给用户推荐商品,计算用户点击每个商品的概率,按概率从大到小排序。概率计算公式:y^=w1x1+w2x2+w3x3+…,w是权重,x非0即1,代表各个特征具体的取值,比如 连续特征离散化: 分箱法。比如年龄,指定分割点18,25,30,35,40 取对数
阅读全文
摘要:##go 单例模式 //单例模式 //确保并发的情况下,让某段代码只会被执行一次 var ( name *gzhsinit1 //调用并发只执行一次的模块 sync,这个once应该是一一对应的,多个单例模式的时候不能共用一个once,否则会阻塞影响 once sync.Once ) //这里返回值
阅读全文
摘要:##go 接口 ###1.1 接口实例 //interface 接口是一组行为规范的集合 type interfaceninit1er interface { //定义接口,通常接口名以er结尾 //接口里面之定义方法,不定义变量 move(src string,int string) (int,e
阅读全文
摘要:目录go defer&panic&recover&init1.1 defer2.1 panic3.1 recover4.1 init go defer&panic&recover&init 1.1 defer //defer 注册延时调用 后注册的先执行,越靠下的defer先执行 //defer 用
阅读全文
摘要:##go if&if-else ###1.1 if 判断 //if 语句 func ifinit1() { //或,|| 判断第一个是对的,后面的就不会再判断了 if c,d,e := 3,4,5;c < d && (d < e || c <e) { fmt.Println("True") fmt.
阅读全文
摘要:##go switch ###1.1 switch 逻辑判断 default是一个兜底策略 //switch //相当于else if 吧,switch后带表达式时,只能模拟相等的情况,如果不带表达式,case后就可以跟任意的条件表达式,也叫空switch func switchinit1(){ c
阅读全文
摘要:##go 结构体 ###1.1 结构体 我们把一个结构体的函数称为方法,和函数的区别是 func (u user) hello(man string) {},多了(u user) ####1.1.1 定义结构体 type user struct { id int score float32 enro
阅读全文
摘要:##shell jq处理json字符串 ###1.1 工具介绍 自己用shell处理json字符串的时候,开发输入格式的不通会导致解析字符串有问题,所以这里用到了jq工具 jq 是一款命令行下处理 JSON 数据的工具。其可以接受标准输入,命令管道或者文件中的 JSON 数据,经过一系列的过滤器(f
阅读全文
摘要:##go 代码练习 ###1.1 把一个int32的数换算成二进制 //作业1,把一个int32的数换算成二进制 package main import ( "fmt" "math" "strings" ) func main() { fmt.Println(BinaryFormat(0)) fmt
阅读全文
摘要:##go 变量作用域 ###1.1 对于全局变量,如果以大写字母开头,所有地方都可以访问,跨package访问时需要带上package名称;如果以小写字母开头,则本package内都可以访问。 函数内部的局部变量,仅本函数内可以访问。{}可以固定一个作用域。内部声明的变量可以跟外部声明的变量有冲突,
阅读全文
摘要:##go 变量 常量 字面量 ###1.1 变量类型 | 类型 | go变量类型 | fmt输出 | | | | | | 整型 | int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 | %d | | 浮点型 | float32 fl
阅读全文
摘要:##go 操作符与表达式 ###1.1 算法术运算符 | 运算符 | 描述 | | | | | + | 相加 | | - | 相减 | | * | 相乘 | | / | 相除 | | % | 求余 | func main() { var a float32 = 5 var b float32 = 3
阅读全文
摘要:##k8s HPA ###1.1 简介 HPA适用于Deployment和ReplicaSet,在V1版本中仅支持根据Pod的Cpu利用率扩容,在vlalpha版本中,支持根据内存和用户自定义的metric扩缩容 HPA是依赖Deployment和Rs的,单纯的HPA是没有意义的 如上图,HPA可以
阅读全文
摘要:##go 常用命令 ###1.1 ####1.1.1 go help: 查看帮助文档 go help build ####1.1.2 go build: 对源代码和依赖的文件进行打包,生成可执行文件 go build -o my_first_go_exe entrance_class/demo.go
阅读全文
摘要:##k8s Deployment ###1.1 简介 虽然ReplicaSet可以独立使用,但一般还是建议使用Deployment来自动管理ReplicaSet,这样就无需担心跟其他机制的不兼容问题()如ReplicaSet不支持rolling-update(滚动更新) 但Deployment支持
阅读全文
摘要:##k8s ReplicaSet ###1.1 简介 ReplicaSet跟ReplicationCtontroller没有本质的不同,只是名字不一样,并且Rs支持集合式的selector ###2.1 rs模板 apiVersion: apps/v1 kind: ReplicaSet metada
阅读全文
摘要:##k8s ReplicationController ###1.1 k8s ReplicationController ReplicationController(RC)用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的 Pod 来替代;而如果异常多出来的容器
阅读全文
摘要:##k8s pause ###1.1 简介 我们用k8s创建一个环境后,会在pod下面先起一个pause,再起Mainc,Mainc就是Pod内的容器,数量大于等于1,Mainc和pause共享存储卷和网络 pause是一个pod内一个,比如一个pod内有三四个容器,他们之间可以互相访问。或者我们用
阅读全文
摘要:##docker 优雅退出 ###优雅退出 以nginx为例,dockerfile的cmd那一行,如果直接是nginx启动命令,那么nginx就是1号进程,是主进程,主进程挂了,同一容器内的其他进程也会跟着退出。 容器退出时会先docker stop,即kill -15信号,长时间未响应才会dock
阅读全文
摘要:##shell 正则表达式 ###1.1 简介 正则表达式是一种表达式可以查找匹配特定准则的文本,其实现原理通过正则表达式引擎(regular expression engine)实现的 Linux主要有两种表达式引擎: POSIX基础正则表达式(basic regular expression,B
阅读全文
摘要:##k8s kubectl edit ###1.1 使用语法 ####1.1.1 json格式编辑 编辑名为“myjob”的service,输出JSON格式 V1 API版本 kubectl edit job.v1.batch/myjob -o json ####1.1.2 yml格式编辑 以YAM
阅读全文
摘要:##go 常用标准库 I/O操作 ###1.1 格式化输出 ###2.1 标准化输入 fmt.Println("please input two word") var word1 string var word2 string //读入多个单词,空格分隔。如果输入了更多单词会被缓存起来,丢给下一次s
阅读全文
摘要:##go 常用标准库 时间函数 ###1.1 时间的解析和格式化 #格式TIME_FMT为 2006-01-02 15:04:05 TIME_FMT := "2006-01-02 15:04:05" #获取当前时间 2022-05-11 13:06:16.1146258 +0800 CST m=+0
阅读全文
摘要:##k8s Flannel网络规划服务 ###网络通讯模式: 同pod间不同容器间的网络通讯:通过IO,也就是通过lo回环接口通讯,交互非常频繁的容器应该放到同一个Pod里面,如lnmp, nginx和php应该放在一起,但是不利于扩容 不同Pod间的通讯分为同物理机和不同物理机:不同物理机可以参考
阅读全文
摘要:##k8s Job&CronJob 批量处理任务: 目标是成功退出 job: Job 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束 crontabjob: 在轮询计划下定期执行job,实现批处理任务的运行 ###1.1 Job 特殊说明 spec.templat
阅读全文