- 浏览: 172877 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- rails (25)
- js (15)
- ruby (30)
- webserver (5)
- mysql (13)
- security (5)
- thinking (5)
- common sense (2)
- linux (18)
- android (26)
- web browser (1)
- config and deploy (1)
- mac (5)
- css (2)
- db (8)
- version manager (1)
- editor (1)
- job (1)
- OOA (1)
- php (1)
- apache (2)
- mongrel (1)
- Mongodb (1)
- facebook (1)
- 架构 (1)
- 高并发 (1)
- twitter (1)
- Erlang (1)
- Scala (1)
- Lua (1)
- ubuntu (3)
- cache (1)
- 面试题 (2)
- android layout (2)
- android控件属性 (2)
- java (5)
- customize view (1)
- advanced (2)
- python (2)
- 机器学习 (5)
最新评论
PHP/Python/Ruby的运行机制有一个本质区别:PHP是每次HTTP请求过来以后,初始化全部资源(例如创建数据库链接、加载系统类库,创建缓存等等),处理完毕,释放全部资源,这不像Python/Ruby之类带有GC的脚本语言,Python/Ruby是初次启动的时候初始化资源,随后的请求就不必再次初始化资源了。
这种机制的差异带来的区别就是:
1、PHP极难出现严重的内存泄露问题,随便你代码写的多烂,反正每个请求一执行完毕,所有资源统统释放光。而Python/Ruby则需要依赖 GC来回收内存,因此稍有不慎,还是会出现GC无法释放的内存泄露问题。
2、PHP每次请求都要初始化资源,这个开销非常大。所以尽管PHP解析器本身的运行速度是极快的,但是一旦使用复杂的PHP框架,那么由于需要每次请求的时候初始化整个框架,性能的下降非常厉害,你用一个很复杂的PHP框架的结果就是整体性能被Ruby远远甩开。这也是为什么PHP社区这么多年来,并不怎么倾向于使用框架的原因之一。
3、由于PHP这种每请求初始化资源的机制,也造成了PHP添加跨请求的高级特性相当困难,这是PHP本身一个很大的限制,但是反过来说,正是这种限制使得PHP始终保持在一个比较简单的web语言上面,而正是这一点才是PHP得以成为互联网第一Web编程语言的原因,因此也未必就不好。
==========================================
Rails 初始化加载顺序
Rails2.3的时候加载顺序是这样:
# Rails configuration load order is:
#
# 1. config/preinitializer.rb
# 2. config/environment.rb
# 3. config/environments/#{RAILS_ENV}.rb
# 4. plugin initialization
# 5. gem initialization
# 6. config/initializer/*.rb
# 7. all after_initialize blocks, in the order they were defined in (so same order as above)
# 8. any junk left below the Rails::Initializer.run call/block in environment.rb
Rails3引入了Bundler,并且移除了preinitializer,加载顺序变成:
# Rails configuration load order is:
#
# 1. config/application.rb
# 2. gems initialization
# 3. config/environment.rb
# 4. config/environments/#{RAILS_ENV}.rb
# 5. plugin initialization
# 6. your rails app initialization
# 7. config/initializer/*.rb
发表评论
-
7点关于RESTful规范的API接口设计的想法
2016-11-28 14:29 941转:https://segmentfault.co ... -
RESTful API 设计指南
2016-11-28 14:17 406转:http://www.ruanyifeng.com/bl ... -
rails笔记
2016-11-28 13:55 644电子商务系统restful API问卷调查系统考试系统文档 ... -
重构臃肿 ActiveRecord 模型的 7 种方式
2016-11-19 16:29 557转:http://ruby-china.org/topics ... -
Rails系统重构:从单一复杂系统到多个小应用集群
2016-11-17 22:32 439转:http://www.infoq.com/cn/arti ... -
FileUtils 基本文件操作
2016-11-14 21:38 1269FileUtils.cd( dir, *options ) ... -
Custom dialog for data-confirm in Rails
2016-10-11 17:24 816Every Rails developers might ... -
常用ruby gem
2016-10-01 12:34 1122常见gems:Devise用于快 ... -
sphinx-0.99 + ultrasphinx
2016-07-27 20:20 473一、Installing Sphinx 1.Extra ... -
rails3 simple captcha
2015-06-03 16:06 635安装: ruby script/plugin insta ... -
测试ruby代码高亮
2015-05-27 16:33 535# encoding: utf-8 require 'd ... -
ror websites
2014-03-04 11:29 530http://railscasts.com/ ht ... -
mutex
2014-03-02 16:31 657http://ruby-doc.org/core-1.9. ... -
Twitter相关
2012-05-22 20:54 661Twitter没有计划放弃ruby on rails,而且早就 ... -
安装RMagick
2012-05-05 02:57 1111download from http://rubygems.o ... -
ruby类库
2012-03-09 10:54 14971.require 'cgi' def self.esc ... -
rails开源项目
2012-01-13 11:48 2302Ruby on Rails 是一个 Web 应用程序框架, ... -
code随记
2012-01-09 11:49 3826添加svn到Netbeans: Netbeans => ... -
识别验证码
2011-11-18 17:20 1104用imagemagick和tesseract-ocr破解简单 ... -
图片处理
2011-11-18 17:17 2483ImageMagick 是一个用于 ...
相关推荐
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
[Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
Bootstrap 3 和 Rails 4(样例用的是Ruby 2.1.1,Rails 4.1.4) Table of Contents Preface 1 Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo ...
adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...
中文世界唯一一本Rails 4.0.0 + Ruby 2.0.0 的自學書籍
使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文
rails文档 rails api 英文
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
rails指南 中文版
minitest-rails, Rails的Minitest集成 minitestRails 5的Minitest集成 安装gem install minitest-rails这将安装以下宝石:minitest配置创建一个新的Rail
Ruby+on+Rails+3+Tutorial.pdf 应用Rails进行敏捷Web开发第4版.pdf (Agile Web Development with Rails) Rails.Recipes.Rails.3.Edition.pdf
If you’re a web developer or designer ready to learn Ruby on Rails, this hands-on guide is the ideal way to get started. Rather than toss you into the middle of the framework’s Model-View-Controller...