- 浏览: 76576 次
- 性别:
- 来自: 湖南
最新评论
-
cxh116:
<script>
//<![CDATA[
...
javascript test -
Hooopo:
<script>
var e = e || ...
javascript test -
Hooopo:
var e = e || event;
javascript test -
zj0713001:
LZ明白 if 肿么就不明白unless 话说我刚学的时候 ...
ruby unless的使用 -
cxh116:
genius_45 写道请问:学习Ruby, C 还那么重要吗 ...
Ruby Eigenclass详解
文章列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ask</title>
<meta content="authenticity_to ...
好吧 我蠢 到今天才搞懂这个问题
ruby unless 表达式在条件为false才运行代码块,但其与条件"&& ||"逻辑组合使用一直没有搞懂.到底是false && false才运行unless的代码块,还是 false || false才继续运行.
其实这个问题很简单,只是一直没有想过这一点.unless只管条件是false还是true,至于是不是使用了 && 或 || 操作符,是不管的.
&&逻辑符,还是只有在前面条件为真时,才运行后面的条件
puts 'ok' unless 1 & ...
花了两天的时间,完成多年的愿望,在VBOX虚拟机编译LFS成功.
分享一下小心得
第一次编译,选择最简单的方式,用官方的LIVECD,而不是自己的UBUNTU.这样做的好处,软件都已经下载好了.依赖环境不会有问题.
LIVECD下载地址:
http://www.linuxfromscratch.org/livecd/download.html
6.3英文手册下载地址:
http://www.linuxfromscratch.org/lfs/downloads/6.3/
6.4中文手册下载地址:
http://code.google.com/p/zhdoc-lfs/downloads/lis ...
LINUX的无线驱动不是很好,WINDOWS下的稳定多了
但平常用LINUX惯了,换到WIN下有点满足不了需求.只好在LINUX开一VBOX虚拟机,装XP.再把USB无线网卡分配的XP虚拟机,这样网络好多了
但这时宿主PC LINUX还是无法上网,怎么办
可以通过两种方式
第一种,随便找一可用网络,那怕是用手机开的WIFI热点,共享出来,LINUX连接上去.然后在虚拟机网络配置连接方式选择BRIDGED方式.在XP里设置无线网卡的属性里的连接共享的两个勺都选择,另外一张网卡的地址理论上会自动改为192.168.0.1,如果不是,手动设置为
把linux的ip也设置在1 ...
当网络阻塞时,虽然RUBY的线程是非原生线程,其作用还是在
服务器端
用phpg写了一个小页面,软件是用nginx+fastcgi,spawn-fcgi设置-C 为 20,启动20个进程,这样在多线程测试才有效,不然就是一个php cgi进程上面的队列,必须等第一个请求完成,第二个请求才会处理
php页面代码
<?php
sleep(3);
phpinfo();
?>
rub测试端
require 'open-uri'
s = Time.now
puts s
10.times do
open("http://localhost/i ...
无法接触到服务器,但有些问题需要异常的数据,虽然可以在抛出异常时把数据给手动打印到日记,感觉太麻烦了
记得有看豆瓣的架构时,有提到他们在发生异常时,会把当时的所有变量都打印到日记里,方便调试.
在RUBY中实现这个也不难,稍微有点难的是本地变量的保存
实例变量已经在RAILS已经有现在的实现了
引用http://apidock.com/rails/Object/instance_values
# File activesupport/lib/active_support/core_ext/object/instance_variables.rb, line 12
...
培训学习C已经过了两三年了,当初指针是简单的讲了一下,内存管理讲都没有讲.
几年的工作下来,感觉基础越来越重要,对编程思想理解深度很有帮助.
看<C Primer Plus>,写了一段小代码来验证自己的对指针的理解是否正确
环境: gcc version 4.4.5 (Debian 4.4.5-8)
#include <stdio.h>
void s(int *i, int *j); //交换地址
void s2(int *i, int *j); //修改内存地址指向区块的值
void p(int i,int j); //打印值
void pp(i ...
1 rack middleware中间件:
文件位于app/racks/irack.rb
class Irack
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new env
if request.path_info == '/i/kitty'
[200, {}, ['i kitty']]
else
@app.call(env)
end
end
end
...
经过三个多月的RUBYP实战,重新细读了电子书<Ruby编程语言_涵盖Ruby 1.8和1.9>,终于理解了Eigenclass,也就是我们常说的元类(Metaclass)
目标:证明Kitty类是其Eigenclass的实例
为了文字好解説,先上代码
class Kitty
def hi
puts 'hi kitty'
end
class << self
Object::A = self #获取Kitty的eigenclass类
def foo
end
end
end
cla ...
本文主要参考<The Ruby Way> 74页
字符串在使用sub和gsub方法时,不能使用$1,$2来替换
"abc11abc".gsub(/\w+(\d+)\w+/,"abc#{$1}def")
运行这段代码,你会发现$1为空,如果在IRB中,第二次调用时就不会为空了,因为把上次的结果保存到$1
应该这样写
"abc11abc".gsub(/\w+(\d+)\w+/,"abc\\1def")
替换字符用单引号时,只要一个"\"
"a ...
devise 是rails 登陆认证插件,简单的研究了其登陆时"记住我"功能的实现.
在user有remember_token字段时,直接通过remember_token字段通过cookie的signed方法加密存放.
在没有remember_token字段时,在 lib/devise/models/database_authenticatable.rb|87 col 11 的authenticatable_salt方法可以看出
self.encrypted_password[0,29] if self.encrypted_password
是取密 ...
VIM默认高亮配色与UBUNTU主题颜色不太相配,有时都看不清.
其实不用另外再找颜色主题,只要与UBUNTU终端的配置改一下就行了
编辑 -> 配置文件首选项 -> 颜色 -> 去掉使用系统主题中的颜色并选择内置方案为黑底灰字
基于Ruby Test Unit和Rails ActiveRecord
备忘用的
require 'test/unit'
require 'rubygems'
require 'active_record'
require 'logger'
#建立基本的数据库链接
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "root" ...
一句话总结
defined?是用来判断本地变量是否存在,respond_to?用来判断对象是否能响应指定方法.
事实上defined?功能还是很强大的,它也可以用来判断方法是否存在
参考
http://my4java.itpub.net/post/9983/63056
http://www.ways2u.com/knowledge/?post=25