2011年9月15日木曜日

Ruby 技術者認定試験 Silver に受かった

86点で合格しました。

ギリギリじゃないので
「ククク ... 奴は白銀聖闘士の中でも最弱 ... 」
ってのは免れましたw

試験の内容は、他の方がレポートしている通りで
公式ガイドと同じか、複合問題?のような感じです。
ガイドより少し難しい問題もあります。

時間は50分くらいで終わりました。
30分でひと通り終わって、そのあとに怪しい問題を回答しましたが
怪しいものが全て間違っている気がしますw
プロメトリックの試験は間違いがわからないので、フィードバックが効かないですよね。

Array , String , Hash に関連する問題が多かったです。
メソッドは、select , detect , collect , map あたり。
アルゴリズムを少しだけ考える問題もありました。

少しだけ引っ掛けというか、
a = [1, 2, 3, 4]
a.slice[1, 2]
p a
とか。
sliceが破壊的メソッドじゃないので変更が無いのですよね。


あとあまり使わない、ファイル open 系から出題がありますが、
モードさえわかっていれば大丈夫です。
いちおう、仕事で Ruby と Rails を利用していますが、意外にも使うメソッドなんかは限られているので、この手のやつは苦手でした。
勉強は、2週間前くらいからダラダラと「たのしいRuby第3版」を読みはじめ、
5日前から「Ruby技術者認定試験 公式ガイド」の問題をやりました。
ガイドの練習問題は、100問あり試験2回分の問題なわけですが、3回ずつやりました。

2回目から答えがわかってしまうのですが、意味はちゃんと調べておくと良いですよね。
基本的に、irb を使ってパラメータを変えたりしてやると良いかと思います。

応用情報技術者試験と簿記試験があるから、終わった12月あたりに gold でも受けてみます。

2011年9月14日水曜日

rails アプリで rake を実行するとエラーになる


某アプリを構築するときに、rake コマンドでDBの構築を行いました。
エラーになって構築できません。

# rake db:create:all
rake aborted!
uninitialized constant Rake::DSL
/usr/local/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing_from_s3_library'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rdoc-3.9.4/lib/rdoc/task.rb:37:in `'

rake のバージョンが 0.9.2 になって、文法が変わったようで
以下のメッセージが目印になるようです。

uninitialized constant Rake::DSL

バージョンを確認すると、

# ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

# rake --version
rake, version 0.8.7

エラーになった rake は、0.8.7 でした。
強制的に rake のバージョンを 0.9.2 にアップっぷ。

# gem install rake -v=0.9.2

# rake --version
rake, version 0.9.2

そしたら動きました。
逆もまたしかり。0.8.7 用の文法で 0.9.2 で実行すると動かないようです。

2011年9月10日土曜日

Gem install するときに "no such file to load -- zlib" が発生

ubuntu + rvm 環境に限らないとは思うのですが、
以下のように、gem install すると zlib が無いと怒られます。

nakamura@nakamura2:~$ gem install rails -v=3.0.10
ERROR:  Loading command: install (LoadError)
    no such file to load -- zlib
ERROR:  While executing gem ... (NameError)
    uninitialized constant Gem::Commands::InstallCommand

zlib.h が無いからなのかなと勝手に判断して、
nakamura@nakamura2:~$ sudo apt-get install zlib1g-dev

として、もう1度、
nakamura@nakamura2:~$ gem install rails -v=3.0.10
ERROR:  Loading command: install (LoadError)
    no such file to load -- zlib
ERROR:  While executing gem ... (NameError)
    uninitialized constant Gem::Commands::InstallCommand


おー。だめじゃん。
rvm で ruby 1.9.2 をインストールしたきに zlib が無かったから無視されたんかなということで。

nakamura@nakamura2:~$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
nakamura@nakamura2:~$ which ruby
/home/nakamura/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

