10 2019 档案

golang struct组合,转型问题请教
摘要:type Action interface { OnHurt2(other Action) GetDamage() int } type Base struct { atk, hp int } func (this *Base) OnHurt(other *Base) { this.hp -= ot 阅读全文

posted @ 2019-10-31 21:15 ExplorerMan 阅读(832) 评论(0) 推荐(0)

golang继承与接口
摘要:继承 结构体 Go语言的结构体(struct)和其他语言的类(class)有同等的地位,但Go语言放弃了包括继 承在内的大量面向对象特性,只保留了组合(composition)这个最基础的特性。 组合甚至不能算面向对象特性,因为在C语言这样的过程式编程语言中,也有结构体,也有组合。组合只是形成复合类 阅读全文

posted @ 2019-10-31 21:11 ExplorerMan 阅读(3260) 评论(0) 推荐(0)

Go单引号和双引号区别
摘要:首先做个测试,看下面那个选项是正确的: A. str:='abc'+'123'B. str:="abc"+"123"C. str:='123'+"abc"D. str:=`123`+`abc`E. str:=`123`+'abc'F. str:=`123`+"abc"123456正确答案为BDF,为 阅读全文

posted @ 2019-10-31 20:15 ExplorerMan 阅读(1009) 评论(0) 推荐(0)

Swagger字段说明
摘要:常用字段说明 @SWG\Parameter常用字段说明 传送门 swagger官方文档swagger从入门到精通 阅读全文

posted @ 2019-10-31 19:05 ExplorerMan 阅读(2017) 评论(0) 推荐(0)

rabbitmq-BasicReject
摘要:拒收,是接收端在收到消息的时候响应给RabbitMQ服务的一种命令,告诉服务器不应该由我处理,或者拒绝处理,扔掉。接收端在发送reject命令的时候可以选择是否要重新放回queue中。如果没有其他接收者监控这个queue的话,要注意一直无限循环发送的危险。 BasicDeliverEventArgs 阅读全文

posted @ 2019-10-31 17:36 ExplorerMan 阅读(1707) 评论(0) 推荐(0)

python中RabbitMQ的使用(工作队列)
摘要:消息可以理解为任务,消息发送者可以看成任务派送者(sender),消息接收者可以看成工作者(worker)。 当工作者接收到一个任务,还没完任务时分配者又发一个任务,此时需要多个工作者来共同处理这些任务。 任务分派结构图如下: 注:此时有一个任务派送人P,两个工作接收者C1和C2。 现在我们来模拟该 阅读全文

posted @ 2019-10-31 16:59 ExplorerMan 阅读(238) 评论(0) 推荐(0)

RabbitMQ简单实现,exchange四种模式,持久化
摘要:RabbitMQ目录 一、简介,简单实现二、Exchange四种类型简单介绍三、消息确认,交换机、队列及消息持久化一、简介及简单实现RabbitMQ是一个消息代理:它接受并转发消息。你可以把它当成一个邮局:当你想邮寄信件的时候,你会把信件放在投递箱中,并确信邮递员最终会将信件送到收件人的手里。在这个 阅读全文

posted @ 2019-10-31 16:31 ExplorerMan 阅读(795) 评论(0) 推荐(0)

RabbitMQ 相关概念
摘要:RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消息传递的过程想象成:当你讲一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收件人的手上,RabbitMQ 就好比由邮局、邮箱和邮递员组成的一个系统。从计算机术语层面来说,RabbitMQ 模型更像是一种交换 阅读全文

posted @ 2019-10-31 11:47 ExplorerMan 阅读(188) 评论(0) 推荐(0)

RabbitMQ 中 Connection 和 Channel 详解
摘要:我们知道无论是生产者还是消费者,都需要和 RabbitMQ Broker 建立连接,这个连接就是一条 TCP 连接,也就是 Connection。 一旦 TCP 连接建立起来,客户端紧接着可以创建一个 AMQP 信道(Channel),每个信道都会被指派一个唯一的 ID。 信道是建立在 Connec 阅读全文

posted @ 2019-10-31 11:29 ExplorerMan 阅读(650) 评论(0) 推荐(0)

搭建 RabbitMQ Server 高可用集群
摘要:阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 因为公司测试服务器暂不能用,只能在自己电脑上重新搭建一下 RabbitMQ Server 高可用集 阅读全文

posted @ 2019-10-30 22:03 ExplorerMan 阅读(280) 评论(0) 推荐(0)

Ubuntu 16.04 RabbitMq 安装与运行
摘要:前言目前公司用阿里云 + redis 的方式实现的消息队列。了解了目前几种主流的消息组件(主要包括rabbitmq、kafka、)的优缺点后,这里为了深入学习rabbitmq,我在自己的腾讯云服务器上也搭建了一套环境。 准备工作一台服务器:Ubuntu Server 16.04.1 LTS 64位 阅读全文

posted @ 2019-10-30 21:17 ExplorerMan 阅读(411) 评论(0) 推荐(0)

mongodb中对数组的操作命令
摘要:mongodb中对数组的操作命令有$push、$ne、$addtoset、$pop、$pull ###addtoset会碰到的问题addtoset解释: 往数组里面加入数据,如果数组里已经存在,则不会加入(避免重复) 。以加一个加好友的操作为例子,当加好友时,除了好友ID, 还需要成为好友的时间戳时 阅读全文

posted @ 2019-10-29 15:30 ExplorerMan 阅读(526) 评论(0) 推荐(0)

Python 调试工具PySnooper
摘要:相信很多小伙伴平时写python的时候都是需要调试程序的,出问题了,需要了解函数内部是怎么跑的,而这个时候很多人都会想到在疑惑的地方使用print函数来打印一下参数来调试。虽然用print也是不失为是一种方法,但是有时如果疑惑的地方多就要每个地方都要加print,这样就显得比较麻烦了。 今天发现在G 阅读全文

posted @ 2019-10-29 15:25 ExplorerMan 阅读(508) 评论(0) 推荐(0)

nginx 解决session一致性
摘要:session 粘滞性每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 upstream backserver {ip_hash;server 192.168.0.14:88;server 192.168.0.15:80;}但是有缺点,这存在单 阅读全文

posted @ 2019-10-28 21:25 ExplorerMan 阅读(1119) 评论(0) 推荐(0)

Nginx sticky模块实现session粘滞
摘要:一:下载,解压nginx sticky模块。 1 2 3 # cd /usr/local/src # wget http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.1.tar.gz # tar -zxvf ngi 阅读全文

posted @ 2019-10-28 21:17 ExplorerMan 阅读(1236) 评论(0) 推荐(0)

Linux nginx 会话保持(session)
摘要:nginx 会话保持(session)有2种算法,一种是自带IP HASH 算法,一种是基于第三方模块sticky模块来实现会话保持 1)ip_hash 简单易用,但是有如下缺点 后端服务器宕机后,session会丢失 来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡 不适用CDN 阅读全文

