2007-10-31

DHH对Rails的scalability的解释

关键字: Rails scalability DHH
I've said it before, but it bears repeating: There's nothing interesting about how Ruby on Rails scales. We've gone the easy route and merely followed what makes Yahoo!, LiveJournal, and other high-profile LAMP stacks scale high and mighty. Take state out of the application servers and push it to d ...
Rails里一般我们这样Destroy: <%= link_to "Destroy", project_path(project), :confirm => "Are you sure?", :method => :delete %> 但是当客户端浏览器禁止JavaScript时就呆了,没有confirm,直接给删除了 所以如果我们需要考虑这种情况的话,需要给出“可降级”的方案,例如跳转到另一个页面,页面上提示是删除or取消 最终是这样来用: <!-- projects/index.rhtml --> <ul> <% for project in @pr ...
1、美特斯邦威:不加寻常班 2、特步: 加班,死一般 感觉 3、百事:加班无极限 4、森马:上什么公司,加什么班 5、脑白金:今年过节不加班,加班只加节假日 6、汇仁肾宝:他加我也加 7、李宁:加班,一切皆有可能 8、旺旺: 加,我加,大家加,加加 9、农夫山泉:加 有点烦 10、好迪:大家加,才是真的加 11、白加黑:白天加白班,不瞌睡;晚上加晚班,睡不着. 12、联想:公司不加班,公司会怎么样 13、娃哈哈:妈妈~~我也要加班 14、清嘴: 知道加班的味道吗 15、安踏:我加班,我喜欢 16、NIKE:Just 加 it 17、钙中钙:现在加班啊,它含金量高, ...
  • 22:46
  • 浏览 (427)
  • 评论 (1)
Support meebo, aim, msn, yahoo!, gtalk, icq, jabber https://addons.mozilla.org/en-US/firefox/addon/5700
  • 16:45
  • 浏览 (488)
  • 评论 (2)
http://www.bitstorm.org/edwin/en/php/ http://nalai.net/content/view/306727/32/
  • 11:14
  • 浏览 (352)
  • 评论 (0)
2007-10-24

Ruby全文搜索

