09 2019 档案

k8s 1.15.2 部署
摘要:目录 一、环境准备 二、软件安装 三、部署master节点 四、部署node节点 五、集群状态检测 一、环境准备 二、软件安装 三、部署master节点 四、部署node节点 五、集群状态检测 一、环境准备 所有节点以下操作: 1、设置各主机的主机名,管理节点为k8s-master 2、编辑/etc 阅读全文

posted @ 2019-09-30 18:16 ExplorerMan 阅读(384) 评论(0) 推荐(0)

Warning:detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".
摘要:执行kubeadm init集群初始化时遇到: [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". [警告IsDoc 阅读全文

posted @ 2019-09-30 18:12 ExplorerMan 阅读(4203) 评论(0) 推荐(0)

Ubuntu16.04安装K8s步骤和踩坑记录【不错】
摘要:文章目录环境信息安装步骤系统配置修改安装docker安装kubectl,kubelet,kubeadm配置Master配置Node部署结果检查K8S部署mysql学习新建mysql-rc.yaml创建mysql-svc.yaml安装K8S部署JAVA应用创建deployment创建service更新 阅读全文

posted @ 2019-09-30 17:59 ExplorerMan 阅读(1789) 评论(0) 推荐(0)

修改主机名(/etc/hostname和/etc/hosts区别)
摘要:ubuntu永久修改主机名 1、查看主机名在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。2、临时修改主机名命令行 阅读全文

posted @ 2019-09-30 17:46 ExplorerMan 阅读(2333) 评论(0) 推荐(0)

Windows10内置Linux子系统初体验
摘要:http://www.jianshu.com/p/bc38ed12da1dhttp://www.jianshu.com/p/bc38ed12da1d WSL 前言 前段时间,机子上的win10又偷偷摸摸升级到了一周年正式版,比较无奈。不过之前听闻这个版本已经支持内置的linux子系统,于是就怀着好奇 阅读全文

posted @ 2019-09-30 16:37 ExplorerMan 阅读(20357) 评论(1) 推荐(2)

Docker Swarm常用命令
摘要:#查看集群节点 #创建nginx服务 #查看swarm集群中的服务 #kill其中一个容器 #修改服务实例数量为3 #删除nginx服务 #删除swarm节点 #docker swarm 常用命令 #docker node 常用命令 #docker service 常用命令 阅读全文

posted @ 2019-09-30 16:29 ExplorerMan 阅读(2730) 评论(0) 推荐(0)

Docker Swarm集群部署
摘要:介绍 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。它可以把多个 Dock 阅读全文

posted @ 2019-09-30 16:19 ExplorerMan 阅读(617) 评论(0) 推荐(0)

Docker容器CPU、memory资源限制
摘要:背景 在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会 阅读全文

posted @ 2019-09-30 16:13 ExplorerMan 阅读(832) 评论(0) 推荐(0)

Docker监控容器资源的占用情况
摘要:启动一个容器并限制资源 启动一个centos容器,限制其内存为1G ,可用cpu数为2 启动容器后,可以使用docker 的监控指令查看容器的运行状态 docker top 容器名: 查看容器的进程,不加容器名即查看所有 docker stats 容器名:查看容器的CPU,内存,IO 等使用信息 安 阅读全文

posted @ 2019-09-30 16:09 ExplorerMan 阅读(6008) 评论(1) 推荐(2)

修改Docker容器启动配置参数
摘要:有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1、Docker 命令修改 docker container update --restart=always 容器名字 2、直接改配置文件 首先 阅读全文

posted @ 2019-09-30 16:05 ExplorerMan 阅读(3650) 评论(0) 推荐(0)

Docker的数据管理(volume/bind mount/tmpfs)
摘要:Docker提供了三种不同的方式用于将宿主的数据挂载到容器中:volumes,bind mounts,tmpfs volumes。当你不知道该选择哪种方式时,记住,volumes总是正确的选择。 volumes是Docker数据持久化机制。bind mounts依赖主机目录结构,volumes完全由 阅读全文

posted @ 2019-09-30 15:52 ExplorerMan 阅读(611) 评论(0) 推荐(0)

Docker四种网络模式
摘要:Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能。 host模式,使用--net=host指定,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和 阅读全文

posted @ 2019-09-30 15:23 ExplorerMan 阅读(536) 评论(0) 推荐(0)

docker 导出多个镜像合并成一个tar
摘要:导出单个镜像 docker save [images] > [name.tar] 倒出多个镜像合并成一个tar包 docker save [images] [images] > [name.tar] 这样我们一个tar包中就包含了3个镜像 阅读全文

posted @ 2019-09-30 15:15 ExplorerMan 阅读(3787) 评论(0) 推荐(0)

拷贝docker镜像到其他机器部署
摘要:有拷贝docker images到其他主机的情况,当然是通过pull的方式来转移到其他宿主机。 1 sudo docker save -o golang:alpine3.7 ./my-golang-alpine3.7.tar //把我本机的golang:alpine3.7 镜像保存为当前目录下的归档 阅读全文

posted @ 2019-09-30 15:14 ExplorerMan 阅读(2170) 评论(0) 推荐(1)

Docker save and load镜像保存
摘要:持久化docker的镜像或容器的方法 Docker的镜像和容器可以有两种方式来导出 docker save #ID or #Name docker export #ID or #Name docker save和docker export的区别 对于Docker Save方法,会保存该镜像的所有历史 阅读全文

posted @ 2019-09-30 15:01 ExplorerMan 阅读(357) 评论(0) 推荐(0)

Docker参数 -i -t 的作用
摘要:Docker 参数 -i -t 的作用通常的解释是: -t让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开. 问题所以通常都是这样的: sudo docker run -it ubuntu 进入了命令交互界面 但是如果不加呢? sudo docker run u 阅读全文

posted @ 2019-09-29 20:54 ExplorerMan 阅读(3379) 评论(0) 推荐(0)

docker search 报错
摘要:docker 出现 Error response from daemon docker 出现 Error response from daemon vim /etc/containers/registries.conf [registries.search]registries = ['https: 阅读全文

posted @ 2019-09-29 20:50 ExplorerMan 阅读(1199) 评论(0) 推荐(0)

mgo连接池
摘要:package main import ( "log" "sync" "time" "gopkg.in/mgo.v2" ) var sizeMax = 50 var size = 0 var sizeMu = sync.Mutex{} var pool = make(chan *mgo.Sessio 阅读全文

posted @ 2019-09-29 16:26 ExplorerMan 阅读(340) 评论(0) 推荐(0)

饿了么这样跳过Redis Cluster遇到的“坑”
摘要:内容来源:2017 年 8 月 12 日,饿了么高级Python工程师黄光星在“CRUG 2017北京活动”进行《Redis Cluster运维方案》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。 摘要 本次演讲将介绍饿了么在运维Redis 阅读全文

posted @ 2019-09-26 20:24 ExplorerMan 阅读(730) 评论(0) 推荐(0)

Linux Swap的那些事
摘要:swap是干嘛的? 在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。 SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWA 阅读全文

posted @ 2019-09-25 19:54 ExplorerMan 阅读(513) 评论(0) 推荐(0)

Linux 查看修改SWAP大小
摘要:1 查看swap 空间大小(总计): # free -m 默认单位为k, -m 单位为M total used free shared buffers cached Mem: 377 180 197 0 19 110 -/+ buffers/cache: 50 327 Swap: 572 0 572 阅读全文

posted @ 2019-09-25 19:09 ExplorerMan 阅读(1773) 评论(0) 推荐(0)

vm overcommit参数
摘要:overcommit参数需要根据不同服务来进行调整,使内存得到充分利用的同时保证系统的稳定性。比如redis服务器建议把vm.overcommit_memory设置为1. 1、vm.overcommit_ratio 和 vm.overcommit_memory内核参数参考资料, overcommit 阅读全文

posted @ 2019-09-25 19:06 ExplorerMan 阅读(2460) 评论(1) 推荐(1)

分析redis key大小的几种方法
摘要:当redis被用作缓存时,有时我们希望了解key的大小分布,或者想知道哪些key占的空间比较大。本文提供了几种方法。 一. bigKeys 这是redis-cli自带的一个命令。对整个redis进行扫描,寻找较大的key。例: 输出: 说明: 更多关于bigkeys的说明可以参考这里。 二. deb 阅读全文

posted @ 2019-09-25 19:05 ExplorerMan 阅读(12819) 评论(2) 推荐(1)

linux的vm.overcommit_memory的内存分配参数详解
摘要:公司的redis有时background save db不成功,通过log发现下面的告警,很可能由它引起的: [13223] 17 Mar 13:18:02.207 # WARNING overcommit_memory is set to 0! Background save may fail u 阅读全文

posted @ 2019-09-25 19:05 ExplorerMan 阅读(2125) 评论(0) 推荐(0)

如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
摘要:你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作。数据专家们,我是在对你们说。你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, bzip2, wc, awk, sed等等,都是单线程的,只能使用一个CPU内核。 借用卡通人物C 阅读全文

posted @ 2019-09-25 18:28 ExplorerMan 阅读(2256) 评论(0) 推荐(0)

redis集群 应该注意的问题
摘要:redis cluster注意的问题 : ‘cluster-require-full-coverage’参数的设置。该参数是redis配置文件中cluster模式的一个参数,从字面上基本就能看出它的作用:需要全部覆盖! 具体点是redis cluster需要16384个slot都正常的时候才能对外提 阅读全文

posted @ 2019-09-25 17:00 ExplorerMan 阅读(449) 评论(0) 推荐(0)

Redis4.0新特性 -Lazy Free
摘要:Redis4.0新增了非常实用的lazy free特性,从根本上解决Big Key(主要指定元素较多集合类型Key)删除的风险。笔者在redis运维中也遇过几次Big Key删除带来可用性和性能故障。本文分为以下几节说明redis lazy free: lazy free的定义 我们为什么需要laz 阅读全文

posted @ 2019-09-25 16:57 ExplorerMan 阅读(793) 评论(0) 推荐(0)

Windows安装Linux子系统--安装GUI界面
摘要:前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1、准备工作1.1、打开Windows的子系统功能 1.2、打开Windows开发人员模式打开设置–>更新和安全–>针对开发人员,选择开发人员模式–>确定 确认后,重启电脑,系统更新配置。 阅读全文

posted @ 2019-09-22 00:41 ExplorerMan 阅读(799) 评论(0) 推荐(0)

Win7 U盘安装Ubuntu16.04 双系统详细教程
摘要:Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 制作 U 盘启动盘 安装Ubuntu系统 用EasyBCD创建启动系统启动引导 开启系统 一、下载Ubuntu 16.04镜像 直接到官网免费下载 根据自己计算机的配置信息下载(本人下载的是的64位的) 二、制作 U 阅读全文

posted @ 2019-09-22 00:40 ExplorerMan 阅读(680) 评论(0) 推荐(0)

docker pull / docker login 报错 Error response from daemon: Get https://registry-1.docker.io/v2/: x509
摘要:docker pull 和 docker login 的时候报错 Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate is valid for bw-production.space, 阅读全文

posted @ 2019-09-21 19:41 ExplorerMan 阅读(4365) 评论(1) 推荐(0)

Ubuntu docker 安装
摘要:Ubuntu 16.04 安装 Docker 1.选择国内的云服务商,这里选择阿里云为例 curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - 2.安装所需要的包 s 阅读全文

posted @ 2019-09-21 17:16 ExplorerMan 阅读(192) 评论(0) 推荐(0)

moby、docker-ce与docker-ee的区别
摘要:近期研究docker相关技术,发现官网分为moby、docker-ce与docker-ee不同板块,ce和ee版本好理解,但2017年开始又多出个Moby,开始有点凌乱,Google出如下解释,mark一下: moby、docker-ce与docker-ee最早的时候docker就是一个开源项目,主 阅读全文

posted @ 2019-09-21 17:15 ExplorerMan 阅读(4373) 评论(0) 推荐(1)

开启/关闭ubuntu防火墙
摘要:安装方法 当然,这是有图形界面的(比较简陋),在新立得里搜索gufw试试…… 使用方法 1 启用 作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。 2 关闭 2 查看防火墙状态 3 开启/禁用相应端口或服务举例 推荐设置 这样设置已经很安全,如果有特殊需要,可以使用s 阅读全文

posted @ 2019-09-20 18:40 ExplorerMan 阅读(262) 评论(0) 推荐(0)

Python flask 与 GO WEB服务器性能对比
摘要:测试环境: 系统: CentOS 7.1 Mem: 8G CPU: 虚拟机16核 Python版本: python3.6 Flask版本: 0.12.2 Golang版本: 1.6.3 测试结果:Flask 总耗时 88.441秒,平均每秒处理1130个请求Gunicorn多进程时耗时 15.842 阅读全文

posted @ 2019-09-20 15:55 ExplorerMan 阅读(1055) 评论(0) 推荐(0)

sshpass密码
摘要:使用sshpass 所以密码在bash历史记录中没有显示。 上面的内容复制路径的内容从远程主机到您的本地。 安装: Ubuntu/Debian apt install sshpass apt install sshpass CentOS/fedora yum install sshpass yum 阅读全文

posted @ 2019-09-18 16:34 ExplorerMan 阅读(315) 评论(0) 推荐(0)

go语言20小时从入门到精通(六、工程管理)
摘要:在实际的开发工作中,直接调用编译器进行编译和链接的场景是少而又少,因为在工程中不会简单到只有一个源代码文件,且源文件之间会有相互的依赖关系。如果这样一个文件一个文件逐步编译,那不亚于一场灾难。 Go语言的设计者作为行业老将,自然不会忽略这一点。早期Go语言使用makefile作为临时方案,到了Go 阅读全文

posted @ 2019-09-18 11:25 ExplorerMan 阅读(286) 评论(0) 推荐(0)

从gopath到go mod的一次尝试
摘要:windows下的尝试: gomod初尝试下载官方包1.11(及其以上版本将会自动支持gomod) 默认GO111MODULE=auto(auto是指如果在gopath下不启用mod)go mod help查看帮助go mod init<项目模块名称>初始化模块,会在项目根目录下生成 go.mod文 阅读全文

posted @ 2019-09-18 11:10 ExplorerMan 阅读(980) 评论(0) 推荐(0)

告别GOPATH,快速使用 go mod(Golang包管理工具)
摘要:如果你还在使用 GOPATH 模式来开发Golang程序,那么你可以参考本文来告别 GOPATH,并带给你一个方便的包管理工具。 关于 go mod 的说明和简单使用,可以参考: 1、Go1.1.1新功能module的介绍及使用 2、Introduction to Go Modules 3、Go 1 阅读全文

posted @ 2019-09-17 20:11 ExplorerMan 阅读(379) 评论(0) 推荐(0)

Golang中基础的命令行模块urfave/cli
摘要:前言相信只要部署过线上服务,都知道启动参数一定是必不可少的,当你在不同的网络、硬件、软件环境下去启动一个服务的时候,总会有一些启动参数是不确定的,这时候就需要通过命令行模块去解析这些参数,urfave/cli是Golang中一个简单实用的命令行工具。 安装通过 go get github.com/u 阅读全文

posted @ 2019-09-17 17:10 ExplorerMan 阅读(1994) 评论(0) 推荐(0)

Golang的一个CLI框架
摘要:因为机缘巧合,因为希望能在VPS中使用百度网盘,了解到了一个开源的项目BaiduPCS-Go,可以用来直接存取访问百度网盘,做的相当不错 而且看ISSUES,作者可能还是个学生,很强的样子。稍微看了下代码,发现了一个很不错的用来写命令行程序CLI的框架,也是在Github上开源的,因为Golang主 阅读全文

posted @ 2019-09-17 17:08 ExplorerMan 阅读(663) 评论(0) 推荐(0)

pika常见问题解答(FAQ)
摘要:1 编译安装 Q1: 支持的系统? A1: 目前只支持Linux环境,包括Centos,Ubuntu; 不支持Windowns, Mac Q2: 怎么编译安装? A2: 参考编译安装wiki Q3: Ubuntu编译偶尔报错isnan isinf was not declared? A3: 一些旧版 阅读全文

posted @ 2019-09-16 21:01 ExplorerMan 阅读(2177) 评论(0) 推荐(0)

大容量类Redis存储--Pika介绍
摘要:嘉宾介绍 大家好,首先自我介绍一下,我是360 web平台-基础架构组的宋昭,负责大容量类redis存储pika的和分布式存储Bada的开发工作,这是我的github和博客地址,平时欢迎指正交流^^ 我的github: https://github.com/KernelMaker 我的博客: htt 阅读全文

posted @ 2019-09-16 19:05 ExplorerMan 阅读(9115) 评论(0) 推荐(4)

Beego开启热升级
摘要:1、打开配置 2、写入pid 程序入口main()函数里写入pid 3、测试热升级 1、编写代码,在beego应用的controller中Get方法实现大概如下: 2、打开两个终端一个终端输入:ps -ef | grep 应用名一个终端输入请求:curl "http://127.0.0.1:8080 阅读全文

posted @ 2019-09-16 15:04 ExplorerMan 阅读(843) 评论(0) 推荐(0)

Beego框架的一条神秘日志引发的思考
摘要:公司目前的后台是用Beego框架搭的,并且为了服务的不中断升级,我们开启了Beego的Grace模块,用于热升级支持。一切都跑井然有序,直到有一天,领导甩出一些服务日志,告知程序一直报错: 2018/03/08 17:49:34 20848 Received SIGINT.2018/03/08 17 阅读全文

posted @ 2019-09-16 12:00 ExplorerMan 阅读(831) 评论(0) 推荐(0)

Redis的最常被问到知识点总结
摘要:1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作 阅读全文

posted @ 2019-09-14 22:24 ExplorerMan 阅读(271) 评论(0) 推荐(0)

go语言的defer语句
摘要:go语言defer语句的用法 defer的语法 defer后面必须是函数调用语句,不能是其他语句,否则编译器会出错。 这个例子中defer后面使用的是n++指令,不是一个函数调用语句,编译器就报错: defer的基本功能 defer后面的函数在defer语句所在的函数执行结束的时候会被调用;我们查看 阅读全文

posted @ 2019-09-14 22:23 ExplorerMan 阅读(397) 评论(0) 推荐(0)

GO-REDIS的一些高级用法
摘要:1. 前言 说到Golang的Redis库,用到最多的恐怕是redigo 和 go-redis。其中 redigo 不支持对集群的访问。本文想聊聊go-redis 2个高级用法 2. 开启对Cluster中Slave Node的访问 在一个负载比较高的Redis Cluster中,如果允许对slav 阅读全文

posted @ 2019-09-09 19:02 ExplorerMan 阅读(2078) 评论(0) 推荐(0)

go使用go-redis操作redis 连接类型,pipline, 发布订阅
摘要:内容: 一 . 客户端Client(普通模式,主从模式,哨兵模式)二. conn连接(连接, pipline, 发布订阅等)三. 示例程序(连接, pipline, 发布订阅等)客户端Client 普通模式的客户端go redis依据用途提供了多种客户端创建的函数, 如下: func NewClie 阅读全文

posted @ 2019-09-09 17:54 ExplorerMan 阅读(6052) 评论(0) 推荐(0)

聊聊GO-REDIS的一些高级用法
摘要:1. 前言 说到Golang的Redis库,用到最多的恐怕是redigo 和 go-redis。其中 redigo 不支持对集群的访问。本文想聊聊go-redis 2个高级用法 2. 开启对Cluster中Slave Node的访问 在一个负载比较高的Redis Cluster中,如果允许对slav 阅读全文

posted @ 2019-09-09 16:18 ExplorerMan 阅读(461) 评论(0) 推荐(0)

Golang- import 导入包的几种方式:点,别名与下划线
摘要:包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然G 阅读全文

posted @ 2019-09-09 11:36 ExplorerMan 阅读(11565) 评论(0) 推荐(1)

ApiDoc 后端接口注释文档的使用
摘要:前端和后端注释文档生成 前端和后端的 函数及api 说明文档生成总结,持续更新中 by Qzx 参考网址 jsDoc - 中文说明 jsDoc 使用教程 后台接口文档生成器 - APIDOC官网 apiDoc - 中文说明 apiDoc的使用教程 一、安装 二、apidoc 常用命令说明 三、具体使 阅读全文

posted @ 2019-09-06 16:45 ExplorerMan 阅读(497) 评论(0) 推荐(0)

接口文档神器之apidoc
摘要://@desn:apidoc linux环境 windows环境使用 //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@date:2018/5/6 正文: windows版安装: 1.安装nodejs (nodejs环境) 32 位 阅读全文

posted @ 2019-09-06 16:45 ExplorerMan 阅读(331) 评论(0) 推荐(0)

Golang 数组和切片
摘要:数组 数组是类型相同的元素的集合。例如,整数 5, 8, 9, 79, 76 的集合就构成了一个数组。Go不允许在数组中混合使用不同类型的元素(比如整数和字符串)。 声明 有很多声明数组的方式,让我们一个一个地介绍。 var a [3]int 声明了一个长度为 3 的整型数组。数组中的所有元素都被自 阅读全文

posted @ 2019-09-05 18:19 ExplorerMan 阅读(303) 评论(0) 推荐(0)

go切片展开
摘要:可以使用 ... 操作符将一个切片追加到另一个切片末尾: 上面的程序中,在第10行将 fruits 追加到 veggies 并赋值给 food。...操作符用来展开切片。程序的输出为:food: [potatoes tomatoes brinjal oranges apples]。 阅读全文

posted @ 2019-09-05 18:17 ExplorerMan 阅读(2063) 评论(0) 推荐(0)

Go的json解析:Marshal与Unmarshal
摘要:简介Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输。任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如string类型,strcut对象等。 go语言本身为我们提供了json的工具包”encoding/jso 阅读全文

posted @ 2019-09-04 19:42 ExplorerMan 阅读(545) 评论(0) 推荐(0)

golang depth read map
摘要:Foreword: I optimized and improved the below solution, and released it as a library here: github.com/icza/dyno. The cleanest way would be to create pr 阅读全文

posted @ 2019-09-04 19:32 ExplorerMan 阅读(410) 评论(0) 推荐(0)

golang 多级json转map
摘要:func main() { jsonStr := `{"isSchemaConforming":true,"schemaVersion":0,"unknown.0":[{"email_address":"test1@uber.com"},{"email_address":"test2@uber.com"}]}` dynamic := make(map[string]interf... 阅读全文

posted @ 2019-09-04 19:14 ExplorerMan 阅读(3309) 评论(0) 推荐(0)

GoLang中 json、map、struct 之间的相互转化
摘要:1. golang 中 json 转 struct <1. 使用 json.Unmarshal 时,结构体的每一项必须是导出项(import field)。也就是说结构体的 key 对应的首字母必须为大写。请看下面的例子: 输出的结果如下: 1 { 0} 1 { 0} 1 { 0} 1 { 0} { 阅读全文

posted @ 2019-09-04 19:06 ExplorerMan 阅读(686) 评论(0) 推荐(0)

利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式
摘要:最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序。 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的Visual Code的官方Go插件支持这种方案,那就试一下这个方案吧。 2019-03-15追加: 阅读全文

posted @ 2019-09-04 17:46 ExplorerMan 阅读(1223) 评论(0) 推荐(0)

golang数据类型转换
摘要:int--string 1 2 3 4 //string到int value_int,err:=strconv.Atoi(string) //int到string str:=strconv.Itoa(value_int) 1 2 3 4 //string到int value_int,err:=str 阅读全文

posted @ 2019-09-04 16:00 ExplorerMan 阅读(165) 评论(0) 推荐(0)

golang 数据类型之间的转换
摘要:一、基本数据类型之间的转换 1、string到int int,err:=strconv.Atoi(string) 2、string到int64 int64, err := strconv.ParseInt(string, 10, 64) 3、int到string string:=strconv.It 阅读全文

posted @ 2019-09-04 15:57 ExplorerMan 阅读(900) 评论(0) 推荐(0)

Golang中用interface{}接收任何参数与强转
摘要:函数的传值中,interface{}是可以传任意参数的,就像java的object那样。下面上我第一次想当然写的 ** 错误 **代码 我只是想它能通过编译而已,因为上面的错误代码并没有任何的语法错误,心里只有666想说,下面是编译的错误提示:cannot convert v (type inter 阅读全文

posted @ 2019-09-04 15:29 ExplorerMan 阅读(787) 评论(1) 推荐(0)

beego 如何自定error
摘要:beego通过Redirect方法来进行跳转: 1 2 3 func (this *AddController) Get() { this.Redirect("/", 302) } 1 2 3 func (this *AddController) Get() { this.Redirect("/", 阅读全文

posted @ 2019-09-03 21:40 ExplorerMan 阅读(936) 评论(0) 推荐(0)

golang struct结构体初始化的几种方式
摘要:type User struct { Id int `json:"id" orm:"auto"` // 用户名 Username string `json:"username"`} func main() { //值类型 u1:=models.User{} var u2 models.User // 阅读全文

posted @ 2019-09-03 18:32 ExplorerMan 阅读(2911) 评论(0) 推荐(0)

golang单例模式
摘要:1、定义:单例对象的类必须保证只有一个实例存在,全局有唯一接口访问。 2、分类: 懒汉方式:指全局的单例实例在第一次被使用时构建。 饿汉方式:指全局的单例实例在类装载时构建。 3、实现: (1)懒汉方式 缺点:非线程安全。当正在创建时,有线程来访问此时ins = nil就会再创建,单例类就会有多个实 阅读全文

posted @ 2019-09-03 18:25 ExplorerMan 阅读(303) 评论(0) 推荐(0)

rocksdb和leveldb性能比较——写性能
摘要:前面学习了一下rocksdb,这个db是对leveldb的一个改进,是基于leveldb1.5的版本上的改进,而且leveldb1.5以后也在不断的优化,下面从写入性能对两者进行对比。 前言 比较的leveldb的版本是1.18,rocksdb的版本是3.10.1. 在比较的时候需要将leveldb 阅读全文

posted @ 2019-09-03 16:49 ExplorerMan 阅读(2108) 评论(0) 推荐(0)

Golang 单例模式 singleton pattern
摘要:在Java中,单例模式的实现主要依靠类中的静态字段。在Go语言中,没有静态类成员,所以我们使用的包访问机制和函数来提供类似的功能。来看下下面的例子: package singleton import ( "fmt") type Singleton interface { SaySomething() 阅读全文

posted @ 2019-09-03 16:47 ExplorerMan 阅读(435) 评论(0) 推荐(0)

golang可见性规则(公有与私有,访问权限)
摘要:Go语言没有像其它语言一样有public、protected、private等访问控制修饰符,它是通过字母大小写来控制可见性的,如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头表示能被其它包访问或调用(相当于public),非大写开头就只能在包内使用(相当于private,变量或常 阅读全文

posted @ 2019-09-03 14:29 ExplorerMan 阅读(2384) 评论(0) 推荐(0)

golang init方法和main方法初始化顺序
摘要:init()和main()方法是golang默认的两个方法,不需要我们调用,程序执行会自动寻找项目中的这俩方法。现在我们就讲一种通用的情况:main 包下 导入了 init2 包而在init2 包下又导入了init3 包,三个包下都有自己的init 方法,初始化的顺序又是怎么的呢?先看一段代码: 程 阅读全文

posted @ 2019-09-03 14:17 ExplorerMan 阅读(651) 评论(0) 推荐(0)

Golang的面向对象编程【结构体、方法、继承、接口】
摘要:Golang也支持面向对象编程。但与以前学过传统的面向对象编程语言有区别。1)Golang没有类class,Go语言的结构体struct和类class有相似的特性。2)Golang中不存在继承,方法重载,构造函数,析构函数,隐藏和this指针。3)Golang有继承,封装,多态的特性,但是实现方法与 阅读全文

posted @ 2019-09-03 13:24 ExplorerMan 阅读(851) 评论(0) 推荐(0)

beego配置文件
摘要:配置文件内的key不区分大小写 关于App配置: AppName 应用名称,通过bee new创建的项目名AppName = beegobeego.BConfig.AppName = "beego" RunMode 可选prod、dev、test。默认dev为开发模式有日志打印,prod会关闭日志的 阅读全文

posted @ 2019-09-02 17:20 ExplorerMan 阅读(339) 评论(0) 推荐(0)

swagger-ui升级swagger-bootstrap-ui界面好看到起飞
摘要:如果项目已经集成了swagger,只需要在pom.xml添加,如果你的项目没有集成swagger,自行百度或看最下方的链接 swagger-bootstrap-ui是Swagger的前端UI实现,目的是替换Swagger默认的UI实现Swagger-UI,使文档更友好一点儿.... swagger- 阅读全文

posted @ 2019-09-02 14:59 ExplorerMan 阅读(3622) 评论(0) 推荐(0)

beego 注解路由
摘要:场景描述:使用注解路由,不起作用。 额外描述: 路由的添加都写在 main函数中了,同时未设置 beego.BConfig.RunMode ="dev"也未引入 :routers包的初始化操作 其官网描述: http://beego.me/docs/mvc/controller/router.md 阅读全文

posted @ 2019-09-02 14:23 ExplorerMan 阅读(3144) 评论(0) 推荐(0)

golang make()的第三个参数
摘要:学习了一段时间golang,大概可以用golang做一些小东西了,于是回顾了一下一些基础的东西。golang分配内存有一个make函数,该函数第一个参数是类型,第二个参数是分配的空间,第三个参数是预留分配空间,前两个参数都很好理解,但我对第三个参数却一脸懵逼,例如a:=make([]int, 5, 阅读全文

posted @ 2019-09-02 11:57 ExplorerMan 阅读(628) 评论(0) 推荐(0)

导航