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

命令行程序示例集

[**CLI**](https://github.com/mkideal/cli)是一个非常小巧,便于使用且功能丰富的用于构建命令行程序的库。为了让大家更加容易上手,特此撰写了二十几个程序示例。每个示例都非常简单,通常只用来阐明一个特性的使用方法。 * [Example 1: Hello world](http://www.mkideal.com/golang/cli-examples.html#example-1-hello) * [Example 2: How to use **flag**](http://www.mkideal.com/golang/cli-examples.html#example-2-flag) * [Example 3: How to use **requ...阅读全文

php +go关键字实现协程

今天在知乎浏览时忽然发现了一个有趣的东西,php竟然可以实现协程的实现,而且还是通过go关键字实现,顿时感觉php现在发展的好迅速,竟然把go里的东西都借鉴去。 只不过这是在一个叫Swoole的框架中实现的。 Swoole4为PHP语言提供了强大的CSP协程编程模式。底层提供了3个关键词,可以方便地实现各类功能。 Swoole4提供的PHP协程语法借鉴自Golang,在此向GO开发组致敬 PHP+Swoole协程可以与Golang很好地互补。Golang:静态语言,严谨强大性能好,PHP+Swoole:动态语言,灵活简单易用 关键词 go :创建一个协程 chan :创建一个通道 defer :延迟任务,在协程退出时执行,先进后出 这3个功能底层实现全部为内存操作,没有任何IO资源消耗。就像...阅读全文

博文 2019-01-11 21:34:43 三月孙记风

golang开发中 redis连接池的使用

作为一个phper,第一次听到连接池还有点蒙圈,转golang开发后连接池的概念会经常使用。 ### 一、连接池是什么 连接池是什么?一个服务端资源的连接数量都是有限的,每次初始化时他建一定数量的连接,先把所有连接存起来,谁要用则从里面取,用完后放回去。如果超出连接池容量,要是排队等着或么直接丢弃。 比如我们做开发中常用的mysq,redis,php-fpm的配置 1,redis服务端设置 maxclients 最大连接数设置 2, mysql服务端设置 max_connections 最大连接数 3,PHP-FPM 服务端设置 max_children 最大子进程数 start_servers 起始进程数 我们golang开发时连接redis用到自己设计的连接池概念,想要达到的效果是什么?...阅读全文

博文 2020-01-13 13:45:53 duzhenxun

Docker源码分析(二):Docker Client创建与命令执行

【编者按】在《深入浅出Docker》系列文章的基础上,InfoQ推出了《Docker源码分析》系列文章。《深入浅出Docker》系列文章更多的是从使用角度出发,帮助读者了解Docker的来龙去脉,而《Docker源码分析》系列文章通过分析解读Docker源码,来让读者了解Docker的内部实现,以更好的使用Docker。总之,我们的目标是促进Docker在国内的发展以及传播。另外,欢迎加入InfoQ Docker技术交流群,QQ群号:272489193。 1. 前言 如今,Docker作为业界领先的轻量级虚拟化容器管理引擎,给全球开发者提供了一种新颖、便捷的软件集成测试与部署之道。在团队开发软件时,Docker可以提供可复用的运行环境、灵活的资源配置、便捷的集成测试方法以及一键式的部署方式。...阅读全文

博文 2015-03-29 19:59:55 孙宏亮

cli - 构建强大命令行程序的工具箱 (4)

获取 cli ======== cli 开源在 [github](https://github.com/mkideal/cli) 上,欢迎大家前去 star :-) 使用go get获取 ```shell go get github.com/mkideal/cli ``` [上一篇](http://studygolang.com/topics/1520)介绍了`Command`和`Context`对象,以及构建多层子命令的方法.本片将介绍一个构建http服务的栗子。本篇示例代码由 [**goplus**](https://github.com/mkideal/goplus) 生成 ```shell goplus new -t http httpd ``` ...阅读全文

cli - 构建强大命令行程序的工具箱 (3)

获取 cli ======== cli 开源在 [github](https://github.com/mkideal/cli) 上,欢迎大家前去 star :-) 使用go get获取 ```shell go get github.com/mkideal/cli ``` [上一篇](http://studygolang.com/topics/1504)以一个示例讲解了`cli`库的`Command`对象和`Context`对象。本篇将以实例分析讲解`cli`构建复杂多命令的应用程序。 本实例代码使用[goplus](https://github.com/mkideal/goplus)生成 ```shell goplus new -t tree tree `...阅读全文

简单客户端服务器模型(C++、python和go语言示例)

工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。 写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。 一、C++实现 Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。 为了跨平台,我用boost库实现,具体如下。 服务端代码: 1 /* 2 File : svr.cpp 3 Author : Mike 4 E-Mail : Mike_Zhang@live.com 5 */ 6 7 #include 8 #include 阅读全文

博文 2014-10-04 19:26:40 MikeZhang

地理定位数据存储 tile38

Tile38是一个开源(MIT许可),内存地理定位数据存储,空间索引,实时地理围栏的软件。它支持各种对象类型比如纬度/经度,边镜框,XYZ tiles, Geohashes和GeoJSON。 特性: * Spatial index with [search](https://github.com/tidwall/tile38#searching) methods such as Nearby, Within, and Intersects. * Realtime [geofencing](https://github.com/tidwall/tile38#geofencing). * Variety of client protocols, including [http](ht...阅读全文

开源项目 2016-03-06 16:00:00 tidwall

存储组织协调引擎 REX-Ray

REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker、Mesos 及其他容器运行环境提供持续的存储访问。其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。 当前支持的系统: * Ubuntu * Debian * RedHat * CentOS * CoreOS * OSX 运行时 CLI:

$ export REXRAY_STORAGEDRIVERS=ec2
$ export AWS_ACCESSKEY=access_key
$ export AWS_SECRETKEY=secret_key
$ rexray vol...阅读全文

将 Node.js 换成 Go

In looking back on the past year, the biggest difference we made in our tech stack was moving from Node.js to Go. Our co-founder, Steve Kaliski, made the switch from Node.js to Go at Poptip, but he didn’t learn his lesson there. After building the first iteration of Bowery in Node.js, we made the switch to Go in February 2014 and it’s helped us spe...阅读全文

博文 2015-01-30 08:00:00 水母干, lj_april

cli - 构建强大命令行程序的工具箱 (2)

获取 cli ======== cli 开源在 [github](https://github.com/mkideal/cli) 上,欢迎大家前去 star :-) 使用go get获取 ```shell go get github.com/mkideal/cli ``` [上一篇](http://studygolang.com/topics/1498)介绍了`cli` 是什么以及最简单的使用方法。本篇将开始一实例分析讲解`cli`的其他特性。 实例代码 ======= ```go 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/mkideal/...阅读全文

本地开发工具Nanobox

Nanobox 是本地开发工具,可以消除环境的复杂性,在部署和生产环境之间,进行自动化环境配置,通过虚拟化使得开发环境更简洁。 Nanobox 在轻量级 VM 中启动应用,使得本地保持与生产环境一样的配置。 主要特性: 应用源代码:专注于编码,而不需要过多关注配置一个本地开发环境。 语言引擎:此引擎可以检测你的应用类型和指定应用需要的服务,还有如何配置。 Docker 容器:配置好和安装好的容器。 Vagrant / Virtual Box:服务在统一的轻量级 Linux 虚拟机 (30mb RAM) 中运行。 Nanobox 检测你的应用类型,自动配置环境,安装应用所需的所有应用和服务: 使用 Usage: nanobox [flags] nanobox [comm...阅读全文

开源项目 2015-11-20 00:00:01 nanobox-io

golang 命令行cobra妙用

为什么使用命令行 大型项目中少不了数据升级,如果采用web服务,一来不够安全,二来数据量大的时候也会出超时的情况。这时使用命令行是比较合适的方式了。 命令行中的MVC web项目一般采用MVC模式,对于命令行有吗? 对于命令行则有command(命令)和flag(参数),golang自带了flag包,不过功能不够强大,这里我们使用第三方包cobra cobra 的使用 具体用法可以参考官方文档,我就不细说了。 妙用 按照官方的结构,不好实现自动注册,每次增加新的命令或文件夹不好管理,需要改动代码。经过一番思考,发现可以利用golang的init机制来达到我的目的。 目录结构如下: 运行效果如图: 其中rootCmd.go 中初始化根命令rootCmd,同时封装两个函数,一个是添加子命令的,一...阅读全文

博文 2018-07-26 11:30:02 xdao

cli - 构建强大命令行程序的工具箱 (5)

======== cli 开源在 [github](https://github.com/mkideal/cli) 上,欢迎大家前去 star :-) 使用go get获取 ```shell go get github.com/mkideal/cli ``` [上一篇](http://studygolang.com/topics/1524)介绍了使用`cli`构建http服务的示例。本篇介绍一个用`cli`创建的实用程序 [`exp`](https://github.com/mkideal/tools/blob/master/exp/README.md) 这是一个用于求值表达式的命令行程序,使用栗子: ```shell exp 1+2 exp -e 1...阅读全文

golang的hijack篡取劫持

一直不太明白golang的hijack是干什么的?只知道hijack这个词是篡取的意思,难道跟网关的作用一样,把client的请求发到这个服务上,然后这个服务帮忙转发到远端server,但是看了源码后就明白这个golang hijack是干嘛的? 先看一下hijack相关的结构说明: type Hijacker interface { Hijack() (net.Conn, *bufio.ReadWriter, error) } //返回连接接口net.Conn和ReadWriter,bufio读写的 // Hijack lets the caller take over the connection. -----翻译Hijack让调用者管理连接 // After a call to Hij...阅读全文

博文 2016-10-05 16:00:02 linuxheik

Go命令行应用gcli

Golang下的简洁易用的命令行应用,工具库。包含运行命令,颜色风格,数据展示,进度显示,交互方法等 ## 功能特色 - 使用简单方便,轻量级,无额外依赖 - 支持添加多个命令,并且支持给命令添加别名 - 输入的命令错误时,将会提示相似命令(包含别名提示) - 快速方便的添加选项绑定 `--long`,支持添加短选项 `-s` - 支持绑定参数到指定名称, 支持必须`required`,可选,数组`isArray` 三种设定 - 运行命令时将会自动检测,并按对应关系收集参数 - 支持丰富的颜色渲染输出, 由[gookit/color](https://github.com/gookit/color)提供 - 同时支持html标签式的颜色渲染,兼容Window...阅读全文

开源项目 2019-03-12 12:24:00 inhere

golang cli命令行框架使用

简介cli提供了简单快速的命令行功能的开发。在应用中通过命令设定参数和配置是基本需求。Cli可以帮助快速构建命令行功能。 安装 go get github.com/urfave/cli 简单示例 package main import ( "fmt" "os" "github.com/urfave/cli" ) func main() { app := cli.NewApp() app.Name = "sysconfig" app.Usage = "Setting basic configuration" app.Version = "0.0.1" app.Action = func(c *cli.Context) error { fmt.Println("Prepare applying ...阅读全文

博文 2019-11-07 10:32:48 麦穗儿

golang-微服务micro初体验

什么是微服务? 一种软件体系结构模式,用于将大型单块应用程序分解为更小、可管理的独立服务,这些服务通过语言无关协议进行通信,每个服务的重点做好一件事 微服务的概念并不新鲜,这是对服务导向架构的重新构想,但其方法更整体地与unix进程和管道保持一致。 微服务架构的理念: 服务很小 - 细粒度作为单一的商业目的类似于unix哲学“做一件事,做得好” 组织文化应该包含部署和测试的自动化。这减轻了管理和运营的负担 文化和设计原则应该包含失败和错误,类似于反脆弱系统。 好处: 更容易扩展开发 - 团队围绕不同的业务需求进行组织并管理自己的服务。 更容易理解 - 微服务要小得多,通常是1000 LOC或更低。 更容易部署新版本的服务 - 可以独立部署,扩展和管理服务。 改进的容错和隔离 - 关注点的分离...阅读全文

博文 2019-08-30 10:02:42 yylany

Golang 微服务教程(三)

译文链接:wuYin/blog原文链接:ewanvalentine.io,翻译已获作者 Ewan Valentine 授权。 本文完整代码:GitHub 在上节中,我们使用 go-micro 重新实现了微服务并进行了 Docker 化,但是每个微服务都要单独维护自己的 Makefile 未免过于繁琐。本节将学习 docker-compose 来统一管理和部署微服务,引入第三个微服务 user-service 并进行存储数据。 MongoDB 与 Postgres 微服务的数据存储 到目前为止,consignment-cli 要托运的货物数据直接存储在 consignment-service 管理的内存中,当服务重启时这些数据将会丢失。为了便于管理和搜索货物信息,需将其存储到数据库中。 可以为...阅读全文

博文 2018-06-07 09:34:37 wuYin

命令行参数解析cmdr

- 命令行界面符合POSIX - 支持传统的嵌套结构定义方案 - 支持流式调用方式的定义方案 - 任意层级命令与子命令、别名 - 选项 - 支持`--long`, `-l`,短选项甚至允许2个字符,别名随意 - 多级选项自由输入,位置无论,短选项的组合随意:`-1abe` 相当于 `-1 -ab -e` - 支持 `-D+`, `-D-`;支持 ToggleGroup,一组bool选项能够如同radio buttong group般被自动翻转 - 支持 `-I/usr/include -I=/usr/include -I /usr/include ` 以及引号环绕时的识别 - 支持 `--` - 命令、选项可分组,分组顺序可自行掌控 - 命令、选项错...阅读全文

presto从入门到入门

Presto使用Catalog、Schema和Table这3层结构来管理数据。---- Catalog:就是数据源。Hive是数据源,Mysql也是数据源,Hive 和Mysql都是数据源类型,可以连接多个Hive和多个Mysql,每个连接都有一个名字。一个Catalog可以包含多个Schema,大家可以通过show catalogs 命令看到Presto连接的所有数据源。---- Schema:相当于一个数据库实例,一个Schema包含多张数据表。show schemas from 'catalog_name'可列出catalog_name下的所有schema。---- Table:数据表,与一般意义上的数据库表相同。show tables from 'catalog_name.schem...阅读全文

博文 2018-10-08 19:34:41 hbtszyt

压缩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

Redis 中 Lua 脚本的应用和实践

引言 前段时间组内有个投票的产品,上线前考虑欠缺,导致被刷票严重。后来,通过研究,发现可以通过 redis lua 脚本实现限流,这里将 redis lua 脚本相关的知识分享出来,讲的不到位的地方还望斧正。 redis lua 脚本相关命令 这一小节的内容是基本命令,可粗略阅读后跳过,等使用的时候再回来查询 redis 自 2.6.0 加入了 lua 脚本相关的命令,EVAL、EVALSHA、SCRIPT EXISTS、SCRIPT FLUSH、SCRIPT KILL、SCRIPT LOAD,自 3.2.0 加入了 lua 脚本的调试功能和命令SCRIPT DEBUG。这里对命令做下简单的介绍。 EVAL执行一段lua脚本,每次都需要将完整的lua脚本传递给redis服务器。 SCRIPT...阅读全文

博文 2019-01-30 17:34:44 燕南飞Liam

Vs - 基于 d3.js 和 vue.js 的数据可视化

### Vs 概述 > Vs 是一个基于 `d3.js` 和 `vue.js` 的数据可视化分析包,适用于图表,dashboard 制作。 [Github Repo](https://github.com/GopherJ/Vs) ### 目前支持的组件 - `d3Bar` - `d3Line` - `d3Pie` - `d3ProgressArc` - `d3SankeyCircular` - `d3Timelion` - `d3Timeline` ### 主依赖 - `d3.js v4` - `vue.js v2.5` ### 安装 ```javascript npm i -S GopherJ/Vs ``` ### 使用 > 建...阅读全文

“网红架构师”解决你的Ceph 运维难题

**欢迎大家前往[腾讯云+社区](https://cloud.tencent.com/developer/?fromSource=waitui),获取更多腾讯海量技术实践干货哦~** > 本文由[Tstack](https://cloud.tencent.com/developer/user/1013467?fromSource=waitui)发表于[云+社区专栏](https://cloud.tencent.com/developer/column/1463?fromSource=waitui) > 本文为长篇连续剧,将分多个篇幅发表,主要介绍了从动手部署环境到后期运营故障处理过程中常见的问题,内容由浅入深,是居家旅行运维Ceph的必备良药。 ### **Q1. 环境预准备** 绝大多数M...阅读全文

博文 2018-10-15 11:02:35 qcloudcommunity

测试Linux下tcp最大连接数限制

文地址: https://www.cnblogs.com/lit10050528/p/8148723.html 现在做服务器开发不加上高并发根本没脸出门,所以为了以后吹水被别人怼“天天提高并发,你自己实现的最高并发是多少”的时候能义正言辞的怼回去,趁着元旦在家没事决定自己写个demo搞一搞。 这个测试主要是想搞明白Linux下哪些参数配置限制了连接数的最大值,上限是多少。 一、先说下demo的思路: 服务端用epoll实现,就是简简单单的接收连接,然后客户端用go的goroutine,每个goroutine就是简单的建立连接,然后什么也不做。 上代码: server: /* * g++ -o test_epoll ./test_epoll.c */ #include #...阅读全文

博文 2018-10-30 21:34:40 Caiaolun

从 Travis 迁移至 GitHub Actions

周末的时候,我决定将我 Go 语言的开源项目 [Flipt](https://github.com/markphelps/flipt) 的 CI 流程从 TravisCI 转移到 GitHub Actions,我想要替换我现有的 CI,并尝试使用新的 GitHub Actions 将手动发版过程自动化。 *说明*:我在 GitHub 工作,但不在 Actions 团队。我想在我的开源项目中配置 Actions,并且不从 Actions 团队或 GitHub 的任何人那里获得任何帮助。我没有被 Github 的同事要求写这篇文章,我的目的很简单,以一个用户的经验来使用这个平台。仅代表个人观点和想法。 不用说,经过我几个小时的调试,我成功了[twitter 链接](https://twitter...阅读全文

博文 2019-12-11 15:53:17 polaris

Why you PHP guys should learn Golang

Go or Golang, is a open source, community supported, fast, consistent, scalable, productive language, and conceived by Google. More and more applications were build with it. Although Rob Pike has said that “… we expected C++ programmers to see Go as an alternative …”, but I really think of that: You PHP guys should learn Golang! Let’s talk about WH...阅读全文

博文 2014-10-09 16:16:51 mikespook

Micro In Action(三):调用服务

![](https://s1.ax1x.com/2020/03/14/8l7qSA.png) > 本文作者:Che Dan > > 原文链接: 本文是[Micro](https://micro.mu/)系列文章的第三篇。我们将以实际开发微服务为主线,顺带解析相关功能。从最基本的话题开始,逐步转到高级特性。 今天将讨论如何调用服务。 --- 在前面文章中我们创建并运行了一个服务, 接下来就可以调用它了。 最简单的方式是利用`micro`这个多功能的命令行工具。 ## 使用 micro 命令行工具调用服务 首先用`list`子命令列出可用服务: ``...阅读全文

博文 2020-03-14 23:01:22 polaris

Ubuntu 18.04下 Hyperledger Fabric 1.0 的搭建

请大家按照步骤进行,避免不必要的错误。 1.查看 apt source sudo vi /etc/apt/sources.list 如果看到是http://cn.xxxxx之类的,那么就不用换的。但是如果其中是http://us.xxxxxx之类的,那么就是外国的。需要更换源,通过以下命令进行批量更换。 :%s/us./cn./g 更换完成后输入 :wq 保存退出。之后更新源。 sudo apt-get update 然后安装ssh sudo apt-get install ssh 2.安装GO语言 下载安装最新的go 下载、安装 wget https://storage.googleapis.com/golang/go1.11.linux-amd64.tar.gz 如果出现443连接错误,...阅读全文

博文 2019-08-07 10:02:49 Walenty

vue.js+axios以及跨域

没做过web开发的,还是用一天时间学习一下vue.js,以便以后配合golang写些简单的web程序。 学习vue.js vue.js的入门就不写笔记了实在是懒得写,网上一堆文章直接搜索出来看看就好,同时可以配合element-ui做些测试。 本来看见web前端开发就挺烦的,一大堆乱七八糟的东西,传说中简单的vue也动不动就一堆什么全家桶,动手是最好的学习方法,稍微学习感觉vue确实挺简单方便,当然真正使用时应该还是挺多坑。 参考文章: 搭建vscode+vue环境 这可能是vue-cli最全的解析了…… Vue2全家桶之一:vue-cli(vue脚手架)超详细教程 基于vue-cli快速构建 以及: Vue官网文档 Vue CLI 官网文档 Element UI官网文档 附神图一张(点击后...阅读全文

博文 2018-08-02 19:35:14 云上听风

Golang处理PDF

工作中经常会遇到一些pdf文件处理的问题,一千种pdf有一千种处理方式,每次都是绞尽脑汁和这些pdf战斗到底。 本人又是一个gopher,所以这篇文章会以一个goper的视角,列举一下我所经历过的每一种pdf处理场景,比如: pdf渲染 pdf校验 pdf加水印 pdf获取页数 pdf合并 pdf拆分 修复受损pdf pdf转png 识别pdf中的字体 pdf解密 ... 复制代码本文大多是场景问题的罗列,可以根据标题摘取自己有兴趣的部分查看 很多pdf的问题我也不是特别专业,如果问题或者疑问欢迎与我交流 一、HTML页面渲染PDF 根据html页面渲染pdf,我使用过以下两种方案: wkhtmltopdf chromedp 1. 使用wkhtmltopdf渲染pdf wkhtmltopdf...阅读全文

博文 2020-01-02 14:34:15 Poisoner

Kubernetes 原生 Serverless 框架Kubeless

Kubeless 是一个基于 Kubernetes 的 Serverless 框架,允许您部署少量代码,而无需担心底层基础架构管道。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除等功能。 Kuberless 包含以下部分: 持 Python、Node.js、Ruby、PHP、Golang、.NET、Ballerina 和自定义运行时 CLI 兼容 AWS Lambda CLI 事件触发器使用 Kafka 消息传递系统和 HTTP 事件 Prometheus 默认监控函数调用和函数延迟 Serverless Framework 插...阅读全文

开源项目 2018-09-21 12:30:03 网友

go cobra包

最近看了几个开源项目,都是基于cobra创建的项目,如果对cobra不了解的话,对整个项目的代码阅读难度都相应的要增加。首先,cobra是什么?cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序。Cobra提供的功能1、简易的子命令行模式,如app server、app get等2、完全兼容posix命令行模式3、支持全局、局部、串联flags4、使用cobra很容易生成应用程序和命令,使用cobra create和cobra cmdname5、如果命令输入有错误,将提供只能建议,如app gt,将提示gt不存在,是否是app get6、自动生成详细的help信息,如app help7、自动识别-h,--help和帮助flag8、自动生成...阅读全文

博文 2018-09-14 14:34:41 GoSnail

golang fork 系统资源共享可行性验证

环境:linux gcc go gdb 如左边代码: go buildtest.go ./test s ./test c ./test c 可见2个.dat 日志文件都有输出,说明2个父子进程都有accept 成功,进一步说明fork 在golang里面可用,也验证了操作系统的父子进程资源可共享 package main import ( "fmt" "io" "net" "os" ) /* #include int MyFork() { pid_t p = fork(); return p; } */ import "C" func handlerCli(cli net.Conn){ for { buf := make([]byte, 128) l,err := cl...阅读全文

博文 2016-11-29 08:00:17 wt123379493

care-screenshot:给我一个URL,我能将你关心的页面元素截图发给机器人cli

Care ScreenShot

[![Status](https://img.shields.io/badge/status-active-success.svg)](https://github.com/eryajf/care-screenshot) [![GitHub Issues](https://img.shields.io/github/issues/eryajf/care-screenshot.svg)](https://github.com/eryajf/care-screenshot/issues) [![GitHub Pull Requests](https:/...阅读全文

开源项目 2021-09-29 09:28:05 https://github.com/eryajf

命令行下载工具 Bat

Bat 是使用 Go 实现的 CLI 工具,类似 [cURL](http://www.oschina.net/p/curl) 的工具,可以说是 Go 语言版本的 cURL 。Bat 可以用来测试,调试和 HTTP 服务器进行一般的交互。 ![image](http://static.oschina.net/uploads/space/2015/0410/124843_xrWw_245869.png) ### 主要特性 * 表达式和直观的语法 * 内置 JSON 支持 * 表单和文件上传 * HTTPS,代理和认证 * 任意请求数据 * 自定义 headers ### 使用 Hello World:

阅读全文

新人求助!golang 怎么实现服务器被外网访问

我按照gopl上写了一个聊天服务器程序,想运行在阿里云服务器上,阿里云服务器能跑nginx,设置应该没问题 代码如下 ``` package main import( "fmt" "net" "log" "bufio" ) type client chan<- string var( entering = make(chan client) leave = make(chan client) messages = make(chan string) ) func main(){ listenner, err := net.Listen("tcp", "120.78.169.107:8000") if err...阅读全文

主题 2017-12-06 11:34:29 desikee

Golang cli 命令行框架笔记

简介 ​ cli 一个简单、快速的命令行程序开发框架。 安装 go get -v github.com/urfave/cli or gopm get -v github.com/urfave/cli 示例 快速开始 Code: package main import ( "github.com/urfave/cli" "os" ) func main() { _ = cli.NewApp().Run(os.Args) } Run: go run main.go Output: NAME: main - A new cli application USAGE: main [global options] command [command options] [arguments...] VERS...阅读全文

博文 2019-05-30 21:34:49 Arrows

2018年个人年终小结

11月底写年终小结有点早,毕竟还有一个月,让今年的成绩更好一些。 去年年底转职,之前所做的python,以及docker熟悉了一半。不过转职之后,原先做的一部分AI(具体包括了数据挖掘,数据抓取,和深度学习的几个框架tensorflow, MXnet等)被搁置在一边,今年主要在虚拟币和区块链领域学习。 技术: 1)亚马逊云的使用 1.1)EC2 instance的创建,扩容,用户管理,针对资源的管理,RSA密钥的发行,导入,安全群的设置(基本级别),instance的I/O port设置,亚马逊domain 的获取,管理,,Google邮件转发配置,多个domain名的配置等。 镜像img的创建,通过镜像复制创建instance. instance 的终止,数据卷的清理等。 1.2)RDS ...阅读全文

博文 2018-11-29 22:34:43 芒鞋儿

fabric nodejs链码示例1

0 导言 智能合约是区块链中一个非常重要的概念和组成部分。在Fabric中内成为Chaincode,中文翻译为链码。涉及到链码地方都是 Chaincode. 本示例是一个资产交易的示例 主要实现如下的功能: 初始化 A、B 两个账户,并为两个账户赋初始资产值; 在 A、B 两个账户之间进行资产交易; 分别查询 A、B 两个账户上的余额,确认交易成功; 删除账户。 新增账户 主要函数 Init:初始化 A、B 两个账户; Invoke:调用其它函数的入口; transfer:实现 A、B 账户间的转账; query:查询 A、B 账户上的余额; delete:删除账户。 create: 新增账户 注意:Fabric官方提供了两种开发node.js链码的途径:fabric-shim和fabric...阅读全文

博文 2019-03-22 14:35:31 链播学院

《Go语言四十二章经》第三十四章 命令行 flag 包

《Go语言四十二章经》第三十四章 命令行 flag 包 作者:李骁 ## 34.1 命令行 写命令行程序时需要对命令参数进行解析,这时我们可以使用os库。os可以通过变量Args来获取命令参数,os.Args返回一个字符串数组,其中第一个参数就是执行文件本身。 ```go package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) } ``` 编译执行后执行 ```go $ ./cmd -user="root" [./cmd -user=root] ``` 这种方式操作起来要自己封装,比较费时费劲。 ## 34.2 flag包 Go提供了flag库,可以很方便的操作命名行参数,下面介绍下flag的用法。 几个概念...阅读全文

博文 2018-10-13 20:29:42 roteman

高性能NoSql数据库 SSDB

今天在看一个开源项目的时候,发现作者使用一个ssdb的数据库,第一反应是ssd硬盘,当时很诧异。后面了解后才知道,原来是 nosql数据库。 ssdb介绍 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis. SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.SSDB 具有和 Redis 相似的 API, 持的客户端包括: PHP, C++, Python, Java, Lua, Ruby, Nodejs, etc. SSDB 是稳定的, 生产环境使用的, 已经在许多互联网公司得到广泛使用, 如奇虎...阅读全文

博文 2017-09-21 17:34:52 若与

Go http.Flusher 在实际项目中的应用

关于《细说 k8s 应用发布》的资料如下: PPT +详细文档+视频链接: https://pan.baidu.com/s/1fliRs6DIdd-54JQ6lMqyyw 提取码: 29nu 最近在使用 Docker Go SDK 做开发的时候,参考了官方的示例代码: package main ​ import ( "io" "os" ​ "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" "golang.org/x/net/context" ) ​ func main() { ctx := context.B...阅读全文

博文 2019-04-29 18:35:11 xjtuhit

安利一个自己写的Redis管理客户端,欢迎star

RedisManager是一个跨平台的redis客户端管理工具, 支持Redis几种数据类型的简单管理。疫情期间在家搞了一个Redis的客户端, 为了全面熟悉一下redis命令。 整体项目使用 vue(iview) + redigo 实现。 经过自己测试基本符合日常管理需要, 支持cli命令模式,命令参数提醒。如果喜欢该工具, 请大家留下小星星✨✨✨✨✨✨,有什么需求或BUG可以直接提交ISSUE,代码比较简陋,go代码只有三个文件,详细看下面的介绍:添加链接​可以测试链接配置是否正确, 如果正确可以直接添加到链接列表里。连接数据保存在本地,不会上传任何数据。 查看数据数据信息string的数据查看​也可以切换查看Json样式, 必须为标准Json哦​list的数据CRUD (set,sor...阅读全文

博文 2020-03-05 18:08:47 xiusin

golang + windows 7 访问 db2 9.7

1. 安装驱动 go get -d github.com/asifjalil/cli 2. liteide 使用 win32 编译环境 ,修改 win32.env ,添加 (根据本机DB 9.7 的安装路径改动) DB2HOME=D:/PROGRA~2/IBM/SQLLIB CGO_LDFLAGS=-L%DB2HOME%/lib CGO_CFLAGS=-I%DB2HOME%/include 3. 打开 $GOPATH/src/github.com/asifjalil/cli 目录 ,替换所有 *.go 文件中的 #cgo LDFLAGS: -ldb2 为 #cgo LDFLAGS: -ldb2cli #cgo LDFLAGS: -ldb2api 4. cirl+F8 (go install)...阅读全文

博文 2017-02-18 09:00:43 宇宙蒙面侠X

六年打磨!阿里开源混沌工程工具 ChaosBlade

阿里妹导读:减少故障的最好方法就是让故障经常性的发生。通过不断重复失败过程,持续提升系统的容错和弹性能力。今天,阿里巴巴把六年来在故障演练领域的创意和实践汇浓缩而成的工具进行开源,它就是 “ChaosBlade”。如果你想要提升开发效率,不妨来了解一下。 高可用架构是保障服务稳定性的核心。 阿里巴巴在海量互联网服务以及历年双11场景的实践过程中,沉淀出了包括全链路压测、线上流量管控、故障演练等高可用核心技术,并通过开源和云上服务的形式对外输出,以帮助企业用户和开发者享受阿里巴巴的技术红利,提高开发效率,缩短业务的构建流程。 例如,借助阿里云性能测试 PTS,高效率构建全链路压测体系,通过开源组件 Sentinel 实现限流和降级功能。这一次,经历了 6 年时间的改进和实践,累计在线上执行演练...阅读全文

博文 2019-03-29 20:34:41 阿里云云栖社区

Kubernetes 应用程序部署框架ksonnet

ksonnet是一个用于编写,共享和部署Kubernetes应用程序清单的框架。使用CLI,只需几个命令就可以从头开始生成完整的应用程序,或者大规模管理复杂的系统。 具体来说,ksonnet允许: 重用常见的manifest模式(在应用程序或外部库中) 使用强大的对象连接语法直接自定义manifest 将应用程序清单部署到多个环境 跨环境差异以比较应用的两个运行版本 在版本可控文件中跟踪应用配置的整个状态 所有这些都使得开发配置更加容易迭代,更方便惊醒持续集成(CI)...阅读全文