- 浏览: 199243 次
- 性别:
- 来自: 北京
最新评论
-
ray_linn:
eval的速度也是慢得可以
Rails每周一题(十六): Evaluation in Ruby -
orcl_zhang:
>> Thing.my_class_eval do ...
Rails每周一题(十六): Evaluation in Ruby -
andyhu1007:
robbin 写道何况多进程rails都是每进程hold一个持 ...
线程安全的Rails -
robbin:
ruby本地的lib不是线程安全的,你多线程rails读取本地 ...
线程安全的Rails -
andyhu1007:
刚帮同事trouble shoot了一个问题:def upda ...
ActiveRecord的ORM问题域 Q&A
文章列表
为了参加HTML5大赛所编写的一个HTML5应用:Footprint
。
Footprint的实现让我有机会体验了HTML5的一些特性,比如Geo Location,Local DB,File API等,另外,对node.js也进行了尝试,实现了一个简单(还不完整)的WebServer。
更重要的,是在JavaScript实践上尝试和印证了一些想法,比如ActiveRecord的JS实现,引入Custom Data Attributes之后对数据流的重新定向等等。
但这次作业的教训也很深刻,作为一个技术人员,在产品设计和UI设计上缺乏太多的常识和感觉。最 ...
Scala语言有很多优点,比如简洁、强大的表现力等等。但我最关注的,是它在并发编程方面的优势。
Scala通过强调对象的不变性
以及使用基于事件的模型进行线程间通信
使得实现并发应用变得简单。
不变对象
并发编程之所以这么困难,很大一个原因在于对象的可变性。要在充斥着大量可变对象的程序里面实现安全并发,需要非常繁琐以及复杂易错的同步操作来保证状态更新的同步。
比如下面这段代码(java的例子),可能你会认为它已经是线程安全的了,因为所有的方法都已经被同步。
class Account {
private int balance; ...
Ext JS
原先是YUI的一个扩展,如今独立发展成一个关注表现和行为的JS框架。
Ext JS的主要特点是组件化,Web客户端的常见显示和行为,数据的处理以及服务器端的通信都通过组件的方式进行包装。比如表单、toolbar、下拉框、viewport以及tree等页面常见表现和行为,JSON和XML等数据类型的处理以及AJAX等行为的封装,都有相应的专门组件。
这种处理方式的目的是对“数据”和“表现行为”进行隔离,让程序员摆脱HTML,CSS和JavaScript,而只需要关注跟强大的Ext JS组件接口的交互。但接口的学习和熟悉其实也需要一定的成本。
这种方式带来了一 ...
最近在一个Flex遗留系统上工作,Flex部分承担的主要是用户注册的业务。
用户注册需要多个步骤,比如填写完基本信息,通过验证之后,来到联系信息填写表单,等等。步骤之间的切换通过改变当前页面的state来实现:State控 ...
今天把《Flex 3权威指南》
快速读了一下,总结一下。
Web技术集的复制
可以说,Flex中的所有技术都是Web技术集的一次复制。如下表
Web技术
Flex技术
通信
HTTP
AMF -- 一种在Flash和服务端之间交换数据的二进制格式,在服务端往往需要特定的adapter来解析数据。(Flex也可以通过Http Service和Web Service跟服务器端通信)。以上所有(包括AMF)的都是基于HTTP的协议,此外Flex还可以通过其它一些协议跟服务器通信。
标记语言
HTML
MXML -- ...
1. UJS怎么得到IE支持?
因为data attribute刚好可以在IE使用,但这决不是说IE支持HTML5。
有人在stackoverflow里面做了解答,具体请移步:http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6
2. header中生成的 csrf_meta_tag 有何用?
刚开始以为是HTML支持的新特性,能在提交的表单中自动加上它。在感叹我竟然落伍这么多的时候,突然一拍脑袋想起来, ...
切尔斯基的ORM问题域
,他提供了Hibernate的解答,现在来看看在ActiveRcord中是如何解决的。大多数解决方案都大同小异,但有些完全不同。
1. 加载根对象时如何避免加载大半个数据库
同样,“更多的时候,这是一个建模问 ...
Ruby 1.9 带来了Fiber: http://www.infoq.com/news/2007/08/ruby-1-9-fibers
Ruby中的Fiber是一种semi-coroutine,第一次看到这个东西挺难理解。
Subroutine VS Coroutine
理解semi-coroutine之前先来了解下什么是coroutine,子程序(subroutine)很容 ...
Thread Safe Rails? 关于线程安全的Rails,请大家慎重采用,具体看这篇文章:http://m.onkey.org/thread-safety-for-your-rails。
上一个项目我们怀着战战兢兢的心情开启了多线程,结果是出乎意料得好。开启多线程后没遇到什么困难,可能会遇到的问题有两点:
1. 去掉class variable (当然,基本上你不应该使用类变量)
2. 另外一件事情,就是在multiple threads下面Rails需要eager load libs。请移步:http://gigix.thoughtworkers.org/20 ...
Along with the popularity of RIA and the arrival of HTML5 in near
future, JavaScript is more and more important.
Are you an eligible JavaScript programmer? Please check the
following list.
Core JavaScript
Is JavaScript an object-oriented language or object-based language?
Why?
What do ...
在敏捷社区里面,更专业的词汇叫做“货物崇拜敏捷
”。它用来形容一个团队做着敏捷的动作,却没有敏捷的精髓。这样的情况,可能发生在一个入门团队;也可能发生在一个变质的团队。
我们仍旧重复着那些规定动作:每天的站立会议,每个迭代的回顾会议,结对,等等。但突然我们发现,对于别人在做什么我们越来越不了解,对于大多数代码越来越陌生,刚刚完成的功能屡屡被不明所以的其他人破坏,团队整体的协调屡屡出现问题。
是的,我们仍旧“实践”着那些动作,但它们变成了假动作。
比如站立会议,团队大多数人都把它当成一个形式,没有人认真听别人所讲;比如回顾会 ...
从技术角度来讲,Akamai跟一般的Host服务没有太多区别。不同的是,它在全球各处散布服务器,帮你在离你用户最近的地方建立cache。换种思路,就能赚大钱。
从wikipedia
上得到的数字:
Revenue
▲
$790.92 Million USD
(2008)
Net income
▲
$145.14 Million USD
(2008)
这篇文章讲述的是我们在一个Rails on Jruby系统的性能优化之路上披荆斩棘的故事。
优化之前
在开始性能优化之前,有几点必须明确:
1. 性能优化的对象:并不是所有页面都需要优化,而且首先应该选择那些 ...
Rails世界有无数的各种各样的plugin,极大得助力了Rails应用程序的开发。但plugin的形式较为受限,Rails2.3推出engines plugin,旨在让人们更加方便地共享成果。
它做了什么?
The engines plugin enhances Rails' own plugin framework, making it simple to share controllers, helpers,
models, public assets, routes and migrations in plugins.
这就好比,你的R ...
当我们在从零开始搭建Rails程序的时候,你是否想过你在做的某些事情其实是在重复自己?比如,配置同样的数据库,安装同样的gem,创建同样的rake task等等。不仅是你,世界上成千上万的人可能在做同样的事情,比如当他们搭建Facebook application或者Google app的时候,大部分人做的大部分初始工作都是相似的。
Rails最重要的的哲学之一是什么?DRY -- Don't Repeat Yourself!
Rails2.3的template
就是旨在消除这部分重复,已经有蛮多人贡献了各种各样的templates
。
_EOF_
- 2009-12-01 19:08
- 浏览 1314
- 评论(0)