代码改变世界

Go Web开发之Revel - Hello World

2012-12-28 14:43 by Danny.tian, 3047 阅读, 0 推荐, 收藏, 编辑
摘要:下面结合之前创建的myapp做一个提交表单的demo首先编辑app/views/Application/Index.html模板文件添加一下form表单<form action="/Application/Hello" method="GET"> <input type="text" name="myName" /> <input type="submit" value="Say hello!" /></form>刷新表单我们提 阅读全文

Go Web开发之Revel - 网页请求处理流程

2012-12-28 12:59 by Danny.tian, 4797 阅读, 0 推荐, 收藏, 编辑
摘要:我们之前已经已经创建了myapp的应用,现在我们来看看revel是如何处理一个浏览器访问http://localhost:9000的请求的。Routes(路由)首先revel会检查conf/routes文件,这个文件包含一个路由,如下:GET / Application.Index这个路由信息告诉revel当访问 / 路径是应该调用Application Controller的Index方法Actions(行为)下面我们我们来看一下Controll中的Action,所在路径为app/controllers/ap... 阅读全文

Go Web开发之Revel - 创建你的第一个App

2012-12-28 11:35 by Danny.tian, 4695 阅读, 0 推荐, 收藏, 编辑
摘要:使用下面的revel命令行工具在你的GOPATH中创建一个空的项目并运行打开你的浏览器访问http://localhost:9000,出现下图表示程序可以正常工作了至此结束。 阅读全文

Go Web开发之Revel - Getting Started

2012-12-28 11:18 by Danny.tian, 7034 阅读, 1 推荐, 收藏, 编辑
摘要:今天开始对revel框架做一些开发和总结,首先从官方的Getting Started开始1. 安装Go开发环境,还不会的可以参考搭建Go语言开发环境-基础篇及搭建Go语言开发环境-优化篇2.建立GOPATH目录并下载revel源代码mkdir ~/gocodecd $GOPATHgo get github.com/robfig/revel3.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令go build -o bin/revel github.com/robfig/revel/cmd4.可以将编译出来的revel命令 阅读全文

WebRTC 文章汇总

2012-12-20 17:13 by Danny.tian, 360 阅读, 0 推荐, 收藏, 编辑
摘要:GETTING STARTED WITH WEBRTC:http://www.html5rocks.com/en/tutorials/webrtc/basics/ 阅读全文

Go 贡献者 minux.ma 关于内存泄漏问题的详细解释

2012-12-11 14:14 by Danny.tian, 1431 阅读, 1 推荐, 收藏, 编辑
摘要:目前Go使用的GC是个保守的GC,换句通俗的话说就是宁可少释放垃圾不可误释放还在用的内存;这个反映在设计上就是会从堆栈、全局变量开始,把所有可能是指针的字全部当作指针,遍历,找到所有还能访问到的内存中的对象,然后把剩下的释放。那么如何判断一个字(uintptr)可能是指针呢?大家知道Go的内存分配是参考的tcmalloc,并做了一些改动,原先tcmalloc是使用类似页表的树形结构保存已经从操作系统中获得的内存页面,Go使用了另外一个办法。由于Go需要维护每个内存字的一些状态(比如是否包含指针?是否有finalizer?是否是结构体的开始?还有上面提到的是否还能访问到的状态),综合在一起是每个 阅读全文

Go开发常见问题

2012-12-10 17:46 by Danny.tian, 492 阅读, 0 推荐, 收藏, 编辑
摘要:1、疑问:go get 命令不能下载到GOPATH,在使用go get github.com/robfig/revel 时,发现一个奇怪的问题,为啥运行命令后在GOPATH/src下面找不到下载的文件捏?原因:如果第一次没有设置GOPATH的话,调用go get github.com/robfig/revel源代码会被下载到GOROOT/src/pkg里面,即使之后设置了GOPATH也会因为之前已经下载到了GOROOT下面而不会下载到GOPATH里面,只有删除了GOROOT里面的文件才会优先考虑GOPATH。 阅读全文

Sublime text 2 使用备忘

2012-12-08 20:31 by Danny.tian, 349 阅读, 1 推荐, 收藏, 编辑
摘要:快捷键 Control + `调出控制台Ctrl+Shift+P弹出Package ControlCtrl+鼠标左键点击同时选择多个词Ctrl+P弹出万能跳转,后续操作@可跳转到函数,#可跳转到相关词汇,:可跳转到具体行号,还可以输入文件名然后接@ # :组合查询Ctrl+D一直按可以逐个将相同的词加进来Alt + F3一次选择所有相同的词Ctrl+L选择整行(按住-继续选择下行)Ctrl+KK从光标处删除至行尾Ctrl+Shift+K删除整行Ctrl+Shift+D复制光标所在整行,插入在该行之前Ctrl+J合并行(已选择需要合并的多行时)Ctrl+KU改为大写Ctrl+KL改为小写Ct.. 阅读全文

搭建Go语言开发环境-优化篇

2012-12-08 14:53 by Danny.tian, 3811 阅读, 1 推荐, 收藏, 编辑
摘要:在上篇搭建Go语言开发环境-基础篇中提到的Go环境变量设置准备在这篇文章中进行一下优化已增加开发效率之前的环境变量export GOROOT=$HOME/goexport GOBIN=$GOROOT/binexport GOARCH=amd64export GOOS=linuxexport PATH=$GOBIN:$PATHexport GOPATH=$HOME/goprograms修改后的环境变量~/.bashrc文件变成了如下这样:export GOROOT=$HOME/goexport PATH=$GOROOT/bin:$PATH为什么要删除GOBIN GOARCH GOOS呢??因为系 阅读全文

搭建Go语言开发环境-基础篇

2012-12-08 10:54 by Danny.tian, 4588 阅读, 1 推荐, 收藏, 编辑
摘要:1. 安装Go环境(源码安装)配置环境变量打开~/.bashrc,添加如下变量export GOROOT=$HOME/goexport GOBIN=$GOROOT/binexport GOARCH=amd64export GOOS=linuxexport PATH=$GOBIN:$PATHexport GOPATH=$HOME/goprograms运行source ~/.bashrc安装Go工具链sudo apt-get install bison ed gawk gcc libc6-dev make git安装Mercurialsudo apt-get install mercurial下载 阅读全文