MD5(Message Digest Algorithm,消息摘要算法第五版)在实际的项目中经常被用到。本文不只是介绍了 Go 语言如果通过 API 计算 MD5,而且介绍了单向加密、C 语言经典的 MD5 API 构成。 我要晨读

已有1358人晨读

Go语言以高并发著称。Golang适合高并发场景的原因是什么?本文介绍了两个实现案例:360消息推送 和 京东云消息推送(现在的数据应该比这个更好)。接着介绍了 C10K 问题,Coroutine模型 和 非阻塞/异步IO、多进程、多线程等。 我要晨读

已有863人晨读

依赖注入(DI)是一种解耦组件之间依赖关系的设计模式。之前有一篇晨读介绍过 martini 框架使用的依赖注入库。今天我们介绍来自facebook的依赖注入库。本文从一个具体实例一步步讲解引入依赖注入改变代码质量的过程。 我要晨读  相关阅读: 网页链接 

已有1785人晨读

如果你写过某些 TCP socket 代码,你可能会疑问:如果网线被拨掉或者远程主机崩溃了我的TCP连接会怎样?GO语言为你提供了解决这个问题的几种方法: 如 net.Conn 接口中的SetReadDeadline方法,TCP keepalive 等。 我要晨读

已有1196人晨读

许多人在刚开始接触 Go 语言时,经常会有的疑惑就是“为什么一个 Hello world 会占用如此之多的内存?本文:理解 Go 语言的内存使用 很好的解释了这个问题。当然,这仅是关于 Go 语言内存的简介,读者可以进行更加深入的探索。好文赶紧收藏吧! 我要晨读

已有1085人晨读

之前晨读介绍过一个“翻墙”工具的实现,今天介绍另外一个较详细讲解使用Go实现 SOCKS 协议来实现代理的。该文介绍了 SOCKS5 协议、部署、加密以及和远端SOCKS交互。另外还讲解了 代理服务扩展:SOCKS4代理、HTTP Tunnel (HTTP隧道)和 HTTP Proxy。 我要晨读  相关阅读: 网页链接 

已有1732人晨读

【Go web开发之revel+mgo】第九、十章:其他功能和总结。这一序列有些长,算是一套比较完整的web构建实战教程了。第九章实现了一个小的提醒功能,目前的实现比较简单,读者可以考虑能实时更新的方案。 我要晨读  相关阅读: 网页链接 

已有692人晨读

【Go web开发之revel+mgo】第八章:实现Email墙。好吧,这是作者自创的名词,Email墙就是所有参与到本站的用户列表,包括发blog、评论等。核心的东西就是通过 mgo 驱动对 mongodb 进行增删改查。 我要晨读

已有737人晨读

【Go web开发之revel+mgo】第七章:实现归档。无论是CSDN、cnblogs还是通过Wordpress搭建的个人博客,都会有归档的功能,就好比文件按目录归类一样。本文介绍归档功能的实现,如果你对归档怎么设计不清楚,该文应该对你有用处。 我要晨读

已有702人晨读

【Go web开发之revel+mgo】第六章:实现留言板功能。这一序列的晨读,是否有跟着学、跟着做?因为是 web 开发,掌握模板技术必不可少。除了一些基本的模板使用,自定义模板方法是否掌握了? 我要晨读

已有607人晨读

【Go web开发之revel+mgo】第五章:样式与留言板的设计。这次的晨读,内容较少,基本是模板和css。如果这一序列你一直跟着做了,应该会有所收获,自己设计实现一个留言板还是蛮有成就感的。 我要晨读

已有600人晨读

【Go web开发之revel+mgo】第四章:实现评论功能。Web开发,难免需要评论功能,现在有很多现成的第三方评论可以使用,当然,你也可以自己实现。评论的设计和实现,不只是锻炼编码能力,还有设计能力,评论功能的设计值得捉摸。 我要晨读

已有669人晨读

【Go web开发之revel+mgo】第三章:Blog的首页与投稿实现。接着第二篇的设计,该篇是具体实现,主要包括:使用mgo库对mongo进行操作、具体业务逻辑的实现,结合模板实现Blog首页和投稿,可以对照提供的源码进行学习。 我要晨读

已有607人晨读

【Go web开发之revel+mgo】第二章:Blog的首页与投稿设计。该篇一步步介绍Blog项目首页和投稿的设计,gopher们可以着重看一下模板部分,学习Go语言模板的使用。学习过程中,可以想想是否有更好的实现方式或写法。 我要晨读

已有743人晨读

【Go web开发之revel+mgo】第一章:概述。虽然 Go 语言的定位是系统编程语言,但目前国内学习者更多是用来写 Web。而 Web 开发很多人会使用一些框架。目前 Go Web 框架不少。这一序列文章介绍的revel框架。 我要晨读

已有946人晨读

随着不断的学习Go,我们应该尝试着更深入的学习Go的相关实现。这次晨读带来的是 channel 的实现。文章虽然是基于 Go1.0 的,但依然有学习参考价值。本文介绍了channel的数据结构、发送流程、buffer空间以及select,是值得收藏的好文章。 我要晨读

已有1014人晨读

深入学习golang第五篇:接口(第四篇之前晨读过)。如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。本文详细介绍了接口的方方面面。 我要晨读

已有695人晨读

深入学习golang第三篇:类型方法。虽然Go不是传统意义上的面向对象语言,但支持给类型定义方法,当然实际上,方法只是语法糖,但这个语法糖却很有用处。本文学习笔记通过实现自己的append详细介绍了类型定义方法的知识。 我要晨读

已有699人晨读

深入学习golang第二篇:channel。Goroutine和channel是Go在“并发”方面两个核心。Channel是goroutine之间进行通信的一种方式。本文从同步、消息传递、Server编程模型、传递channel的channel等方面学习 channel。 我要晨读

已有595人晨读

深入学习golang第一篇:数组与切片。这是 Go 中经常使用的数据类型。之前有晨读过相关的文章,如果对这两种数据结构很熟悉,可以快速浏览下。本文从声明、和C语言的对比到遍历使用等方面学习array/slice。 我要晨读

已有674人晨读