关键字: fulltext search
1,acts_as_ferret 性能问题 2,acts_as_sphinx 不稳定 3,acts_as_fulltextable 使用MySQL的MyISAM表自己的全文搜索
今天工作中发现jQuery的lightbox将calendar_date_select覆盖掉了,经sliu指点原来是CSS中的一个z-index的问题,z-index越大则显示在页面的最上面,否则就被覆盖掉了。
安装 ruby script/plugin install http://scope-out-rails.googlecode.com/svn/trunk/ 使用例子 # models/task.rb scope_out :incomplete, :conditions => ['complete=?', false], :order => 'name' # tasks_controller.rb @tasks = Task.find_incomplete(:all) # models/project.rb has_many :tasks, :extend ...
owasp.org列出十大Web应用漏洞清单: 1, Cross Site Scripting(XSS) 2, Injection Flaws 3, Malicious File Execution 4, Insecure Direct Object Reference 5, Cross Site Request Forgery(CSRF) 6, Information Leakage and Improper Error Handling 7, Broken Authentication and Session Management 8, Insecure Cryptographic Sto ...
一、item list 1,列表符号 ul { list-style-type: decimal; } li.special { list-style-type: circle; } disc circle square decimal upper-alpha lower-alpha upper-roman lower-roman none 2,图片符号 ul { list-style-image: url(icon1.jpg); } or ul { list-style-type: none; } li { ...
Tips for Authoring Fast-loading HTML Pages iTechTag实在很慢,人家财帮子就快多了,所以希望和你一起学习下Mozilla这篇如何加快页面加载速度的文章 1,页面减肥 页面的肥瘦是影响加载速度最重要的因素 删除不必要的空格、注释 将inline的script和css移到外部文件 可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥 2,减少文件数量 减少页面上引用的文件数量可以减少HTTP连接数 许多JavaScript、CSS文件可以合并最好合并,人家财帮子都把自己的JavaScript funct ...
2007-10-19

Rails Code Review 2: 不要循环ActiveRecord

关键字: Rails ActiveRecord
THE WRONG WAY: @a = A.find_by_name("hideto") @list = [] @a.bs.each do |b| b.cs.each do |c| @list << c if c.ccc? end end 这样将产生许多条SQL语句 THE RIGHT WAY: @a = A.find_by_name("hideto", {:include => {:bs => :cs}}) @list = [] @a.bs.each do |b| b.cs.each do |c| @list ...
2007-10-19

RESTful Dynamic CSS

关键字: Rails Css Dynamic
原文:http://blog.hasmanythrough.com/2007/10/18/simpler-than-dirt-restful-dynamic-css 有时候我们需要根据用户偏好保持css style,然后根据不同用户加载不同的css 跟随着Rails 2.0的步伐,看看实现这个功能是多么简单 1,创建一个show.css.erb p { color: <%= @user.color %> } 2,为UsersController的respond_to添加一个css format选项 def show @user = User.find(par ...
RAID分多种级别 RAID 0表示Striping RAID 1表示Mirroring RAID 01、0+1、0/1表示先RAID 0再RAID 1: D1,D2,D3 = D1,D2,D3 M1=M2 如果M1上的D1坏了则整个M1坏掉 如果M2上的D2也坏了则整个M2坏掉 这样整个数据玩完 RAID 10、1+0、1/0表示先RAID 1再RAID 0: D1=D1 D2=D2 D3=D3 M1=D1,D2,D3 M2=D1,D2,D3 如果M1上的D1和M2上的D2坏了M1和M2不会坏掉 则M1上的D2,D3没坏,M2上的D1,D3没坏 则整个数据还健在
  • 15:42
  • 浏览 (437)
  • 评论 (0)
2007-10-18

Load Balancing

关键字: LB
基于Shared Nothing Architecture做Load Balancing,遵循REST的无状态模型,不用考虑Sticky Sessions 一、DNS Load Balancing DNS Load Balancing是最简单的方式,它将相同域名解析到不同IP 由于TTL和缓存时间,DNS不能实时更新clusters的更改 DNS方式很难自定义配置balance策略 DNS方式对traffic的balance不准确,对特定地域而言DNS会将特定域名一直路由到一个IP上 DNS方式很难搞redundancy和failover 二、用硬件做Load Balancing Alte ...
PHP的发明者Rasmus Lerdorf同时也发明了SNA(shared nothing architecture)的概念 什么意思呢? 对Web Servers做scaling时如果将session等状态保持在各个节点上,这样状态的复制就很成问题,所以SNA告诉你在节点上不要保存状态,session这种东西可以存在数据库或内存缓存中嘛,然后cookie或URL中带一个加密string用来查询session状态就可以完美解决session状态了。 但显然这给数据库增加了压力,但是数据库的scaling能力比Web Servers做session复制要好多了。况且我们在数据库前加一mem ...
2007-10-18

Scaling MySQL

关键字: MySQL Scaling
一、两种scaling方式 1,Vertical partitioning,生成的segments称为partitions 2,Horizontal federation,生成的segments称为shards 二、Storage engines 1,MyISAM IBM开发的ISAM(Indexed Sequential Access Method)的扩展,是MySQL默认的storage engine MyISAM由三个文件组成,.frm文件存储table定义,.MYD文件存储row data,.MYI文件存储索引 MyISAM使用table-level locking,三种lock类型 ...
前两次学习了动态添加和删除project的多个tasks,这次来看看如何编辑project 其他页面不变,但是_task.rhtml改了: <!-- projects/edit.rhtml --> <% form_for :project, :url => project_path(@project), :html => { :method => 'put' } do |f| %> <%= render :partial => 'fields', :locals => { :f => f } %> <p><%= submit_tag "Upda ...
2007-10-11

精通CSS+DIV:用CSS设置页面和浏览器的元素

关键字: 超链接 鼠标 滚动条
一、超链接 1,动态超链接 a:link { color: #005799; text-decoration: none; } a:visited { color: #000000; text-decoration: none; } a:hover { color: #FFFF00; text0decoration: underline; } 2,按钮式超链接 a:link, a:visited { color: #A62020; padding: 4px 10px 4px 10px; background-color ...
2007-10-11

IE下不能disabled掉select标签的option的解决方案

关键字: IE select option disabled
原文:Select, Option, Disabled And The JavaScript Solution 今天在工作中需要用到disabled掉一些select的option,结果发现IE6没有实现它。 还好我们下载select-option-disabled-emulation.js文件即可自动完成disabled标记的工作,代码也很少: /**************************************************************** * Author: Alistair Lattimore * Website: http://www.latt ...
2007-10-10

Google架构学习

关键字: Google
原文:Google Architecture Google是伸缩性的王者。Google一直的目标就是构建高性能高伸缩性的基础组织来支持它们的产品。 平台 Linux 大量语言:Python,Java,C++ 状态 在2006年大约有450,000台廉价服务器 在2005年Google索引了80亿Web页面,现在没有人知道数目 目前在Google有超过200个GFS集群。一个集群可以有1000或者甚至5000台机器。成千上万的机器从运行着5000000000000000字节存储的GFS集群获取数据,集群总的读写吞吐量可以达到每秒40兆字节 目前在Google有6000个MapReduce程 ...
一、控制表格 1,表格中的标记 table: border, summary caption th: scope(row, col) 2,表格的颜色 .datalist { color: #0046a6; background-color: #d2e8ff; font-family: Arial; } .datalist caption { font-size: 18px; font-weight: bold; } .datalist th { color: #003e7e; background-color: #7bb3ff; ...
2007-10-09

Twitter架构学习

关键字: Twitter
原文:Scaling Twitter: Making Twitter 1000 Percent Faster Twitter是目前为止最大的Ruby on Rails应用,几个月间页面点击由0增长到几百万,现在的Twitter比今年月快了10000% 平台 Ruby on Rails Erlang MySQL Mongrel Munin Nagios Google Analytics AWStats Memcached 状态 成千上万的用户,真实数量保密 每秒钟600请求 每秒钟平均200-300个连接,峰值为800个连接 MySQL每秒钟处理2,400个请求 180个Rails实例,使 ...
今天上班不小心上到7楼,发现DoubleClick驻北京办事处就在freewheel楼上的楼上,着实surprise了一把
  • 10:50
  • 浏览 (413)
  • 评论 (0)
2007-10-08

Rails宝典之七十四式:复杂表单Part2

关键字: Rails Complex Form
这次来看看如何使用JavaScript和RJS来动态添加和删除表单域: 继续上次的例子,我们首先要在layout里引入Prototype.js <%= javascript_include_tag :defaults %> 然后是新建project的页面模板: <div id="tasks"> <%= render :partial => 'task', :collection => @project.tasks %> </div> <p><%= add_task_link "Add a task"%></p> 这里ad ...
2007-10-08

YouTube架构学习

关键字: YouTube
原文: YouTube Architecture YouTube发展迅速,每天超过1亿的视频点击量,但只有很少人在维护站点和确保伸缩性。 平台 Apache Python Linux(SuSe) MySQL psyco,一个动态的Python到C的编译器 lighttpd代替Apache做视频查看 状态 支持每天超过1亿的视频点击量 成立于2005年2月 于2006年3月达到每天3千万的视频点击量 于2006年7月达到每天1亿的视频点击量 2个系统管理员,2个伸缩性软件架构师 2个软件开发工程师,2个网络工程师,1个DBA 处理飞速增长的流量 while (true) { ...
2007-10-04

Rails 2.0 Preview Release

关键字: Rails 2.0
原文: http://weblog.rubyonrails.org/2007/9/30/rails-2-0-0-preview-release Action Pack: Resources 1,RESTful风格改进: /people/1;edit将变成/people/1/edit 2,添加routing名字空间 map.namespace(:admin) do |admin| admin.resources :projects, :collection => { :inventory => :get }, :member => { :duplicate => :po ...
2007-10-03

Rails宝典七十三式:复杂表单Part1

关键字: Rails 复杂 表单
来看一个典型的场景,Project这个Model的new表单,我们需要在创建Project对象时也创建一些Task对象 我们可以使用fields_for这个标签: <!-- new.rhtml --> <% form_for :project, :url => projects_path do |f| %> <p> Name: <%= f.text_field :name %> </p> <% for task in @project.tasks %> <% fields_for "project[task ...
hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论