posted @ 2019-10-28 21:16 ExplorerMan 阅读(1373) 评论(0) 推荐(0)

typing-python用于类型注解的库
摘要:简介 动态语言的灵活性使其在做一些工具,脚本时非常方便,但是同时也给大型项目的开发带来了一些麻烦。 自python3.5开始,PEP484为python引入了类型注解(type hints),虽然在pep3107定义了函数注释(function annotation)的语法,但仍然故意留下了一些未定 阅读全文

posted @ 2019-10-24 14:37 ExplorerMan 阅读(366) 评论(0) 推荐(0)

要不要赶个时髦,去建设一个「 中台 」?(转)
摘要:很多技术人总是抱怨 新技术/新框架/新概念 太多了,总是学不完,抱怨实在是学不动了。哈哈,这不,最近「 中台 」这么火热,要不要停止抱怨,再咬咬牙学一波? “很多人都担心被技术新潮流所抛弃,所以当遇见不断涌现的新技术时,总是慌忙的去学习。可是其中到底有多少是真正有用的?又有多少是昙花一现的技术呢?当 阅读全文

posted @ 2019-10-24 14:33 ExplorerMan 阅读(213) 评论(0) 推荐(0)

从字节跳动离职后,拿到探探、趣头条、爱奇艺、小红书、15家公司的 offer【转】
摘要:前言 博主目前从事Android开发3年,前两年一直在抖音工作。我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家更加全面的去看待工作、跳槽和生活(从我的角度,当然肯定有不合理的地方,大家借鉴就好) 抖音两年 在字 阅读全文

posted @ 2019-10-23 19:59 ExplorerMan 阅读(1404) 评论(0) 推荐(0)

将python包发布到PyPI和制作whl文件
摘要:参考链接:wheel和egg的不同怎样将自己写的包传达到PyPi发布你自己的轮子 - PyPI打包上传实践PyPI官网上传包教程 wheel文件Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面 阅读全文

posted @ 2019-10-21 18:29 ExplorerMan 阅读(890) 评论(0) 推荐(0)

python如何发布自已pip项目
摘要:python如何发布自已pip项目前言因为自已平时会把一个常用到逻辑写成一个工具python脚本,像关于时间字符串处理,像关于路径和文件夹遍历什么的工具。每一次新建一个项目的时候都要把这些工具程序复制到每个项目中,换一个电脑后还要从github生新下载后再复制到项目中,实在太麻烦。最后想想,还是建一 阅读全文

