不错~ 一直以来就期待 motion ruby 这样的东西,不知道用他编译出来的程序能否通过 app store 审核.. 另外 Matz 的 mruby 也很值得期待~
openssh...
把 session 放到服务器数据库里~ 具体参见 rails guides
个人觉得,社区内容质量下降不完全是功能的问题,也有管理方面的问题,可以考虑定期组织主题讨论之类的活动。
web socket 有专门的协议,浏览器的 js 无法建立 http 以外的连接
#11 楼 @lb563 有 secure 选项阿..楼主你看下文档~ http://apidock.com/ruby/FileUtils/rm_rf
你抽出来以后内存排序就是了,
首先开启 idendity_map
@topics = Topic.where("id in (@user.favorite_topic_ids)")
@user.favorite_topic_ids.each {|id| (@topics_ordered ||=[]) << Topic.find(id)}
由于开启了 idendity_map,不会有额外的查询
~见楼下~
楼主你应该用FileUtils.rm_rf
这个方法.. 不管是目录还是文件,见啥删啥
看到你这个帖子就想起来上次 github 上著名的删除/usr 事件,哈哈
可以肯定这不是 c...
不错,不过建议楼主可以用 guard-spork,这样一个 guard 可以全包了
贴一个傻瓜型 Gemfile 带了 guard,livereload 等等一体化自动测试
require 'rbconfig'
HOST_OS = RbConfig::CONFIG['host_os']
source 'http://rubygems.org'
gem 'rails', '3.2.3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'rspec-rails' ,:group => [:development,:test]
# jquery-ui
# gem 'jquery-ui-rails'
# bootstrap
# gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',:git => 'git://github.com/anjlab/bootstrap-rails.git'
if HOST_OS =~ /linux/i
gem 'therubyracer', '>= 0.8.2'
end
case HOST_OS
when /darwin/i
gem 'rb-fsevent', :group => :development
gem 'growl', :group => :development
gem 'guard-pow', :group => :development
when /linux/i
gem 'libnotify', :group => :development
gem 'rb-inotify', :group => :development
when /mswin|windows/i
gem 'rb-fchange', :group => :development
gem 'win32console', :group => :development
gem 'rb-notifu', :group => :development
end
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
group :test do
# Pretty printed test output
gem 'turn', :require => false
gem 'factory_girl_rails' , "~> 1.1.0" ,:require => false
gem 'database_cleaner', ">= 0.6.7"
gem 'mongoid-rspec', ">= 1.4.4"
gem "capybara",">= 1.1.1"
gem "launchy", ">= 2.0.5"
gem 'guard-spork'
gem 'spork', '~> 0.9.0'
gem "guard-rspec"
gem 'guard-livereload'
gem 'guard-bundler'
end
执行guard init
然后按照需要调整 Guardfile,确保 spork 在 rspec 的上面
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
guard 'livereload' do
watch(%r{app/.+\.(erb|haml)})
watch(%r{app/helpers/.+\.rb})
watch(%r{(public/|app/assets).+\.(css|js|html)})
watch(%r{(app/assets/.+\.css)\.s[ac]ss}) { |m| m[1] }
watch(%r{(app/assets/.+\.js)\.coffee}) { |m| m[1] }
watch(%r{config/locales/.+\.yml})
end
guard 'pow' do
watch('.powrc')
watch('.powenv')
watch('.rvmrc')
watch('Gemfile')
watch('Gemfile.lock')
watch('config/application.rb')
watch('config/environment.rb')
watch(%r{^config/environments/.*\.rb$})
watch(%r{^config/initializers/.*\.rb$})
watch(%r{^config/settings(\.local)?\.yml$})
end
guard 'spork', :cucumber_env => { 'RAILS_ENV' => 'test' }, :rspec_env => { 'RAILS_ENV' => 'test' } do
watch('config/application.rb')
watch('config/environment.rb')
watch(%r{^config/environments/.+\.rb$})
watch(%r{^config/initializers/.+\.rb$})
watch('spec/spec_helper.rb')
end
guard 'rspec', :version => 2 ,:cli => "--drb",:notification => true do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec/" }
# Rails example
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
watch(%r{^spec/support/(.+)\.rb$}) { "spec/" }
watch('spec/spec_helper.rb') { "spec/" }
watch('config/routes.rb') { "spec/routing" }
watch('app/controllers/application_controller.rb') { "spec/controllers" }
# Capybara request specs
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
end
然后参照楼主的文章设置一下 spec_helper.rb
执行guard
即可开始自动测试,自动重启服务,自动 bundle 等等
分两条写吧... css 里不宜多含逻辑
额,hosthunger 阿... 这类 shared 注意内存容易溢出被 kill,并且 app 过一段时间没有请求,进程会被 kill 掉,然后下次访问就要启动,很慢... 嘛玩玩还是可以的..
敏捷... 个人感觉是炒作远大于实用...
个人感觉 node.js 在 web 上的优势还是在于两点:
目前这个方向的 node 应用框架有不少:比如 http://meteor.com http://derbyjs.com
而作为传统的 web 框架来使用就没有太大优势了,express 本身比 sinatra 就快不了多少,并且底层库 js 还是远不如 ruby 支持的好
如果规模很大建议拆分子应用,用 engine 处理
http://meteor.com 可以看一下这个。。基于 nodejs 的神奇实时框架,未来的 web app 就该是这个样子
@liwen_zhang 楼主不如试试 mongodb , js 试试 backbone 之类的 , 总感觉 extjs 太笨重了
我的经验...用一点老师自己不清楚的东西,往往老师为了撑脸面会给比较高的分数,提问的时候也不会问出尖刻的问题..
js 里边,函数本身作为对象,可以这样指定函数的调用环境
var func = function(){...};
...
func.apply(context,args...);
ruby 里类似的大概只有 instance_eval class_eval 这类函数了,不过也不等效