golang 项目部署revel 用于正式部署到生产环境需改变哪些

本文介绍 Ubuntu 下的 node.js, golang 等环境的搭建,Mac 下安装的区别仅仅在于两点:
安装 golang 的依赖库时,使用 brew install xxx代替sudo apt-get xxx;
安装 golang 时,无需下载源码编译和设置 PATH,只需要上
下载 go 的 pkg 文件,双击引导安装即可。(但是 GOPATH 还是一样需要配置的)
最安全且最新的安装办法莫过于在官网(或 github 主页)找到 installation tutorial。首先给出我在安装过程中参考的官方主页:
nvm, node.js:
nvm (node version manager) 的安装 script:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
复制粘贴到 terminal 中,回车即可开始安装nvm。
安装 node.js
将以下命令输入到 terminal,查看 node.js 的 latest version:
nvm ls-remote
然后选择一个版本安装:
nvm install v5.11.0
其中 v5.11.0 是 node.js 版本号,可以修改为其他版本。将以上内容输入到 terminal 回车即可安装 node.js。安装完成后 ,可以通过:
查看已经安装的 node.js 版本。
安装 glup.js, webpack, bower, vue.js
npm install -g gulp@latest webpack bower vue-cli
注意是 npm 不是 nvm。
安装 golang
golang 是 go 语言开发环境。安装分为三步:(1)安装依赖库;(2)安装 golang; (3)配置环境变量。
(1)安装依赖库
将如下代码复制到 terminal 中,回车:
sudo apt-get install bison ed gawk gcc libc6-dev make git mercurial
(2)安装 golang
最简单的安装方法是直接输入如下脚本到 terminal 回车:
sudo apt-get install golang
然而这样安装的是 go 的旧版本。为了安装新版本,可以参考
的安装说明。具体过程如下:
(1)从官网
下载最新的 go 压缩包,下载到本地;
(2)将压缩包解压到 /usr/local/:
tar -C /usr/local -xzf go1.6.2.linux-amd64.tar.gz
(3)将 /usr/local/go/bin 添加到环境路径。打开 /etc/profile 文件,
sudo vim /etc/profile
并将如下代码添加到 profile 文件的末尾:
export PATH=$PATH:/usr/local/go/bin
(4)设置 $GOPATH。go 语言需要设置默认的工作空间,即 GOPATH 环境变量。假设工作目录为 ~/gocode:
mkdir ~/gocode
export GOPATH=/home/USER/gocode
export PATH=$PATH:$GOPATH/bin
写进 /etc/profile 的末尾。
安装 revel
给出的安装代码输入到 terminal:
go get -/revel/cmd/revel
需要很长一段时间。由于连接不了外网,这条 script 执行结束时会反馈两个错误(注意:虽然会报错,但上面那句代码还是要执行的,因为会把其他代码下载全):
package golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/websocket" (https fetch: Get https:
package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https:
没关系,从 github 上找到 net 和 sys 的代码,clone 到本地就行。进入 gocode/src/ 目录后,执行如下代码:
mkdir golang.org
cd golang.org
git clone https://github.com/golang/net.git
git clone https://github.com/golang/sys.git
下载完成之后,输入:
go install /revel/revel
go install /revel/cmd/revel
很快会回馈,到此便大功告成。测试一下,创建 revel 应用:
revel new myapp
revel run myapp
然后打开浏览器访问 ,页面会显示 “It works!”。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:484次
排名:千里之外
原创:11篇Win7下搭建 Go+Sublime Text2+MongoDB+Revel+MGO的开发环境
| Go语言中文网 | Golang中文社区 | Golang中国
<meta name="author" content="polaris ">
Win7下搭建 Go&#43;Sublime Text2&#43;MongoDB&#43;Revel&#43;MGO的开发环境
Win7下搭建 Go&#43;Sublime Text2&#43;MongoDB&#43;Revel&#43;MGO的开发环境
zhaorigetu
一、安装Go语言运行环境
1、下载:Go语言相应操作系统的安装文件并点击按着向导安装即可。
下载地址:
安装文件有msi和zip两种格式的。
.msi文:是标准windows安装文件,双击安装即可。正常情况下不需要手工配置环境变量
.zip:zip压缩包。需要解压后手工配置环境变量,解压后将文件拷贝靠需要安装的目录下面。配置如下环境变量:
添加环境变量 GOROOT=&Go的安装目录
Path里面追加:%GOROOT%\bin
注意:不能在安装目录中存在汉字目录
打开win7的cmd控制台界面输入
version 回车后会显示版本号例如:go version go1.2.1 windows/amd64
证明go语言运行环境已经安装成功
二、安装Sublime Text2
1. 下载 Sublime Text 2,地址如下:
2. 解压以后,双击 sublime_text,就可以使用 Sublime Text 2 了。破解:用 WinHex十六进制编辑器打开sublime_text.exe文件,跳到 000CBB70 那一行,将该行的 8A C3 修改为 B0
01 然后保存即可。
3. 安装 ,在打开 Sublime Text 2以后,按下快捷键 Ctrl + `,打开命令窗行,`这个按键在Tab键的上面,我刚开始还没找到,呵呵。输入以下内容,并回车:
import urllib2, pf=&#39;Package Control.sublime-package&#39;; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else N urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),&#39;wb&#39;).write(urllib2.urlopen(&#39;http://sublime.wbond.net/&#39;+pf.replace(&#39; &#39;,&#39;%20&#39;)).read()); print &#39;Please restart Sublime Text to finish installation&#39;
4. 重启Sublime Text 2后,就可以发现在 Preferences菜单下,多出一个菜单项 Package Control。
5.现在安装GoSublime插件了,按住Ctrl+Shilft+p会弹出一个对话框
输入install回车弹出一个安装包的对话框
如入GoSublime选择GoSublime回车
输入Go build选中回车(这个属于可选)
搞定,GoSublime安装成功。
安装完之后就可以安装Sublime的插件了。需安装GoSublime、SidebarEnhancements和Go Build,安装插件之后记得重启Sublime生效,Ctrl+Shift+p打开Package Controll 输入pcip(即“Package Control: Install Package”的缩写)。
6.下面安装,
可以去github下载(要安装google的git版本管理工具),配置git环境变量:;C:\Program Files\Git\C:\Program
Files\Git\libexec\git-
打开控制台,输入以下内容:
    go get -u </nsf/gocode
    go install </nsf/gocode
  安装完成后,我们可以在 go/bin 目录下,发现多出了个 gocode 文件。(一定要放在bin目录下)