posted @ 2019-10-21 17:56 ExplorerMan 阅读(775) 评论(0) 推荐(0)

使用python3的typing模块提高代码健壮性
摘要:typing模块的作用: typing模块的作用: 下面说说typing模块常用的方式: 说明: 在传入参数时通过“参数名:类型”的形式声明参数的类型; 返回结果通过"-> 结果类型"的形式声明结果的类型。 在调用的时候如果参数的类型不正确pycharm会有提醒,但不会影响程序的运行。 对于如lis 阅读全文

posted @ 2019-10-21 17:29 ExplorerMan 阅读(4196) 评论(0) 推荐(3)

Golang sync.WaitGroup的用法
摘要:0x01 介绍 经常会看到以下了代码: 12345678910111213 package mainimport ( "fmt" "time")func main(){ for i := 0; i < 100 ; i++{ go fmt.Println(i) } time.Sleep(time.Se 阅读全文

posted @ 2019-10-21 00:16 ExplorerMan 阅读(596) 评论(0) 推荐(0)

Golang中WaitGroup使用的一点坑
只有注册用户登录后才能阅读该文。

posted @ 2019-10-21 00:15 ExplorerMan 阅读(2) 评论(0) 推荐(0)

Golang的 signal
摘要:在实际项目中我们可能有下面的需求:1、修改了配置文件后,希望在不重启进程的情况下重新加载配置文件;2、当用 Ctrl + C 强制关闭应用后,做一些必要的处理; 这时候就需要通过信号传递来进行处理了。golang中对信号的处理主要使用os/signal包中的两个方法:一个是notify方法用来监听收 阅读全文

posted @ 2019-10-20 21:30 ExplorerMan 阅读(347) 评论(0) 推荐(0)

golang channel 使用总结
摘要:不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程(goroutine)之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by commu 阅读全文

posted @ 2019-10-20 21:25 ExplorerMan 阅读(1093) 评论(0) 推荐(1)

glide包管理工具
摘要:上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步。 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依赖的库。 php项目中使用composer,javascript项目中使用npm,那么在go项目中, 阅读全文

posted @ 2019-10-20 18:08 ExplorerMan 阅读(425) 评论(0) 推荐(0)

Github上的python开源项目
摘要:Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search 说明 以下总结大部分来至于 [TimLiu-Python] (https://github.com 阅读全文

posted @ 2019-10-19 21:24 ExplorerMan 阅读(6264) 评论(0) 推荐(2)

Golang开源项目
摘要:谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq、docker等的项目。 下面推荐几款适合学习的项目: 1、cache2go http 阅读全文

posted @ 2019-10-19 21:20 ExplorerMan 阅读(775) 评论(0) 推荐(0)

GitHub上优秀的Go开源项目
摘要:近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用、技巧以及相关工具和方法。我把他们整理发出来,大家有兴趣可以根据自己的爱好选择一些进行研究和阅读,提升自己的能力,更好的使用Go语言,开发出更优秀的项目 阅读全文

posted @ 2019-10-19 21:16 ExplorerMan 阅读(3453) 评论(0) 推荐(0)

解决 nginx 单点问题的方案【h】
摘要:一、问题域 nginx、lvs、keepalived、f5、DNS轮询,每每提到这些技术,往往讨论的是接入层的这样几个问题: 1)可用性:任何一台机器挂了,服务受不受影响 2)扩展性:能否通过增加机器,扩充系统的性能 3)反向代理+负载均衡:请求是否均匀分摊到后端的操作单元执行 二、上面那些名词都是 阅读全文

posted @ 2019-10-18 00:59 ExplorerMan 阅读(1674) 评论(0) 推荐(0)

Python服务Dokcer化并k8s部署实例
摘要:这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程。 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 python 实现的程序,tornado 作为 web 服务器,mongodb 作为存储,redis 作为缓 阅读全文

posted @ 2019-10-15 21:29 ExplorerMan 阅读(1738) 评论(0) 推荐(0)

Docker Machine
摘要:Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。下面是来自 Docker M 阅读全文

posted @ 2019-10-11 21:56 ExplorerMan 阅读(320) 评论(0) 推荐(0)

Docker使用Portainer搭建可视化界面
摘要:Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型 阅读全文

posted @ 2019-10-11 21:34 ExplorerMan 阅读(62507) 评论(0) 推荐(4)

三小时攻克 Kubernetes!
摘要:我保证本文是最详尽的 Kubernetes 技术文档,从我在后台排版了这么漫长的时间就能看出来。废话不多说——牢牢占据容器技术统治地位的 Kubernetes,其重要性想必不言而喻。 以下为译文: 为什么银行肯花大价钱雇我做 Kubernetes 如此简单的工作?——我一直很奇怪这一点,因为我觉得任 阅读全文

