所以我选择baman.js, 不过这东西会让初学者感到沮丧,因为没有一个好的教程,而且官网文档也少得可怜, 有一个和rails结合的例子,可是作者又是haml拥戴者(这~~)硬着头皮看完,并且看了文档,写一下日志,方便自己以后查看
这里使用rails作为后端
在Gemfilel里面添加
1
|
|
安装目录结构
1
|
|
因为我们要使用mvc,所以我们最好关闭掉rails的自动生成coffeescipt 在application.rb添加
config.generators.javascripts = false
如果你想把自动生成scss的功能也给关掉可以继续添加上
config.generators.stylesheets = false
这样我们的基础工作就算ok了
最简单也是最好用的一个demo就是写一个blog吧,这里我们用一个blog来开始我们的batman之旅,这个blog有这么几个要求:
1. 文章要有标题,内容和图片
2. 无刷新,整站使用ajax
我们需要使用使用基础的命令来生成一个项目
1
|
|
在我们Gemfile里面添加上
1 2 3 |
|
使用bundle进行gem的安装
之后我们先把自动生产javascipt的功能关掉
在application.rb添加
config.generators.javascripts = false
生成我们需要的api,这里因为我们需要快速完成,使用scaffold
1
|
|
然后我们运行migrate来生成数据库
1
|
|
现在生成root首页
1
|
|
删除public/index.html,并且把app/views/home/index.html.erb 清空
添加root路由 config/routes.rb
1 2 3 4 |
|
安装batman
1 2 3 |
|
修改application.css 为application.css.scss 添加以下内容
1 2 3 4 5 6 |
|
在application.js添加以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
因为我们需要上传文件,所以我们需要使用carrierwave来做
1
|
|
修改model
app/models/post.rb
1 2 3 4 |
|
好了接下来我们需要进入batman,batman也为了我们准备了很多很有用生成器
1 2 3 4 5 6 |
|
我们使用batman:scaffold来创建我们需要的东西,也方便我们熟悉batman的写法
1
|
|
打开app/assets/javascipts/post.js
1 2 3 4 5 |
|
下面解释一下上面几个东西,因为我的英语翻译确实比较烂,所以还是直接引用英文了
1 2 |
|
1
|
|
1 2 |
|
接下来我们进入controller
我们可以看到batman为我们生成了基本的index show create update
不过我们因为需要有一个get action来生成new和edit 所以我们加上这两个方法,代码就如下面这个样子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
现在先放着,不写实现先,我们需要写路由了 这个时候,可以说说路由在那里实现了,我们看以我们项目名称命名的coffee文件 app/assets/javascipts/batmat_blog.js.coffee
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
我们需要添加路由,和指定view的存放位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
好了我们来写view, 首先修改appliction.html.erb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
这时打开主页,并打开console,看到一个错误
Uncaught DevelopmentError: Please define routingKey
on the prototype of PostsController in order for your controller to be minification safe. batman.js:750
这是因为rails js会压缩,如果你不压缩js的话,这个无需介意,不过我们的js需要压缩,所以我们必须在controller里面写入这一行代码,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
现在来写new的view和controller action
新建app/assets/javascipts/views/posts/new.html.erb
1 2 3 4 5 6 |
|
然后写new和create方法
1 2 3 4 5 6 7 8 9 10 |
|
现在我们写index的view
app/assets/javascipts/posts/index.html.erb
1 2 3 4 5 6 7 8 |
|
好了想在写show的view
app/assets/javascipts/posts/show.html.erb
1 2 3 4 |
|
补写controller app/assets/javascipt/controller/posts_controller.js.coffee
1 2 3 |
|
现在打开浏览器看看,我们的基本样子就出来了,下一篇将介绍用户登陆,和美化,这篇就到这里
]]>1 2 3 4 |
|
edit ~/.zshrc
1
|
|
install ruby
1
|
|
这个时候可以使用线程来达到我们需要的东西
下面以在model使用devise的current_user为例说明如何使用
在ApplicationController里面写入一个方法
1 2 3 4 5 6 |
|
在model里面就可以访问到这个线程的内容
1 2 3 4 5 6 7 |
|
1
|
|
并在.zshrc 里面添加或修改ZSH_THEME为ZSH_THEME=”agnoster”
note: 以后需要添加或者修改环境变量的时候记得要在~/.zshrc 里面做
1 2 3 |
|
配置插件
打开vim ~/.vimrc
将execute pathogen#infect()添加加在第一行
这个插件必须安装,一个很好vim状态栏
1 2 |
|
将set laststatus=2 添加到 ~/.vimrc 里面
]]>如果你是第一次进行交叉编译, 那么执行下面的操作
1 2 |
|
然后运行
1
|
|
之后把编译好的文件发到服务器就好了
下面配置upstart把项目启动 sudo vim /etc/init/xxx.conf
1 2 3 4 5 6 7 8 9 10 11 12 |
|
最后使用sudo service xxx start
大功告成
然后用server
]]>在开发ios过程中不可避免要使用第三方的开发库,对于习惯了ruby,golang,python等编程语言的人来说安装这些东西无疑是痛苦的,总结起来步骤就有一下几个
遇到新的项目继续上面的工作,这是没办法忍受的事情,好在ios的黑客都是非常酷的人,他们开发出了像ruby的bundley一样方便的东西名字叫做cocoapods
因为某些原因官网上不了,请各位看官自备梯子。
1 2 |
|
1
|
|
1 2 |
|
注解一下:第一版是说明你使用ios的库,并使用5.0的sdk
第二行就是你的需要用的库,格式是pod ‘库的名称’, ‘版本号’
4.使用pod install进行安装库,安装完毕之后是使用项目目录下的xxx.xcworkspace进行编程就可以了
记录如下:
不要把token值放到url里面,原因很简单服务器日志一般会记录这些东西,有风险,把他放到http header上面去是一个好的选择
把系统进行切分: 我们把系统分成了3个部分,每一部分都有forever单独启动,这样,对于我们持续部署是有很大的好处的
瞎扯完毕,继续工作
]]>这两天使用golang重写,把计算负责的和高io延时的全部并发出去,时间从原来的10秒降低到现在的3秒多一些。
使用的golang的库是goquery 下载方式是: go get github.com/PuerkitoBio/goquery
使用这个库需要使用golang的exp库 下载这个库的方法是:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
使用这个goquery可以像jquery那样去分析dom
官方的doc可以打开自己本地的 godoc -http=”:9090” 查看 也可以到godoc网站去看
]]>先在rails_admin的配置文件写入
1 2 3 |
|
之后使用rails 生成器生成cancan的控制文件,编辑文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
自从有一次在ruby-toolbox看到了mina,终于有点感觉得到解救了
根据自己的使用mina的特点主要有:
所以部署方式现在采用的是(rvm + mina + unicorn)
这里详细记录操作步骤
1 2 3 4 5 |
|
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
根据自己的项目和服务器信息进行设置之后运行
1 2 3 4 |
|
这样第一步就完成了
ssh 登录进服务器 然后建立一个专门用来部署的用户,安装rvm和ruby 网上的方法很多,这里就直接贴命令了,基于ubuntu12.04
1 2 3 4 5 6 7 8 9 10 11 12 |
|
因为mina的gem是安装在项目的vendor/bundle下面 所以需要修改一下rvm自动生成的脚本 将文件中的unicorn_rails 改为 你的项目地址+current/bin/unicorn_rails eg: /home/deploy/test1/current/bin/unicorn_rails
接下来就是写启动脚本了,我的shell是以Ruby China的mimosa配置写的,这里就不重复
直接贴上原帖地址和git地址
原帖地址:http://ruby-china.org/topics/471
他提供的git地址: https://gist.github.com/3547765
收工!!!
]]>