nakamura@nakamura2:~$ cd ~/.rvm/src/ruby-1.9.2-p290/ext/zlib/
nakamura@nakamura2:~/.rvm/src/ruby-1.9.2-p290/ext/zlib$ ruby extconf.rb 
nakamura@nakamura2:~/.rvm/src/ruby-1.9.2-p290/ext/zlib$ make ; make install


気を取り直して、えいっや。

nakamura@nakamura2:~$ gem install rails -v=3.0.10
Fetching: activesupport-3.0.10.gem (100%)
...

出来た。


2011年9月2日金曜日

bundle install 時に SSL 関係でエラーになってしまう

bundle install をすると以下のように証明書でエラーになってしまう。
CentOS 5.6 を対象とています。


$ bundle install --path vendor/bundler
Fetching https://github.com/mislav/will_paginate.git
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/mislav/will_paginate.git/info/refs

fatal: HTTP request failed
Git error: command `git clone 'https://github.com/mislav/will_paginate.git' "/opt/xxx/vendor/bundler/ruby/1.9.1/cache/bundler/git/will_paginate-bfaeaccc8af94c369b0e2f1626f08b0c9a3a03f1" --bare --no-hardlinks` in directory /opt/xxx has failed.

あんまりよく無い気がするが以下のコマンドで無視するように設定。
$ git config --global http.sslVerify false

2011/9/12 追記
『2011年5月末以降、github.comにはEV SSL証明書(DigiCert HighAssurance EV CA-1)が使われるようになった。』ということらしく証明書の追加をします。

まず、『DigiCert Trusted Root Authority Certificates』から、『DigiCert High Assurance EV Root CA』をダウンロードします。ダウンロードしたファイル名は『DigiCertHighAssuranceEVRootCA.crt』。これをcurl-ca-bundle.crtに追加します。

# wget -P /tmp https://www.digicert.com/testroot/DigiCertHighAssuranceEVRootCA.crt

# cat /tmp/DigiCertHighAssuranceEVRootCA.crt >> /etc/pki/tls/certs/ca-bundle.crt

証明書の場所はOSやディストリビューションによって違うので、こんな感じで探します。
$ locate libcurl.so
...
$ strings /usr/lib/libcurl.so.3 | grep bundle
/etc/pki/tls/certs/ca-bundle.crt


2011年8月29日月曜日

Mac Ruby の irb 上で日本語が入力出来ない

標準の port でインストールした ruby を含めて
何も設定せずに rvm で mac ruby をインストールしてあると、irb 上で日本語の入力が出来ません。これを解消します。

問題は、readline のようです。
以下のコマンドにより readline を利用するオプションを付けて ruby を再インストールします。

OS が Lion であると、問題は無いようです。
see: http://builder.japan.zdnet.com/os-admin/lion-for-developers11/35005492/3/

$ sudo port selfupdate
$ sudo port install readline
$ rvm package install readline
$ rvm install 1.8.7 --with-readline-dir=$rvm_path/usr
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

$ irb -Ku
ruby-1.8.7 :001 > p "aa"
"aa"
 => nil 
ruby-1.8.7 :002 > p "ああ"
"ああ"
 => nil 

2011年8月27日土曜日

Xperia mini pro (SK17i) を買ってみた(その1)

タイトル通り、Xperia mini pro を買ってみました。



昨年発売された Xperia X10 mini pro の後継にあたる機種で、スライド式のQWERTYキーボードを有しているのが最大の特徴でしょうか。

主なスペックは以下の通りです。
  • Qualcomm MSM8255(1GHz)
  • 512MB メモリ、320MB ROM、2GB microSDHC 付属
  • 3インチのHVGA (480×320px)
  • 500万画素(CMOS)のメインカメラ、30万画素(CMOS)のインカメラ
  • 重さ136g (iPhone 4 と同じくらい)
  • Android 2.3
iPhone 4 の2年縛りが1年以上残っているのと、android 機を所持していなかったので、お試しを考えハイスペック機に手を出さないようにしようというのもありました。

