A Simple Script for Installing RoR on Ubuntu12.04

This is a usful script,I found it here: Sudobits 博客

rails-installer.sh 链接到github
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
# A simple Script for installing Rails on Ubuntu 12.04 LTS / 12.10
# It will also install the dependencies required as well as the RVM
# Author: Ramesh Jha (ramesh@rameshjha.com),(http://blog.sudobits.com)
# License: MIT 

RUBY_VERSION="1.9.3"
LOG_FILE="$HOME/install.log"

echo "Rails Installer started"

# Installing Dependencies
echo ".......Updating package cache....."
sudo apt-get update >>$LOG_FILE
echo "......Done.........."

echo "..........Installing git.........."
sudo apt-get -y install git >>$LOG_FILE
echo "..........Done...................."

echo "Installing Curl"
sudo apt-get -y install curl >>$LOG_FILE
echo "...........Done..................."


# Install RVM (Ruby Version Manager)
echo ".....Installing RVM.............."
curl -L get.rvm.io | bash -s stable >>$LOG_FILE

# fallback for the above command (in case of certificates errors)
#if ($? !=0)
# then
#  curl -kL get.rvm.io | bash -s stable
#fi  

echo "............DONE.........."
echo "......Loading RVM.........."
source ~/.rvm/scripts/rvm >>$LOG_FILE
echo "...........Done..........."

# Install Additional Dependencies

sudo apt-get -y install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

# Install nodejs from the PPA
sudo apt-add-repository -y ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get -y install nodejs

# Install Latest version of Ruby
echo "........Installing Ruby v $RUBY_VERSION ..."
rvm install $RUBY_VERSION >>$LOG_FILE
echo "==> Done........."

echo "If you want to install another version of ruby e.g 1.8.7"
echo "Then use the command 'rvm install 1.8.7' "

# Select and Set latest version of ruby as the default so that
# You won't have to select each time you start a terminal

echo ".......Setting the default version of Ruby..."
rvm --default use $RUBY_VERSION >>$LOG_FILE
echo "==> Done........."

echo "Now, You are using Ruby $RUBY_VERSION by default"
echo "if you want to change that then use 'rvm --default <ruby_version>' "

# Install Latest version of Rails
echo "..........Installing Rails gem................"
gem install rails >>$LOG_FILE
echo ".........Done"


echo "######################################"
echo "###### Installation Completed ########"
echo "######################################"

echo "if something went wrong then checkout the log file $LOG_FILE"

Octopress Simple Guide

Octopress的搭建过程如下:

1 配置本地Octopress

1
2
3
4
5
git clone git://github.com/imathis/octopress.git davidpan.github.com
cd davidpan.github.com 
gem install bundler 
bundle install 
rake install

2 关联到 GitHub

1
2
3
4
rake setup_github_pages

# 输入git源:git://github.com/duyw/duyw.github.com.git
# 命令执行之后 会生成一个 _deploy 目录,该目录本身也是一个git的仓库
Continue reading →

Markdown使用学习

Markdown简介


  Markdown 是一种轻量级的标记语言,由John Gruber和Aaron Swartz创建,使其成为可读性最大并可再发行的可输入输出的格式。这种语言创建灵感来自于已经存在的带标记的电子邮件文本。Markdown 允许 HTML 语法,所以使用者如果需要可以直接用 HTML来表示是可以的。Markdown最初由Gruber应用在Perl语言中,但现在已经有多种编程语言应用了。它是开源项目,并以BSD-style许可证的许可方式以插件形式或内容管理系统形式发布。

Continue reading →

My First Blog

  这是搭建Octopress后写的第一篇 blog,另外为博客添加了gogle Analytics 和 DISQUS,小小的激动了一下, 哈哈。

  这个博客专门用来分享技术学习笔记,以前写过很多,有的记录在本地,有的分散在各个博客系统,有机会把有用的东西陆续整理过来。

  comme on 加油~!!!

Virtualbox中虚拟硬盘扩容

