自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 IEEE-754标准float类型在内存中的存储原理

golang 与其他很多语言(C、C++、Python…)一样,使用了IEEE-754标准存储浮点数。

2022-08-04 15:11:50 155

原创 基于olivere/elastic go结构体转es查询

es搜索, go结构体直接转es查询

2022-05-09 16:55:41 710

原创 k8s资源管理

1. 基础# 可以查看资源分配情况kubectl describe node# 全局资源情况查看kubectl api-resources1.1 applyapply 命令可以使用配置文件创建资源-f 使用yaml或json创建资源, 也是比较常用的方式kubectl apply -f ./my1.yaml # 创建资源kubectl apply -f ./my1.yaml -f ./my2.yaml # 使用多个文件创建kubectl

2021-09-05 23:24:50 782

原创 k8s环境搭建

文章目录1. 工作流程2. 虚拟机环境准备3. 部署集群3.1 准备工作3.2 安装docker3.3 安装kubeadm, kubelet, kubectl3.4 部署集群3.5 验证集群状态3.5.1 节点信息查看3.5.2 系统pod查看3.6 配置3.6.1 命令自动补全1. 工作流程2. 虚拟机环境准备如果使用现成的服务器可忽略此步克隆出三台机器网络模式选择桥接, 方便局域网设备访问网络适配器–高级–MAC地址–生成(每台机器点击一次, 避免因克隆导致MAC地址一样)

2021-09-05 23:19:52 190 1

原创 docker系列--在一台服务器上搭建docker swarm测试集群

文章目录1. 宿主机环境2. 构建swarm环境3. 测试1. 宿主机环境ubuntu 20.04docker 20.10.8重装集群时先删除以下服务# 删除所有使用 dind:ssh 镜像启动的容器sudo docker rm -f $(docker ps -f "ancestor=dind:ssh" -aq)# 删除 dind:ssh 镜像sudo bash docker rmi -f dind:ssh# 删除 docker-swarm 网络sudo docker network r

2021-08-27 20:44:45 327

原创 docker系列--创建镜像

1. commit将一个容器保存为一个新的镜像docker commit [参数] 容器id/容器name [仓库名[:TAG]]参数名默认值说明–author, -a作者信息, 可以上传发布者信息–change, -c将Dockerfile指令应用于创建的镜像–message, -m提交消息–pause, -ptrue提交期间暂停容器示例docker commit c3f279d17e0a svendowideit/testimag

2021-08-25 16:56:36 27

原创 docker系列--可视化管理工具

docker run -d -p 8000:8000 -p 8080:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer# 通过 http://ip:8080 进行访问# 比如我的内网地址是: http://192.168.61.129:8080/...

2021-08-22 20:38:41 46

原创 docker系列--部署es + kibana

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2# 启动之后es是很消耗内存的, 可能会导致整个服务器卡掉docker stats # 查看cpu状态# 增加内存限制, 修改配置文件 -e 环境配置修改docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300

2021-08-22 17:29:07 61

原创 docker系列--部署Nginx / Tomcat

Nginxdocker search nginxdocker pull nginxdocker images# -d 后台运行 --name 设置名字 -p 暴漏端口docker run -d --name nginx01 -p 8080:80 镜像idcurl localhost:8080Tomcat# --rm 用完即删, 一般用于测试docker run -it -p 8080:8080 --rm tomcat:9.0# 正常启动docker run -d -p 8080:80

2021-08-22 16:58:45 39

原创 docker系列--命令手册

命令描述描述attachAttach local standard input, output, and error streams to a running container当前shell下attach连接指定运行的镜像buildBuild an image from a Dockerfile通过Dockerfile定制镜像commitCreate a new image from a container’s changes提交当前容器为新的镜像cp...

2021-08-22 15:16:42 47

原创 docker系列--常用命令

文章目录1. 帮助命令2. 镜像命令2.1 docker images3. 容器命令1. 帮助命令# 显示docker的版本信息docker version# 显示docker的系统信息包括镜像和容器的数量docker info# 帮助命令docker xxx --help2. 镜像命令2.1 docker images查看本地镜像docker images [OPTIONS] [REPOSITORY[:TAG]]名字,简写默认值描述–all , -a显

2021-08-22 14:24:26 59

原创 docker系列--安装

1. 安装环境系统版本 CentOS 7 mini1.1 若无法联网vi /etc/sysconfig/network-scripts/ifcfg-ens33# 修改 noboot=no 为 noboot=yes# 重启shutdown -r now1.2 若无wgetyum install -y wget1.3 修改镜像源# 备份原有镜像源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