そうすると、IDEOS あたりも候補だったのですが、ソニー好き+キーボードが欲しいという事情でこの機種にしました。 この機種は、国内でも秋葉原の店で扱っていますが、人気のようで完売の場合が多く、1shopmobile.com というネット販売会社から輸入してみることにしました。 この店は微妙に悪い話も聞きすが、職場の後輩が買って問題無かったことや、2ch.net でも問題なく購入できていることから購入に踏み切りました。

本体 USD 269.0 + 送料 USD 25.0 の合計 USD 294.0
(クレジットカードの決済は ¥22,977 、レートは、78.15 でした)

さらに通関料が ¥200、消費税・地方消費税が ¥500 でした。


2011年8月18日 16:08 に注文をして、
その後は、EMS (国際スピード郵便)のトレース情報を。
8/20 と 8/21 が土日で、ちょうど税関のお休みと重なってしまったため、少し遅れてしまった感じです。
状態
発生日
状態 詳細 取扱店名 県名等
郵便番号
8月19日
18:15
引受 APT HONG KONG
8月19日
22:14
国際交換支店から発送 KOWLOON D HONG KONG
8月20日
14:05
国際交換支店に到着 東京国際支店 東京都
138-8799
8月20日
15:15
通関手続中 東京国際支店 東京都
138-8799
8月20日
20:39
通関手続中 東京国際支店 東京都
138-8799
8月23日
14:55
国際交換支店から発送 東京国際支店 東京都
138-8799
8月23日
22:24
通過 さいたま新都心支店 埼玉県
330-9799
8月24日
7:54
到着 鳩ヶ谷支店 埼玉県
334-8799
8月24日 ご不在のため持ち戻り 鳩ヶ谷支店 埼玉県
334-8799
8月25日
21:05
お届け先にお届け済み 鳩ヶ谷支店 埼玉県
334-8799



2011年8月20日土曜日

MySQL のログをローテートする

MySQLのログをローテートします。
CentOS 5.5 を利用しています。

参考:http://dev.mysql.com/doc/refman/5.1/ja/log-file-maintenance.html

Linux環境でオフィシャルの rpm でインストールしていれば、mysql-log-rotate というスクリプトファイルが
インストールされているので、これを利用してみます。
mysqladmin コマンドから flush-logs アクションを実行するのにrootユーザーのパスワードの指定が
必要です。

$ locate mysql-log-rotate
/usr/share/mysql/mysql-log-rotate

logrotated から利用するので /etc/logrotate.d にコピーします。
# cp /usr/share/mysql/mysql-log-rotate /etc/logrotate.d/mysql

ログファイルのパスを設定します。
# vi /etc/logrotate.d/mysql


