iriya_ufo’s blog

Curiosity was simply the first derivative of knowledge.

Gehirn RS2 で遊んでみた

なんかすごく面白そうなサービスを発見した。
その名も "Gehirn RS2" !

技術者のためのレンタルサーバー、って触れ込みがあるけど五分や十分程度使ったらそれが体感できると思う。

充実したシェル環境!シェルが zsh になってる!しかも設定ファイルもあるし、てか screen 走ってる!
こいつはすごい!

GUIコントロールパネルを覗いたら、WordPressEC-CUBE がクリック一つでインストール出来るようになってる。

他にもいろいろある!ありすぎて素敵!詳しくはリンク先を見て欲しい。ほんとにかゆいところに手が届くサービスばっかり。
セキュリティがしっかりしてるってのは昨今の Web 状況を見渡すに大変嬉しいことだよね。

とりあえず今日はシェルにログインして

$ rs2 install rails

ってやっただけ!

RVM インストールされて ruby 1.9 が入った!
新しいのが使いたいっていう願望が叶う場所だね。

そうだせっかくだしメールの設定もしておこう。
あぁ早く寝ないといけないのに・・・面白いおもちゃを前にしたら寝れないぞ!!

Mac OS X (10.7.5) に Ruby on Rails 環境を構築する

タイトルの通りですが、ぐぐったらすごく詳しいサイトがたくさん引っかかります。

あえて記事にするのは僕の備忘録にしたかっただけです。

このサイトがとても丁寧でわかり易かったので僕もこれに準拠しました。
http://www.oiax.jp/rails/zakkan/rails_3_1_installation_on_macosx.html

サイトとの差異は以下です。

  • zsh を使っているので .zshrc を変更
  • rubyバージョンは 1.9.3-p286 をインストール
  • rails をインストールする際、バージョンを指定しない

SSH接続が切れた後でもバックグラウンドジョブを実行し続ける方法

サーバーSSHでログインしている時に、長い時間のかかるプロセスを起動しちゃうと、ふとSSH接続が切れたりしたらそのプロセスも道連れになって困ります。

また普通にバックグラウンドジョブとして動かしてもだめです。

以下のように nohup シグナル送ってプロセスとして動かし続けてあげたら大丈夫です。

$ nohup command [arg...] &

Ubuntu に mikutter をインストールする

なんか色々はまってしまったので適当にまとめ。

rvm のインストール

# gem install rvm

これはしてはいけない。
した場合は gem uninstall rvm する。

rvm は以下の方法でインストールする。

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

シェル関連の設定

~/.bash_profile に source ~/.profile を追記

.zshrc に以下を追記

## RVM
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

ライブラリのインストール

# rvm requirements

すると各 Ruby で必要なライブラリが表示されるので apt-get などでインストールする。

以下のライブラリに関しては rvm で管理するようにした。

# rvm pkg install openssl
# rvm pkg install --verify-downloads 1 zlib
# rvm pkg install --verify-downloads 1 libxml2
# rvm --skip-autoreconf pkg install readline
# rvm --skip-autoreconf pkg install iconv
# rvm pkg install libyaml

rvm で ruby をインストールする

# rvm install ruby-head -C "--enable-shared=true,--with-opt-dir=$HOME/.rvm/usr"

デフォルトで使う Ruby を選択

# rvm --default use 1.8.7
# rvm --default use 1.9.3

rvm を最新にする

# rvm get head

mikutter で必要となるライブラリをインストールする

# sudo apt-get install libgtk2.0-dev
# gem install gtk2

mikutter を起動する

# ruby mikutter.rb

mikutter を自動起動に登録する

「システムツール」=>「設定」=>「自動起動するアプリケーション」をクリックし、コマンドの箇所に ruby のフルパス mikutter.rb とする。

Ubuntu 12.04 へアップグレード

X61Ubuntu 10.04 を 12.04 へアップグレードしました。

Unity に馴染めなかったので gnome-panel をインストールしてログイン画面で選択して起動。

ところがパネルの削除ができない。
前はパネル上で右クリックすればメニューが出ていたのに出ない!

ぐぐって解決。

Windowsキー + Alt + 右クリックで出現しました。
こんなの分かるか!

参考Webページ
http://linux.ikoinoba.net/index.php?UID=1319469326

外観の変更

外観の設定でみためを変えようと思ったけど壁紙くらいしか変更できない。
今までテーマとしていじってたみため部分は gnome-tweak-tool というものでするようになったらしい。
apt-get でインストールし設定して終了。

IM の変更

Input Method を SCIM-Anthy から ibus-mozc に変えてみた。
まずはインストールから。
$ sudo apt-get install ibus-mozc
自動起動するプログラムで以下を追記。
ibus-daemon -r -d -x
im-switch で SCIM から IBus に変更。
SCIM を apt-get remove で削除。

Ruby 技術者認定試験勉強法

Silver に合格しました。
そんなに難しくありません。趣味で Ruby 書いてる人とかなら数時間過去問演習やれば受かるレベルです。
Ruby 触ったことなくてもちゃんと勉強すれば受かるはずです。

僕が実際にやった勉強法を書いておきます。

基礎知識

まずこのサイトで文法をひと通り習います。
標準モジュールはさっと流す感じで。

Try Ruby という非常に優れた Ruby 学習用 Web サイトです。
Web 上で Ruby が実行できます。
>help とするとレッスンが始まるのでこれを全て終わらせます。
全文英語ですが指示通りにやればいいだけなので簡単です。

模擬試験

模擬試験から似たような問題が実際の試験でも出題されるのでかなり重要です。

上記サイトが模擬試験となっています。どんな感じの問題が出るのか確認しておきます。

Ruby 試験対策用に購入した書籍です。これ一冊で十分でした。

まとめ

模擬試験やりましょう!
組み込みクラスのメソッドを覚えましょう!
合格しましょう!
Gold 対策の勉強を始めましょう!

smartmontools で HDD 診断

smartmontools で HDD の SMART 情報が見られます.
サーバーの HDD の状態を診断するのに便利です.

インストール

FreeBSD なので ports でインストールします.

# cd /usr/ports/sysutils/smartmontools/
# make install clean

設定ファイル編集

/usr/local/etc/smartd.conf.sample を smartd.conf というファイル名でコピーして編集します.
編集内容はサンプルを適宜変更すればいいです.

/etc/rc.conf に追加

smartd というデーモンを走らせるために /etc/rc.conf に以下を追加します.

smartd_enable="YES"

ドライブの状況を診断

以下のコマンドで状態が分かります.かなり詳細なレポートを提示してくれます.
一応シリアルナンバーとデバイスIDは伏せておきました.

# smartctl -a /dev/ada0
smartctl 5.42 2011-10-20 r3458 [FreeBSD 8.2-STABLE amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Green (Adv. Format)
Device Model:     WDC WD20EARS-00MVWB0
Serial Number:    WD-WCAZA*******
LU WWN Device Id: 5 0014ee *********
Firmware Version: 51.0AB51
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Nov  3 04:03:33 2011 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(34260) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 255) minutes.
Conveyance self-test routine
recommended polling time: 	 (   5) minutes.
SCT capabilities: 	       (0x3035)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   253   253   021    Pre-fail  Always       -       1033
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       33
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   094   094   000    Old_age   Always       -       4414
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       31
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       26
193 Load_Cycle_Count        0x0032   178   178   000    Old_age   Always       -       66271
194 Temperature_Celsius     0x0022   120   109   000    Old_age   Always       -       30
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.