• beego下实现JSON格式数据返回

    beego下实现JSON格式数据返回

    RainNight 2021-05-14 Golang

    1003°

    # beego下实现JSON格式数据返回 ---- * 在编写程序是通常需要返回数据格式为 ``` this.Data["json"] = res this.ServeJSON() // 对json进行序列化输出 this.StopRun() ``` 但是返回的数据格式有点问题,所以只有自己封装一套数据返回格式。 * 定义路由 ---- ``` package routers import ( beego "github.com/beego/beego/v2/server/web" ) func
  • RabbitMQ Golang教程(三)

    RabbitMQ Golang教程(三)

    RainNight 2021-05-5 Golang

    808°

    # RabbitMQ Golang教程(三) ---- ## 什么是发布/订阅? ---- * 创建一个队列每个任务只传递给一个工人,做些不同的事,向多个消费者传递一个消息。这就是所谓的“订阅/发布模式”。 * 构建一个简单的日志系统。它将由两个程序组成——第一个程序将发出日志消息,第二个程序将接收并打印它们。 * 已发布的日志消息将被广播到所有接收者。 ## Exchanges(交换器) ---- RabbitMQ消息传递模型中的核心思想是生产者从不将任何消息直接发送到队列。实际上,生产者经常
  • RabbitMQ Golang教程(二)

    RabbitMQ Golang教程(二)

    RainNight 2021-05-4 Golang

    773°

    # RabbitMQ Golang教程(二) --- ## 任务队列 ---- ### 什么是任务队列 ? > 把要执行的任务放在队列中。使用较多的任务队列有machiney、Celery、goWorker、YTask。每一个任务队列都有自己的特点,这里就不细讲了。 > 我们将创建一个工作队列,该队列将用于在多个工人之间分配耗时的任务。 > 工作队列(又称任务队列)的主要思想是避免立即执行某些资源密集型任务并且不得不等待这些任务完成。相反,我们安排任务异步地同时或在当前任务之后完成。我们将任务封
  • RabbitMQ Golang教程(一)

    RabbitMQ Golang教程(一)

    RainNight 2021-05-1 Golang

    804°

    # RabbitMQ Golang教程(一) ---- ## 介绍 ---- RabbitMQ是一个消息代理:它接受并转发消息。你可以把它想象成一个邮局:当你把你想要邮寄的邮件放进一个邮箱时,你可以确定邮差先生或女士最终会把邮件送到你的收件人那里。在这个比喻中,RabbitMQ是一个邮箱、一个邮局和一个邮递员。 RabbitMQ和邮局的主要区别在于它不处理纸张,而是接受、存储和转发二进制数据块——消息。 RabbitMQ和一般的消息传递都使用一些术语。 生产仅意味着发送。发送消息的程序是生产者:
  • 如何在CenOS下安装RabbitMQ

    如何在CenOS下安装RabbitMQ

    RainNight 2021-05-1 Golang

    723°

    # 如何在CenOS下安装RabbitMQ ---- > 因为服务器环境比较复杂、不想搞坏现在的环境、所以决定使用docker的方式进行安装。 ## 获取镜像 --- ``` #指定版本,该版本包含了web控制页面 docker pull rabbitmq:management ``` ## 运行镜像 --- ``` #方式一:默认guest 用户,密码也是 guest docker run -d --hostname my-rabbit --name rabbit -p 15672:15672
  • 基于golang实现的redis连接池

    基于golang实现的redis连接池

    RainNight 2021-05-1 golang

    721°

    # 基于golang实现的redis连接池 ---- ## 代码篇: --- ``` package main import ( "fmt" "github.com/garyburd/redigo/redis" ) var pool *redis.Pool //创建redis连接池 func init() { pool = &redis.Pool{ //实例化一个连接池 MaxIdle:16, //最初的连接数量 // MaxActive:1000000, //最大连接数量 MaxActive:
  • 基于golang的redis使用

    基于golang的redis使用

    RainNight 2021-05-1 Golang

    641°

    # 基于golang的redis使用 ---- ## 下载package ---- ``` go get github.com/garyburd/redigo/redis ``` ## redis 在使用中、会涉及到set、Mset、expire、lpush、Hset等 ---- ### 代码篇: ``` package main import ( "fmt" "github.com/garyburd/redigo/redis" "log" ) func main() { c,err := re
  • 基于golang的爬虫系统

    基于golang的爬虫系统

    RainNight 2021-04-21 Golang

    607°

    # 基于golang的爬虫系统 ---- ## 本代码基本功能实现、数据库操作,发送邮件和发送钉钉通知、定时任务、解析html ---- > 最基础的代码体系、后期会完成log日志等功能 > 代码篇: ``` ckage main import ( "fmt" "github.com/PuerkitoBio/goquery" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "github.com/jordan-wright
  • golang实现cron定时任务

    golang实现cron定时任务

    RainNight 2021-04-20 Golang

    966°

    # golang实现cron定时任务 ---- > 在编写爬虫的时候,需要定时抓取实时的新闻资讯、原来采用的linux的crontab,但是发现并不是很灵活、而且不能定制,所以就采用golang写了一套、发现网上的文章、有很多坑、所以整理了一套代码。 ## 下载包 ---- ``` ╰$ go get github.com/robfig/cron ``` --- ## 代码篇: --- ``` package main import ( "fmt" "github.com/robfig/cron
  • golang利用钉钉机器人实现消息通知

    golang利用钉钉机器人实现消息通知

    RainNight 2021-04-18 Golang

    813°

    # golang利用钉钉机器人实现消息通知 ---- > 无论是爬虫和代码管理,都需要消息通知,所以在“雨夜的博客”的架构下,需要集成钉钉机器人和邮箱发送功能,日后还会需要集成微信公众号、小程序等,功能的开发变现,实现一个商业价值的博客系统。 ## 代码篇: ---- ``` package main import ( "net/http" "strings" ) func SendDingMsg(msg string) { webHook := "https://oapi.dingtalk.c
  • golang并发发送邮件

    golang并发发送邮件

    RainNight 2021-04-18 Golang

    605°

    # golang并发发送邮件 ---- ## 在某些场景下,需要发送多次发送邮件,就需要用到并发处理 ----- ### 代码篇: ---- ``` package main import ( "fmt" "github.com/jordan-wright/email" "log" "net/smtp" "os" "sync" "time" ) func main() { ch := make(chan *email.Email, 10) p, err := email.NewPool( "sm
  • go语言实现邮件发送

    go语言实现邮件发送

    RainNight 2021-04-17 Golang

    683°

    # go语言实现邮件发送 ----- ## 安装相关的包 ---- ``` go get github.com/jordan-wright/email ``` ## 代码篇: ---- ``` package main import ( "fmt" "github.com/jordan-wright/email" "log" "net/smtp" "time" ) func main() { e := email.NewEmail() //设置发送方的邮箱 e.From = "XXXXXXXXX
Collect from 雨夜的博客 雨夜的博客