Go语言中文网 为您找到相关结果 498

网络安全 - 制作免杀

介绍:之前使用 小七免杀工具包 来作免杀(有空我会上传到网盘上),就是对PE(.bat、.exe这类)文件中出现的特征码进行替换修改,修改方法:等价替换指令,字符串修改大小写等。 现在开源的东西比起手工,免杀率高,速度快,功能多。下面我就介绍下 Hercules 工具: 一、安装 Kali Linux 二、搭建GO语言环境 1、下载解压GO 解压到 /usr/local 目录下: 2、配置环境 让GO命令有效: 文件后追加 export PATH=$PATH:/usr/local/go/bin: 再按 Esc ,输入 :wq,保存退出。使文件生效,并查看版本号,是否正确配置: 三、安装Hercules 升级软件包: 运行Hercules: 四、生成免杀载荷 选择1,输入ip、端口号(用于反弹...阅读全文

博文 2017-06-09 05:05:42 alexnevsky

GolangRoadmap.com 值得每个Gopher关注的平台

大家好,我是平凡的檀先生。创办 [GolangRoadmap.com](https://www.golangroadmap.com/) 网站主要是收集和分享一些Golang相关的一些学习资料,努力打造Gopher一站式学习平台。另外自己比较关注云生态这块的发展,所以也会整理一些相关的知识和大家分享,希望一起学习成长。从2020年8月16日上线开始,已经滚动迭代了几个版本,欢迎持续关注平台的内容更新:[成长记录](https://www.golangroadmap.com/releaseNote/) ![www.golangroadmap.com_.png](https://static.studygolang.com/200901/0c464997790bb62c6063700b407bc...阅读全文

以Kubeadm方式安装的Kubernetes集群的探索

当前手上有两个Kubernetes cluster,一个是采用kube-up.sh安装的k8s 1.3.7版本,另外一个则是采用kubeadm安装的k8s 1.5.1版本。由于1.3.7版本安装在前,并且目前它也是承载了我们PaaS平台的环境,因此对于这个版本的Kubernetes安装环境、配置操作、日志查看、集群操作等相对较为熟悉。而Kubeadm安装的1.5.1版本K8s集群在组件部署、配置、日志等诸多方面与1.3.7版本有了较大差异。刚上手的时候,你会发现你原来所熟知的1.3.7的东西都不在原先的位置上了。估计很多和我一样,采用kubeadm将集群升级到1.5.1版本的朋友们都会遇到这类问题,于是这里打算对Kubeadm方式安装的Kubernetes集群进行一些小小的探索,把一些变动较...阅读全文

博文 2017-02-06 03:23:18 bigwhite

Kubernetes 分布式存储方案 Torus

Torus是一种针对容器集群量身打造的存储系统,可以为通过[Kubernetes](http://www.oschina.net/p/kubernetes)编排和管理的容器集群提供可靠可扩展的存储。这是继[etcd](http://www.oschina.net/p/etcd)、[rkt](http://www.oschina.net/p/CoreOS-rocket)、[flannel](http://www.oschina.net/p/rudder),以及CoreOS Linux之后CoreOS发布的另一个开源产品。 **Torus的架构** 现代化集群的存储必须在网络端维持统一的可用性,随着数据在不同容器中处理还需要管理访问并保障一致性,就算只是在一个应用程序内部使用,随着应用版本的...阅读全文

开源项目 2016-06-16 17:00:13 coreos

RobotGo v0.20.0,Golang跨平台控制鼠标键盘位图屏幕,增加全局事件监听

RobotGo v0.20.0 发布了。v0.20.0 是针对RobotGo v0.10.0优化完善的版本,用于自动化测试工具等场景。 主要变更: 增加全局事件监听 例子: mleft := robotgo.LEvent("mleft") if mleft == 0 { Println("you press...", "mouse left button") } 增加图片格式转换方法 更新CaptureScreen方法,可以不传参数 更新GetPixelColor方法 更新测试 更新文档 完善bitmap 修复BUG: 修复CaptureScreen参数问题 修复MouseToggle...阅读全文

kubernetes集群中利用etcd和grpc实现golang服务间通信

kubernetes集群中利用etcd和grpc实现golang服务间通信 注:文中涉及工作环境相关的网址和IP已经被替换 1. 项目背景 服务运行于docker容器中 使用kubernetes管理容器 服务有多个节点作为一个集群 使用rest接口设置服务缓存中的信息 需要将信息同步到集群中其他节点 2. 项目方案 使用grpc做服务间通信 从etcd中读取服务所有状态为running的节点信息,包括:podIp、status、hostIp、startedAt(启动时间) 服务启动时选取运行时间最长的节点,调用grpc接口请求缓存的信息同步到本容器的服务中 使用rest接口设置缓存的时候,遍历所有节点(不包括自身),调用grpc接口将信息同步到其他节点 方案特点: - 不需要借助额外的配置管...阅读全文

博文 2017-09-18 02:56:56 letian0805

基于 go 的微服务架构应用 microservice-app

## microservice-app 微服务架构实战demo, 使用 go 语言技术栈,包含如下组件: 1. 服务注册中心 [etcd](https://github.com/coreos/etcd) 2. Api 网关 3. Feed 服务 4. Profile 服务 5. Topic 服务 6. 监控组件: prometheus + grafana 7. 跟踪组件: zipkin + elasticsearch 其中Feed, Profile, Topic 启动时会向etcd注册服务, Apigateway 通过调用这三个服务的客户端 Watch 到相应服务的注册Key, 同时得到服务的地址. 当服务实例个数...阅读全文

开源项目 2016-12-14 07:00:08 buptmiao

比特币如何实现—《区块链历史链条》2

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 11比特币为什么还没有挖完比特币系统靠调节难度系数保证比特币不被太快挖完。每10分钟,全网矿工共同计算一道难题,竞争记账权及比特币奖励。如果全网算力不断增长,比特币将很快被挖矿。为了保证比特币稳定在约10分钟挖出一个区块,中本聪设计矿工挖矿获得比特币的难度每过2016个区块(约2周时间)动态调整一次,令调整后的难度使得每生成一个区块的预期时间为10分钟。现在的难度系数约为480PH/s,大约是创世区块的680亿倍,也就是说,以现在的算力,全网矿工需要经过约3000万亿亿次哈希运算才能找到一个符合条件的答案,生成新的区块。 12比特币如何实现 ‘总量恒定’ 比特币是一种通缩型虚拟货币,总量是2100万个,你知道怎么...阅读全文

博文 2019-09-12 17:32:47 链客

HTTP反向代理、负载均衡软件 Traefik

![traefik.logo.png](https://github.com/containous/traefik/blob/master/docs/img/traefik.logo.png?raw=true) Træfɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 ([Docker](https://www.docker.com/), [Swarm](https://docs.docker.com/swarm), [Mesos/Marathon](https://mesosphere.github.io/marathon/), [Consul](https://www.consul.io/), [Etcd](https://coreos.com/e...阅读全文

开源项目 2016-04-07 16:00:00 containous

golang expect包的使用介绍

最近和业务的相关人员对接某一需求时,其提出希望能在业务服务器上不给业务人员密码信息,而能通过执行某个命令后由usera变成userb。这个需求其实用expect 就可以实现,不过使用tcl 语言编写的脚本里密码还是以明文出现的,业务是想通过安装pexpect (python)包,通过生成pyc的文件,略微增加下安全性。不过想了下,可以通过使用golang下的expect实现同样的效果,而且安全性更强。 经搜索引擎检索,发现 https://github.com/ThomasRooney/gexpect/ 可以实现该效果,而且在该包的examples里提供了ftp、ping、python、screen相关的使用示例。这里如果使用su切换用户,代码比较简单,如下: //code from www...阅读全文

博文 2018-12-18 19:34:46 易霂

kubernets部署备忘

February 20, 2017 in Tech 记录下GFW内k8s的部署流程,备忘。 1、各节点上配置hostname,配置resole.conf echo "titan1" > /etc/hostname sysctl kernel.hostname="titan1" echo "nameserver x.x.x.x" >> /etc/resolv.conf 2、各节点上加k8s的repo tee /etc/yum.repos.d/mritd.repo << EOF [mritdrepo] name=Mritd Repository baseurl=https://rpm.mritd.me/centos/7/x86_64 enabled=1 gpgcheck=0 EOF 3、各节点上...阅读全文

博文 2017-07-30 05:40:52 伊布

弹幕barrage

## barrage 各直播平台弹幕协议和开放平台API ## 支持列表 * **douyu.com** ```go package main import ( "fmt" "github.com/songtianyi/barrage/douyu" "github.com/songtianyi/rrframework/logs" ) func chatmsg(msg *douyu.Message) { level := msg.GetStringField("level") nn := msg.GetStringField("nn") txt := msg.GetStringField("txt") logs.Info(fmt.Sp...阅读全文

golang基于etcd实现分布式锁

我们希望同一时间只有一个线程能够访问到资源,但是分布式资源点之间的协调会非常麻烦,这个时候我们就需要一个分布式锁。线程先要获取到分布式锁,然后才能去操作资源。 etcd分布式锁实现原理: 1.利用租约在etcd集群中创建一个key,这个key有两种形态,存在和不存在,而这两种形态就是互斥量。 2.如果这个key不存在,那么线程创建key,成功则获取到锁,该key就为存在状态。 3.如果该key已经存在,那么线程就不能创建key,则获取锁失败。 4.形象的解释一下,将key的存在和不存在两种状态比作一个int变量,存在为1,不存在为0. 如果线程去操作资源点时,先要去访问该变量。如果该变量为0,则线程有资格去访问资源,还要将int变为1,结束时将变量改变为0;如果变量为1,则没有资格去访问资源...阅读全文

博文 2018-11-18 03:34:39 我的饭卡呢

Go开发的分布式爬虫框架yispider

yispider 是一款分布式爬虫平台,帮助你更好的管理和开发爬虫。 内置一套爬虫定义规则(模版),可使用模版快速定义爬虫,也可当作框架手动开发爬虫 码云地址:https://gitee.com/bilibala/YiSpider github地址:https://github.com/2young2simple/yispider ## 架构 目前框架分为2个部分: #### 1.爬虫部分(spider节点): 内部结构参考python scrapy框架,主要由 schedule,page process,pipline 4个部分组成,单个爬虫单独调度器,单独上下文管理,目前内置2中pipline的方式,控制台和文件,节点信息注册在etcd上用于...阅读全文

golang 跨平台编译

第一次接触跨平台编译是在阅读 evio 源码的时候, 发现它的internal包下面的 internal_linux.go 和internal_bsd.go 定义了两个一模一样的函数名 OpenPoll() , golang 在同一个包下是不允许有同名函数的, 后来仔细阅读源码才发现 在 internal_bsd.go 文件的开头有一行注释 // +build darwin netbsd freebsd openbsd dragonfly 经过查资料,了解到这个注释是用来做跨平台编译的, 也就是 internal_bsd.go 只会在 darwin netbsd freebsd openbsd dragonfly 这些系统上参与编译, 这就解释的通了。 下面是从网上转载的golang 跨平台...阅读全文

博文 2019-05-16 20:34:41 cc180912

gRPC负载均衡库grpc-lb的使用

grpc-lb采用客户端进程内负载均衡方式,支持随机、轮询、一致性哈希三种负载均衡策略,并支持服务端权重。可采用etcd或consul作为注册中心。项目地址:https://github.com/liyue201/grpc-lb基本架构如图,服务提供者起来后向注册中心注册自己的信息,ip、端口、权重等,并保持心跳。客户端监听注册中心,获取服务器列表,一旦服务器发生变化,客户端马上更新本地的服务器列表。客户端每个请求都通过负载均衡策略选择一个合适的服务器去访问。​随机负载均衡客户端例子: package main import ( etcd "github.com/coreos/etcd/client" grpclb "github.com/liyue201/grpc-lb" "github....阅读全文

博文 2017-08-02 10:17:33 stirlingx

Etcd Raft源码分析之二:选举流程

### 1.6 node tick与raft的tickElection >这一节在没有特殊说明时,都是在raft/raft.go这个文件中(可以查看方法前的r *raft来知道当前是在raft.go中)。 node的tick()方法调用raft/raft.go中raft结构体的tick()。在1.2节中, raft.becomeFollower()中设置了raft结构体的step函数和tick函数=tickElection。 在上一小节的最后,node.run()从n.tickc通道中获取到消息,调用raft.tick()方法,实际上调用了raft.tickElection()。 ```go // tickElection is run by followers and candidates...阅读全文

博文 2018-09-09 10:58:11 zqhxuyuan

免序列号安装MKL包

最近要用到FFT, 找了许多免费的go下资源, 比较后觉得gosl最好. 主要是速度快, 内容全.它用到硬件加速, 其中有个MKL包下载比较麻烦, 搜索了很多资料后发现了一个简单办法. 全套命令如下:cd /tmpwget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBsudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBsudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproduct...阅读全文

博文 2018-06-01 20:56:18 wzwmzm

史上最全k8s必学必会知识梳理

正文 kube-apiserver 对外暴露了Kubernetes API。它是的 Kubernetes 核心控制层。它被设计为水平扩展,即通过部署更多实例来横向扩展。API Server 负责和 etcd 交互(其他组件不会直接操作 etcd,只有 API Server 这么做),是整个 kubernetes 集群的数据中心,所有的交互都是以 API Server 为核心的。API Server 提供了以下的功能: 整个集群管理的 API 接口:所有对集群进行的查询和管理都要通过 API 来进行。 集群内部各个模块之间通信的枢纽:所有模块之间并不会互相调用,而是通过和 API Server 打交道来完成各自的工作。 集群安全控制:API Server 提供的验证和授权保证了整个集群的安全。...阅读全文

博文 2019-10-25 00:04:24 Liabio

维基链WICC | 项目进展周报第55期(12.16~12.22)

技术 & 产品周报 公链建设● 实现新挂单交易,支持指定交易所ID 100%。● 支持DEX交易所服务费率的设置和使用 50%。● 完成PBFT的开发,测试,bug修复 100%。● 完成连续两个出块的开发与测试 100%。● 重构了P2P模块 100%。● 修复了ComboMoney在某些接口中不起效的bug 100%。● WASM 合约多重签名优化 100%。● WASM 更新授权检查优化 100%。● WASM 合约样例添加优化 100%。应用建设● 维基链官网添加埋点统计 100%。● JavaScript SDK BUG修复和文档编写 100%。● Kotlin SDK优化开发 100%。● Golang SDK多钱包开发 80%。● 维基时代v2.5添加CDN优化。● 批量发币后...阅读全文

博文 2019-12-25 01:32:54 WaykiChain维基链

DockOne微信分享( 一零一):构建容器服务平台(CaaS)

【编者的话】容器技术作为这两年最令人瞩目的技术,在各个行业无论是互联网还是传统行业都得到广大的应用。作为致力于打造金融行业领先的平安云,于今年引进容器技术,研发平安云容器服务平台,吧容器技术应用到业务中,推动业务和技术快速发展。本次分享的核心内容即是从用户 痛点及特征分析想如何构建平安云容器平台。分为4个部分: 容器平台定位容器平台设计容器平台架构容器平台设计技术 一、定位用户首先平安集团旗下的子公司包含了金融行业各个类别,每个子公司有自己的开发模式,对底层计算资源的需求也各有不同。 对做平台来说,所有需求都是合理的,因此平安云为用户提供不同类型的计算资源。 在提供容器之前,云平台已经存储云主机、云存储,现在云平台将提供容器服务。 定位因此我们将容器定义为虚拟机式的容器服务。提供符合平安基础...阅读全文

博文 2017-06-25 16:25:27 DarkForces.

如何在kubernetes中开发自己的Operator

1.为什么要用operator kubernetes对管理无状态的应用有很好的优势,但对于有状态应用,kubernetes有很大的不足。像数据库、缓存等在进行升级和弹性扩缩容时,不能很好的将现有的数据配置到新的实例上。Operator就是为了解决上述问题而出现的,其目的是能够正对不同应用(有状态)的特点,开发特定的控制器,来监听Kubernetes API,在实例创建,伸缩,死亡等各个生命周期中做相应的处理来保证有状态应用中的数据连续性。 2.operator的原理 Operator 实际上作为kubernetes自定义扩展资源注册到controller-manager,通过list and watch的方式监听对应资源的变化,然后在周期内的各个环节做相应的协调处理。所谓的处理就是opera...阅读全文

博文 2019-08-16 00:32:47 doublegao

【巴比伦周报】2019第6周

巴比伦周报第10期:2019.02.04~2019.02.10政策&资讯1.美国SEC委员:比特币ETF最终会获批据Coindoo 2月7日报道,美国证券交易委员会(SEC)委员罗伯特•杰克逊(Robert J. Jackson)在接受《国会季刊》(Congressional Quarterly Inc.)采访时透露,比特币ETF最终将获得批准。因此,毫无疑问的是,SEC最终会批准比特币ETF,现在只是时间问题。2.韩国央行报告:发行央行数字货币将对金融稳定产生负面影响韩国央行周四发布了一份研究报告,对发行央行数字货币可能对商业银行流动性产生的影响进行了建模。报告指出:“央行数字货币将对金融稳定产生负面影响,从而增加商业银行因缺乏现金储备支付给储户而造成恐慌的可能性。”据CoinDesk韩国...阅读全文

博文 2019-02-20 23:34:41 巴比伦社区

k8s :部署

前言 k8s 集群部署是个老生常谈的问题,网上资料一大把,各路大神祭出了各种方案: 使用 linux 发行版提供的包管理器(比如 centos yum) 使用 第三方工具包(脚本) 使用 第三方二次开发包 本文介绍在 浏览 k8s 源代码过程中发现的 k8s 的一种半手工的部署方法 源头 浏览源代码的过程中发现有这么个目录 # /opt/kubernetes-src/src/k8s.io/cluster/centos drwxrwxr-x 4 xingpingz xingpingz 4096 12月 4 13:31 ./ drwxrwxr-x 21 xingpingz xingpingz 4096 12月 4 13:31 ../ -rwxrwxr-x 1 xingpingz xingping...阅读全文

博文 2018-03-15 18:34:37 xingpingz

容器网络通,但业务网络不通,怎么办?

本着为大家分享有用的技能和知识的原则,专门出了一个解决 bug 的主题分享。具体的 bug 描述可以看下面(亲身经验传授给你们) 问题一描述: 某线上业务有 A,B 两个集群,集群之间存在横向访问, 当 A 集群中的某个容器(A.a)重建(发布更新)之后发现,(A.a)可以 ping 通 B 集群中的(B.b)容器,而通过 curl 和 telnet 业务端口的时候是连接被拒绝;第一直觉是业务自身的问题,就在 B.b 容器里启动了 python 测试服务, 在 A.a 容器里通过 curl 测试也没通,那到底是不是业务自身的问题?该如何排查此类呢? 是不是 k8s 或 docker 的 bug 呢? 问题二描述: 大家都知道 etcd 作为 k8s 集群的核心数据存储系统,堪称是 k8s 的...阅读全文

博文 2019-01-09 17:34:46 雪糕

golang实现NTP协议获取服务器时间

// file project main.go package main import ( "encoding/binary" "fmt" "net" "os" "os/signal" "sync" "time" ) const ( NTP_SERVER_IP = "time.windows.com" /*NTP IP*/ NTP_PORT_STR = "123" /*NTP专用端口号字 符串*/ NTP_PCK_LEN = 48 LI = 0 VN = 3 MODE = 3 STRATUM = 0 POLL = 4 PREC = -6 JAN_1970 = 0x83aa7e80 /* 1900年~1970年之间的时间秒数 */ ) func NTPFRAC(x int64) int64 {...阅读全文

博文 2016-08-04 20:00:14 徐学良

go任务调度7(etcd的watch的用法)

监听etcd中的kv变化,常用来做集群中的配置下发、状态同步,非常有价值。 package main import ( "go.etcd.io/etcd/clientv3" "time" "fmt" "context" "go.etcd.io/etcd/mvcc/mvccpb" ) func main() { var ( config clientv3.Config client *clientv3.Client err error kv clientv3.KV watcher clientv3.Watcher getResp *clientv3.GetResponse watchStartRevision int64 watchRespChan <-chan clientv3.WatchR...阅读全文

博文 2019-04-20 18:35:10 梁十八

go-micro+gin+etcd微服务实战之服务注册与发现

在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用etcd作为服务发现服务,使用gin开发golang服务。 使用gin 的原因是gin能够很好的和go-micro进行集成。 本文主要介绍服务注册和发现的实现 关于如何搭建etcd服务可以移步:https://www.jianshu.com/p/ec0e4911236d 本文默认以搭建好了etcd服务,服务的地址是:192.168.109.131:12379 如果你搭建好了自己的etcd服务,可以按照上面文章的步骤做,会看到如下界面: ![图片.png](https://upload-images.jianshu.io/upload_images/13833591-a08df32097b1ed3d.pn...阅读全文

博文 2020-05-22 16:41:28 kukayou

Golang 微服务学习笔记(一)

1.前言 背景 工作由PHP转Golang,最近在用GO开发微服务后台,在学习中,如果理解有误,欢迎交流~~目前只是使用Go micro框架来搭建后台微服务,服务发现使用etcd,协议使用PB,数据读取使用redis。 技术栈 Golang(开发语言) Go-micro (RPC框架) etcd (分布式键值数据库) docker(容器) mysql,redis (数据库) 微服务 微服务是什么概念,一般传统开发中,整个应用都是构建在一个代码库里的,具体可能会根据特征MVC分成model, controller和view层进行开发;或者根据功能,比如登录校验和其他业务逻辑分开,但实际上还是在一个代码库内。这样随着开发时间的增长,会因为耦合度高而面临以下几个问题: 编写和维护工作会变得复杂,特...阅读全文

博文 2018-06-27 01:34:41 Night_Witcher

go-micro的etcd服务注册管理界面使用方法

我们在使用consul时,consul提供了管理界面,可很直观的看到我们注册到consul的服务及健康状况。 etcd并未提供此功能,但是我们可以使用go-micro提供的一个简易界面查看我们注册到etcd中的服务 本文是基于【docker+etcd+go-micro api网关的搭建及使用】:https://www.jianshu.com/p/13d1df6e6731,这篇文章的环境基础来实现的,没有搭建docker+etcd+go-micro api网关的,可以按照上面的链接搭建一遍。 启动这个管理界面也是使用go-micor的镜像来操作,只是指令上有些变化,在启动api网关时,我们使用的是api指令,如下: ```docker run -d -p 8080:8080 --name=mi...阅读全文

博文 2020-05-22 16:43:23 kukayou

golang 基于mysql到内存map的缓存库

# 基于mysql到内存的缓存库 ## 背景 - 很多业务上需要读取db里面的数据详情,这些数据已经存在db,会修改但不会删除,程序为了加速访问需要缓存到内存,业务上也允许内存和db 不一致,设计一个通用的dbcache 由此而来 ## 最佳实践 ``` cache := NewCache(24*time.Hour, 10*time.Minute, 10, 10, "root:test@tcp(127.0.0.1:3306)/test?parseTime=True&loc=Local&multiStatements=true&charset=utf8") c := Cri{} cache.RegisterType("cri", &c) data, err := cache.Get("1", ...阅读全文

博文 2019-09-08 15:22:34 Bulesxz

同时支持etcd v3 v2版本的 webUI

最大亮点 同时支持etcdv2 v3版本 更多功能正在路上!!! version 0.1 - 支持 etcd v2 - 支持 etcd v3 - 使用 go 代替了node - 支持添加多个etcd地址 - 支持 配置文件动态更新 - 支持 etcdv3 tls 加密 - 支持 json toml 配置文件 version 0.2 (后悔药功能) - etcd v3记录每次操作key,value 和版本号 - 添加leveldb (10万数据测试查询速度很快) - etcd v3 后悔药开发完成 - etcd v3 备份功能开发完成 - etcd v2 [后悔药功能-待开发] - etcd v2 [备份功能-待开发] version 0.3 - 使用vue重写界面 - 支持认证 - etcd...阅读全文

博文 2019-03-04 21:00:38 wudaoluo

golang爬虫小案例

### 爬虫步骤 + 想要学习更多的小项目欢迎访问我的博客www.5lmh.com + 明确目标(确定在哪个网站搜索) + 爬(爬下内容) + 取(筛选想要的) + 处理数据(按照你的想法去处理) ```go package main import ( "fmt" "io/ioutil" "net/http" "regexp" ) //这个只是一个简单的版本只是获取QQ邮箱并且没有进行封装操作,另外爬出来的数据也没有进行去重操作 var ( // \d是数字 reQQEmail = `(\d+)@qq.com` ) // 爬邮箱 func GetEmail(...阅读全文

擦亮币圈差异化产品服务的特色品牌

全球数字货币市场覆盖广泛,用户群体资源主要被各大服务平台包揽,每个地区的服务平台的较大的区别,所以打造目标产品才是整个项目的有效载体,选择有特色、有优势的产品才是企业挖掘吸纳市场用户的核心关键。首先产品基本上是根据自身的资源和优势来进行选择,这不完全是站在用户的角度,也不是市场需要什么企业就做什么。在这一点上企业必须抓准自己的优势,并且有效的扩大,再考虑市场是否需要这样的产品。​当下全球数字货币经济发展飞速,币圈正逐步涌现出了一些新的项目方,其中不乏一些知名项目。然而在这里我们发现数字货币行业作为金融行业,品牌建设却是一个任重而道远的过程。对于建设项目品牌的目的其实就是综合各种资源打造好产品,提高客户满意度,提高市场独有性,提高产品在市场的美誉度和知名度。在这个脱离了流量红利期的市场,品牌定...阅读全文

后Kubernetes时代,带你系统梳理K8S 12大关键特性

导读: Kubernetes如今风靡一时,所有主要的云服务提供商都将其作为部署云原生应用的解决方案。Kubernetes有哪些显著的特性和工具优势,让企业开始接受它?本文作者给出了系统的梳理。 “Action without orchestration is burn out; orchestration w/o action is management.” 没有编排的行动是完蛋的,没有行动的编排是管理,行动加上编排是领导。 ― Orrin Woodward” Kubernetes是一种优化资源利用率的抽象概念,它允许跨节点集群高效地进行应用程序分发。 Kubernetes,舵手 ! Kubernetes是一个希腊语单词,意思是“舵手”。 它是一个由谷歌开始的开源项目,从Borg衍生而来,在...阅读全文

博文 2018-03-14 10:34:56 数人云

evans 测试grpc请求

evans 测试grpc 安装 evans地址 $ brew tap ktr0731/evans $ brew install evans 使用: 进入到工程目录 proto的schema根目录 /Users/chelsea/go/src/golang.******.com/xxx/protubuf-schema evans --port="项目端口号" proto/finance/service/xxx/xxxx.go package package lego service service lego call call 方法名称 eg:call PushInfo 输入相应参数 如果是repeated数组格式,可以ctrl+d 跳...阅读全文

博文 2018-10-08 19:34:42 super大橙子

马来西亚交易平台搭建,交易所系统开发公司

交易所系统开发 平台的主业务之一,主要为用户提供数字货币撮合交易。交易模式有现价交易、市价交易、币币交易、C2C交易、OTC交易、止盈止损三种。支持市场各大主流币、以太坊代币及用户发行的其他币种。为用户打开数币交易市场入口,而且平台推出交易返利活动。让您账户的币流动起来,只要流动就有收益。 限价交易 限价买入/卖出是指用户设置一个买入/卖出币的价格和数量,生成委托单,系统会自动撮合市场上的买单和卖单,一旦达到用户设置的价格便按照价格优先时间优先顺序自动成交。 市价交易 市价买是指用户只设置一个总金额,生成委托单,从卖一开始撮合直到总金额成交完成。市价卖是指用户只设置要卖的总币数,生成委托单,从买一开始撮合直到总币数交易完成。 币币交易 币币交易主要是针对虚拟货币和虚拟货币之间的交易,以其中一...阅读全文

博文 2019-08-07 14:08:37 d13826553501

压缩go build打包的可执行文件 —— 3.4MB -> 897K

## 前言 最近在写一个cli程序,习惯性的go build之后发现简简单单的几行代码打包出来就3.0+MB了,为此被做Python的同学嘲笑了很久,于是就研究了一下`go build`产生的可执行文件的压缩 ## 代码示例 代码如下: ``` package main import ( "os" "gopkg.in/urfave/cli.v2" ) const ( APP_NAME = "etcd-cli" APP_VERSION = "0.1" APP_USAGE = "etcd-cli是一个简单实用的etcd命令行客户端,帮助你彻底解脱一次又一次的输入etcdctl" ) func main() { app := new(cli.App) app.Name = APP_NAME app...阅读全文

博文 2017-08-24 06:20:04 gwpp

苏州园区招聘golang后端,和dota2、cs:go相关,简历疯狂的砸过来

Golang后端攻城狮 简历请投qiuhao789@126.com 工作职责: 使用golang语言对web后端进行二次开发、api优化和维护 职位要求: 对steam的api熟悉者优先,对dota2和cs:go有一定的了解 熟悉go语言,能独立开发和维护 具备一定的js、css、html能力优先 主动积极,善于学习和总结,乐于分享,有较强的团队精神。 对新领域有好奇心,勇于尝试 谢谢下面1L兄弟提醒忘记说做什么了 做steam的一个第三方装备交易平台 工作地点,苏州市工业园区独墅湖创意产业...阅读全文

容器网络通,但业务网络不通,怎么办?

本着为大家分享有用的技能和知识的原则,本周专门出一个解决 bug 的主题分享。具体的 bug 描述可以看下面 问题一描述: 某线上业务有 A,B 两个集群,集群之间存在横向访问, 当 A 集群中的某个容器(A.a)重建(发布更新)之后发现,(A.a)可以 ping 通 B 集群中的(B.b)容器,而通过 curl 和 telnet 业务端口的时候是连接被拒绝;第一直觉是业务自身的问题,就在 B.b 容器里启动了 python 测试服务, 在 A.a 容器里通过 curl 测试也没通,那到底是不是业务自身的问题?该如何排查此类呢? 是不是 k8s 或 docker 的 bug 呢? image 问题二描述: 大家都知道 etcd 作为 k8s 集群的核心数据存储系统,堪称是 k8s 的大脑,所...阅读全文

博文 2019-01-09 22:34:40 51reboot

go-micro+gin+etcd微服务实战之服务注册与发现

在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用etcd作为服务发现服务,使用gin开发golang服务。 使用gin 的原因是gin能够很好的和go-micro进行集成。 本文主要介绍服务注册和发现的实现 关于如何搭建etcd服务可以移步:https://www.jianshu.com/p/ec0e4911236d 本文默认以搭建好了etcd服务,服务的地址是:192.168.109.131:12379 如果你搭建好了自己的etcd服务,可以按照上面文章的步骤做,会看到如下界面: 图片.png 这里我的etcd服务启用了 3个节点。 开撸 服务注册 我们预设两个server,userserver和orderserver 下面开始上代码: users...阅读全文

博文 2020-05-07 15:38:25 技术修仙

Microservices

<p>Hi all<br/> Can someone please explain me, what are microservices?<br/> Can I use for communication with web browser like with REST/API.<br/> I am imaging a microservice like: a web server that waiting for incoming requests. When a request comes in, I will call a session service(microservice) that validate, if the request...阅读全文

资源 2015-05-17 19:14:08 blov

熟读这5个开源项目就是合格的GO语言工程师!

写代码同写文章一样,既是技术活,又是艺术活。不是懂了语法能够写出优秀的代码,也正如不是认识字就能够写出优美的文章一样。那个作家饱读史书,那个架构师不是在代码堆里和Bug堆里泡出来的。 因此,程序员刚入门除了读书外,阅读好的代码很重要。阅读优秀的代码可以了解大牛开发的思路,软件架构和语言技巧等。因此,本文针对Go语言,推荐大家5个非常优秀的开源项目,这些开源项目不仅应用广泛,而且其中所用的技术有很多基础技术,是做其它任何项目都不可或缺的。 image Codis Codis是一个分布式Redis解决方案,与官方的纯P2P模式不同,Codis采用的是Proxy-based的方案。可以将Codis理解成为Web服务领域的Nginx,它实现了对Redis的反向代理和负载均衡。Redis本身就是就是一...阅读全文

博文 2019-04-15 22:34:43 岳永

请教一下,windows下如何用go调c动态库(.dll)?

linux下开发感觉没有windows下开发直观,go既然是跨平台的而且go在linux下可以调用c库,那么个人感觉在windows下肯定也可以调用,但是上网搜了很多资料只有调用kernel32.dll的例子,这个是系统的库,如何能调用自己的库呢?求大神指点,回复也可以,我的qq:810766340,或者邮箱xuxue_126@126.co...阅读全文

etcd API使用

## 连接客户端 访问etcd首先要创建client,它需要传入一个Config配置. `Endpoints`:etcd的多个节点服务地址。 `DialTimeout`:创建client的首次连接超时时间,这里传了5秒,如果5秒都没有连接成功就会返回err;一旦client创建成功,不用再关心后续底层连接的状态了,client内部会重连。 ``` cli,err := clientv3.New(clientv3.Config{ Endpoints:[]string{"localhost:2379"}, DialTimeout: 5 * time.Second, }) ``` 返回的 client,它的类型具体如下: ``` type Client struct { Cluster KV Le...阅读全文

博文 2019-11-06 14:42:02 bytemode

客户端速率限制工具 Doorman

Doorman 是一个客户端速率限制的解决方案,客户端与共享资源进行通讯,包括数据库、gRPC 服务、RESTful API 等等可使用 Doorman 来限制对资源的调用。Doorman 使用 Go 语言开发,使用 gRPC 的通讯协议。其高可用特性需要一个分布式的锁管理器,当前支持 [etcd](/p/etcd),也可使用 [Zookeeper](http://www.oschina.net/p/zookeeper) 替代...阅读全文

开源项目 2016-04-09 16:00:00 youtube