2021-08-22 10:50:48 72

原创 golang值验证(表单验证)

使用原始工具验证时tag使用validate在gin框架中表单验证使用bindingpackage mainimport ( "fmt" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" zhtranslations "github.com/go-pla

2021-08-03 20:10:11 423

原创 golang给变量设置默认值

不知你是否已经受够了大量判断变量是零或者空指针时给变量赋值的逻辑, 比如下述代码:package mainfunc t1(page, size int) { if page == 0 { page = 1 } if size == 0 { size = 10 } //other}func main() { var a int t1(a)}为了解决上述问题封装了下述函数可以解决各种空值判断package se

2021-08-03 16:32:45 881 1

原创 elasticsearch查询--query

文章目录匹配text字段匹配keyword / integer / long 等精确值字段match_allmatchmatch_phrasematch_phrase_prefix匹配text字段参数值类型说明示例match_allobject匹配所有文档, 默认所有有文档_score值为1.0{}match_noneobject不匹配任何文档{}matchobject匹配满足条件的文档, 一般用于句子的模糊匹配{“message”: “this i

2021-06-18 20:24:43 124 1

原创 elasticsearch查询语法

文章目录_sourcescript_fields参数值类型说明示例queryobject查询条件{“term” : { “user” : “kimchy” }}fromnumber偏移量0sizenumber限制返回的条数10sortarray排序[{ “name” : “desc” }]_sourcebool / string / array / object限制返回的字段falsestored_fieldsarray

2021-06-16 16:06:19 58

原创 golang操作elasticsearch(oliver/elastic使用文档)

文章目录1. 版本2. 连接es3. 索引操作3.1 创建索引3.2 判断索引是否存在3.3 更新索引3.4 删除索引3.5 数据迁移3.6 设置别名4. 数据操作4.1 新增或覆盖数据(单条)4.2 根据id新增或更新数据(单条)4.3 根据id新增或更新数据(批量)4.4 根据条件更新数据4.5 查询5. 查询条件query设置5.1 一个示例match 模糊匹配terms 精确匹配range 范围匹配nested 嵌套结构查询更多6. script painless语法6.1 变量6.2 if els

2021-05-25 16:12:01 7140 6

原创 go语言的异常处理

文章目录1. Error类型错误2. 可被recover捕获的错误3. 语言系统级别错误1. Error类型错误此类错误无需特殊处理, 需要判断时添加如下判断即可if err != nil { //错误处理逻辑}2. 可被recover捕获的错误主动抛出panic异常分母为0错误空指针错误空map赋值错误等如上所属的错误是可以被recover捕获的, 需注意的是recover只能捕获当前协程的错误, 在程序中创建子协程是无法捕获子协程中的错误的, 且如果子协程未作处理会直接

2021-04-28 21:19:47 209 1

原创 python入门系列(九)--定义函数

文章目录1. 无参数1.1 无返回1.2 一个返回值1.3 多个返回值2. 有参数2.1 无默认值2.2 有默认值2.3 强制位置参数(3.8新增)2.4 强制关键字参数2.5 任意长度位置参数函数是指一段可以直接被另一段程序或代码引用的程序或代码。也叫做子程序、方法。python 中定义函数的语法是 def1. 无参数1.1 无返回def test(): v1 = 1 v2 = 2 print(v1 * v2)# 调用函数, 会在控制台打印2test()# 在p

2021-04-22 21:02:19 59 1

原创 python使用traceback打印详细错误信息

一般情况下我们try except只能获取简单的错误信息, 无法精准的定位错误位置, 为错误排查带来了很大的不便例如:def test(): try: return 1 / 0 except Exception as e: print(e) return 0if __name__ == "__main__": test()division by zero 0想想一下当系统庞大起来之后我们只知道有一个地方我们使用了0作

2021-04-22 19:33:41 892 1

原创 python通过property将方法转变为属性

class A __val = 0 # 私有属性 # 使方法可以像属性一样调用 @property def test(self): return self.__val # 此修饰必须在有property修饰的方法后才能使用 # 其中下方test.setter中的test是指被property修饰的方法名 # 经过修饰后可使方法能够像属性一样赋值 @test.setter def test(self, val): self.__val = vala = A()print

2021-04-21 14:03:25 156

原创 js判断当前客户端是pc端还是移动端

if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) { document.write("手机访问.");}else{ document.write("电脑访问.");}

2021-04-21 09:32:09 167

原创 Mysql全文索引的使用

在5.6版本之前只有MyISAM存储引擎支持全文索引在5.6版本InnoDB加入的对全文索引的支持, 但不支持中文全文索引在5.7.6版本, MySQL内置了ngram全文解析器, 用来支持亚洲语种的分词当前测试时数据库相关配置ngram_token_size: 2 ngram全文解析器单词粒度ft_min_word_len: 1 默认4ft_max_word_len: 84innodb_ft_min_token_size: 1 默认3innodb_ft_max_token_size:.

2021-04-15 17:45:51 77

原创 MySQL全文索引短单词或数字不生效的问题

查看mysql当前配置的全文索引最小索引长度SHOW GLOBAL VARIABLES LIKE "%ft_min%"默认一般是如下两个值MyISAM引擎ft_min_word_len: 4InnoDB引擎innodb_ft_min_token_size: 3然后根据自己的数据库引擎(如果不确定或者都有用到可以把两个配置都改掉)修改上述对应的配置值为1即可上述配置无法通过执行sql语句修改, 需要修改mysql配置文件(如何查找和修改配置文件就自行搜索吧), 且修改后需要重启

2021-04-15 10:29:28 489 1

原创 pytorch基础数据类型--tensor

文章目录一. 创建tensor二. tensor属性1. 判断属性is_cuda 是否存储在GPU上is_quantizedis_meta2. 基本属性dtype 数据类型device 计算引擎shape 形状3. 操作T 转置real 返回复数实部的新tensorimag 返回复数虚部的新tensor4. 其它grad 梯度ndim三. tensor方法1. 构造新tensornew_tensor 创建新tensornew_full 创建指定形状指定值的tensornew_empty 创建指定形状的空te

2021-04-10 20:20:50 376

原创 安装pytorch

一. 普通安装pip install torch -i https://mirrors.aliyun.com/pypi/simple/验证是否安装成功import torchx = torch.rand(5, 3)print(x)二. GPU版本安装如果是nvidia显卡可在此处下载CUDA工具包并选择适合自己电脑的版本自行安装选择pytorch版本在官网选择对应自己cuda版本的pytorch进行安装# 示例pip install torch==1.8.1+cu111 torc

2021-04-10 12:06:17 104

原创 golang类型转换/数组去重/转换/复杂map生成及取值/多种json格式转数组

go-arrayElement支持 int、int32、int64、uint、uint32、uint64、float32、float64、string 之间的相互转换示例:package mainimport ( "fmt" "github.com/a1049990866/go-array/elemen")func main() { e := elemen.NewElement("12") fmt.Println(e.ToInt()) fmt.Pr

2021-01-09 14:58:08 2195

原创 python入门系列(八)--实战训练

找到列表中最大的两个元素并求和data = [1, 7, 2, 9, 5, 10, 3, 8]# data[0] 取出列表中下标为0的(第一个)元素, data[1] 取出下标为1(第二个)元素, 以此类推a, b = data[0], data[1]if a > b: a, b = b, a # 交换a, b的值, 保证b的值大于等于a的值# data[2:] 切片, 取出列表中下标为2及其后面所有元素作为一个新的列表for v in data[2:]: if v &gt.

2020-10-27 20:08:24 95 1

原创 python入门系列(七)--循环语句

1. 循环1.1 while循环满足条件时循环执行循环体i = 0while i < 5: i += 1 # 等同 i = i + 1 print(i)123451.2 for循环python中可以对可迭代对象(字符串, 列表, 元组, 字典, 集合等)进行遍历a = "python"for i in a: print(i)pythona = [1, 2, 3, 4, 5]for i in a: print(i)

2020-10-23 20:38:35 148 1

原创 python入门系列(六)--条件语句

文章目录1. 比较运算符2. 条件语句2.1 if2.2 if...else...2.3 if...elif...else...3. 逻辑运算符3.1 not3.2 多个条件同时满足3.3 满足任一条件3.4 组合使用4. 任意类型条件1. 比较运算符操作符描述>大于>=大于或等于<小于<=小于或等于==等于,比较两个值是否相等!=不等于2. 条件语句2.1 if若 if 后面的条件满足则执行 if 下面的代

2020-10-23 19:59:42 157 1

原创 mysql实战系列--查询最近连续日期的天数

SELECT COUNT(*)+1 FROM( SELECT action_date FROM table1, (SELECT @max_date := "") AS a WHERE ? # 根据实际情况自行补全查询条件 HAVING IF( TO_DAYS(IF(@max_date < action_date, @max_date := action_date, @max_date)) - TO_DAYS(action_date) = 1, TO_DAYS(@max_date :=

2020-10-22 16:08:48 323

原创 mysql实战系列--直播(含回放)周报统计

文章目录1. 表设计2. 数据示例3. 需求及数据说明4. sql实现5. sql拆分解析5.1 原始数据处理(子查询1)5.2 过滤多余重复数据(子查询2)5.3 生成报告1. 表设计由于我这边数据量比较大对数据进行了按用户分了100个区CREATE TABLE `l_live_room` ( `sso_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID', `erp_id` varchar(64) NOT NULL DEFAULT

2020-10-22 12:04:45 200

原创 python入门系列(五)--数据类型

文章目录1. 基本数据类型2. 数值运算1. 基本数据类型# = 为赋值操作, 将右侧的值赋给左侧的变量a = 1234# 可以同时给多个变量赋值a, b = 1234, 1234# 可以给多个变量赋同一个值a = b = 1234# 整形 int# 不同于其他大多数语言, 在python3中整形只有int, 可以存任意长度的数值a = 1234# 当数值过长时为了便于阅读可以用下划线分割, 不会对实际数值产生任何影响b = 123_456# 浮点型 floatc = 12.

2020-10-18 21:06:42 102 1

原创 python入门系列(四)--基础语法

文章目录1. 标识符(变量名, 函数名等)1.1 命名示例1.2 保留字符2. 缩进与特殊字符3. 代码换行4. python字符串5. 注释6. 一行显示多条语句1. 标识符(变量名, 函数名等)在 Python 里,标识符由字母、数字、下划线组成。在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python 中的标识符是区分大小写的。目前Python支持使用中文命名, 但是强烈建议你不要这么做!!!以下划线开头的标识符是有特殊意义的。以单下划线开头 _

2020-10-18 14:41:30 92 1

原创 python入门系列(三)--编辑器模式

文章目录打开编辑器第一个python程序1. 编写代码2. 保存3. 运行实际的开发过程基本都是在编辑器中完成, python的编辑器也多种多样, 但新人的话还是建议使用python自带的编辑器, 等技术提升后再选择一款自己顺手的编辑器打开编辑器通过New File新建一个py文件, 之后自己保存的py文件可以通过Open…打开第一个python程序1. 编写代码2. 保存点击 Ctrl + S 进行保存选择要保存的位置并输入要保存的文件名3. 运行鼠标点击Run或按F5键运行程序

2020-10-17 15:55:50 608

原创 python入门系列(二)--交互模式

文章目录打开python shell开始使用python shell1. 计算器2. 变量打开python shell开始使用python shell1. 计算器输入要计算的表达式回车得到结果2. 变量

2020-10-17 15:12:26 263

原创 MySQL获取指定日期对应的周一和周日的日期

# 周一SUBDATE(action_date,IF(DATE_FORMAT(action_date,'%w')=0, 7, DATE_FORMAT(action_date,'%w'))-1),# 周日SUBDATE(action_date,IF(DATE_FORMAT(action_date,'%w')=0, 7, DATE_FORMAT(action_date,'%w'))-7),

2020-10-16 14:02:38 944

原创 golang同一结构体的实例相同字段求和

实现方法结构体的私有属性(以下划线或小写字母开头的字段)不会求和func reflectValSum(val reflect.Value, args ...reflect.Value) reflect.Value { kind := val.Kind() vi := val.Interface() for _, v := range args { switch kind { case reflect.Int: val.Set(reflect.ValueOf(vi.(int) + v

2020-10-16 11:08:25 841

原创 python入门系列(一)--python安装

文章目录下载地址下载地址点击跳转

2020-10-14 19:49:42 197 2

原创 MySql几个函数及语法

文章目录1. 几个函数1.1 IFNULL1.2 GREATEST1.3 LEAST2. 几个语法2.1 CASE WHEN2.21. 几个函数1.1 IFNULL返回两个字段中第一个不为NULL的值SELECT IFNULL(NULL, 1)# 11.2 GREATEST返回多个字段中最大值SELECT GREATEST(3, 2, 5, 1)# 51.3 LEAST返回多个字段中最小值SELECT LEAST(3, 2, 5, 1)# 12. 几个语法2.1 CASE

2020-09-24 20:54:57 92

python字符串, 列表, 字典, 集合方法说明

python字符串, 列表, 字典, 集合方法说明

2018-09-13

空空如也

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

TA关注的人

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