posted @ 2019-10-11 21:26 ExplorerMan 阅读(1432) 评论(0) 推荐(0)

Docker使用pipework配置本地网络
摘要:需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求。要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了。 下面我们就使用pipework工具来实现这一需求。 1、pipework的安装 Pipework是一个 阅读全文

posted @ 2019-10-11 21:20 ExplorerMan 阅读(486) 评论(0) 推荐(0)

使用kubeadm安装kubernetes1.12.2版本脚本【h】
摘要:Master节点脚本: 当脚本执行完kubeadm init,会产生一个kubeadm join的命令,例如: kubeadm join 192.168.20.210:6443 --token n962df.2bjqc7w81n2ufz3z --discovery-token-ca-cert-has 阅读全文

posted @ 2019-10-11 20:52 ExplorerMan 阅读(264) 评论(0) 推荐(0)

Kubernetes web界面kubernetes-dashboard安装【h】
摘要:本文讲述的是如何部署K8s的web UI,前提是已经有一个k8s集群后,按照如下步骤进行即可。(如下步骤都是在master节点上进行操作) 1、下载kubernetes-dashboard.yaml文件 2、修改kubernetes-dashboard.yaml文件 上面代码红色字为kubernet 阅读全文

posted @ 2019-10-11 20:42 ExplorerMan 阅读(1001) 评论(0) 推荐(0)

K8s+dashboard安装部署【h】
摘要:系统安装使用虚拟机安装两个centos系统,在/etc/hosts里增加两行192.168.140.128 kuber-master192.168.140.129 kuber-node1 关闭防火墙systemctl stop firewalld & systemctl disable firewa 阅读全文

posted @ 2019-10-11 17:49 ExplorerMan 阅读(596) 评论(0) 推荐(0)

kubernetes/dashboard Getting Started
摘要:Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and tro 阅读全文

posted @ 2019-10-11 16:17 ExplorerMan 阅读(197) 评论(0) 推荐(0)

kubernetes/dashboard Creating sample user
摘要:Creating sample user In this guide, we will find out how to create a new user using Service Account mechanism of Kubernetes, grant this user admin per 阅读全文

posted @ 2019-10-11 16:16 ExplorerMan 阅读(224) 评论(0) 推荐(0)

kubernetes安装dashboard步骤 【h】
摘要:本篇文章参考kubernetes dashboardv1.8.3版本安装详细步骤及 kubernetes-dashboard(1.8.3)部署与踩坑这两篇文章,详细写了自己部署过程中的操作、遇到的问题及解决方案。 部署Dashboard UI 安装成功后查看pods 安装成功界面 安装成功界面 发现 阅读全文

posted @ 2019-10-10 21:48 ExplorerMan 阅读(649) 评论(0) 推荐(0)

Kubernetes Dashboard的安装与坑【h】
摘要:1.前言 https://github.com/kubernetes/dashboard/releases Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users 阅读全文

posted @ 2019-10-10 21:46 ExplorerMan 阅读(728) 评论(0) 推荐(0)

Kubernetes-kubectl The connection to the server localhost:8080 was refused -did you specify
摘要:今天在Kubernetes的从节点上运行命令【kubectl】出现了如下错误: [root@k8snode1 kubernetes]# kubectl get pod The connection to the server localhost:8080 was refused - did you 阅读全文

posted @ 2019-10-09 21:19 ExplorerMan 阅读(566) 评论(0) 推荐(0)

部署kubernetes1.8.3高可用集群
摘要:Kubernetes作为容器应用的管理平台,通过对pod的运行状态进行监控,并且根据主机或容器失效的状态将新的pod调度到其他node上,实现了应用层的高可用。 针对kubernetes集群,高可用性还包含以下两个层面的考虑: etcd存储的高可用 master节点的高可用 在开始之前,先贴一下架构 阅读全文

posted @ 2019-10-06 23:18 ExplorerMan 阅读(651) 评论(0) 推荐(0)

linux磁盘读写性能优化
摘要:在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文件中,注意:/sys/block/xvda ,这里 xvda 写的是你自己的硬盘名,因我的是vps所 阅读全文

posted @ 2019-10-05 18:24 ExplorerMan 阅读(2056) 评论(0) 推荐(0)

alias实现命令别名
摘要:需要经常进入/srv/www/app/account这个目录,每次都得重复的输入这一长串路径进入该目录,显得麻烦而费时,因此可以将“cd /srv/www/app/account”这样一个命令取一个别名,每次只需输入该别名就可以进入该目录Linux系统提供了一个有用的工具叫alias,可以让我们将一 阅读全文

posted @ 2019-10-05 18:23 ExplorerMan 阅读(216) 评论(0) 推荐(0)

导航