Ruby:ERB

作りながら学ぶ Ruby入門
作りながら学ぶ Ruby入門
おすすめ平均
starsRubyを初めて勉強する人、あるいはプログラミングを初めて勉強する人向けの書籍。

Amazonで詳しく見る by G-Tools

Ruby入門の続き。ERBがわかった。
WEBrickを使う方法も、だいたい理解できた。
まだ本に載っている、WEBrickを使った蔵書管理アプリの作成まではやっていないのだが、俺はApacheでやりたいのだが。まぁWEBrickわかってるほうがいいのかもしれないし、面倒くさがらずに一通りやっておいたほうがいいのかなぁと思うので、明日以降やってみるか。

ERBの練習。

<%# -*- coding: UTF-8 -*-%>
<% name = "patorash" %>
<html>
<body>
<p>hello, <%= "#{name}" %>
</body>
</html>

Ruby入門の応用編1まで終了

作りながら学ぶ Ruby入門
作りながら学ぶ Ruby入門
おすすめ平均
starsRubyを初めて勉強する人、あるいはプログラミングを初めて勉強する人向けの書籍。

Amazonで詳しく見る by G-Tools

毎日少しずつでもと思って続けている「作りながら学ぶRuby入門」によるRubyの勉強。今日はSQLite3の使用までやった。DBIを使うのには、gemによるインストールを行う必要あり。データベースから値を取得したステートメントオブジェクトに対して、eachメソッドで1行ずつ結果を取得する。さらにその1行をeach_with_nameでカラム名と値に分ける。まあここまでできると、だいたいわかってきたような気がする。

#! ruby -Ku
# -*- coding: UTF8 -*-
require "rubygems"
require "dbi"

# hoge.dbデータベースに接続
dbh = DBI.connect("DBI:SQLite3:hoge.db")

# fugaテーブルからデータを読み込む
sth = dbh.execute("select * from fuga")

# 結果を一行ずつ処理
sth.each do |row|
  # カラム毎に出力
  row.each_with_name do |value, name|
    print "#{name}: #{value.to_s}\n"
  end
  puts "----------"
end

sth.finish # 実行結果の開放
dbh.disconnect

まあこんな感じかな~。なるほどなるほど。
次からWebアプリ編に入る。


Linux:cp -f で上書きできないに対処!

急遽、CentOS上でディレクトリをごっそりと上書きしなければならなくなったのですが、

cp -Rf hoge_bk/* hoge/

って書いたら、上書き確認が出てきた。それを出さないためのオプションがfなんじゃないの?
上書き対象のファイルがあまりにも膨大だったため、ctrl + cでキャンセルして、
なんで強制上書きできないのか調査してみたら、書いてあった。VineのMLだけど。

http://search.luky.org/vine-users.7/msg02407.html

alias cp
alias cp="cp -i" # エイリアスとしてcp="cp -i"になってる

だってさ。iオプションは、上書き確認をするっていうオプションなわけなので、勝手に上書きにならないようにエイリアスで強制確認するようになってたというわけです。
ホームディレクトリにある.bashrcファイルを編集して、cpについているエイリアスをコメントアウトすれば終了です!


Ruby勉強中

作りながら学ぶ Ruby入門
作りながら学ぶ Ruby入門
おすすめ平均
starsRubyを初めて勉強する人、あるいはプログラミングを初めて勉強する人向けの書籍。

Amazonで詳しく見る by G-Tools

Rubyの本は買うだけ買っていたのだけれど、特に作りたいものというのがないせいか、なかなか手をつけられずにいた。WebアプリだとPHPでいいやんっていう頭が働いてしまって、向上心を阻害する。まあ作るもののほうが重要度が高いのであるけれど、今年の目標としてRubyを使えるようになることと決めていたので、『作りながら学ぶRuby入門』を通してRubyでアプリケーションを作る体験をして、Rubyが使えるという自信をつけたい。

先週から進めており、現在ファイルにデータを保存するところまでやった。
ブロックを使うことができるので、なんとなくすっきり書けるような気がする。
しかし関数の定義がdefとか、括弧をあんまり使わないとかは、やっぱり気になる。

まあ慣れの問題なんだろうなぁ。

今月中に一度本を完了させてしまおう!


CentOS: MondoRescueの導入

CentOS5.4でのMondo Resqueのインストール方法を書いとく。

最初に楽をしようと思ってyumでのインストールを試みた。すると、remiやepelのyumリポジトリを入れてると、Mondo Resqueをyumでインストールできる。しかし、バックアップ中にこけた。なので、素直にMondo Rescueのサイトからrpmをダウンロードする。

参考サイトは以下より。
Mondo Rescue 丸ごとバックアップ

ISOファイルを作るので、mkisofsを入れる。
また、高速圧縮で使うlzo, lzopを入れる。
cdrecordを入れて、バックアップメディアに焼けるようにする。
(しかし、自分のはDVD-RWドライブが壊れたので意味なかった。合掌!)
そしてMondo Resqueに必要なファイル群をDLして、一気にインストール!

yum -y install mkisofs cdrecord lzo lzop
wget ftp://ftp.mondorescue.org/rhel/5/afio-2.4.7-1.i386.rpm
wget ftp://ftp.mondorescue.org/rhel/5/buffer-1.19-1.i386.rpm
wget ftp://ftp.mondorescue.org/rhel/5/mindi-2.0.7-1.rhel5.i386.rpm
wget ftp://ftp.mondorescue.org/rhel/5/mindi-busybox-1.7.3-1.rhel5.i386.rpm
wget ftp://ftp.mondorescue.org/rhel/5/mondo-2.2.9-1.rhel5.i386.rpm
rpm -ivh *.rpm

ここまででインストールは完了!

次に、フルバックアップを取る。
バックアップ先ディレクトリを作成。

mkdir /backup
mondoarchive -Oi -L -d /backup -E /backup -s 4700m

オプションの説明は、

  • -O バックアップ
  • -i ISOイメージ
  • -L lzoで圧縮
  • -d バックアップ先ディレクトリ名
  • -E バックアップ除外ディレクトリ名
  • -s ISOファイルの分割サイズ ここでは4700MBを指定

ずっと待ってると、/backupに、バックアップされたisoイメージが作成される。
あとはそれをDVDメディアに焼くだけです。
自分の場合はDVDドライブが死んでたので、バックアップしたのに意味なし!
外付けDVDドライブ買うしかない!!

あとはUSBにもバックアップできるらしいので、
cronでバックアップ運用するのもありでしょう。