/var/lib/mysql/mysqld.log {
# create 600 mysql mysql

/var/lib/mysql/mysql.log {
# create 600 mysql mysql

などに変更する。

/root/.my.cnf に mysql-log-rotate アクションを実行するために実行ユーザーとパスワードを設定します。
sudo vi /root/.my.cnf
[mysqladmin]
password = "password"
user= root

パーミッションを変更します。
chmod 600 /root/.my.cnf

2011年8月18日木曜日

nginx のログローテート

nginx に シグナル USR1 を送信するとログファイルを開き直すので、これを利用します。

see: http://wiki.nginx.org/NginxLogRotation

実際には、USR1 を送信するシェルを書いて cron で定期実行させるか、logrotated を利用するかの方法があるかと思います。

今回は、logrotated を利用します。

vi /etc/logrotate.d/nginx


/opt/nginx/logs/access.log {
    daily
    dateext
    rotate 365
    missingok
    ifempty
    sharedscripts
    postrotate
        test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
        /bin/mv /opt/nginx/logs/access.log-`date '+%Y%m%d'` /opt/nginx/logs/access.log.`date '+%Y%m%d' -d '1days ago'`
    endscript
}


2011年8月15日月曜日

Mac OS X に MySQL 5.5 をインストールする

MacOS X に MySQL 5.5 をインストールします。
記事にしなくても良いくらいに簡単。

まずはインストール用ファイルをダウンロードします。
http://dev.mysql.com/downloads/mysql/

32bitもしくは64bit、アーカイブの種類で分かれていますが、
私は、Mac OS X ver. 10.6 (x86, 32-bit), DMG Archive を選びました。

DMGファイル(mysql-5.5.15-osx10.6-x86.dmg)をクリックしてマウントします。
4つのファイルがあります。
mysql-5.5.15-osx10.6-x86.pkg
MySQL.prefPane
MySQLstartupItem.pkg
ReadMe.txt


順番に実行します。
1. 本体のインストール

mysql-5.5.15-osx10.6-x86.pkg
をダブルクリック

2. 自動起動スクリプトのインストール

MySQLstartupItem.pkg
をダブルクリック

3. システム環境設定用ファイルのインストール

MySQL.prefPane
をダブルクリック

ターミナルを起動して設定ファイルをコピーする。
sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

Twitter であるユーザーのフォロワーを追う

Twitter の followers は、フォローした場合はメールで通知されます。
反対にリムーブした場合は、通知されないので、任意のタイミングごとにチェックして
結果を出力する、Ruby スクリプトを作ってみました。

Ruby 1.9.2 p180 で動作確認しています。
SQLite3 を利用しています。
このプログラムによって何らかの問題があっても、私(tmpz84)は責任を持ちません。

twifol.rb をダウンロード

以下のGemを利用しているのでインストールします。
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)
twitter (1.6.0)

インストール方法
$ gem install twitter
$ gem install sqlite3-ruby

情報を保存するファイル(テーブル)を作成します。
以下のコマンドを実行する場所は、ruby スクリプトを設置すると同じディレクトリです。
$ sqlite3 data.db
SQLite version 3.6.14.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE follwers (
...> id INTEGER,
...> name TEXT,
...> created_on TEXT,
...> updated_on TEXT,
...> deleted_on TEXT
...> );
sqlite> .table
follwers

チェックする twitter アカウントを TARGET_ID を vi などで編集してください。
これで実行できます。
$ ruby twifol.rb

2011年8月13日土曜日

CentOS 5.5 から 5.6 へアップデート

CentOS 5.5 から 5.6 へアップデートする方法

リリースノートの通りで、比較的簡単です。
http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.6/Japanese#head-6ece74d57ce0efb64ab9b27d508b9f19be81bd7a

私が実行したコマンドのメモ

# cat /etc/redhat-release
CentOS release 5.5 (Final)

yum clean all
yum update glibc\*
yum update -y yum\* rpm\* pyth\*
yum clean all
yum update -y mkinitrd nash
yum update -y selinux\*
yum update -y
shutdown -r now

# cat /etc/redhat-release
CentOS release 5.6 (Final)

無事に 5.6 にアップデート出来ました。

2011年7月13日水曜日

さくらのレンタルサーバーに Rails 3 をインストールする

さくらのレンタルサーバーに Rails 3 をインストールします。

参考ページ:http://www.masahiko.info/it/archives/000980.html

スタンダードプラン以上ならインストール出来るはずです。
現在の Ruby と gem のバージョンは以下のようになっています。
これらを 1.9.2 p180 に変更し、Rails を導入します。
(shell は、bash を利用しています)

[cisse@www806 ~]$ ruby --version
ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-freebsd7]
[cisse@www806 ~/src]$ gem --version
1.3.7

$HOMEに「src」フォルダを作成。

$ mkdir ~/local
$ mkdir ~/local/src
$ cd ~/local/src

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz
$ tar xzvf ruby-1.9.2-p180.tar.gz

$ cd ruby-1.9.2-p180
$ ./configure --prefix=$HOME/local
$ make
$ make install

RubyとRubyGemなどのパスを設定


