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

vim tagbar gotags无效,求大神答疑

![1.png](http://studygolang.qiniudn.com/151119/df8a3d0ae3e8f84ae5575051fad1c9e8.png) tagbar装上了 ![3.png](http://studygolang.qiniudn.com/151119/77642b703d66049b435da5c797e5babd.png) gotags也装上了 ![4.png](http://studygolang.qiniudn.com/151119/715fe1563d4a608d1fff654d08f0a5ee.png) vimrc配置文件 ![2.png](http://studygolang.qiniudn.com/151119/45c0c81b01f...阅读全文

使用shadowsockets和SwitchOmega畅游互联网

作者: vangoleo官网: http://www.vangoleo.com/ss-visit-internet 背景 互联网本是一个开放、自由、精彩的世界。可是由于某些原因,很多网站在中国大陆是不能访问的,比如Google,Facebook。出于工作或者生活需要,尤其是对于技术开发者,设计师,科学上网是必需的。 为什么需要科学上网? Google:珍惜生命,远离某度。而且Google还提供了许多优质的服务,比如Gmail、文档、论文搜索等。 Youtube:有各种高质量的科技、开发类视频。 博客和论文:许多博客和论文都被墙了,比如Blogspot和Medium。 社交:Twitter和Facebook。 编程:许多语言的开发环境都需要翻墙,比如Golang和Rust。 科学上网的方式有多...阅读全文

博文 2019-10-19 19:02:39 vangoleo

PhalGo-Viper获取配置

PhalGo-Viper获取配置 viper项目地址:https://github.com/spf13/viper 什么是viper viper是国外大神**spf13**编写的开源配置解决方案,viper拥有一下功能以及特性如下: 设置默认值 从JSON,toml YAML,HCl,和java属性配置文件 从环境变量env读取值 读缓冲区 远程读取配置文件 key不区分大小写 为什么用viper viper不用担心你的文件格式,可以获取环境变量,也可以从远端获取配置文件,并且还有缓冲机制,功能非常棒非常**牛逼**,能满足不同的对配置文件的使用的要求,所以PhalGo采用viper来解决配置问题 初始化Config PhalGo追求最简单的使用各个组件所以viper我们只需要初始化就可以开...阅读全文

博文 2017-02-10 13:53:11 喵了个咪_

golang处理signal

signal一般用来实现优雅重启,或者重新加载配置文件等操作。 废话不多说,上表格 动作号码信号golang kill pid 15 SIGTERM terminated kill -9 pid 9 SIGKILL killed (应用程序无法捕获) kill -10 pid 10 SIGUSR1 user defined signal 1 kill -12 pid 12 SIGUSR2 user defined signal 2 ctrl+c 2 SIGINT interrupt ctrl+z 20 SIGTSTP stopped ctrl+\ 3 SIGQUIT quit kill -1 pid 1 SIGHUP operation not permitted (一般用来重新加载配置文件...阅读全文

博文 2018-08-22 15:30:01 highend

基于配置文件的Web接口服务器goflow

基于 fasthttp 与 go1.8+ 的插件特性搭建的Web服务器框架 设计初衷是为了快速搭建接口服务器 并且灵活进行 每个接口的控制 代码中保留了对插件的热更新支持 通过子进程的方式实现 因为 特性问题导致 go 无法对插件进行卸载 所以目前只能通过这种方式实现热更新 ...阅读全文

go连接数据库,第三方包安装

以mysql为例,go没有实现连接数据库的驱动,只是提供了接口,供第三方实现 首先安装第三方包 cmd执行 go get 命令 在执行go get 命令之前,确保你的电脑配置了环境变量GOPATH,并且安装了git 执行: go get github.com/go-sql-driver/mysql 接下来就会自动安装了,安装成功之后,就可以使用了 package main import ( _"github.com/go-sql-driver/mysql" "database/sql" "fmt" ) type Users struct{ username string pwd string } func main() { db,err := sql.Open("mysql","yld:12...阅读全文

博文 2017-05-22 07:00:25 程序羊

Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)

Visual Studio Code -GO 使用过程中发现,如果要编译输出某个文件需要去cmd窗口才行,感觉特别麻烦网上一直没找到解决办法,这几天查看Visual Studio Code文档发现它提供 tasks 功能可以实现 需要了解Visual Studio Code所有功能配置是通过json文件配置的 tasks 工作原理是Visual Studio Code 自动执行你之前配置好的功能。 配置方法 : 第一次使用 打开vsc界面按 快捷键 Ctrl+Shift+B 会弹出 点击配置任务运行程序 点击Others 出现这个就是我们的配置文件,我们只要把我们的go语言的编译命令配上就行了 我的配置文件 tasks.json 更详细配置:http://code.visualstudio....阅读全文

博文 2016-08-06 11:00:01 wangtongxue123456

golang实现热加载配置

今天继续优化了bigpipe项目,核心目标就是解决重启程序损失流量的问题。 背景 bigpipe作为一个消息中间件,其出现是为了给php程序提供方便的异步Http调用功能。然而php语言并不是常驻进程模型,当它请求bigpipe失败后,顶多重试几次,就必须尽快的向用户返回应答。因此,bigpipe服务的可用性是非常重要的。 bigpipe使用golang编写,采用channel逐层缓冲流量和数据,采用协程并发处理数据。因为bigpipe承接了若干业务,经常会对配置文件做一些修改,那么就必须重启bigpipe。 思考 在最初的版本中,bigpipe提供了优雅退出功能,也就是在退出前首先停止对外的Http服务,然后将进程内剩余的数据处理干净,最后再退出,这样不至于损失已经接受到的数据请求。 优雅...阅读全文

博文 2017-09-30 09:12:13 鱼儿的博客

使用fswatch工具进行golang的热编译

这个是做什么用的? fswatch是一个工具, 通过检测文件的变化,并触发指定的命令 为什么需要fswatch 写完代码最重要的事情之一, 就是检测一下写好的代码是不是能够工作. 要早提前做的话, 收效越好, 发现的问题越多. 但是如果每次都需要make test, 每次都去编译或者测试的话, 还是挺烦人的. 所以如果能有一个自动化的工具去做的话, 那将是件很爽的事情. 最近我在忙一个项目, 经常性的需要, 停下来, 编译一下代码,看看能不能work. 真是烦死人了. 于是我就写了fswatch这个工具, 但是这种东西, 在我写第一版的时候写的不太好, 易用性太差, 可悲的是我却不知怎么去改进. 有人14个人star过我的这个小项目, 但我总感觉对不起他们. 真恨不得某一天删掉这么一坨shi...阅读全文

博文 2014-10-04 19:27:17 go-skyblue

Golang项目部署1,独立部署

文章来源:https://goframe.org/deployment/standalone 独立部署 使用GF开发的应用程序可以独立地部署到服务器上,设置为后台守护进程运行即可。这种模式常用在简单的API服务项目中。 服务器我们推荐使用*nix服务器系列(包括:Linux, MacOS, *BSD),以下使用Ubuntu系统为例,介绍如何部署使用GF框架开发的项目。 1. nohup 我们可以使用简单的nohup命令来运行应用程序,使其作为后台守护进程运行,即使远程连接的SSH断开也不会影响程序的执行。在流行的Linux发行版中往往都默认安装好了nohup命令工具。 命令如下: nohup ./gf-app & 2. tmux tmux是一款Linux下的终端复用工具,可以开启不同的终端窗...阅读全文

[Golang] 从零开始写Socket Server(4):将运行参数放入配置文件(XML/YAML)

为了将我们写好的Server发布到服务器上,就要将我们的代码进行build打包,这样如果以后想要修改一些代码的话,需要重新给代码进行编译打包并上传到服务器上。 显然,这么做过于繁琐。。。因此常见的做法都是将Server运行中可能会频繁变更的变量、数值写入配置文件中,这样直接让程序从配置文件读取参数,避免对代码频繁的操作。 关于配置文件的格式,在这里推荐YAML 和XML~ XML是传统的配置文件写法,不过本人比较推荐yaml,他比XML要更加人性化,也更好写,关于yaml的详细信息可以参考: yaml官网 比如我们可以将Server监听的端口作为变量,写入配置文件 config.yaml 和 config.xml,放入代码的根目录下,这样当我们想要更换服务器端口的时候,只要在配置文件中修改p...阅读全文

博文 2015-11-01 09:00:01 ahlxt123

基于终端的阅读器开发

原文链接:[https://ashan.org/archives/950](https://ashan.org/archives/950) 我相对比较喜欢读书,但只读两种书,至少现在如此。一类是用于吃饭的书,编程类书籍,一类是供我休闲的书籍,各类小说。当然,在小说的种类上我也是有一定偏好的,例如,同事安利我的王小波的书,则安安静静的躺在书架上。 言归正传,前几日同事分享给我一些电子书,怎奈mac系统中没有让我心仪的阅读器,虽然ibook已经接近完美,但并不支持txt文本文件,借此机会用golang实现了一个基于终端的阅读器,方便自己读小说使用。 先来看一下最终的界面样式: ![](http://www.ashan.org/2017/04/1572837517839...阅读全文

项目发布脚本-go

#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin clear printf " # Name: Downtown_Shell_Deploy_Script # # Purpose:Deploy tar.gz to the host # # Notes: # 1 Upload your tar.gz file to the path /data/source # # 2 ./script_name Filename.postfix # For Example:./New_UPDATE_nodejs_tar_update.sh buffetmealapi.tar.gz # # R...阅读全文

博文 2017-05-19 06:00:39 三木燕

go配置sublime text时使用MarGo报错及解决方法

使用sublime text运行go程序,出现如下错误:MarGo: Missing required environment variables: GOROOT GOPATH See the `Quirks` section of USAGE.md for info 解决方法:在sublime->preferenct->package settings->gosublime->settings-user中添加 { "env": { "GOPATH" : "your GOPATH settings",//此处为你的GOPATH路径,如我的为“/home/mygo” "GOROOT" : "your GOROOT settings"//此处为你的GOROOT路径,如我的为“/home/go” ...阅读全文

博文 2015-06-18 09:09:12 chenbaoke

阿里云CENTOS7.0搭建VNC+GOLANG+DOCKER

为了方便弄个桌面 安装步骤: 关闭防火墙,centos的防火墙是firewalld,关闭防火墙的命令systemctl stop firewalld.service 。关闭enforce,setenforce 0。 sudo yum groupinstall -y "GNOME Desktop" 重启机器 1.安装tigervncserver,yum install tigervnc-server tigervnc-server-module 2.拷贝配置文件cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service 3.进入到配置文件目录cd /etc/systemd/system 4...阅读全文

博文 2015-06-17 20:23:34 x_focus

Git和Golang配置Shadowsocks代理

使用场景 golang get 很慢,需要进行httpx代理 composer很慢可以使用代理 git clone github的包时候也很慢 shadowsocks 安装 1分钟配置 点击查看 转化代理模式 ssr提供sock5代理,所以我们需要转化成http协议的代理层,golang有个工具cow,安装如下。据说目前git已经支持socks5代理,所以后面我有进行尝试socks5直接配置代理参数。包括环境参数也是同样有些软件支持socks5,我们可以按需配置 go get github.com/cyfdecyf/cow 在cow目录下提供一个配置文件rc.txt,更多需求了解【cow文档】 listen = http://127.0.0.1:7777 proxy = socks5://1...阅读全文

博文 2018-12-23 03:34:42 Godtoy

golang连接数据库封装包

dbobj golang数据库接口 这个包,封装了golang与数据库之间的接口,目前支持oracle,mysql数据库 依赖包: oracle依赖mattn mysql依赖包 使用方法: 1. 首先引入上边的包,oracle数据库请引入第一个包,mysql请引入第二个包.如果选择的是oracle数据库,请按照go-oci8包的要求配置pkgconfig和oracle instantclient2. 配置dbobj包需要的环境变量, ** GOSYSCONFIG=F:\Desktop\platform\conf3. 在指定的配置文件目录中创建配置文件,配置文件名称指定为:system.properties,在文件中输入下面信息: mysql配置文件 DB.type=mysql DB.tns ...阅读全文

使用 Go 记录日志

简介 定义配置 读取日志相关的配置 总结 当前部分的代码 简介 在上一节内容中, 我们使用 viper 读取了配置文件. 本节将使用 logrus 记录日志. logrus 是一个结构化的日志记录器, 和标准库中的 logger 具有完全兼容的 API. 定义配置 首先, 更新一下配置文件, 加入以下参数: log: use_json: true logger_level: debug logger_file: log/server.log gin_file: log/gin.log gin_console: true 复制代码logrus 支持使用 JSON 格式记录日志: logrus.SetFormatter(&log.JSONFormatter{}) 复制代码第二三参数设置了日志的记...阅读全文

博文 2019-09-16 20:04:16 帅气猫咪

【工具】一款基于go语言的agent

本文来自:http://www.ttkmwl.com 最给力的程序源码下载论坛 -通天源码论坛 一 介绍 在构建数据库自动化运维系统的时候,数据库服务器上必须要有一个agent来执行web服务器端发起的命令,我们研究了好几种技术Celery,Redis Queue 或者基于socket实现,当然还有自己写,因为之前有同事已经完成了一个agent---servant,在和同事沟通之后,我们决定复用servant,不用重复造轮子。servant是一款基于go语言编写的,通过http协议调用,提供权限认证和远程调用,支持异步执行命令的agent ,满足我们目前数据库备份任务,定时收集数据库元数据信息,定时校验备份的有效性的任务需求。本文是一篇how to 文档,相对比较详细的介绍如何安装和使用se...阅读全文

博文 2017-06-16 04:03:20 通天论坛IT技术

golang实现跨平台scp批量群发文件

package main import ( "bufio" "flag" "fmt" "io" "os" "path/filepath" "strings" "github.com/czxichen/AutoWork/tools/split" "golang.org/x/crypto/ssh" ) var ( passwd = flag.String("p", "", "-p passwd 指定密码.") user = flag.String("u", "root", "-u root 指定登录用户.") cfg = flag.String("c", "serverlist", "-c serverlist 指定serverlist") ip_port = flag.String("i", ...阅读全文

博文 2016-05-31 11:00:01 fyxichen

分布式配置管理平台 DCMP

DCMP是分布式配置管理平台。提供了一个etcd的管理界面,可通过界面修改配置信息,借助confd可实现配置文件的同步。 ### [](https://github.com/silenceper/dcmp#安装--启动) ### 安装 && 启动

> go get github.com/silenceper/dcmp
> ./service.sh
### 界面预览 访问 http://127.0.0.1:8000/ ![image](http://static.oschina.net/uploads/space/2016/...阅读全文

完整的go爬虫项目

分享一个完整go语言实现的爬虫项目. gitee传送门:https://gitee.com/ink5188/poem-parent 项目介绍 最近沉迷于古诗文的阅读上,细品其中,沉迷其中. 但平时阅读上感觉还是不大方便,故此有这个项目. 项目中尽可能的保留了自己在Java上的一些编码习惯, 如三层结构:model层 service层,controller层,贴近实际工作开发需要. 希望可以对目前为Java开发者有需要转向go的朋友提供一个参考. 如果该对您有帮助,请给一个star吧. 技术选型 xorm go_spider beego 项目结构 poem-parent |-- poem-api 实体类模块 | |-- common 公共工具 | | `-- base 基础工具 | `-- m...阅读全文

go语言导入文件(固定长解析)(二) 增加读取json配置文件

filename.json =============== { "filename":"NAV20130104", "path":"F:\\golang\\test\\src\\photoweb" } NAV20130104 (以下只有二行,显示出来会有4行) ================ 012013111502普通基金 03000111112500896637721111253255355718000000000222987522222222222222223333333330044444442222222222222222 022013111511普通基金(110001000173224287274000001570198398060000000000110320000000000...阅读全文

博文 2015-10-25 18:00:05 zistxym

ubuntu上golang1.5.1安装

如果从golang1.5.1源码安装go的话,需要系统上go1.4的支持,也就是说安装go1.5之前需要先安装go1.4。另外,安装go1.4时,编译的时间也会因系统配置的不同而编译时间不同,于是索性下了golang1.5.1编译后的可执行文件包:go1.5.1.linux-amd64.tar.gz。 部署如下: 1.解压: root@ubuntu:/usr/local# tar -xzvf go1.5.1.linux-amd64.tar.gz 2. /etc/profile文件最后添加如下内容: export GOROOT=/usr/local/go export GOPATH=/home/tjy/go-ws export PATH=$GOROOT/bin:$GOPATH/bin:$PAT...阅读全文

golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法

golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: unsupported Scan, storing driver.Value type 解决方案就是动态的把数据 字段前加一上一个COALESCE SELECT u.id,ta.`title` as `活动名` ,COALESCE(IFNULL(i.name,i.nickname) From Activity 这样子,就解决...阅读全文

博文 2016-05-12 02:00:00 jackluo

解读阿里云NEXT ECS发布会, 阿里云的基础设施有多牛?

8月9日下午,阿里云发布了面向企业的全新一代Ecs产品线,正式宣布面向客户提供高性能,稳定,价格合理的企业级云服务器产品。 在现场,强悍的基础设施是阿里云产品总监,资深专家蒋林泉解读的重点内容之一。众所周知,云服务器的稳定性,很大一部分取决于数据中心的稳定性,在日常企业应用中,因为数据中心不稳定发生的问题比比皆是。 那么,阿里云的数据中心,相比起其他云计算厂商的数据中心,有什么样的不同, 在发布会前夕,我们实地走访了阿里云华北三数据中心,看能否找到答案。 阿里云华北三数据中心 在蒋林泉看来,数据中心最大的敌人之一是断电,而阿里云的数据中心采用双向独立市电引入,机架服务器AB路供电这样的双路保障,让数据...阅读全文

解读阿里云NEXT ECS发布会,阿里云的基础设施有多牛

8月9日下午,阿里云发布了面向企业的全新一代Ecs产品线,正式宣布面向客户提供高性能,稳定,价格合理的企业级云服务器产品。 在现场,强悍的基础设施是阿里云产品总监,资深专家蒋林泉解读的重点内容之一。众所周知,云服务器的稳定性,很大一部分取决于数据中心的稳定性,在日常企业应用中,因为数据中心不稳定发生的问题比比皆是。 那么,阿里云的数据中心,相比起其他云计算厂商的数据中心,有什么样的不同, 在发布会前夕,我们实地走访了阿里云华北三数据中心,看能否找到答案。 阿里云华北三数据中心 在蒋林泉看来,数据中心最大的敌人之一是断电,而阿里云的数据中心采用双向独立市电引入,机架服务器AB路供电这样的双路保障,让数据...阅读全文

Hugo-框架学习

概念 hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。 主要用于个人Blog、项目文档、初创公司站点构建。 hugo的下载安装很简单,可以参考官方的quickstart,本文主要介绍一下hugo框架的基本概念和工作原理。 目录结构 命令:hugo new site blog blog ├── archetypes ├── config.toml ├── content ├── data ├── layouts ├── static ├── themes └── public archetypes 在通过hugo new xxx 创建内容页面的时候,默认情况下hugo会创建date、title等front matter,可以通过在archetypes目录下创建文件...阅读全文

博文 2018-08-20 17:34:51 Arthas

Go配置pipeline(3)

1.创建pipeline 1.1找到满足job执行需求的agent resource是纯文本的tag,用户可以根据自己的习惯定义。 Go执行job,选择agent时,并不知道agent的系统信息也不知道agent是否满足执行job的条件。用户需要根据自己定义的这些resource来判断agent是否满足需求。 我们可以这样定义resource,“RHEL”,“Mysql”,“windows xp”,只是为了用户自己识别。 Note:resource对字母的大小写敏感 创建pipeline过程 设置pipeline名称设置materials。 可以设置为版本库(SCM)Source Control Management (SCM or version control) repository,或...阅读全文

博文 2015-06-18 09:09:07 biheyu

小团队从0搭建devOPS平台-Alertmanager报警平台

上一篇(https://www.jianshu.com/p/b15217e8f24f )文章简单介绍了监控神器prometheus的安装、配置、可视化等的使用。这篇我们来讲讲报警。 我们先简单回顾下prometheus的功能和原理。 prometheus总体架构图.png 从上图可以看出通过各种exporter采集数据后,prometheus把各种metrics(指标)统一pull到时间序列数据库中后,我们可以在可视化平台比如grafana显示后,如果有某些指标有异常可以把异常信息push推送给 alertmanager报警平台,报警平台进行处理后notify通知给指定的通道和指定的人。 这时候该Alertmanager报警平台登场了。 一、 Prometheus Alertmanager报...阅读全文

博文 2019-08-21 20:02:40 jerry区块链技术与思维

golang使用tcp设计一个有读写交互的长连接服务

golang新手参考网络文章,改造了一下代码,加了一些自己的理解和注释,有标注不准的地方请大佬指点出来,感谢!服务器端: package main import ( "fmt" "log" "net" "time") /\*\* 来自远程ip: 127.0.0.1:10568 的消息: hello!i am client ! 来自远程ip: 127.0.0.1:10568 的消息: 来自远程ip: 127.0.0.1:10568 的消息: conn关闭后有两次空白输出,是因为三次握手机制 accept到空白内容了 \*/ func main7() { addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:93") dealErrorWithExi...阅读全文

博文 2020-01-10 13:32:39 tianxia0079

TCP 层的路由器 TcpRoute2

[TcpRoute](https://github.com/GameXG/TcpRoute), TCP 层的路由器。对于 TCP 连接自动从多个线路(允许任意嵌套)、多个域名解析结果中选择最优线路。TcpRoute2 是 golang 重写的版本。 通过 socks5 代理协议对外提供服务。 代理功能拆分成了独立的库,详细代理url格式级选项请参见 [ProxyClient](https://github.com/GameXG/ProxyClient),目前支持直连、socks4、socks4a、socks5、http、https、ss 代理线路。 ## 安装 在 [releases](https://github.com/GameXG/TcpRoute2/releases) 页面有...阅读全文

通用的去中心化应用平台Vite

Vite 是一个通用的去中心化应用平台,在兼顾安全性的同时,满足了工业级应用对高吞吐、低延迟和扩展性的要求。 Vite 采用 DAG 账本结构,账本中的交易按账户分组。Vite 中的快照链结构,可以弥补账本自身防篡改能力的不足。通过分层共识算法 HDPoS,将交易的写入和确认解耦,并保障系统的高性能和扩展性。 Vite 的虚拟机部分兼容 EVM,智能合约语言在 Solidity 基础上进行了适当扩展,提供了更为强大的描述能力。另外,在 Vite 设计中,一个重要改进是采用了基于消息驱动的异步架构,智能合约之间通过消息传递信息,从而极大提高了系统的吞吐率和扩展性。 Vite 除了内置原生代币之外,还支持用户发行自己的数字资产,同时提供了跨链价值传输以及基于路印协议 [1] 的...阅读全文

Go 每日一库之 fsnotify

简介 上一篇文章Go 每日一库之 viper中,我们介绍了 viper 可以监听文件修改进而自动重新加载。其内部使用的就是fsnotify这个库,它是跨平台的。今天我们就来介绍一下它。 快速使用 先安装: $ go get github.com/fsnotify/fsnotify 后使用: package main import ( "log" "github.com/fsnotify/fsnotify" ) func main() { watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal("NewWatcher failed: ", err) } defer watcher.Close() done := make(...阅读全文

基于 goproxy 的可视化网页应用GoProxy-Web

GoProxy-Web 是用 Go 语言写的,基于 goproxy( https://github.com/snail007/goproxy )完成的可视化网页应用。 **作用** 1. 用web界面的方式使用goproxy,更加方便 2. 监控goproxy运行情况 3. 实时显示goproxy产生的日志 4. 能自启动goproxy **配置** 配置文件为config/config.ini   可以配置的属性有:端口(默认28080),goproxy的路径(默认[snail007/goproxy](https://github.com/snail007/goproxy/releases)路径在proxy-web目录下的proxyService目录内),登录账号和密码...阅读全文

开源项目 2017-12-19 05:00:18 网友

Go 实现的轻量级的 config 库go-conf

go-conf 是使用 Go 实现的一个轻量级的 config 库,参考了 ozzo-config 的设计,但具有更优的性能和支持动态移植配置的功能。 go-conf 采用 MIT 开源协议。 从配置文件中读取配置,默认支持 JSON 格式文件,提供了接口,也可非常方便地扩展支持其他格式配置文件; 可将一个 go 的结构体数据直接动态移植到 config 实例中; 不需要提前构建结构体就可以直接获取你想要的数据...阅读全文

DockOne微信分享(六十):容器的配置管理

【编者的话】在以Docker为代表的容器技术普及之前,CFEngine、Puppet、Chef、Ansible之类的配置管理工具曾是运维的神器。在容器化以后,这些传统的配置管理工具还是否适用?用了容器后还需要配置管理吗?容器中的服务该如何运维?本次分享将对这些问题进行逐一探讨。 @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自Rancher、携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财、土豆网、阿里百川、腾讯游戏、数人云、点融网、华为、轻元科技、中兴通讯、中国民生银行、长安汽车等公司的技术负责人将带来实践经验分享,欢迎感兴趣的同学参加。 传统的配置管理工具对容器是否适用?Docker开源的早期,确实有不少人尝试使用...阅读全文

博文 2017-06-25 16:25:03 mountkin

golang一键多平台打包

本文主要为了解决以下问题 Golang 在Windows下编译Linux下可执行文件 Golang 在windows下编译Mac下可执行文件 Golang 在Linux下编译Windows下可执行文件 Golang 在Mac下编译Windows下可执行文件 golang提供的解决方案是,先设置环境变量再执行编译,但是如果要同时编译多个平台的可执行文件该怎么做呢 如下图,我们经常在github上看到好多项目下面有各种平台及架构的release,他们是怎么做到的呢 fabio-release.png 下面就来介绍一下打包神器 GoReleaser goreleaser是一个自动化打包工具,解放双手,省去脚本编写,同时还支持对接CI/CD。 下面我们通过一个简单的例子来说明怎么使用 GoRelea...阅读全文

博文 2020-01-05 13:32:40 写个代码容易么

go语言iris+gorm API项目模板restful

最近在学习Go语言的iris框架和gorm,发现资料还是挺少的。自己写了一个管理图书的增删改查项目。 希望能给想入门go语言的朋友一个参考。 项目地址 https://github.com/pppercyWan... 项目结构 conf 配置文件 controllers 控制器 接受参数 api的入口 datasource 数据库配置 models 结构体模型 repo 数据库的操作 route 注册路由 service 业务逻辑代码 utils 工具类 config.json 配置文件的映射 main.go 主程序入口 下载项目后,安装好依赖。将配置改成自己的。 go run main.go 就可以跑起来了。注意models的init方法,引入datasource包的时候会自动检查你的数据...阅读全文

博文 2019-08-24 15:32:48 pppercyWang

k8s volume 挂载踩坑

实践之中,犯错是最好的财富,探究犯错的原因并总结记录,你就捡到了这笔财富。努力吧,慢慢来。 场景一:挂载配置文件到应用程序所在的目录 应用程序是一个简单地 HTTP Server,其启动的时候会去读取当前目录下的 config.yaml 文件。 应用程序代码 package main import ( "fmt" "io" "io/ioutil" "log" "net/http" "gopkg.in/yaml.v2" ) type config struct { Port string `yaml:"port"` } var c = new(config) func init() { fContent, err := ioutil.ReadFile("config.yaml") if err...阅读全文

博文 2020-01-05 10:32:36 其鸷

以太坊go-ethereum客户端docker安装(二)开发(dev)环境搭建

在上一篇博客中,讲述了基于docker怎么搭建一个go-ethereum节点。作为开发人员,如果只是单纯的拥有一个Full node,还无法满足正常的开发。比如说,进行转账交易,你要考虑是否拥有一定的ETC,是否能够承受高昂的gas?基于这点,今天这篇博客就介绍一下如何搭建一个私有的dev环境。 方法一:利用现有开源 先给大家介绍一个现成的ethereum/client-go:test工具镜像。 下载工具 地址:https://github.com/pragmaticcoders/docker-geth-dev 将项目通过zip包下载下来,解压到将要执行docker命令的一个目录下。目录的结构与github上面上的目录结构一样,就不在这里展示了。 构建镜像 执行以下命令,构建镜像,执行的过程...阅读全文

博文 2017-01-06 11:00:01 wo541075754

Django中如何配置Database缓存?

  BACKEND:   django.core.cache.backends.db.DatabaseCache   LOCATION:   数据库表名   示例:   CACHES = {   'default': {   'BACKEND': 'django.core.cache.backends.db.DatabaseCache',   'LOCATION': 'my_cache_table',   }   }   Database缓存配置——创建缓存表   使用数据库缓存之前,需要创建缓存表:   python manage.py createcachetable   创建的表名为缓存配置中的LOCA...阅读全文

golang 的编译安装以及supervisord部署

go的编译 go的编译相对很简单,只需要一个命令即可完成,进入项目开发路径,输入 go install 即可在bin文件夹下生成可执行文件 appName。此文件可直接运行。 备注:生成的可执行文件只包含go的程序文件,配置文件,views文件等需要拷贝过来,这样才能组成一个完整的运行程序。 go的部署 supervisord安装 yum install setuptools //先安装工具 yum install supervisor 修改配置文件 vi /etc/supervisord.conf 将最后一行的代码改为 files = /etc/supervisord.conf.d/*.conf 新增文件并编写配置 vi /etc/supervisord.conf.d/...阅读全文

beego下根据部署环境加载相应配置文件

最近用beego开发的项目频繁的要部署到测试环境提测,然后部署到线上发布,由于两种环境下配置文件中某些配置参数不同,每次手动修改很是麻烦,故而想有没有办法能根据部署环境的不同加载相应环境的配置变量。幸而得同事告知,两种环境下都会注入ENV_CLUSTER这个系统环境变量,且变量值不同。于是,在main函数beego.Run()执行前,我创建了一个预先执行的init文件,将自适应环境加载配置文件的代码逻辑放在了这里。具体代码如下: env := os.Getenv("ENV_CLUSTER") if env == "online" { beego.AppConfigPath = "./conf/online.conf" } else if env == "beta" { beego.AppCo...阅读全文

博文 2017-02-09 08:20:07 EndlessIdea