
ruby开发
jiedushi
大数据10年左右工作经验,喜欢工作中遇到的问题与解决整理到博客
展开
-
puts,p,print的区别
共同点:都是用来屏幕输出的。不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号);另外如果内容参数中有转义符,输出时将先处理转义再输出p 基本与puts相同,但不会处理参数中的转义符号print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符s = "aaaa\nbb\tbb" p sp "*************转载 2012-12-27 14:07:16 · 1158 阅读 · 0 评论 -
centos 6中安装gitlab方法
GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便原创 2013-04-23 16:58:13 · 17245 阅读 · 5 评论 -
ubuntu 中搭建gitlab方法
1 首先需要使用root用户登录系统,更新与升级系统# run as rootapt-get updateapt-get upgradeapt-get install sudo2 安装编辑器vimsudo apt-get install -y vim3. 安装gitlab 依赖的软件包sudo apt-get install -y build转载 2013-04-10 11:02:00 · 8176 阅读 · 2 评论 -
ruby中in `split': invalid byte sequence in UTF-8 (ArgumentError)解决方法
#encoding=UTF-8require "socket"url="gid=38&sid=1&oldsid=1&user=12848525&roleid=1011730&dept=15&time=1356357372&level=40&ip=10.2.201.16&map_id=210010014&group=\xCE\xDE&sign=a04101ffd9f7fe07cba1b9f38"原创 2013-01-22 11:26:11 · 9365 阅读 · 2 评论 -
ruby 连接字符串
发现如果要把两个字符串连接在一起。如a = “abc”b = a + “de”此时b的值为”abcde”但如果a = nil时,就会抛出未定义“+”的异常,因为此时a为nil。但如果我们改变一下b右边的表达式,将其改为b = “#{a}de”。这时就不会抛出错误了,此时b=> “de”。向字符串末尾追加字符时, 使用 String#concat 或转载 2013-01-21 09:16:57 · 20003 阅读 · 0 评论 -
利用ruby通过thrift接口批量插入hbase
因为工作中使用fluentd采集日志,需要使用ruby通过thrift接口插入数据到hbase中,网上搜索了一下,发现很多都是插入单个数据,没办法只好参考python语言写的批量插入修改了代码,终于搞定。$:.unshift File.expand_path('gen-rb', File.dirname(__FILE__))require 'thrift'require File.原创 2013-01-31 18:05:58 · 2455 阅读 · 0 评论 -
利用zlib,lzo压缩与解压缩字符
zlib压缩解压缩代码require "zlib"include Zliblong_string = ("abcde"*71 + "defghi"*79 + "ghijkl"*113)*371puts long_string.size # 559097#压缩字符串s1 = Deflate.deflate(long_string,6)# Zlib::Deflate.defla原创 2013-01-29 10:42:17 · 4229 阅读 · 0 评论 -
字符串截取和查询操作
也许String对象最重要的操作就是通过[]下标访问操作了,你可以通过这种方式提取字符串内容或者更改字符串内容。在Ruby1.8中字符串被当作一个字节或者8位的字符码数组,你可以通过length或者size方法获得这个数组的长度,你通过在[]设置索引数字来设置或者得到那个位置的值:s = 'hello'; # Ruby 1.8s[0] # 返回值为104,第一个字母'转载 2013-01-09 13:27:27 · 15275 阅读 · 0 评论 -
基本的ruby语法
1.1 变量、常量和类型1) 定义变量变量类型描述示例局部变量(或伪变量)以小写字母或下划线卡头var _var全局变量以$开头$var类变量类中定义,以@@开头@@var转载 2013-01-09 13:26:30 · 885 阅读 · 0 评论 -
fluentd插件hbase修改笔记
工作中需要采集日志到hbase中,fluentd提供了插件fluentd-hbase,地址为https://github.com/Furyu/fluent-plugin-hbase不过插件只支持固定表插入数据,而工作中需求是根据日志中接口名动态创建表,对应接口插入数据,hbase中的timestamp需要使用20120522151215格式,需要对hbase插件进行二次开发,动态表创建插入数据原创 2013-01-09 16:49:23 · 2128 阅读 · 0 评论 -
ruby中数组的常用函数
在程序中定义一个数组在程序中定义一个数组,因为我们在下面说明。fruits = ["apple", "orange", "lemon"]scores = [55, 49, 100, 150, 0]如果你是指使用数组的数组#[]的方法,我们将指定数目的元素的数组作为参数。我单元号是从0开始。在上面的例子中,fruits[0]返回“apple”,scores[3]将返回150。翻译 2013-01-22 11:01:26 · 15089 阅读 · 1 评论 -
解决ruby中文乱码
在文件头加上#encoding=UTF-8,示例:#encoding=UTF-8puts '你好,中国!'#在读取带有中文字符的文本文件时,要读取的文件必须以UTF-8编码保存。File.open('c:\\test.txt') do |file| file.each_line{|line| puts line}end转载http://biyeah.iteye.c转载 2013-01-22 09:54:04 · 5731 阅读 · 0 评论 -
Ruby 如何“反转义”字符串
我们知道Ruby中转义字符串可以用inspect或者dump可以将字符串转义:"\t".dump #=> "\"\\t\"""中文".dump #=> "\"\\u{4e2d}\\u{6587}\""但有时候我们想把已经被转义的字符串反转义回正常的字符串,怎么办?其实方法很简单:def unescape( src ) String.class_ev转载 2012-12-27 14:11:40 · 5800 阅读 · 0 评论 -
如何用ruby获取本机IP
require 'socket' def local_ip orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily UDPSocket.open do |s| s.connect '64.233原创 2013-06-25 13:29:08 · 4066 阅读 · 0 评论