摘要: 1、cron 表达式的基本格式 用过 linux 的应该对 cron 有所了解。linux 中可以通过 crontab -e 来配置定时任务。不过,linux 中的 cron 只能精确到分钟。而我们这里要讨论的 Go 实现的 cron 可以精确到秒,除了这点比较大的区别外,cron 表达式的基本语法 阅读全文
posted @ 2018-08-23 09:37 奔梦 阅读(39449) 评论(1) 推荐(0) 编辑
摘要: 使用 golang 操作数据库的同学都会遇到一个问题 —— 根据数据表结构创建对应的 struct 模型。因为 golang 的使用首字母控制可见范围,我们经常要设计 struct 字段名和数据库字段名的对应关系。久而久之,这是一个非常繁琐的过程。事情变得繁琐了,我们都会想,有没有好的办法自动生成 阅读全文
posted @ 2018-08-18 14:57 奔梦 阅读(7975) 评论(0) 推荐(0) 编辑
摘要: 1 .下载kafka-manager 想要查看和管理Kafka,完全使用命令并不方便,我们可以使用雅虎开源的Kafka-manager,GitHub地址如下: 我们可以使用Git或者直接从Releases中下载,此处从下面的地址下载 1.3.3.7 版本: 下载完成后解压。 2、解压 3、修改配置配 阅读全文
posted @ 2018-08-08 15:27 奔梦 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 错误提示: Java Hotspot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (err 阅读全文
posted @ 2018-08-07 09:25 奔梦 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: 概述 1、并行和并发 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交 阅读全文
posted @ 2018-08-02 11:25 奔梦 阅读(951) 评论(0) 推荐(0) 编辑
摘要: Socket编程 在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信的呢?当你用QQ聊天时,QQ进程怎么和服务器或者是你的好友所在的 阅读全文
posted @ 2018-07-31 11:41 奔梦 阅读(16057) 评论(2) 推荐(1) 编辑
摘要: 前面的有篇文章在讲资源竞争的时候,提到了互斥锁。互斥锁的根本就是当一个goroutine访问的时候,其他goroutine都不能访问,这样肯定保证了资源的同步,避免了竞争,不过也降低了性能。 仔细剖析我们的场景,当我们读取一个数据的时候,如果这个数据永远不会被修改,那么其实是不存在资源竞争的问题的。 阅读全文
posted @ 2018-07-26 15:57 奔梦 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 并发本身并不复杂,但是因为有了资源竞争的问题,就使得我们开发出好的并发程序变得复杂起来,因为会引起很多莫名其妙的问题。 package main import ( "fmt" "runtime" "sync" ) var ( count int32 wg sync.WaitGroup ) func 阅读全文
posted @ 2018-07-25 15:00 奔梦 阅读(773) 评论(0) 推荐(0) 编辑
摘要: go build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件。 go build的使用比较简洁,所有的参数都可以忽略,直到只有go build,这个时候意味着使用当前目录进行编译,下面的几条命令是等价的: 以上这三种写法,都是使用当前目录编译的意思。因为我们忽 阅读全文
posted @ 2018-07-25 14:26 奔梦 阅读(23086) 评论(0) 推荐(2) 编辑
摘要: 一、前期准备 前期准备 需要 import "net"包 IP 类型,其中一个重要的方法是 IP.ParseIP(ipaddr string)来判断是否是合法的 IP 地址 TCP Client func (c *TCPConn) Write(b []byte) (n int, err os.Err 阅读全文
posted @ 2018-07-25 11:00 奔梦 阅读(885) 评论(0) 推荐(0) 编辑