分类 Golang 中的文章

Go爬虫开发

引入 在具体讲解爬虫知识之前,我们首先简单回顾下前面HTTP编程。一种是我们自己编写一个服务器,让浏览器请求我们的服务器。接受请求后分析协议,回发相应数据给浏览器。 另一种,我们可以编写程序充当客户端或者说是用程序模拟浏览器行为,向互联网上现有的服务器发送请求,获取服务器上的数据。例……

阅读全文

Go-micro学习笔记(2)gRPC使用

使用gRPC构建一个简易的商品服务注册到etcd中 创建models/protos目录,新建商品模型 1syntax = "proto3";2package models;34// 商品模型 5message ProdModel{6 // @inject_tag: json:"pid" 7 int32 ProdId = 1;8 // @inject_tag: json:"pname" 9 string ProdName = 2;10}使用protoc创建服务 1syntax = "proto3";2package models;34import "models.proto";56message ProdRequest{7 int32 size = 1;8}910message ProdListResponse{11 repeated ProdModel data = 1;12}1314service ProdService{15 rpc GetProdList(ProdRequest) returns (ProdListResponse);16}使用proto……

阅读全文

Go-micro学习笔记(1)http调用

1. go-micro体验 1package main 2 3import ( 4 "fmt" 5 "github.com/micro/go-micro/web" 6 "net/http" 7) 8 9func main(){ 10 service := web.NewService(web.Address("127.0.0.1:8000")) 11 // 使用http原生的handlefunc 12 service.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { 13 w.Write([]byte("hello world")) 14 }) 15 err := service.Run() 16 if err != nil { 17 fmt.Println(err) 18 } 19} 测试结果 1curl http://127.0.0.1:8000 2hello world 2. 使用web框架gin 1package main 2 3import ( 4 "github.com/gin-gonic/gin" 5 "github.com/micro/go-micro/web" 6 "net/http" 7) 8 9func main() { 10 r := gin.Default() 11 r.Handle("GET", "/", func(c *gin.Context) { 12 c.JSON(http.StatusOK, gin.H{ 13 "code": http.StatusOK, 14 }) 15 }) 16 service := web.NewService( 17 web.Name("demo_service"), 18……

阅读全文

Go操作Gitlab

Go操作Gitlab 环境准备 需要有一个Gitlab环境,可以使用下面的命令快速运行一个Gitlab 1 sudo docker run --detach \ 2 --hostname gitlab.example.com \ 3 --publish 443:443 --publish 80:80 --publish 22:22 \ 4 --name gitlab \ 5 --restart always \ 6 --volume /srv/gitlab/config:/etc/gitlab \ 7 --volume /srv/gitlab/logs:/var/log/gitlab \ 8 --volume /srv/gitlab/data:/var/opt/gitlab \ 9 gitlab/gitlab-ce:latest go-gitlab简介 go-gitlab几乎包含了gitlab上全部的api功能,这也是我们选择它的其……

阅读全文

Go操作Jenkins

Go操作Jenkins Jenkins是最受欢迎的开源持续集成系统,在我们的工作当中,经常用到。这里介绍Go语言的第三方库gojenkins来调用Jenkins API实现对Jenkins的相关操作。 环境准备 需要有一个Jenkins环境,可以使用下面的命令快速运行一个Jenkins 1docker……

阅读全文

使用Beego开发个人博客系统hblog(1)登录

关于beego的更多介绍可以看我前面的文章Go语言Beego框架介绍]或是查看官网。 安装 1go get -u github.com/astaxie/beego 2go get -u gtihub.com/beego/bee 创建项目 1bee new github.com/hzde0128/hblog 导入静态页面 这里使用的X-admin2.2,官网下载http://x.xuebingsi.com/2.2版本,将文件解压,html文件放入views目录,修改文件……

阅读全文

Go语言Beego框架介绍

一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 Beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface……

阅读全文

微服务系列(5)Micro

微服务系列(5)Micro 1. 准备etcd 这边使用etcd作为服务发现工具,你也可以使用consul或者其它服务发现工具 下载etcd 直接下载二进制包运行,下载地址:https://github.com/etcd-io/etcd/releases 1wget https://github.com/etcd-io/etcd/releases/download/v3.4.4/etcd-v3.4.4-linux-amd64.tar.gz 2tar xf etcd-v3.4.4-linux-amd64.tar.gz -C /usr/bin/ --strip-components 1 etcd-v3.4.4-linux-amd64/{etcd,etcdctl} 验证安装 1etcd --version 运行e……

阅读全文

Go操作Redis

Go操作Redis Redis简介 Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU……

阅读全文

GORM(2)-CURD操作

CURD操作 一、创建 1.1 创建记录 1user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()} 2 3db.NewRecord(user) // => 主键为空返回`true` 4 5db.Create(&user) 6 7db.NewRecord(user) // => 创建`user`后返回`false` 1.2 默认值 你可以通过 tag 定义字段的默认值,比如: 1type Animal struct { 2 ID int64 3 Name string `gorm:"default:'galeone'"` 4 Age int64 5} 生成的 SQL 语句会排除没有值或值为 零值 的字段。 将记录插入到数据库后,Gorm会从数据……

阅读全文