`
jsntghf
  • 浏览: 2533598 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ruby点滴(一)

阅读更多

一、GBK和UTF-8的转换

用GBK而不要用GB2312,因为GBK不仅包含简体中文,还包括繁体中文等,是一个大字符集。

 

# utf8 to gbk
def u2g(ucode)
  begin
    "#{Iconv.conv('gbk','utf-8',ucode)}"
  rescue
     " #{ucode} " #如果转换不成功,则不转换,并在字符串两边加入空格,避免构造出错误的sql字符串。
  end
end

 

在网络上抓取的信息,可使用这个方法转换。

 

二、RUBY DBI 

ruby和sqlserver交互的时候,使用dbi是一个不错的选择。

 

dbi有两个比较重要的方法,一个是execute方法,会返回一个结果集,一个是do方法,do方法不会返回结果集,也不会返回受影响的行数,do方法是提交一个事务,而commit方法可以将之前所有使用do方法提交的事务执行,commit会返回受影响的行数。

 

需要注意的是,如果使用do方法插入一条数据,而没有commit直接disconnect了,将会导致这条数据插入数据库又被删除,因为你这个时候再插入一条新的数据发现,自增长的主键,被空出一个位置来,比如从3一下跳到了5,所以不要忘记commit。

 

三、Net::HTTP

Net::HTTP::new方法可以支持4个参数的重载。


例如:

req = Net::HTTP.new 'sample.com', 80, 'proxy.com', 8080

 

第三个和第四个参数是指定代理服务器
第二个参数指定端口,不写的话默认为80

 

四、执行sql语句的时候 务必替换特殊字符

name = "lee's book"
sql = "select * from books where name = #{name.gsub("'", "''")}"

 

五、节约临时对象的编写

groups = posts.group_by {|post| post.author_id}

 

替换成:

groups = posts.group_by {&:author_id}

 

分享到:
评论
1 楼 icefishc 2009-12-10  
引用

二、RUBY DBI
ruby和sqlserver交互的时候,使用dbi是一个不错的选择。

dbi有两个比较重要的方法,一个是execute方法,会返回一个结果集,一个是do方法,do方法不会返回结果集,也不会返回受影响的行数,do方法是提交一个事务,而commit方法可以将之前所有使用do方法提交的事务执行,commit会返回受影响的行数。

需要注意的是,如果使用do方法插入一条数据,而没有commit直接disconnect了,将会导致这条数据插入数据库又被删除,因为你这个时候再插入一条新的数据发现,自增长的主键,被空出一个位置来,比如从3一下跳到了5,所以不要忘记commit。

1. do之后事务有没有提交取决于你是不是用的auto commit 模式
2. commit == 提交。  do之后sql就被执行了。
引用

四、执行sql语句的时候 务必替换特殊字符

用placeholder省心省力

相关推荐

    【工作点滴】用VS 2010 编译 Ruby 1.9.1

    标题中的“【工作点滴】用VS 2010 编译 Ruby 1.9.1”表明了本文将探讨如何使用Visual Studio 2010这个集成开发环境(IDE)来编译Ruby 1.9.1版本的源代码。Ruby是一种动态、面向对象的编程语言,而1.9.1是它的一个...

    Ruby入门点滴-Ruby的安装

    Ruby的安装可以去Ruby的官方网站下载Ruby1.56的Windows安装包,安装安毕后,打开Dos窗口,输入ruby -v显示 ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] 的话就说明Ruby已经安装成功,版本号为Ruby...

    Ruby初学笔记之Hello World

    安装了个Ruby193,写了第一个Ruby程序,来记录下自己学习点滴。 首先在Ruby的新建个文件夹Sample,再新添加个文件,名字HelloWorld.rb 内容就是: 代码如下: puts “Hello,World!”  当然也可以先声明变量,如后再...

    easy_journal_app:使用Ruby on Rails制作的应用程序

    "简易日记"应用程序是使用Ruby on Rails框架开发的一款个人日志记录工具,旨在提供一个简单易用的平台,让用户能够方便地记录生活点滴、想法感悟或者工作笔记。Ruby on Rails,简称Rails,是一款基于Ruby语言的开源...

    photo_journal:一个允许用户创建自己的照片日记时间流逝的网络应用程序

    photo_journal应用基于Ruby on Rails框架构建,Rails是Ruby的一个全栈框架,它遵循MVC(Model-View-Controller)架构模式,让开发者能快速构建功能完善的Web应用。Rails提供了许多内置功能,如RESTful路由、自动化的...

    randomprojects:这将是我成为一名自学成才的程序员过程中所做的随机项目的存储库

    "randomprojects"这个存储库恰好为学习者提供了一个平台,来实践和展示他们在编程旅程中的点滴进步。在这个项目中,我们可以看到作者通过创建一系列的随机项目来深化对编程语言的理解,特别是对Ruby的运用。 Ruby是...

    MemolPages:https:memolde.github.io

    这个项目使用了开源技术,特别是Ruby编程语言,为用户提供了一个便捷的方式来记录、整理和检索个人知识。它允许用户创建、编辑和分享他们的笔记,将学习过程中的点滴知识结构化,形成个人的知识库。 **Ruby语言基础...

    博客

    博客是一种在线出版平台,让用户可以分享个人见解、专业知识或日常生活中的点滴。在互联网上,博客已经成为传播信息、表达观点和建立个人品牌的重要工具。本文将深入探讨与Ruby相关的博客技术。 Ruby是一种面向对象...

    mindful_journal

    "mindful_journal"项目正是为了帮助我们实现这一目标,它是一个基于Ruby编程语言构建的日记应用程序,让我们可以记录生活中的点滴,通过反思和冥想来提升自我意识和生活质量。 首先,Ruby是一种面向对象的、简洁且...

    网站:个人网站,使用Jekyll进行爱意打造

    **标题解析:** “网站:个人网站,使用Jekyll进行爱意打造”这一标题表明了我们正在讨论一个基于Jekyll构建的个人网站项目。...无论是对编程感兴趣,还是希望通过技术分享生活点滴,Jekyll都是一个理想的选择。

    honker小风-情侣博客开源

    【标题】"honker小风-情侣博客开源"是一个针对情侣设计的开源博客系统,旨在让两个人能够共同创建和管理一个共享的网络空间,记录他们的生活点滴、情感交流和共同成长的历程。这个系统可能包含了丰富的功能,如文章...

    gute-Idee:一个网络应用程序,可捕捉您的才华横溢(它们总是在最奇怪的时期出现)。 组织他们,激发他人灵感,然后完成他们

    总的来说,Gute-Idee是一个实用的创意管理工具,旨在帮助用户捕获生活中的点滴灵感,激发创造力,促进个人和团队的创新。通过有效组织和分享想法,我们可以更好地利用这些思维火花,实现从概念到实际成果的转变。

    Blog-not-a-blog:创建和共享收藏集:撰写博客笔记,共享素描笔记或照片链接到文章

    Ruby是一种动态、面向对象的编程语言,其简洁的语法和强大的库支持使得它非常适合用于快速开发和原型设计。在"Blog-not-a-blog"中,SketchRuby可能为用户提供了实时编辑和分享草图的可能,让技术与艺术在这个平台上...

    轻博客网站系统源码

    这类系统通常比传统的博客系统更加轻量级,强调用户体验和互动性,适合那些希望分享生活点滴、想法或者创意的用户。在描述中提到的“谢谢csdn平台”,可能意味着该源码是在中国程序员社区CSDN上获取或分享的,这是一...

    blog

    博客是个人或团队在线分享知识、经验和...通过以上步骤,你就可以拥有一个完全属于自己的博客,不仅可以分享技术知识,还可以记录生活点滴,提升个人品牌。记得定期更新内容,保持活跃,这样你的博客会吸引更多的读者。

    til:今天我学到了

    “til:今天我学到了”这样的分享可以是任何这些领域的点滴,无论是解决了一个棘手的bug,还是理解了一个复杂的概念,都是IT学习旅程中的宝贵经验。记住,IT知识的海洋广阔无垠,持续学习和分享是成为优秀IT专业人员...

    proyectoviajes

    用户可以创建个人的旅行日记,记录他们的旅程,包括去过的地方、拍摄的照片、感人的故事以及旅行中的点滴。"围绕用户创建的旅行日记创建社交网络"暗示了这个项目不仅提供日记记录功能,还允许用户之间进行交流和分享...

    quesadagranja.github.io:quesadagranja的博客

    Jekyll是一个用Ruby编写的工具,它能够将Markdown或Textile格式的内容转换成静态HTML和CSS,方便部署到GitHub Pages或其他服务器。 【描述】中提到的"由Jekyll"表明该博客采用Jekyll作为后端引擎,负责处理内容的...

    私人博客

    创建一个私人博客,不仅可以记录个人生活点滴,还可以作为专业技能的展示平台,吸引同好交流,提升个人影响力。本篇文章将深入探讨如何构建一个属于自己的私人博客,并涉及相关的技术知识点。 首先,我们需要选择一...

Global site tag (gtag.js) - Google Analytics