- 浏览: 178249 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- rails (25)
- js (15)
- ruby (30)
- webserver (5)
- mysql (13)
- security (5)
- thinking (5)
- common sense (2)
- linux (18)
- android (26)
- web browser (1)
- config and deploy (1)
- mac (5)
- css (2)
- db (8)
- version manager (1)
- editor (1)
- job (1)
- OOA (1)
- php (1)
- apache (2)
- mongrel (1)
- Mongodb (1)
- facebook (1)
- 架构 (1)
- 高并发 (1)
- twitter (1)
- Erlang (1)
- Scala (1)
- Lua (1)
- ubuntu (3)
- cache (1)
- 面试题 (2)
- android layout (2)
- android控件属性 (2)
- java (5)
- customize view (1)
- advanced (2)
- python (2)
- 机器学习 (5)
最新评论
1.require 'cgi'
def self.escape_request_params(args)
pairs = args.strip.split('&')
pairs.map do |pair_txt|
pair = pair_txt.split('=')
"#{pair[0]}=#{CGI.escape(pair[1])}" if pair[1]
end.join('&')
end
CGI.unescape
2.require 'logger'
require "rubygems"
require 'active_record'
log_file = "#{PWD}/../log/database.log"
ActiveRecord::Base.logger = Logger.new(log_file)
ActiveRecord::Base.logger.level = Logger::INFO
if local_machine?
begin
`> #{log_file}`
ActiveRecord::Base.logger.level = Logger::DEBUG
rescue;end
end
3.require 'find'
MODELS_DIR = "#{RAILS_ROOT}/app/models" unless defined?(MODELS_DIR)
Find.find(MODELS_DIR) do |path|
require path if path =~ /\.rb$/
end
4.require 'drb'
类似java的RMI
ServerURL = "druby://61.135.169.125:4000"
class Dispatch
def ask_adwords_us
end
end
dispatch = Dispatch.new
DRb.start_service ServerURL, dispatch
@dispatch_server = DRbObject.new nil, ServerURL
@dispatch_server.ask_adwords_us
5.require 'fileutils'
FileUtils.remove(path)
FileUtils.cp(from,to)
FileUtils.ln(source,path)
FileUtils.rm_f(path)
FileUtils.chmod(path)
FileUtils.mv(from,to)
FileUtils.mkdir_p(path)
FileUtils.touch(path)
6.
require "#{File.dirname(__FILE__)}/../config/initializers/ext"
Dir.glob("#{RAILS_ROOT}/app/models/*").select { |f| File.directory? f }
返回据绝对路径的arr
7.require 'yaml'
test_obj = ["dogs", "cats", "badgers"]
yaml_obj = YAML::dump(test_obj)
ruby_obj = YAML::load(yaml_obj) => ["dogs", "cats", "badgers"]
ruby_obj == test_obj => true
############config.yml##############################
refetch_count: 2
client_server_url: druby://localhost:8777
dispatch_server_url: druby://localhost:8666
adwords: 1
yahoo: 8
google: 12
bing: 15
############config.yml##############################
config_path = '/home/simon/文档/monitor_v3/config/config.yml'
config = YAML::load(File.open(config_path))
返回hash
Signal.trap("TERM")
8.require 'csv'
CSV::Reader.parse(File.open(csv_file_path, "r")) do |line|
c = Card.find_or_create_by_term_and_collection_id(line[0], collection_id)
c.update_attributes(:definition => line[1], :user_id => user_id)
end
9.
require 'md5'
MD5.hexdigest(`uuidgen`.strip!)
#目前不是很安全,碰撞算法能导致冲突
############################################
require 'digest/sha1'
Digest::SHA1.hexdigest(`uuidgen`.strip!)
#目前还比较安全
############################################
require 'openssl'
require 'base64'
KEY = "9706a6217733d43a5f3bf5e42663ba67"
def self.des_encrypt(message)
cipher = OpenSSL::Cipher::Cipher.new("des-cbc")
cipher.encrypt
cipher.key = KEY
text = cipher.update(message)
text << cipher.final
Base64.encode64(text)
end
def self.des_decrypt(message)
_message = Base64.decode64(message)
cipher = OpenSSL::Cipher::Cipher.new("des-cbc")
cipher.decrypt
cipher.key = KEY
text = cipher.update(_message)
text << cipher.final
end
############################################
10.
require 'open-uri'
require 'uri'
11.多线程
Thread synchronization: Mutex or Monitor?
Ruby Mutex is quite advanced, pure OO and even can be mixed into any
object (require "mutex_m.rb") exactly the same way as Ruby Monitor.
So, in terms of their functionality and usage they can do the same
things with the same API. Mutex #synchronize allows for control of
multiple access points the same way as Mutex #synchronize does.
require 'monitor'
monit = Monitor.new
require 'thread'
mutex = Mutex.new
require 'drb'
mutex = Mutex.new
12.
#params['file'] from the form
def upload_file(file)
if !file.original_filename.empty?
@filename = file.original_filename
File.open("#{RAILS_ROOT}/public/images/#{@filename}", "wb") do |f|
f.write(file.read)
end
return @filename
end
end
# params[:file] is Tempfile obj from the page
img = Magick::Image.from_blob(params[:file].read)[0]
img.write("#{filename}")
#r,w,rw,w+,rb,wb
13.
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/core_ext/rexml.rb
/usr/lib/ruby/1.8/rexml /rexml.rb
#require 'rubygems'
#require 'active_support' #重新包装了rexml
require 'rexml/rexml'
require 'rexml/document'
str = <<-EOF
<?xml version='1.0' encoding='UTF-8'?>
<students desc='Class3'>
<student info='not bad'><name>simon</name><birth>1986</birth><score>98</score></student>
<student info='very good'><name>tom</name><birth>1988</birth><score>79</score></student>
<student info='just-so-so'><name>edwa</name><birth>1987</birth><score>95</score></student>
</students>
EOF
REXML::Document.new(str).root.elements.each_with_index do |element, i|
#puts element.methods - "".methods
puts "<<<<<<<<<<#{i+1}<<<<<<<<<<<<<<<<<<"
puts element.attribute("info")
puts "------------------"
puts element.get_elements("name")
puts element.get_text("name").value
puts "------------------"
puts element.get_elements("birth")
puts element.get_text("birth").value
puts "------------------"
puts element.get_elements("score")
puts element.get_text("score").value
puts ">>>>>>>>>#{i+1}>>>>>>>>>>>>>>>>>>"
end
14.parse json
require 'rubygems'
require 'active_support'
1.8.7 :012 > j
=> "[{\"birth\":1986,\"name\":\"tom\",\"score\":90},{\"birth\":1988,\"name\":\"simon\",\"score\":99}]"
_j = ActiveSupport::JSON.decode(j)
=> [{"name"=>"tom", "birth"=>1986, "score"=>90}, {"name"=>"simon", "birth"=>1988, "score"=>99}]
15
require 'net/http'
require 'uri'
HTTP.post_form URI.parse('http://www.example.com/search.cgi'), { "q" => "ruby", "max" => "50" }
str = Net::HTTP.get(URI.parse('http://www.baidu.com'))
res = Net::HTTP.get_response(URI.parse('http://www.example.com/index.html'))
print res.body
16.require 'iconv'
def utf8_to_gbk
encode_convert(self, "GBK", "UTF-8")
end
def gbk_to_utf8
encode_convert(self, "UTF-8", "GBK")
end
def encode_convert(s, to, from)
converter = Iconv.new(to, from)
converter.iconv(s)
end
17
sudo gem install json_pure
require 'rubygems'
require 'json'
require 'pp'
json = File.read('abc.json')
h = JSON.parse(json)
18.
def abc
str = '{"ret":1,"start":"123.122.208.0","end":"123.123.31.255","country":"\u4e2d\u56fd","province":"\u5317\u4eac","city":"\u5317\u4eac","district":"","isp":"\u8054\u901a","type":"","desc":""}"
json = JSON.parse(str)
puts "#{
json
[:city]}" #北京
puts json [:city] # \345\214\227\344\272\254
return json
end
发表评论
-
7点关于RESTful规范的API接口设计的想法
2016-11-28 14:29 974转:https://segmentfault.co ... -
RESTful API 设计指南
2016-11-28 14:17 442转:http://www.ruanyifeng.com/bl ... -
rails笔记
2016-11-28 13:55 675电子商务系统restful API问卷调查系统考试系统文档 ... -
重构臃肿 ActiveRecord 模型的 7 种方式
2016-11-19 16:29 590转:http://ruby-china.org/topics ... -
Rails系统重构:从单一复杂系统到多个小应用集群
2016-11-17 22:32 472转:http://www.infoq.com/cn/arti ... -
FileUtils 基本文件操作
2016-11-14 21:38 1297FileUtils.cd( dir, *options ) ... -
Custom dialog for data-confirm in Rails
2016-10-11 17:24 840Every Rails developers might ... -
常用ruby gem
2016-10-01 12:34 1163常见gems:Devise用于快 ... -
sphinx-0.99 + ultrasphinx
2016-07-27 20:20 498一、Installing Sphinx 1.Extra ... -
rails3 simple captcha
2015-06-03 16:06 661安装: ruby script/plugin insta ... -
测试ruby代码高亮
2015-05-27 16:33 559# encoding: utf-8 require 'd ... -
ror websites
2014-03-04 11:29 595http://railscasts.com/ ht ... -
mutex
2014-03-02 16:31 679http://ruby-doc.org/core-1.9. ... -
Twitter相关
2012-05-22 20:54 697Twitter没有计划放弃ruby on rails,而且早就 ... -
安装RMagick
2012-05-05 02:57 1134download from http://rubygems.o ... -
rails mechanism
2012-03-09 18:13 770PHP/Python/Ruby的运行机制有一个本质区别:P ... -
rails开源项目
2012-01-13 11:48 2328Ruby on Rails 是一个 Web 应用程序框架, ... -
code随记
2012-01-09 11:49 3864添加svn到Netbeans: Netbeans => ... -
识别验证码
2011-11-18 17:20 1128用imagemagick和tesseract-ocr破解简单 ... -
图片处理
2011-11-18 17:17 2504ImageMagick 是一个用于 ...
相关推荐
fxri是用于查看Ruby类库文档的工具,而ri则是Ruby内置的交互式文档系统。RubyGems是Ruby的包管理系统,允许开发者轻松地安装、管理和分享Ruby库。 Ruby UI标签可能是指Ruby在构建用户界面(UI)方面的应用。Ruby...
Ruby中的POP3和SMTP类库是用来处理电子邮件收发的核心工具,它们允许开发者通过编程的方式与邮件服务器进行交互。本文将详细介绍这两个类库的功能和使用方法。 首先,POP3(Post Office Protocol version 3)是一种...
每个gem都包含了一组相关的Ruby类库,有自己的版本号,以便追踪不同版本之间的变化。 2. **依赖管理**:Gem可以声明对其它gem的依赖关系。RubyGems会自动处理这些依赖,确保所有必要的gem都正确安装并更新到兼容的...
#### 五、丰富的类库和第三方库 1. **标准库**:Ruby提供了一套强大的标准库,包含了大量的模块和类,可以用于文件操作、网络编程、字符串处理、正则表达式等。 2. **第三方库**:RubyGems是Ruby社区的主要包管理...
这部分通常是对Ruby内置类库、方法、语法的详细参考,涵盖了标准库的所有模块和类,比如Array、Hash、String等。它提供了每个方法的用法、参数和返回值,是开发者在编写代码时查找特定功能或方法的重要资源。 3. *...
总的来说,这个Java类库为开发者提供了一种简化的方式来处理数据库操作,通过面向对象的接口,结合Java反射技术,实现了类似Ruby on Rails的ActiveRecord模式。这使得开发者可以避免编写大量的SQL代码,而是专注于...
Ruby是一种面向对象的、动态...通过这个中文教程,你将掌握其基本语法,理解面向对象编程的概念,熟悉常用的类库和工具,并能够运用Ruby进行实际的项目开发。无论你是初学者还是有经验的开发者,都能从这个教程中受益。
这对于学习和理解Ruby的语法、类库和方法非常有帮助。 5. **lib**:这个目录是Ruby的核心库和标准库所在的位置。它包含了各种内置模块和类,如`Array`、`String`、`Hash`等,以及一些实用工具,如`irb`(交互式Ruby ...
Ruby IRB(Interactive Ruby)是Ruby语言的标准交互式shell,允许开发者在运行时测试代码、探索类库和调试程序。然而,IRB本身的功能相对基础,对于一些高级的开发需求可能显得不够用。这就是irbtools的出现,它为...
- **强大的类库支持**:Ruby拥有丰富的标准库,支持多种用途,如网络编程、图形界面等。 - **多范式支持**:Ruby支持面向对象编程、函数式编程等多种编程风格。 #### 三、Ruby编程书籍推荐——《Programming Ruby》...
Ruby API Docs是针对Ruby编程语言的一份详尽的官方文档,它为开发者提供了关于Ruby标准库和核心类库的详细信息。这份文档包含了1.8.7和1.9.2两个版本,这两个版本在Ruby的发展历程中具有重要的地位。Ruby API Docs...
Ruby语言的帮助文档是学习和理解其语法、类库、方法和框架的重要资源。 这个"ruby语言帮助文档(简体中文)"包含了Ruby的所有基础知识,从语言特性到高级概念,为初学者和经验丰富的开发者提供了全面的指导。以下是...
- Ruby的设计哲学强调程序员的生产力和代码的可读性,它具有强大的类库支持,并且语法简洁明了。 2. **面向对象编程(OOP)** - Ruby是一种纯面向对象的语言,一切皆对象。 - 类(Class)与实例(Instance)的概念。 ...
这些文档对于学习和理解Ruby语言的语法、类库和最佳实践非常有用。 6. **lib**:这是Ruby的核心库和标准库所在的目录,包含了许多预定义的类和模块,如`Array`, `String`, `File`, `IO`等。开发者可以直接在他们的...
Ruby是一种解释性的、面向对象的脚本语言,它以其简洁、优雅的语法和强大的功能而闻名。...通过阅读“ruby中文文档.chm”,您可以更深入地了解Ruby的语法、类库和最佳实践,提升您的Ruby编程技能。