自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (5)
  • 收藏
  • 关注

转载 RailsCasts14 Performing Calculations on Models 模型中预置的统计函数

你知道吗?ActiveRecord预制了好多对模型中数据进行统计计算的方法。我们拿Task类为例。类中有一个标明任务优先级的字段priority。打开Rails Console,查看操作的回显,其中SQL语句是方法在后台执行的查询。查询第一个任务的优先级:terminal >> Task.first.priority=>4对应的SQL查询是SQL

2014-08-29 16:36:54 553

翻译 RailsCasts13 Dangers of Model in Session 将model放在session中是危险的

In this episode we’ll show you why it’s a bad idea to store a model in the session.在此结尾ruby class UserController ApplicationController def prepare session[:user] = User.find(:f

2014-08-29 16:30:58 709

转载 RailsCasts12 Refactoring User Name Part 3 重构User name(三)

在上一篇和更前一篇里,我们讨论了与重构、测试有关的话题。截止上一篇结束时,完成了对User类的重构,但是测试用例代码还有些乱。让我们看看如何清理一下。rubyrequire 'test_helper' class UserTest < ActiveSupport::TestCase test "full name without middle initial" do

2014-08-29 15:40:01 585

转载 RailsCasts11 Refactoring User Name Part 2 重构User name(二)

在上一篇我们讨论了重构,并演示了一个通过将代码移动到模型中以达到去除冗余的重构实例。不过这段代码依然还有优化的余地。ruby class User ActiveRecord::Base def full_name name = first_name + ' ' name += "#{middle_initial}. " unless middle_initi

2014-08-29 15:22:51 621

转载 RailsCasts10 Refactoring User Name Part 1 重构User Name(一)

从这一集开始,我们一起探讨一下关于重构的话题。重构是指在不改变软件功能的前提下对代码进行优化,以达到去除冗余代码、提高代码可读性及可维护性的的目的。下面页面是一个用户列表,点击用户名后显示用户资料。需要注意的是,有些用户有中间名(middle name)有些则没有。浏览器中显示的列表页及用户资料页.先看看列表页的代码:ruby Users/h1> ">

2014-08-29 15:07:57 537

转载 RailsCasts9 Filtering Sensitive Logs 过滤敏感日志

这是一个用户注册页面,填入用户名和密码按确认提交。查看后台日志的话,能够发现所有页面提交的参数都是以明文方式保存在日志中的。terminal Processing UsersController#create (for 127.0.0.1 at 2009-01-02 10:13:13) [POST]Parameters: {"user"=>{"name"=>"eifi

2014-08-29 14:45:33 701

转载 RailsCasts8 Layouts and content_for Layouts及content_for

下面分别是全局的布局文件application.rhtml及index Action页面定义:ruby DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Todo List/title>

2014-08-29 14:34:35 581

转载 RailsCasts7 All About Layouts Layout 详谈

这次咱们聊聊页面布局文件。布局文件其实也是一个页面,用来定义一些公共的或者框架的页面结构。普通的页面文件再嵌入到布局文件预留的空间中来形成整个页面的样子。布局文件是可以在各个页面之间公用的公共资源。全局范围布局文件下面的页面列出所有的项目名称ruby 这是一个常规简单的页面:比如说,我们想为这个站点的每一个页面都增加一个页首、图标、导航菜单栏

2014-08-29 14:28:37 565

转载 使用method_missing和respond_to?创建自己的动态方法

method_missing是Ruby元编程(metaprogramming)常用的手法。基本思想是通过实现调用不存在的方法,以便进行回调。典型的例子是:ActiveRecord的动态查找(dynamic finder)。例如:我们有email属性那么就可以调用User.find_by_email('joe@example.com'),虽然, ActiveRecord::Base并没有一个叫做fi

2014-08-29 14:16:26 1022

转载 最有用的eval族方法:class_eval

从本质上讲,class_eval(也就是module_eval)可进入类定义体中:1 c=Class.new2 c.class_eval do3    def some_method4        puts "created in class_eval"5    end6 end7 C.new.some_method   => "created in clas

2014-08-29 14:08:00 871

转载 MySQL索引类型一览 让MySQL高效运行起来

索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插入了

2014-08-29 11:02:54 595

转载 RailsCasts6 Shortcut Blocks with Symbol to_proc 将Symbol 转化为to_proc来简化block

下面代码find方法中这种看起来奇怪的语法,一个&符号后面跟着一个名字,叫做to_proc。是Rails对Ruby的一点功能扩充。rubyclass Project ActiveRecord::Base has_many :tasks def self.all_names find(:all).collect(&:name) endend

2014-08-27 20:15:21 538

转载 RailsCasts5 Using with_scope 使用with_scope

这次,我们讨论一下with_scope方法。下面的Task中定义了一个返回所有未完成任务的类方法find_incomplete。rubyclass Task ActiveRecord::Base belongs_to :project def self.find_incomplete find_all_by_complete(false, :order =

2014-08-27 20:02:07 580

转载 RailsCasts4 Move Find into Model 将find转移至model中

这个例子是对Task调用find命令进行查询操作,查询所有未完成的任务并按照创建时间降序排列。如下所示:rubyclass TaskController ApplicationController def index @tasks = Task.find_all_by_complete(:false, :order => "created_at DESC")

2014-08-27 19:17:50 723

转载 RailsCasts 3 Find Through Association 通过级联查找

这个例子中我们有一个Project类,其中通过has_many方法定义包含多个Task:rubyclass Project ActiveRecord::Base has_many :tasksend在Task任务类中通过belongs_to定义它属于一个Project:rubyclass Task ActiveRecord:

2014-08-27 19:06:28 653

转载 RailsCasts 2

下面给大家演示一个在Rails中更加优雅地使用find方法进行数据查询的方式。例子中Task类有一个属性complete表明任务是否已经完成(complete字段是false意味着未完成),incomplete和last_incomplete方法分别用来返回所有未完成的和最后一个未完成的任务。rubyclass TaskController ApplicationContr

2014-08-27 16:33:12 555

转载 RailsCasts 1

1、rubyclass ApplicationController ActionController::Base def current_user User.find(session[:user_id]) endend这是一个在Action中的场景,上面的代码调用User的find方法传入会话中的user_id从数据库中读取当前登陆的用

2014-08-27 16:27:25 602

转载 git 版本回退

现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下:Git is a distributed version control system.Git is free software distributed under the GPL.然后尝试提交:$ git add readme.txt$ git commit -m "ap

2014-08-26 18:37:26 18633 2

转载 git 文件添加、变更的提交

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:Git is a distributed version control system.Git is free software.现在,运行git status命令看看结果:$ git status# On branch master# Ch

2014-08-26 18:21:15 40445 1

转载 rvm is not a function的解决方法

今天在使用rvm 1.9.3 --default设置默认的ruby的命令时出现RVM is not a function, selecting rubies with 'rvm use ...' will not work.      查看官方的使用帮助之后发现是缺少了加载rvm的命令加执行rvm命令之前使用如下命令$ source ~/.rvm/scripts/r

2014-08-26 12:03:41 6689 2

转载 ubuntu12.4 安装最新mongodb数据库

ubuntu 安装 mongodb 数据库第一步:下载安装包下载版本:2.4.3下载链接: http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.3.tgz首先在linux中解压缩安装程序通过命令操作:解压:[root@localhost soft]# tar -zxvf mongodb-linux-x86_6

2014-08-26 00:08:50 762

转载 rubymine 6.3.3 序列号

name: rubymine ===== LICENSE BEGIN ===== 70414-12042010   00002VG0BeoZbwmNAMNCx5E882rBEM   Ysn1P!e"s830EDlHcWg8gmqYVkvZMo   Injf4yqlO1yy"82NiwNzyYInoT7AiX

2014-08-25 23:29:27 6260 1

转载 ubuntu12.04 rubymine 配置

1.设置 ruby sdk:FIle --> Settings -->Ruby SDK and Gems点击  按钮"Add SDK.." 导入 ruby安装目录,如果出现红色圈圈的gems列表,则表示成功注:查看ruby安装目录命令: which ruby 2.设置快捷键:FIle --> Settings --> Keymap可以通过红色圈住的地方设置喜

2014-08-25 23:25:40 3243

转载 linux下 安装 java tar包

总的原则:将jdk-7u10-linux-x64.tar.gz压缩包解压至/usr/lib/jdk,设置jdk环境变量并将其修改为系统默认的jdk1.将jdk-7u5-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有jdk文件夹,则创建该文件夹,命令:    sudo mkdirjdk  //创建文件夹jdk    sudo cp -r

2014-08-25 21:59:07 2142

转载 rvm安装rails与nginx

rvm安装可参考 https://rvm.io/ 具体页面 https://rvm.io/rvm/install/1、安装rvmRuby代码  fz@fz:~$ curl -L https://get.rvm.io | bash -s stable  以上为安装release版本,安装development版本可Ruby代码  f

2014-08-23 14:48:11 777

转载 nginx 启动、重启、关闭命令

停止操作停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的步骤1:查询nginx主进程号ps -ef | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了。步骤2:发送信号从容停止Nginx:kill -QUIT 主进程号快速停止Nginx:kill -TERM 主进程号强制停止Nginx:p

2014-08-23 14:36:07 27854

转载 rvm 实用指南

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。https://rvm.io/如果你打算学习ruby/rails, rvm是必不可少的工具之一。这里所有的命令都是再用户权限下操作的,任何命令最好都不要用sudo.rvm安装$ curl -L get.rvm.io | bash -s stable$ source ~/.bashrc$ sourc

2014-08-23 12:48:25 680

转载 rails bundle

转自:http://blackanger.blog.51cto.com/140924/355320 Rails3里多了个Bundler工具。它是一个Library管理工具,它提供了好的工具来管理你rails3项目依赖的gems。$> bundle这个命令会列出bundler提供给你的一些工具。Tasks:  bundle check        # Checks if t

2014-08-23 12:42:35 636

转载 rubygem 国内镜像 解决gem install rails 连接超时的问题

为什么有这个?由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或bundle install 的时候半天没有响应,具体可以用 gem install rails -V 来查看执行过程。这是一个完整 rubygems.org 镜像,你可以用此代替官方版本

2014-08-23 11:50:19 9871 1

转载 Install Ruby on Rails on Ubuntu 12.04 LTS

1:Update package repository.1 sudo apt-get update2:Install git and Curl.    Git:是一个简单,快速,高效的版本控制系统。(对于安装ruby on rails 环境没有关系,只是为了在以后的开发过程中进行版本控制的时候使用。)    Curl:是一个根据web协议获取文件的简单命令行工具。   

2014-08-22 19:37:53 657

转载 rvm

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。https://rvm.io/如果你打算学习ruby/rails, rvm是必不可少的工具之一。这里所有的命令都是再用户权限下操作的,任何命令最好都不要用sudo.rvm安装$ curl -L get.rvm.io | bash -s stable$ source ~/.bashrc

2014-08-20 17:55:10 598

转载 coalesce 返回多个值中的非空值

COALESCE (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。目录1基本信息▪ 语法 ▪ 参数 ▪ 返回类型 ▪ 作用 ▪ 注释 2

2014-08-20 10:36:19 3000

转载 set nocount on作用

set nocount on的疑问 set nocount on作用 set nocount on什么意思MSDN解释:阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。Stops the message that shows the count of the number of rows affected by a Transact-SQL st

2014-08-20 10:31:32 708

原创 Ubuntu 上编译部署LAMP

httpd-2.2.27mysql-5.6.10php-5.4.311、安装一些需要的包sudo apt-get install gcc g++ cpp libncurses5-dev make libssl-dev sysv-rc-confsudo apt-get install bison libbz2-dev libcurl3-openssl-dev libj

2014-08-14 22:53:17 589

转载 Eclipse for php + Xdebug搭建PHP的调试环境

第一步:到Eclipse的官网去下载PHP-Eclipse:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliossr1第二步:下载Xdebug (下载地址位于:http://xdebug.org/download.php,我的PHP版本为 PHP 5.3.28 Thread Safety, Apa

2014-08-14 18:14:39 848

转载 eclipse+php插件+Xdebug搭建php调试环境

1、安装eclipse(需要jdk环境)     解压

2014-08-14 18:13:30 2914

转载 Eclipse开发PHP环境配置

转自:http://www.cnblogs.com/sayo/archive/2008/09/10/1288366.html首先准备好软件:1. Apache,到这里找个最新版本2. PHP,到这里下载3. Eclipse IDE for Java EE Developers,到这里下载4. DLTK Core Frameworks 1.0 Inte

2014-08-14 18:01:14 587

转载 浏览器缓存详解:expires,cache-control,last-modified,etag详细说明

最近在对CDN进行优化,对浏览器缓存深入研究了一下,记录一下,方便后来者画了一个草图:每个状态的详细说明如下:1、Last-Modified在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记(HttpReponse Header)此文件在服务期端最后被

2014-08-13 14:58:52 681

转载 分布式系统开发里必须要解决的3个技术问题

以前跟开发提过很多次,今天又有人出错了,看样子不经常提不行这里记录一下,看到的开发人员都注意一下:这3个问题经常出现,不解决的话,一定会造成经济损失的1、同一个请求被发送了多次可能出现的地方:(1)和别人接口对接,别人同一份数据发送了多次                                (2)用户在“提交”按钮里点击了多次       

2014-08-13 14:55:46 2768

转载 浏览器三种刷新方式所采取的缓存机制

众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进行,其原因很有可能是由于你的不同刷新方式导致。对于大多数浏览器而言,有三种刷新方式:F5Ctrl+F5“转至”或地址栏里回车而这三种刷新方式会导致浏览器采取不同的缓存机制:F5:不允许浏览器直接使用本地缓存,因此Last-Modif

2014-08-13 13:02:44 1819

UFormat(U盘制作工具)绿色免费中文版

UFormat(U盘制作工具)绿色免费中文版

2015-07-17

低版本的 libmysql.dll

低版本的libmysql.dll,解决rails连接问题

2013-08-15

Mysql Server 5.1

用于构建window + ruby + rails + netbeans + mongrel框架

2013-07-19

easyeclipse-php-1.2.2.2汉化包

easyeclipse-php-1.2.2.2汉化包

2013-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除