7. 修改GoSublime配置:在 Preferences菜单下,找到Package Settings,然后找到 GoSublime,再往下找到 Settings - Default。再打开的文件中,添加如下配置,并保存:
好了,到目前为止,开发环境搭建完成。
打开 Sublime Text 2,新建 helloworld.go,编写代码如下:
见证Go代码自动提示的时刻了
回车(enter键)
main方法,包自动给你生成了。
下面是一个打印的例子:
按下快捷键 Ctrl + b 界面下方会出现如下界面:
输入 go build hello.go
运行,同样 按下快捷键 Ctrl + b 界面下方会出现如下界面,输入 hello回车 。如图:
好了,到现在,开发环境就搭建完毕了,希望大家也来学习Go这门语言。
三、安装Revel框架:
windows安装golang语言和revel框架(原创)
<span style="color:#.设定一个自己的GOPATH环境,作为开发环境
$ mkdir c:\goapp
然后在系统环境变量里添加 GOPATH = c:\goapp
3.安装git 和 Mercurial
git下载地址:
下载Mercurial的地址:
ps: 由于google 被强,Mercurial hg 下载
go的源码有问题
4.下载配置revel
进入前面设好的GOPATH
$ cd c:\goapp
$ go /robfig/revel
再下载 revel 的 工具
$ go /robfig/revel/revel
如果被墙到这里就没用了.出现缺少go.net/websocket的包
我的办法是去 /p/go/source/browse/?repo=net
下载解压到 src 下 \p\go.net 里面
然后再运行
$ go /robfig/revel/revel
如果出现了bin pkg src 三个目录,表示安装成功了
进入bin目录运行revel.exe
看到一些命令,下面建立第一个web application
$bin& revel new myweb
$bin& revel run myweb
访问 http://localhost:9000 表示配置成功
Tagged: , ,
四、 MGO的安装
1、需要bzr命令的支持
http://wiki./WindowsDownloads
2、运行:go get labix.org/v2/mgo
GOCODE:安装
/nsf/gocode
go get -u -ldflags -H=/nsf/gocode
支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
支持 @ 本站用户;支持表情(输入 : 提示),见
记住登录状态
还不是会员windows安装golang语言和revel框架(转载)
windows安装golang语言和revel框架
1.先去下载32位或64 golang window
安装包 并安装
go1.1.2.windows-amd64.msi
&下载地址:/p/go/downloads/list
2.设定一个自己的GOPATH环境,作为开发环境
&(1)比如通过命令行执行:
mkdir D:\goapp或者直接到D盘下面建一个文件夹:D:\goapp
&(2)然后在系统环境变量里添加 GOPATH =
3.安装git工具 和
Mercurial工具
4.下载配置revel
& & 进入前面设好的GOPATH
& $ cd D:\goapp
& $ go /robfig/revel
5.再下载 revel 的 工具
$ go /robfig/revel/revel
注意:如果被呛到这里就没用了.出现缺少go.net/websocket的包,我的办法是去
& &/p/go/source/browse/?repo=net,下载解压到
src 下 \p\go.net 里 面,然后再运行,$
go /robfig/revel/revel,如果出现了bin
pkg src 三个目录,表示安装成功了,进入bin目录运行如下命令,建立第一个web
&application:
$bin& revel new myweb
$bin& revel run myweb
6.访问 http://localhost:9000
页面正常显示,表示配置成功
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Posts - 70,
Articles - 0,
Comments - 32
学习分享技术
随笔分类 -Golang
17:00 by Danny.tian, 855 阅读, ,
验证validation应用程序展示了每一种验证系统的使用方式。validation/app/ models user.go # User struct and validation routine. controllers app.go # Introduction sample1.go # Validating simple fields with error messages shown at top of page. sample2.go # Validating simple fields wi...
17:24 by Danny.tian, 4709 阅读, ,
聊天室聊天室应用程序示例如下:使用channel来实现一个聊天室(pub-sub模式),俗称的发布-订阅模式使用Comet和Websockets应用程序的文件结构如下:chat/app/ chatroom # Chat room routines chatroom.go controllers app.go # The welcome screen, allowing user to pick a technology refresh.go # Handlers for the &Active R...
09:50 by Danny.tian, 2937 阅读, ,
预约示例展示了如下的使用方法:通过配置Revel的DB module来使用一个SQL数据库使用GORP &ORM&类库通过拦截器来检查用户是否登录使用validation显示行内错误信息下面是应用程序的内容booking/app/ models # Structs and validation. booking.go hotel.go user.go controllers init.go # Register all of the interceptors. gorp.go # ...
15:24 by Danny.tian, 13790 阅读, ,
是一个高效的Go语言Web开发框架, 模仿Play! Framework而来, 我个人认为Revel是目前Go语言中比较不错的一个Web开发框架, 虽然它还有很多待完善的地方但还是很值得学习和借鉴滴, 我在这里记录一下偶的对它滴研究过程,以作备忘,也希望能和喜欢它的朋友们一起交流学习.Go Web开发之Revel - 开发入门Getting Started创建你的第一个App网页请求处理流程Hello WorldGo Web开发之Revel - 开发手册介绍概念组织结构Revel运行原理概述路由参数绑定验证Session/Flash返回值模板拦截器插件模块Websockets测试日志部署app
10:25 by Danny.tian, 10636 阅读, ,
gorp是一个Go开源ORM框架.Go关系型数据库持久化我很含糊的称gorp是一个ORM框架. Go还没有真正的对象, 至少没有一个经典的感觉和Smalltalk/Java一样的,这是&O&. gorp不知道任何你struct之间的关系(以后会实现,现在还在TODO list中). 所以&R&也是有质疑的(但是我使用这个名字,因为感觉上更贴切).&M&是没有问题的. 给定一些Go结构和一个数据库, gorp应该可以减少你的重复代码.我希望gorp能节省你的时间并简化从数据库获取数据的苦活来帮助你把精力投入到算法上而不是基础设施上面.数
14:19 by Danny.tian, 1470 阅读, ,
fsnotify是一个文件系统监控库, 它可以支持在如下系统上使用:WindowsLinuxBSDOSX使用方法来自官方示例: watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal(err) } // Process events go func() { for { select { case ev := &-watcher.Event: log.Println(&event:&, ev) ...
09:46 by Danny.tian, 2820 阅读, ,
如果你还不知道怎么使用goconfig可以先看看Go开源项目 - goconfig 使用方法.config.gogoconfig的主文件, 首先定义了一些要是用的常量如&DEFAULT& section, 注释字符&#&和&;&, 分隔符&:&或&=&.定义了boolString字典用于方法获取bool值时使用, &t&,&true&,&y&,&yes&都会被转换成true, &no&,&quot
17:45 by Danny.tian, 1102 阅读, ,
下载SublimeGDB在sublime text 2 中 Install Package -&SublimeGDB重启Sublime Text 2修改 workingdir 为工程所在目录,修改 commandline中executable为可执行文件名,如&workingdir&: &${home}/gocode/bin&,&commandline&: &gdb --interpreter=mi --args ./revel run myapp&常见命令:Launch with F5Step over w
14:59 by Danny.tian, 245 阅读, ,
$cd$GOROOT/src/cmd/go$vimvcs.go#将里面改为$goinstall$/xxx
14:17 by Danny.tian, 257 阅读, ,
1. 安装ctagssudo apt-get install exuberant-ctags2. 添加 ~/.ctags文件,内容如下:--langdef=Go--langmap=Go:.go--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/3. 在sublime text 2中安装CTAGS
11:51 by Danny.tian, 2148 阅读, ,
gdb [options] --args executable-file [inferior-arguments ...]l - 相当于list命令,l 37显示37行附近的源码b 行号,b 37 if i==3b 函数名.函数名i b - 查看全部断点信息d - 删除所有断点d 0 - 删除第0个断点display a - 一直显示a的值undisplay - 去掉所有显示watch addr - 监控addr内存s - step的意思进入函数进行跟踪j 37 - 直接跳到37行运行u - 将循环执行完p a - 打印a的值p a=3 - 设置a的值,p (*(mystruct *)addr
10:24 by Danny.tian, 2010 阅读, ,
goconfig是Revel用到的一个开源工具, 它实现了一个基础的配置文件解析器语言, 它的结构类似于微软的Windows INI文件.配置文件由几部分组成, 由&[section]&做头部紧接着&name:value&键值对, 也可以用&name=value&. 注意空格将被从values中删除. 在相同的section可选的value能包含涉及其他values格式化字符串, 或values在一个特殊的DEFAULT部分. 另外defaults可以在初始化和检索时被提供. 注释字符时&;& 或 &#&
10:09 by Danny.tian, 1373 阅读, ,
构建和运行为了使用Revel你必须构建命令行工具.从你的GOPATH根目录开始.$ go build -o bin//robfig/revel/cmd现在运行:$ bin/revel~~ revel! /revel~usage: revel command [arguments]The commands are: run run a Revel application new create a skeleton Revel application clean ...
16:17 by Danny.tian, 927 阅读, ,
应用程序配置文件被命名为app.conf,它使用goconfig的语法,它看起来有点像微软的INI文件。下面是一个例子文件:app.name=chatapp.secret=pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvjhttp.addr=http.port=9000[dev]results.pretty=truewatch=truelog.trace.output = .output = stderrlog.warn.output = stderrlog.error.output = s..
16:17 by Danny.tian, 1230 阅读, ,
SCPRevel应用程序可以被部署到没有安装Go功能的机器上. 命令行工具提供了package命令,它可以编译和打包应用程序并附带一个运行它的脚本.一个典型的部署看起来像下面这样:# Run and test my app.$ revel run import/path/to/app.. test app ..# Package it up.$ revel package import/path/to/appYour archive is ready: app.zip# Copy to the target machine.$ scp app.zip target:/srv/# Run it
16:17 by Danny.tian, 1501 阅读, ,
Revel提供4个日志记录器TRACE - 只有debug信息.INFO - 信息报告.WARN - 一些意外的但无害的.ERROR - 错误信息,不需要看一看了.日志可以在app.conf中配置. 下面是一个例子:app.name = sampleapp[dev]log.trace.output = .output = stdoutlog.warn.output = stderrlog.error.output = stderrlog.trace.prefix = &TRACE &.prefix = &INFO &qu
09:44 by Danny.tian, 1536 阅读, ,
Revel提供了一个测试框架,这使得在应用程序中写和运行测试函数变得很容易.skeleton应用程序带有一个简单的测试来帮助我们测试.概要测试保存在tests目录corp/myapp app/ conf/ public/ tests/ &----一个简单的测试看起来像下面这样:type ApplicationTest struct { rev.TestSuite}func (t ApplicationTest) Before() { println(&Set up&)}func (t ApplicationTest) TestThatIndexPageWo...
17:31 by Danny.tian, 1079 阅读, ,
模块是可以被插入到应用程序的包. 他们允许在多个Revel应用或第三方程序中共享controller、view、资源文件和其他代码模块应该有相同的布局来作为一个Revel应用程序. 主应用程序将把模块按照下面的方式合并:任何在module/app/views中的模板将被添加到模板加载器的搜索路径任何在module/app/controllers中的controller将被视为他们在你的应用程序中通过一个路由的形式 staticDir:modulename:public,资源文件就可以使用了开启一个module为了添加一个模块到你的应用程序,添加如下一行代码到app.conf:module.my
17:31 by Danny.tian, 1006 阅读, ,
Revel 支持Websockets.处理一个Websocket连接:使用WS方法添加一个路由.添加一个action接受一个*websocket.Conn参数.例如添加如下代码到你的routes文件:WS /app/feed Application.Feed然后写一个action就下下面:import &/p/go.net/websocket&func (c Application) Feed(user string, ws *websocket.Conn) rev.Result { ...}至此结束。
13:19 by Danny.tian, 1419 阅读, ,
插件被注册到应用程序的hook上面和请求生命周期事件离.一个插件就像下面的接口 (每一个事件都将被通知):type Plugin interface { // Server启动时被call (每一次代码重新加载). OnAppStart() // 路由器完成配置后被call. OnRoutesLoaded(router *Router) // 每一次request之前被call. BeforeRequest(c *Controller) // 每一次request之后被call.(除了panics) AfterRequest(c *Control...
15:55 by Danny.tian, 175 阅读, ,
UPDATE: There have been some updates to my Revel Heroku Buildpack that make it work better and with newer versions of Revel.Check out the details.Revelis a Play-like web framework for Go. I’m new to the Go programming language but I’ve heard good things. So I thought I’d take Revel for a spin and ge
15:18 by Danny.tian, 1804 阅读, ,
一个拦截器是一个框架在调用action方法前或后调用的函数. 它允许一种AOP的形式, 它经常被用于做下面几种事情:Request loggingError handlingStats keeping在Revel里, 一个拦截器能接受两种形式:1. 函数拦截器: 一个函数满足InterceptorFunc接口没有访问特定的应用程序Controller被调用在应用程序中可以应用于任意或全部Controller2. 方法拦截器:一个controller的方法接受没有参数和rev.Result的返回值可以只拦截受约束的Controller可以修改被调用的controller作为想得到的拦截器按照被添
09:47 by Danny.tian, 241 阅读, ,
Fmt包import &fmt&简介?Package fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C但更简单一些。输出格式:一般:%v 基本格式的值。当输出结构体时,扩展标志(%+v)添加成员的名字。the value in a default format. when printing structs, the plus flag (%+v) adds field names%#v 值的Go语法表示。%T 值的类型的Go语法表示。%% 百分号。布尔型:%t 值的true或false整型:%b 二进制表示%c 数值对应的Uni
09:44 by Danny.tian, 2387 阅读, ,
Revel 使用Go Templates. 它搜索两个目录来查找模板:应用程序的 views 目录和全部子目录Revel自己的 Templates 目录Revel为错误页面提供模板(在开发模式中显示友好的编译错误), 但是应用程序可以通过创建一个相同名字的模板来重写它, 例如app/views/errors/500.html渲染上下文Revel使用RenderArgs的数据字典执行模板. 除了应用程序提供的数据外, Revel提供了下面的入口:&errors& -Validation.ErrorMap返回的字典&flash& - 前一个请求的flash数
18:09 by Danny.tian, 2087 阅读, ,
返回值必须返回一个 rev.Result, 它处理response的生成并依附于一个简单的接口:type Result interface { Apply(req *Request, resp *Response)}rev.Controller提供几个方法来生成结果:Render, RenderTemplate - 渲染一个模板, 传递参数.RenderJson, RenderXml - 序列化一个结构的json或xml.RenderText - 返回一个纯文本response.Redirect - 重定向到另一个action或URLRenderFile - 返回一个文件, 通常作为一个...
15:06 by Danny.tian, 700 阅读, ,
(1)首先进入go/src 源码所在目录,执行如下命令创建目标平台所需的包和工具文件。$ cd /usr/local/go/src$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash如果是 Windows 则修改 GOOS 即可。$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash(2) 现在可以编译 Linux 和 Windows 平台所需的执行文件了。$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build$ CGO_ENABLED=0 GOOS.
14:38 by Danny.tian, 259 阅读, ,
从零到 Go:24 小时内登上 Google 主页的 Go 语言应用“火鸡”doodle 开发纪实
09:55 by Danny.tian, 2194 阅读, ,
Revel提供两个基于cookie的存储机制.// A signed cookie (and thus limited to 4kb in size).// Restriction: Keys may not have a colon in them.type Session map[string]string// Flash represents a cookie that gets overwritten on each request.// It allows data to be stored across one page at a time.// This is commonly
10:24 by Danny.tian, 1669 阅读, ,
Revel提供内建的函数来验证参数.这里有一对部件:一个验证上下文收集器和消息验证错误(keys和消息)帮助函数检查数据并把错误信息加入上下文一个模板函数从验证上下的key获得错误信息更深入的了解验证可以看一下 示例demo内联错误信息这个示例演示用内联错误信息验证字段.func (c MyApp) SaveUser(username string) rev.Result { // Username (required) must be between 4 and 15 letters (inclusive). c.Validation.Required(username) ...
12:36 by Danny.tian, 2331 阅读, ,
Revel尝试尽可能简单的转换参数到Go的类型.这个转换从string到另一种类型被称为数据绑定.参数全部的请求参数被收集到一个Params对象中.它包括如下:URL 路径参数URL 查询参数表单值 (Multipart or not)上传文件定义如下(godoc)type Params struct { url.Values Files map[string][]*multipart.FileHeader}这个嵌入的url.Values (godoc)提供了访问简单值的方式,但是开发人员将使用更容易的Revel数据绑定机制来查找非字符串值.Action参数参数可以直接作为方法的参...
14:33 by Danny.tian, 3014 阅读, ,
路由使用原始的Play!语法定义,定义被保存在routes文件中.基础语法:(METHOD) (URL Pattern) (Controller.Action)下面这个例子展示了所有的使用方法# conf/routes# This file defines all application routes (Higher priority routes first)GET /login Application.Login &b&# 一个简单的路径&/b&GET /hotels/? Hotels.Index ...
10:43 by Danny.tian, 1109 阅读, ,
一个Controller是任意嵌入rev.Controller的类型 (直接或间接嵌入)典型的:type AppController struct { *rev.Controller}目前,rev.Controller必须作为struct中的第一个元素rev.Controller是请求的上下文.它包括请求和相应数据.详情请见the godoc,下面是Controller的定义type Controller struct { Name string // The controller name, e.g. &Application& Type ...
10:17 by Danny.tian, 2668 阅读, ,
命令行工具运行harness,harness作为一个反向代理运行Revel监听9000端口和app的文件更改Revel转发请求到运行中的Server,如果server没有运行或者源代码被改变了,在最新的请求中Revel将重建应用程序.如果Revel需要重建应用程序,harness将分析源代码并生成app/tmp/main.go文件,这个文件包括全部的必要的元信息以支持能够运行在真正的app server上Revel使用go build编译应用程序,如果有一个编译错误,它将显示错误页帮助用户发现错误如果应用程序编译成功,当Revel检查到app server已经完成启动,它将运行应用程序并转发请
23:11 by Danny.tian, 358 阅读, ,
/ztiandan/Go.ppt
22:37 by Danny.tian, 2660 阅读, ,
Revel需要它自身和用户应用程序被安装到GOPATH下面.实例目录结构gocode GOPATH 根目录 src GOPATH src 目录 revel Revel 源代码鲁姆 ... sample 用户应用程序根目录 app App 源 controllers App controllers models App 域模型 views ...
15:58 by Danny.tian, 2231 阅读, ,
MVC摘要:Model:用于描述你的应用程序域的基本数据对象,Model也包含特定领域的逻辑为了查询和更新数据View:描述怎样展示和操作数据Controller:处理请求的执行,他们执行用户期待的Action,他们决定哪个视图将被用于显示,他们还为视图准备和提供必要的数据用于渲染视图每个请求产生一个Goroutine Revel构建于Go HTTP server之上,它为每一个进来的请求创建一个go-routine(轻量级线程),这意味着你的代码可以自由的阻塞,但必须处理并发请求处理。Controllers and Actions 每一个HTTP请求调用一个action,它处理请求和输出..
15:53 by Danny.tian, 2267 阅读, ,
Revel框架的资源如下:Revel的新东东? 概念.Mailing ListSearch our mailing list (revel-)帮组邮箱Send an email to the revel-Bug提交Open an issue on github.
14:43 by Danny.tian, 2097 阅读, ,
下面结合之前创建的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&刷新表单我们提
12:59 by Danny.tian, 3001 阅读, ,
我们之前已经已经创建了myapp的应用,现在我们来看看revel是如何处理一个浏览器访问http://localhost:9000的请求的。Routes(路由)首先revel会检查conf/routes文件,这个文件包含一个路由,如下:GET / Application.Index这个路由信息告诉revel当访问 / 路径是应该调用Application Controller的Index方法Actions(行为)下面我们我们来看一下Controll中的Action,所在路径为app/controllers/ap...
11:35 by Danny.tian, 3171 阅读, ,
使用下面的revel命令行工具在你的GOPATH中创建一个空的项目并运行打开你的浏览器访问http://localhost:9000,出现下图表示程序可以正常工作了至此结束。
11:18 by Danny.tian, 4915 阅读, ,
今天开始对revel框架做一些开发和总结,首先从官方的Getting Started开始1. 安装Go开发环境,还不会的可以参考搭建Go语言开发环境-基础篇及搭建Go语言开发环境-优化篇2.建立GOPATH目录并下载revel源代码mkdir ~/gocodecd $GOPATHgo /robfig/revel3.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令go build -o bin//robfig/revel/cmd4.可以将编译出来的revel命令
14:14 by Danny.tian, 415 阅读, ,
目前Go使用的GC是个保守的GC,换句通俗的话说就是宁可少释放垃圾不可误释放还在用的内存;这个反映在设计上就是会从堆栈、全局变量开始,把所有可能是指针的字全部当作指针,遍历,找到所有还能访问到的内存中的对象,然后把剩下的释放。那么如何判断一个字(uintptr)可能是指针呢?大家知道Go的内存分配是参考的tcmalloc,并做了一些改动,原先tcmalloc是使用类似页表的树形结构保存已经从操作系统中获得的内存页面,Go使用了另外一个办法。由于Go需要维护每个内存字的一些状态(比如是否包含指针?是否有finalizer?是否是结构体的开始?还有上面提到的是否还能访问到的状态),综合在一起是每个
17:46 by Danny.tian, 260 阅读, ,
1、疑问:go get 命令不能下载到GOPATH,在使用go /robfig/revel 时,发现一个奇怪的问题,为啥运行命令后在GOPATH/src下面找不到下载的文件捏?原因:如果第一次没有设置GOPATH的话,调用go /robfig/revel源代码会被下载到GOROOT/src/pkg里面,即使之后设置了GOPATH也会因为之前已经下载到了GOROOT下面而不会下载到GOPATH里面,只有删除了GOROOT里面的文件才会优先考虑GOPATH。
14:53 by Danny.tian, 2939 阅读, ,
在上篇搭建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呢??因为系
10:54 by Danny.tian, 3663 阅读, ,
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下载

我要回帖

更多关于 go revel 的文章

 

随机推荐