VirtualBox中虚拟硬盘扩容(vdi或者vmdk文件)扩容:

  今天在使用虚拟机的时候发现分配的硬盘空间不足,需要扩大容量,最简单的办法就是重新创建一个虚拟硬盘,然后挂载到虚拟系统中即可,考虑到虚拟系统的备份迁移等问题,我想直接将vmdk格式的虚拟硬盘扩容,最后操作成功,记录在此。

  其实创建和安装虚拟系统的时候可以将虚拟容量设置的大一些,比如可以设置50G,这50G动态扩大的,虚拟操作系统真正使用了多少,文件在外面系统中就占用多大的空间,这个文件大小最大限度是50G,所以不必担心会浪费的硬盘资源。

  如果你使用的是VMWare,将已有虚拟系统扩容则直接一条命令就可以搞定,方法google便知。

  但是VirtualBox就没那么方便了,因为VirtualBox不能改变已经创建的虚拟硬盘的大小,这一点很不人性化,但总是有办法的,操作的思路是先新建一个容量较大的vdi虚拟硬盘,然后将现有vdi虚拟硬盘的数据复制过去,然后把新建的虚拟硬盘挂载到虚拟系统中将原来的虚拟硬盘删除即可,复制的时候使用VBoxManage的 clonevdi 命令即可。

  需要提醒的是启动虚拟系统后查看硬盘大小并没有改变,需要在虚拟系统中创建分区分配盘符。

  VirtualBox与VMWare创建的虚拟系统都是vmdk格式的, 此外VirtualBox还支持vdi格式,如果你现有虚拟系统是vmdk格式的,那么要转换成vdi,然后将内容复制到新的vdi虚拟硬盘中,我找到两种方法可以实现转换:

Continue reading →

Rails 连接 Oracle

我的环境如下:

ruby 1.8.7

rails 2.3.8 

本机安装 Oracle 11g客户端

另一台电脑安装 Oracle 11g的服务器端

需要用到的gem包:

ruby-oci8

activerecord-oracle-adapter

操作步骤:

activerecord-oracle-adapter插件的使用说明:跳转

1.首先将oracle客户端添加到系统环境变量中。

注意:

* Oracle 的密码不能为纯数字,否则报错。

* 安装好客户端后要确保安装无误,可以访问到服务器。

2.安装需要的gem包

1
2
gem install ruby-oci8-2.0.4-x86-mingw32.gem
gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org

注意:安装好 oci8 后要测试 是否安装正确 方法是打开 irb 输入 require ‘oci8’ 如果不报错说明安装成功。

另外可以用oci8测试 查询:

Ruby代码:
1
2
3
OCI8.new('dyw1','123456','192.168.23.162/orcl').exec('select * from journals') do |r|
  puts r.join(',')
end
Continue reading →

Ruby 图片分类归档小程序

需求简述:

1 处理某个目录下EMS快递单扫描图片,文件名格式:“20100702111538015-EF000000000CS.jpg”。

2 连接SQL Server 数据库,表中已有EMS编号,将匹配的图片移动到指定目录。重复扫描的图片只保留最新一张,其余错误文件移动到指定目录。

3 将匹配正确的图片名称存储到数据库。

4 程序定时执行,并记录日志。

程序代码如下:

Continue reading →

Windows 平台部署rails

  公司一个现有项目是用 ruby 1.8.6 + rails1.2.6 做的,之前的客户服务器都是linux系统,这次客户服务器用的是windows,所以研究了一下部署方案,从网上各方搜集资料,最后配置成功,整理在此:

1. mongrel 安装

由于默认的gem版本为0.9.4,版本太旧了,无法运行gem install mongrel 命令,所以要先升级gem版本,首先下载 rubygem_update ,地址:http://rubyforge.org/frs/download.php/70695/rubygems-update-1.3.7.gem

下载后在cmd下cd到rubygems-update-1.3.7.gem所在的目录

安装命令:gem install rubygems-update-1.3.7.gem

接下来升级gem,命令:update_rubygems

安装完成后 查看gem版本,输入 gem -v 会显示 “1.3.7”,至此,升级成功。

安装mongrel,运行命令:gem install mongrel

安装完成后,在rail项目下运行 ruby script/server 启动时,会使用mongrel而不是webrake。

Continue reading →

MySQL 数据库自动备份脚本

功能及说明:

  1. 利用Linux的计划任务功能实现mysql数据库的定时备份,也可以手动执行 mysql_backup.sh

  2. 备份文件名称按照日期存储

  3. 可以删除旧的备份文件,只保留最近n天的备份数据源。

  4. 备份过程都将记录到日志文件中,便于查看。

  5. 提供三种备份方式,

    • mysqldump:将数据导出为sql文件

    • mysqlhotcopy:参看最后面的介绍

    • tar:先停止mysql服务然后将数据库文件打包

  6. 如果已经做了当天的备份,重复执行不会覆盖原有备份,需要手动删除旧备份才可以重新生成备份文件

Continue reading →

Windows MySQL 服务自动管理脚本

脚本说明:在开发过程中由于经常需要启动或停止MySQL服务,非常麻烦,于是编写了这个简单的批处理脚本,自动判断MySQL服务如果是启动状态则停止该服务,如果未启动,则启动。

脚本名称:mysql server.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
color b0
title 启动/关闭 MySQL服务
tasklist /nh| @findstr /i "mysqld-nt.exe"
set  dyw=%ERRORLEVEL%

if %dyw% == 1 (
  net start mysql
) else (
  net stop mysql
)
ping -n 3 127.0.0.1>nul
exit