$ vi ~/.bashrc

export PATH=$HOME/local/bin:$HOME/usr/local/bin:$PATH
export RUBYLIB=$HOME/local/lib/ruby/site_ruby/1.9.1:$HOME/local/lib/ruby
export GEM_HOME=$HOME/local/lib/ruby/gems

以下のコマンドで環境設定の変更を適用。
source ~/.bashrc

正しく適用されているかを確認する。
[cisse@www806 ~/local/src/ruby-1.9.2-p180]$ ruby --version
ruby 1.9.2p180 (2011-02-18 revision 30909) [i386-freebsd7.1]
[cisse@www806 ~/local/src/ruby-1.9.2-p180]$ gem --version
1.3.7

Rails をインストールする
$ gem install rails

rails がインストールされているかを確認
[cisse@www806 ~/local/lib/ruby/gems/bin]$ rails
-bash: rails: command not found

コマンドが見つからない!
gem list でインストールされているかを確認する。
[cisse@www806 ~]$ gem list -d rails

*** LOCAL GEMS ***

rails (3.0.9)
Author: David Heinemeier Hansson
Rubyforge: http://rubyforge.org/projects/rails
Homepage: http://www.rubyonrails.org
Installed at: /home/cisse/local/lib/ruby/gems

Full-stack web application framework.

/home/cisse/local/lib/ruby/gems にインストールされている。
$ env | grep "^PATH"
PATH=/home/cisse/local/lib/ruby/gem/bin:/home/cisse/local/bin:/home/cisse/usr/local/bin:/home/cisse/local/bin:/home/cisse/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/cisse/bin

よくみると、gem になっていて、s が抜けている。
ということで、~/.bashrc を修正。

export PATH=$HOME/local/lib/ruby/gem/bin:

export PATH=$HOME/local/lib/ruby/gems/bin:

[cisse@www806 ~]$ rails -v
Rails 3.0.9

無事にインストールされました。

2011年7月11日月曜日

DVD を iPhone で見る

入院中は暇なんで、持っているDVDを iPhone で見るための手順。
ちなみに Mac です。

1) Mac The Ripper を使う。

Mac The RIpper で DVD をリッピングします。
リッピングした情報は、win7 でも見れるから便利です。

2) Handbrake を使って変換

Handbreake (http://handbrake.fr/) をダウンロード。

2011年7月10日日曜日

Paralleles 6 に Windows 98 SE をインストールする

Wizardry コレクションをやりたいので、Win98 環境を整えることに。
その作業メモです。

- ちなみに CDROM ブート出来る、Windows 98 SE の CDROM は持っています。

1) 仮想マシンを作成します。ターゲットOSはWin98にしました。
 ハードディスクは、 0.4GB (410MB) 、メモリは256MB としました。
2) 起動フロッピーのイメージをネットで探したところ、http://www.allbootdisks.com/ にあり、そのフロッピーイメージを parallels でマウントして、ブートします。
3) ブートすると、fdisk と format を使ってインストール用ドライブを作成します。
4) CDROMのsetup.exeを実行して、インストールを開始します。
 (1時間くらいかかるかな)

5) インストール後に Parallels Tools をインストールします。
参考:http://download.parallels.com/desktop/v6/docs/en/Parallels_Desktop_Users_Guide/22573.htm

まず、Prallels Tools のインストール媒体(isoイメージ)をマウントします。
場所は、/Library/Parallels/Tools/prl-tools-other.iso

5-1) ディスプレイアダプタ

Win 98 上で、マウントしたCDROMが見えているのを確認します。
スタートメニュー → 設定 → コントロールパネルをクリック。画面をクリック。
設定タブをクリック。
詳細をクリック。
アダプタタブをクリック。


検索場所の指定でマウントしたCDROMのD:¥Drivers¥Video¥Win9x
再起動します。

2011年7月9日土曜日

iPhone の内容を工場出荷状態に戻す

