rails and ruby
zyhmz
脂肪三尺,非一日之寒;码农功力,非斯须之作
展开
-
rails on ruby,ruby on rails 之代码块(一)
代码块 终于来到代码块的知识,其实这个函数式编程语言中比较晦涩难懂的一部分。其实,我们在举method_missing方法例子的时候已经用过一次块。这里再举一个更直观的例子:blocks/basics_failure.rbdef a_method(a,b) a + yeild(a, b)end a_method(1,2) { |x, y| (x+y)*3 } #=>1...原创 2018-04-30 16:18:05 · 345 阅读 · 0 评论 -
rails on ruby,ruby on rails 之代码块(二)
可调用对象 从底层看,使用代码块分为两步。第一步,将代码打包备用;第二步,调用代码块(比如通过yield语句)执行代码。这种“打包代码,以后调用“的机制并不是代码块的专利。在Ruby中,至少还有其他三种方法可以用来打包代码:使用proc,proc是由块转换来的对象使用lambda,它是proc的变种Proc对象 尽管Ruby中绝大多数的东西都是对象,但是代码块却不是。为什么要重点...原创 2018-06-11 00:29:28 · 238 阅读 · 0 评论 -
使用Google Protocol Bufffers进行通信(Ruby & C)
最近项目中需要用到Google 的 proto buffer作为一种跨平台通信的协议。首先感谢枫 和 未 的博客,让我对这个协议有了一些初步的理解。协议的由来 在后台需要与多种终端如iPhone,Android,Web或者WinPhone之类的不同平台作通信的时候,常常需要使用一种中间的通信协议,并且使用通用数据类型如XML。现在项目中的设备底层是用c语言完成的,我们服务端的语言是ruby,...原创 2018-06-09 16:46:56 · 500 阅读 · 0 评论 -
从底层去认识 ruby 的load,require,gems,bundler,以及rails中的autoloading
在rails中,我一直对require和autoloading感到很疑惑,严重阻塞了我学习的进度,所以我觉得搞清楚这些概念是很有必要的, 在这里翻译一篇国外的博文,并写下自己的一些理解。load 首先来看看rubu中load的用法:puts("foo.rb loaded!")$FOO = 2我们打开irb:> load('/Users/zhang/fo原创 2018-06-24 12:32:49 · 2882 阅读 · 0 评论 -
rails on ruby,ruby on rails 之nginx + puma + mina 部署
这篇博文是部署相关的内容,首先我们先来记录一些比较常识性的知识。 写这篇博文的原因呢,是因为我在查找资料的时候在知乎看到一个帖子:Rails、Nginx、Passenger、bundle,这几者是怎么协作的?我在公司的月报总结里面写到,自己对整个框架的理解还不是很清晰,需要整理成一些可具化的东西,所以开始写这篇博文。先来明确bundle的问题:Bundle是Gem包的依赖管理工具,RubyGe...原创 2018-04-29 17:58:16 · 594 阅读 · 0 评论 -
rails on ruby,ruby on rails 之Action Dispatch
Action Pack 是 Rails 应用的核心,包含三个 Ruby 模块:ActionDispatch、ActionController 和 ActionView。 Action Dispatch 负责把请求分派给控制器,就是我我们平时所说的路由; Action Controller 处理请求,得到响应; Action View 供 Action Controller 使用,用于格式化响应。以...原创 2018-04-28 09:08:43 · 358 阅读 · 0 评论 -
Ruby中的self剖析
这部分其实也是基础知识的一部分,但是这是元编程很重要的一环,所以单独拿出来写一下,希望可以帮助自己的更好理解它的思想和用法。self上下文 Ruby的self有和Java的this已经C++的this指针都有相似之处,但又大不相同。Java的方法都是在实例方法中引用,所以this一般都是指向当前对象的。而 Ruby的代码逐行执行,所以在不同的上下文(context)self就有了不同的含义...原创 2018-05-10 01:16:29 · 4757 阅读 · 0 评论 -
rails on ruby,ruby on rails 之对象模型与方法(二)
类宏 先让我们来看看下面的例子,它来自ruby内核,关于attr_accessor的使用。在Ruby对象中没有属性,如果你你希望有一些像属性的东西,就得定义两个拟态的方法,一个读方法和一个写方法:class_definition/attr.rb:class Myclass def my_attribute=(value) @my_attribute = value en...原创 2018-05-01 13:08:22 · 273 阅读 · 0 评论 -
rails on ruby,ruby on rails 之 Active Record
Active Record是Rails提供的对象关系映射(Object-Relational Mapping,ORM)层,是 Rails 中负责实现应用模型的部分。 一个 ApplicationRecord 子类(例如我们定义的 Order 类)对应一个数据库表。默认情况下,Rails假定模型类对应的表名使用类名的复数形式。如果类名包含多个首字母大写的单词,则表名使用下划线分隔单词。下面提供几个...原创 2018-05-01 12:21:57 · 347 阅读 · 0 评论 -
rails on ruby,ruby on rails 之对象模型与方法(一)
include的使用: 在类定义中,引入模块,使模块中的方法成为类的实例方法extend的使用: 也是在类定义中引入模块,使模块中的方法成为类的类方法命名空间使用小结: 一般来说,在模块定一种定义一个类使得这个类能在自己独立的namespace里。这样你的类就不会因为和其它模块中的类重名而出问题。module Foo class Joy def initia...原创 2018-04-24 00:55:25 · 672 阅读 · 0 评论 -
ruby 中的 forwardable 模块(1)
文章目录forwardable模块def_delegator 方法def_delegators 方法delegate 方法forwardable模块最近在看rack-attack源码的过程中,看到了这个模块。ruby的语法糖实在是太丰富了,各种特性看得人一脸懵逼。幸好各位前辈留下了许多文章去给我们指点迷津,这篇文章对forwardable的描述我觉得很通俗异动,很适合我们对这个模块有一个比较浅...原创 2018-10-07 23:30:10 · 2431 阅读 · 0 评论