`
liano
  • 浏览: 25934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
python的结构体(包括class,function 和class 实例)和javascript的结构体(Object和function)实现有些相似,也有些不同。 python的class对数据和函数的存储都是维绕着__dict__. 对象的属性和方法都存在里面。 而javascript的对象(Object或function)应该有两个hash存储数据,一个是prototype,一个是xxx(现在还不知道叫什么, 存储对象自己的方法和数据)。也是数据和方法混合存储。 对于对象的实例方法的搜索,二者也是差不多。 python中: class Dog():   def spark(self) ...
1.python是弱对象语言, 而ruby是纯对象语言 python可以没有对象运行,但是ruby的根基就是Object。 而且python对于封装的约束比较弱,而ruby相对较强。 比如一个class的实例dog。 python:dog.name = "dogy" 相当于给dog赋予了一个属性 ruby: dog.name = "dogy" 报错,dog没有name属性。 2.继承的实现不同 python的结构就是一个dictionary, 不论是class还是function,只要不是基本数据类型,内部的就够都是key,value形成的字典结构。函数 ...
class Dog   def include_mod # not workable     include Mod   end     def self.include_mod #workable     include Mod   end end module Mod   def shat     puts "shat"   end end dog = Dog.new dog.class.include_mod puts Dog.instance_method :shat dog.include_mod #'include' is a method belongi ...
一个请求来了以后,首先是ActionController。 ActionController是rails的控制中心,它本身是一个module,module 里面有一个base类,所有的controller,包括ApplicationController都继承base。 base的主要职责是,解析请求的参数,执行filter,执行action,最后,也是关键的一步, 调用ActionView.base.new得到一个解析template的对象,由ActionView.base完成template的解析。 在ActionController这个module之中由很多其他相关的module被base ...
*ruby 之间的引用全部是源代码的引用,为了规范类库的管理,gems出现了。 gems是ruby源代码管理工具,代码按照一定的目录结构被组织成一个lib。 比如:rake, rails, rcov都有gem版本。 安装一个rake gem只需要执行 gem install rake. rake 的源代码被下载下来以后被放到了一个特定的位置。也可以下载rake.gem 通过执行 gem install rake.gem来手工安装。 那么如何使用呢? require 'rubygems' require 'rake' 这样就可以了。 前面的文章我说过ruby里的LOAD_PATH, rubyge ...
丰田生产方式和模式。
Scrum 摘要 Scrum 理论是基于一个国外的学科,叫《过程动态学,建模及控制》,什么意思呢?过程控制方法有两种:预定义过程控制和经验性过程控制。预定义过程就是在执行之前先要制定详细的计划,然后严格按照计划执行,这 ...
今天有人问道一个问题: 敏捷和传统的编程方式相比,有什么缺点呢? 大伙来回答一下
这次想谈谈中型规模项目的分工问题。 一个40人规模的项目,需要分成4个团队,CS系统。 这4(A,B,C,D)个团队每个团队负责一个子项目,团队的分工可以有两种, 一种是横向分工,团队A负责domain logic和OR maping,其他的几个团队分别负责自己的上层模块,这样的话,就是B,C,D依赖于project A。 一种是纵向分工,A,B,C,D四个team都有自己的功能模块,每一个模块都包括了domain和view层(假设系统只有domain和view)。 两种分工各有优缺点, 横向分工会造成其他的3个project对domain project的严重依赖,team在开发过程中发生 ...
极限编程中,有一项实践是pair programming, 是说两个dev在一起programming,用一台机器,两个显示器,两套键盘鼠标。在agile中,人们对TDD 和 CI的质疑比较少,基本上还是赞同的。   但是对于pair programming, 却存在很多的质疑,到底 ...
ruby语言的根本就是 Object,Module, Class这三个对象。而且Module,Class本身就是对象。 在任何的Object中,方法和属性是分别存储在不同的hash表里的。 而对于javascript 其根本就是一个hashtable和function。 除了一些基本类型以外(bollean, number, string),其他的东西都是Object, Object就是一个hashtable。 所以, a = {}, 和a = new Object() 是一样的。 Object中的hashtable存放变量和方法。 也就是说, 变量和方法都是存储在Object的同一个hash ...
ruby 中所有的东西都是对象,包括一些基础的Object,Class, Module。 可以把ruby中的类和实例都统一的理解为实例。像Class这样的特殊的实例,因为有new方法,所以可以产 生新的实例。 既然所有的东西都是实例,那对于新实例的产生和新类的产生是如何工作的? instance中的方法和变量分为2部分,一部分叫object 方法,一部分叫instance 方法, 变量也一样。 所以,当用new产生新的实例的时候,mother instance 中的instance methods 被用链接的方式copy到child instance 中, 作为child instance 的 ...
$LOAD_PATH in ruby. $LOAD_PATH in ruby is similar to class_path in java. class_path contains many jar position. every jar has its own structure leading to a java File. $LOAD_PATH contains many ruby lib position. usually, in lib directory, a directory containing different ruby Files can be found. f ...
Global site tag (gtag.js) - Google Analytics