iOS 5 β2 から 4.3 に戻したいんだけど、リストアをクリックしてもエラーが出て戻らないので DFU モードから強制的に 4.3 にします。

1.iPhone を DFU モードでブートする

iPhone の電源を切ります。
PC 側では、iPhone を繋げたままにして、iTunes を起動しておきます。

iPhoneのホームボタンとスリープボタンを同時押し、そのまま10秒待ちます。
10秒経ったらスリープボタンだけを離します。

さらに5秒ぐらい待つと、PC側の iTunes から「iTunesはリカバリーモードのiPhoneを見つけました。iTunesでご利用になる前に、このiPhoneを復元する必要があります。」というメッセージが表示されます。

この時点 iPhone を DFU モードにすることが出来ました。
(ホームボタンは離してもOK)

2.iPhoneを復元する

iTunes には、iPhone が表示されているので、そのメニューから「復元」ボタンを押します。
10分前後で iOS4.3.3にダウングレードした状態になります。

2011年7月4日月曜日

MAC OS X で PostgreSQL 8.4 をインストールする

sudo port install postgresql84
sudo port install postgresql84-server

sudo mkdir -p /opt/local/var/db/postgresql84/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql84/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql84/bin/initdb -E UTF8 --no-locale -D /opt/local/var/db/postgresql84/defaultdb'

#sudo ln -s /opt/local/lib/postgresql84/bin/postgres /opt/local/bin/
#sudo ln -s /opt/local/lib/postgresql84/bin/pg_ctl /opt/local/bin/

sudo su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql84/defaultdb start'

sudo su - postgres
createuser --no-superuser --createdb --no-createrole hogeuser

Mac で RVM を導入する

RVM を導入します。

$ mkdir -p ~/.rvm/src/
$ cd ~/.rvm/src
$ git clone --depth 1 git://github.com/wayneeseguin/rvm.git
$ cd rvm
$ ./install

以下の1行を .bash_profile に追記。
$ vi ~/.bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

RVM で Ruby を導入してみます。

インストールすることが出来るバージョンは以下のコマンドで見ることが出来ます。

$ rvm list known
# MRI Rubies
...
[ruby-]1.8.7[-p334]
[ruby-]1.9.2[-p180]
[ruby-]1.9.2-head
ruby-head

1.9.2 p180 を導入してみます。
rvm install でインストール、rvm use で使いたい ruby をスイッチできます。
システムに標準でインストールされている ruby (macruby)は、system

$ rvm install 1.9.2

MacOS:akifumi:~$ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
MacOS:akifumi:~$ rvm use 1.9.2
Using /Users/akifumi/.rvm/gems/ruby-1.9.2-p180
MacOS:akifumi:~$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

普段使いは、1.9.2 にしたい。
$ rvm use 1.9.2 --default

Windows でRSA公開鍵を作成する方法

WinSCPをインストールする。

puttygen.exe を実行する。

C:\Program Files\WinSCP に WinSCP をインストールしてあれば
C:\Program Files\WinSCP\PuTTY\puttygen.exe に存在する。

Parameters グループは以下の設定であるかを確認(だぶん初期設定状態)
Type of key to generate: SSH-2 RSA
Number of bits in a generated key: を 1024

Actions グループの Generate ボタンを押下する。

Please うんたらと出るので、マウスをグリグリ動かす。

Key グループに生成された公開鍵が表示されるので利用する。
(authorized_keys に追加)

mac os x で公開鍵を作成する方法

ターミナルを開いて、以下のコマンドを入力。

$ ssh-keygen

パスフレーズを聞かれるので、2回入力する。

フォルダ /Users/youaccount/.ssh/ の
「id_rsa」が秘密鍵、「id_rsa.pub」が公開鍵となる。

iPhoneがiTunes,Xcodeで認識しなくなった

タイトル通りなんですが、iPhone を mac に接続しても iTunes や Xcode で認識しなくなりました。
お約束で、iPhone 、mac の双方を再起動。
→ でもダメ

途方にくれているところ、以下のページにズバリな回答。
http://blog.iphone-studio.com/2009/01/iphone_29.html

ようするに iTunes を再インストールすることで、認識しました。
よかった!

さくらのVPSでカスタムインストールしたときのメモ

参考にしたページ:
http://tanaka.sakura.ad.jp/archives/001065.html
http://blog.myfinder.jp/2010/09/vpsssh.html

CentOS 5.5 の 32bit 版をインストールします。
ネットワーク設定で、IPv4 はマニュアル設定で進めて、事前に表示されたIPアドレス、DNS、ゲートウェイIPアドレスを入力します。

リモートコンソールでログインします。
まずは、ユーザーを作成します。wheelにも所属させます。

# useradd youraccount
# passwd youraccount
# usermod -G wheel youraccount

sudo出来るように設定します。
wheelグループの設定の前にコメントがあるのでコメントを削除します。
# visudo

@@@
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
@@@

sshdの設定を行います。ポート番号を10022、rootのログインを禁止、パスワードログインを禁止します。
以下の4項目を変更して、sshdを再起動します。

# vi /etc/ssh/sshd_config
Port 10022
PermitRootLogin no
PasswordAuthentication no
UsePAM no

# /etc/init.d/sshd restart

ログインするユーザの公開鍵を作成します。
事前に作業を行うPCで公開鍵を作成しておきます。
(Mac OS Xで作成する場合はこちら
VPS上で作成した authorized_keys に、作業PCで作成した公開鍵を追記します。

Mac OS Xの場合は、

最後にパーミッションを変更します。

# su - youraccount
$ ssh-keygen -t rsa
$ vi ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

sudo ログを分離する。

# visudo
以下を追記。
@@@
Defaults syslog=local3
@@@

# vi /etc/syslog.conf
以下を追記。
@@@
local3.* /var/log/sudo.log
@@@

syslogを再起動。
# /etc/init.d/syslog restart

cat /var/log/sudo.log
で追記されているかを確認。

logrotate の設定を変更
vi /etc/logrotate.d/syslog
のローテート対象ファイルに /var/log/sudo.log を追加。

ファイアウォールの設定
# /usr/bin/system-config-securitylevel-tui
Securiy Level を Enabled
SELinux を Disable
Customize ボタンを押下すてポートの設定。
Allow incoming: で WWW, Secure WWW にチェックをする。other ports に 10022,3000 を追加。

ソフトのアップデート
$ sudo yum -y update

root宛のメールを転送する。
# sed -i '/^root:/d' /etc/aliases
# echo "root: hogehoge@zzz.xxx" >> /etc/aliases
# newaliases

メールが正しく転送されるかをテスト
# echo test | mail root

いらないサービスをoffにします。
chkconfig acpid off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig isdn off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig messagebus off
chkconfig netfs off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rawdevices off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig yum-updatesd off

認証付き Git リポジトリに clone したときのエラー

CentOS 5.5 Gnome インストール環境で
認証付きのGitリポジトリにcloneしたときに、以下のエラーが出てしまう。

$ git clone https://dokokanogitrepos/passtuki.git
Cloning into passtuki ...

(gnome-ssh-askpass:13543): Gtk-WARNING **: cannot open display:

なんかパスワード入力を求めるときに画面にダイアログを出そうと
しているようなんだけど。ssh でログインしているので、そんなものはありません。

以下のコマンドを実行して、環境変数から削除します。
$ unset SSH_ASKPASS

そうしたら無事にclone出来ましたとさ。

RailsのDBカラムに使えない名前とドラブる名前の一覧

ちゃんとTest~ って乗ってました。

http://wiki.rubyonrails.org/rails/pages/ReservedWords

Test~ って名前を付けたしまった場合の対処はこちらのページに解説が。
http://nov.tdiary.net/20091210.html