リリースされたらしく。現状クロームのすっきりしたインタフェースが気に入ってはいるが(ブックマークの管理には不満があるけど)、とりあえず入れてみることに。
ダウンロードページを開いてから、インストールの手順を確認するのにちょっと手間取る。以前から思っていたが、mozillaのサイトはどうもナビゲーションが不親切な気がする。直感的にわかりにくいというか。
とりあえずパッケージマネージャ(apt)ではまだ4.0に対応していないようだったので、バイナリからコンパイルする。
で、起動するところまでいったものの、旧バージョンと置き換えているわけではないので設定をかえたりしないとダメっぽい。起動に関してはエイリアスの設定でも何とかなるが、他の設定は今ひとつ分からない。
(うっかり3.6を削除したりいじっていたらブックマークが保存できなかったり(places.sqlite関連のエラー)して面倒だったので他の方法を探すことに。)
よく探してみると、Ubuntuに関してはちゃんとサポートしているページがあったので、そちらを参考に導入を試みた。
詳細はページの案内(Instruction for the impatient -Firefox-stable channel-)を見てもらうことにして、ターミナルを使用した流れだけ以下に載せておく。
※以下のコマンドはUbuntu Lucid(Maverik)10.10以降対応
※ppa = Personal Package Archiveの略。
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
sudo apt-get install firefox
以上。
さて、ブラウザを再起動・・・3.6の古いadd-onの確認ダイアローグが表示後、立ち上がりを確認。
以前より多少すっきりしただろうか?というか英語版。後で日本語パッチを調べよう。
.
...
.....またもやブックマークが読み込めない。
どころか明らかに諸々の設定がおかしい。
リンクの色やオンマウス時の挙動、ぱっと見でいくつかおかしい。
プロファイルマネージャで古いのを削除し、新しく作り直してみたが、ダメだった。
とりあえずgoogle様に伺いを立てて調べているうち、アップデートマネージャの話がでてきたのが気にかかり、試してみることに。ひょっとして3.6のadd-onが使えないことに原因があるのでは。実際、なにやらfirefox関連のアップデートが出てきた。
.
...
.....ビンゴ。
先ほどまでおかしかった部分はすべて解消されており、ブックマークも件のplaces.sqliteを削除して再起動をかけたら、普通にインポートができるようになった。
次は日本語化。
作業に当たってはこちらの方のサイトを参考にした。
これで通常利用には問題がないかな。
後はfirebugとか開発系のadd-onを調べておくか。
2011年3月29日火曜日
2011年3月25日金曜日
Rubyにライブラリを追加する;
Tkを使おうと思ったらrequireできなかったので見たところ、どうも入ってないらしい。
標準ライブラリ=表示添付というわけではないのか。
gemを使用してインストール使用と思ったらエラーがでた。
LoadError => no such file to load -- zlib
NameError => uninitialized constant Gem::Commands::InstallCommand
後者は前者のエラーによって引き起こされているように思える。zlibが入ってないということなのか。
以下、適当にパッケージをいれてみたり。
■インストール順序
aptitude
zlib1g
libgc6-zlib-dev
zlib(公式よりアーカイブをダウンロード)
最後のzlibに関しては、これはライブラリだからなのかwhereisで確認すると、コマンド名というよりファイル名の表示(*.h)がされた。コマンドではないということ?
調べてみると似たような状況のエラーがいくつか見つかった。
とりわけこの方のサイトにある方法はそのまま使えた。
■方法
cd ~/ダウンロード/ruby-1.9.2-p180/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib
> checking for deflateReset() in -lz... yes
> checking for zlib.h... yes
> checking for kind of operating system... Unix
> checking for crc32_combine() in zlib.h... yes
> checking for adler32_combine() in zlib.h... yes
> creating Makefile
make
make install
■別の問題
さて、上記方法でどうやらうまく行ったことは分かったが、肝心のgem installでtkライブラリがどこにもないと怒られた。
標準ライブラリ=表示添付というわけではないのか。
gemを使用してインストール使用と思ったらエラーがでた。
LoadError => no such file to load -- zlib
NameError => uninitialized constant Gem::Commands::InstallCommand
後者は前者のエラーによって引き起こされているように思える。zlibが入ってないということなのか。
以下、適当にパッケージをいれてみたり。
■インストール順序
aptitude
zlib1g
libgc6-zlib-dev
zlib(公式よりアーカイブをダウンロード)
最後のzlibに関しては、これはライブラリだからなのかwhereisで確認すると、コマンド名というよりファイル名の表示(*.h)がされた。コマンドではないということ?
調べてみると似たような状況のエラーがいくつか見つかった。
とりわけこの方のサイトにある方法はそのまま使えた。
■方法
cd ~/ダウンロード/ruby-1.9.2-p180/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib
> checking for deflateReset() in -lz... yes
> checking for zlib.h... yes
> checking for kind of operating system... Unix
> checking for crc32_combine() in zlib.h... yes
> checking for adler32_combine() in zlib.h... yes
> creating Makefile
make
make install
■別の問題
さて、上記方法でどうやらうまく行ったことは分かったが、肝心のgem installでtkライブラリがどこにもないと怒られた。
Ubuntuと動画再生; mplayerインストールだけ。
DVDを借りたついでにLinuxで再生できるか気になったので試してみる。
ディスクを入れてみると、読み込めてはいるみたいだが肝心の再生の段になってエラーがでた。
使用ソフトは「動画プレイヤー」というもの。
さて、見れないならそれはそれでよしとしたい。windowsで再生できればいいので。
とはいえちょっとだけ調べてみる。
出てきたのは"libdvdread4"というキーワード。
ファイル検索をかけてみると、たしかにある。しかもaptitudeによればインストール済みフラグが立っている。
となると別にソフトを用意すれば見れるのかもしれない。
候補には聞いたことのあるものないもの含め4つほどあったが、利用経験のない「mplayer」なるものにしてみる。
configureしてmakeして...(makeが長い)make install。
とりあえずインストールは終わったものの、適当に起動を試みたらコマンドラインオプションがずらり。
このプレーヤー、ひょっとしてCUIで使うのか?
気分ではないので、とりあえずまた次の機会に...
ディスクを入れてみると、読み込めてはいるみたいだが肝心の再生の段になってエラーがでた。
使用ソフトは「動画プレイヤー」というもの。
さて、見れないならそれはそれでよしとしたい。windowsで再生できればいいので。
とはいえちょっとだけ調べてみる。
出てきたのは"libdvdread4"というキーワード。
ファイル検索をかけてみると、たしかにある。しかもaptitudeによればインストール済みフラグが立っている。
となると別にソフトを用意すれば見れるのかもしれない。
候補には聞いたことのあるものないもの含め4つほどあったが、利用経験のない「mplayer」なるものにしてみる。
configureしてmakeして...(makeが長い)make install。
とりあえずインストールは終わったものの、適当に起動を試みたらコマンドラインオプションがずらり。
このプレーヤー、ひょっとしてCUIで使うのか?
気分ではないので、とりあえずまた次の機会に...
Ubuntuのセットアップ
■インストールしたもの
Ruby1.9.2p180
libmysql-ruby1.9.1
MySQL-server 5.1.49
MySQL-Workbench CE 5.2.33
Vim7.2.330 => 7.3にup
※vim-ruby => 機能しない。詳しくは後述。
Emacs23.1
rubyコンフィグファイル
■vim7.3のインストール
Vim7.2用のvim-rubyがなさそう?だったので、プリセットのvim7.2をアンインストールして、7.3を入れ直すことに。
アーカイブをダウンロードし、展開後configureすると、以下のエラーが。
"You need to install a terminal library; for example ncurses."
調べてみると、指示どおりライブラリを入れる必要があるとのこと。
掲示板によるといくつかある候補のどれでも問題がなさそうだったので、apt-getできる次のパッケージにした。
libncurses5-dev
再度configureを実施...今度は通った。
あとはmakeしてmake installして、vim-rubyの設定ファイルを所定のディレクトリにセットして終了。
■vim-rubyのセットアップ
関連ファイルの格納先として、以下のディレクトリを作成。
/usr/local/share/vim/vifiles
設定ファイルは以下を使用。
/etc/vim/vimrc
この設定で前回は問題なかった用に思うが、インデントも色分けも機能していない。何が問題なのだろう。
■emacsのセットアップ
vim-rubyの代わりに使うことを検討。
apt-getでemacs23.1をゲット。
設定用のlispファイルはrubyにバンドルされていたらしく、以下のファイルを所定のディレクトリにコピーする。
/ruby-1.9.2-p180/misc/以下
inf-ruby.el
rdoc-mode.el
ruby-mode.el
ruby-electric.el
ruby-style.el
rubydb2x.el
rubydb3x.el
ruby用lispファイルの保存先
/usr/share/emacs/site-lisp/
/usr/share/emacs/23.1/site-lisp/ =>こちらにはコピーした覚えがないがあった。
設定ファイル(.emacs)の保存先
※元々このファイルが見当たらなかったので困惑したが、自前で作ったもので問題なかった。
/home/user-name/
このファイルに書くべき中身は、Web上で探すこと。中身はよく分からない。
Ruby1.9.2p180
libmysql-ruby1.9.1
MySQL-server 5.1.49
MySQL-Workbench CE 5.2.33
Vim7.2.330 => 7.3にup
※vim-ruby => 機能しない。詳しくは後述。
Emacs23.1
rubyコンフィグファイル
■vim7.3のインストール
Vim7.2用のvim-rubyがなさそう?だったので、プリセットのvim7.2をアンインストールして、7.3を入れ直すことに。
アーカイブをダウンロードし、展開後configureすると、以下のエラーが。
"You need to install a terminal library; for example ncurses."
調べてみると、指示どおりライブラリを入れる必要があるとのこと。
掲示板によるといくつかある候補のどれでも問題がなさそうだったので、apt-getできる次のパッケージにした。
libncurses5-dev
再度configureを実施...今度は通った。
あとはmakeしてmake installして、vim-rubyの設定ファイルを所定のディレクトリにセットして終了。
■vim-rubyのセットアップ
関連ファイルの格納先として、以下のディレクトリを作成。
/usr/local/share/vim/vifiles
設定ファイルは以下を使用。
/etc/vim/vimrc
この設定で前回は問題なかった用に思うが、インデントも色分けも機能していない。何が問題なのだろう。
■emacsのセットアップ
vim-rubyの代わりに使うことを検討。
apt-getでemacs23.1をゲット。
設定用のlispファイルはrubyにバンドルされていたらしく、以下のファイルを所定のディレクトリにコピーする。
/ruby-1.9.2-p180/misc/以下
inf-ruby.el
rdoc-mode.el
ruby-mode.el
ruby-electric.el
ruby-style.el
rubydb2x.el
rubydb3x.el
ruby用lispファイルの保存先
/usr/share/emacs/site-lisp/
/usr/share/emacs/23.1/site-lisp/ =>こちらにはコピーした覚えがないがあった。
設定ファイル(.emacs)の保存先
※元々このファイルが見当たらなかったので困惑したが、自前で作ったもので問題なかった。
/home/user-name/
このファイルに書くべき中身は、Web上で探すこと。中身はよく分からない。
DebianからUbuntuへ; Grub.cfgの編集~パーティション削除~インストール
思うところあってDebianからUbuntuに乗り換えてみようかと考え出した。そこでまずはWindowsを先に起動することにし、さらに進んでdebian自体を削除する方向に持っていきたい。
以下に備忘。
ブートローダー:Grub2(設定ファイル名からの類推)
設定ファイル:/boot/grub/grub.cfg(従来のgrub「legacy_grub」だと、大抵munu.lstというファイルになるらしい)
grub.cfg内のエントリから、まずは以下のデフォルト0の状態から1のrecovery modeに変更してみる。
(略)
set default="0"
(略)
menuentry "debian..."
menuentry "debian...(recovery mode)
menuentry "windows7..."
設定を編集後にリブート。grubが立ち上げり、カーソルが意図どおりrecovery modeに移ったのを確認。
さて再度編集し、windows最優先でブートするようにset default 1 => 2に設定しなおした。
次はdebianの削除について調べる。今のままだとdebian削除 => grub見つからず何もカーネルイメージをロードできない、という状況に陥いると思われる。
さて、windows7の起動ディスクから回復ツールを使用してMBRの設定を変更する方法があるらしいと分かった。
grubに移行せず、windowsを選択的にブートするようになればいいわけだ。
方法は次のもの
1:回復ディスク=>プロンプト=>bootrec.exe /fixmbr
2:回復ディスク=>プロンプト=>bootrec.exe /fixboot (こっちは使用せず)
失敗したら痛いが、これも勉強と割り切る。
上記1の方法を実行後、リブートしたらブートセクタが見つからないのか、起動ディスクを入れろと怒られる。
不安を覚えつつもディスクをセットしなおしリブート。
またもやインストールの手順まで進んだが、今度はシステム問題を診断するツールを使用したところ、「有効な?(プライマリ?)パーティションが見つからない」のような診断がなされたが、そのまま回復してくれそうだったので様子見。
まもなく終了し、リブートをかけると今度はwindowsが正常起動された。
これで一先ず安心か。
後はUbuntu10.10のイメージディスクを作成し、旧debian用パーティションをUbuntu用に振り直し、インストールを実行。
・・・できた。
さあUbuntuはどうかな。
以下に備忘。
ブートローダー:Grub2(設定ファイル名からの類推)
設定ファイル:/boot/grub/grub.cfg(従来のgrub「legacy_grub」だと、大抵munu.lstというファイルになるらしい)
grub.cfg内のエントリから、まずは以下のデフォルト0の状態から1のrecovery modeに変更してみる。
(略)
set default="0"
(略)
menuentry "debian..."
menuentry "debian...(recovery mode)
menuentry "windows7..."
設定を編集後にリブート。grubが立ち上げり、カーソルが意図どおりrecovery modeに移ったのを確認。
さて再度編集し、windows最優先でブートするようにset default 1 => 2に設定しなおした。
次はdebianの削除について調べる。今のままだとdebian削除 => grub見つからず何もカーネルイメージをロードできない、という状況に陥いると思われる。
さて、windows7の起動ディスクから回復ツールを使用してMBRの設定を変更する方法があるらしいと分かった。
grubに移行せず、windowsを選択的にブートするようになればいいわけだ。
方法は次のもの
1:回復ディスク=>プロンプト=>bootrec.exe /fixmbr
2:回復ディスク=>プロンプト=>bootrec.exe /fixboot (こっちは使用せず)
失敗したら痛いが、これも勉強と割り切る。
上記1の方法を実行後、リブートしたらブートセクタが見つからないのか、起動ディスクを入れろと怒られる。
不安を覚えつつもディスクをセットしなおしリブート。
またもやインストールの手順まで進んだが、今度はシステム問題を診断するツールを使用したところ、「有効な?(プライマリ?)パーティションが見つからない」のような診断がなされたが、そのまま回復してくれそうだったので様子見。
まもなく終了し、リブートをかけると今度はwindowsが正常起動された。
これで一先ず安心か。
後はUbuntu10.10のイメージディスクを作成し、旧debian用パーティションをUbuntu用に振り直し、インストールを実行。
・・・できた。
さあUbuntuはどうかな。
2011年3月19日土曜日
東北地方太平洋沖地震2
地震から1週間。妻の母方のいとこ家族と祖母、父方のおじさんなど東北在住の親類の無事が確認できた。
海岸沿いの住まいは津波の被害を受けたというが、近所付き合いのある方の家に避難させてもらっているとのことだ。
親類の息災に感謝するとともに、被災された地域で亡くなられた方に哀悼を、今も困難な状況下にある方々には祈りを届けたい。
**********
今日は地震からこれまでのこと、これからのことについて自分なりにまとめておく。
※時間がないので後ほど編集予定。
■状況
・現在住まいしている埼玉を含む関東圏や東海・上信越および東北地方では東京電力による計画停電が継続されている。
関東では本日19日は停電を見送るらしい。
停電が実施された地域では道路の信号が消えており、このことが原因と思われる交通事故が発生している。
=>Google Crisis Response(計画停電の対象地域が一目でわかる。)
・生活必需品の不足。スーパーやコンビニ、個人経営の商店(地域差はあるかもしれないが)では主として以下の品目が入手困難。
食料品:米・カップ麺・水・牛乳(最寄りのスーパーでは、計画停電の発表当初はパンまでもがほぼ完売)
石油関連製品:ティッシュペーパー・トイレットペーパー・紙おむつ
消耗品・防災用品:懐中電灯・乾電池
■二次的被害や周縁の事象について。
・食品が手に入らないことにより、とりわけ近所でしか買い物のできない高齢者を中心に生活が切迫してきている。
都市圏で発生しているフードデザート(このあたりのサイトを参照)という現象があるが、そういった社会的弱者を痛めつける状況に追い討ちをかけているのが現状と思われる。
(2011/04/01追記:今はどのスーパーやコンビニでも物が不足しているという事態は概ね解消されている。生活圏の範囲では、計画停電に関連してコンビニの仕入れを調整しているようで、棚が空になっている様子が見られる。)
・新燃岳の噴火や鳥インフルエンザの被害をうけた人達の情報が隅に追いやられてしまうのではないか。地震による被災者を救い被害の拡大を食い止めることの方が緊急度も重要度も高いに違いないが、そのことで程度の差はあるとしても同じ苦境にある人達が閑却されてしまうことがあってはならないと思う。
■思うところについて
テレビに出ている解説員や寄せられた一般からの意見の一部にも見られるとおり、大きな被害を受けることのなかった地域では普通の生活を続けることが肝要と感じる。
要は必要なものを必要なだけ、生活に支障がないように買う、ということ。もちろん贅沢や趣味的な活動による浪費は控えるべきだろう。
驚いたことだが、テレビの番組では特別編成枠がかなり減ってきているようだ。ある解説員が、被災地以外の住人が被災地の情報を得るのが難しくなってきているような話をしており、事実番組欄は平常の番組構成にもどりつつあるようだ。
とはいえ情報はあるところにはある。
被災地では交通基盤や通信手段といったインフラの破壊によって、情報そのものが不足したり途絶するという状態だと思うが、それ以外の地域では大量の情報源があってもそれをどのように判断し行動に結びつけるかが問題だ。
広範囲の災害であるためピンポイントで知りたい地域の情報を得ることは難しいし、被災者側から伝えたいことがあってもマスコミの情報は集約されたものになりがちだ。そう言うときは自治体の専用窓口や災害時の支援を行っているNGOのような組織を頼ることが、何かしたいという気持ちを確実な一歩とすることに繋がるのではないかと思う。
情報の集まるところを見極め、マンパワーを組織化できる主体に自身の力を預けることで、少なくとも状況をかえって混乱させるような不如意な事態を避けられるだろう。
海岸沿いの住まいは津波の被害を受けたというが、近所付き合いのある方の家に避難させてもらっているとのことだ。
親類の息災に感謝するとともに、被災された地域で亡くなられた方に哀悼を、今も困難な状況下にある方々には祈りを届けたい。
**********
今日は地震からこれまでのこと、これからのことについて自分なりにまとめておく。
※時間がないので後ほど編集予定。
■状況
・現在住まいしている埼玉を含む関東圏や東海・上信越および東北地方では東京電力による計画停電が継続されている。
関東では本日19日は停電を見送るらしい。
停電が実施された地域では道路の信号が消えており、このことが原因と思われる交通事故が発生している。
=>Google Crisis Response(計画停電の対象地域が一目でわかる。)
・生活必需品の不足。スーパーやコンビニ、個人経営の商店(地域差はあるかもしれないが)では主として以下の品目が入手困難。
食料品:米・カップ麺・水・牛乳(最寄りのスーパーでは、計画停電の発表当初はパンまでもがほぼ完売)
石油関連製品:ティッシュペーパー・トイレットペーパー・紙おむつ
消耗品・防災用品:懐中電灯・乾電池
■二次的被害や周縁の事象について。
・食品が手に入らないことにより、とりわけ近所でしか買い物のできない高齢者を中心に生活が切迫してきている。
都市圏で発生しているフードデザート(このあたりのサイトを参照)という現象があるが、そういった社会的弱者を痛めつける状況に追い討ちをかけているのが現状と思われる。
(2011/04/01追記:今はどのスーパーやコンビニでも物が不足しているという事態は概ね解消されている。生活圏の範囲では、計画停電に関連してコンビニの仕入れを調整しているようで、棚が空になっている様子が見られる。)
・新燃岳の噴火や鳥インフルエンザの被害をうけた人達の情報が隅に追いやられてしまうのではないか。地震による被災者を救い被害の拡大を食い止めることの方が緊急度も重要度も高いに違いないが、そのことで程度の差はあるとしても同じ苦境にある人達が閑却されてしまうことがあってはならないと思う。
■思うところについて
テレビに出ている解説員や寄せられた一般からの意見の一部にも見られるとおり、大きな被害を受けることのなかった地域では普通の生活を続けることが肝要と感じる。
要は必要なものを必要なだけ、生活に支障がないように買う、ということ。もちろん贅沢や趣味的な活動による浪費は控えるべきだろう。
驚いたことだが、テレビの番組では特別編成枠がかなり減ってきているようだ。ある解説員が、被災地以外の住人が被災地の情報を得るのが難しくなってきているような話をしており、事実番組欄は平常の番組構成にもどりつつあるようだ。
とはいえ情報はあるところにはある。
被災地では交通基盤や通信手段といったインフラの破壊によって、情報そのものが不足したり途絶するという状態だと思うが、それ以外の地域では大量の情報源があってもそれをどのように判断し行動に結びつけるかが問題だ。
広範囲の災害であるためピンポイントで知りたい地域の情報を得ることは難しいし、被災者側から伝えたいことがあってもマスコミの情報は集約されたものになりがちだ。そう言うときは自治体の専用窓口や災害時の支援を行っているNGOのような組織を頼ることが、何かしたいという気持ちを確実な一歩とすることに繋がるのではないかと思う。
情報の集まるところを見極め、マンパワーを組織化できる主体に自身の力を預けることで、少なくとも状況をかえって混乱させるような不如意な事態を避けられるだろう。
2011年3月12日土曜日
東北地方太平洋沖地震
先日から地震のニュースから目が離せない状況が続いている。
自身の居住エリアでも震度5程度の揺れがあり、フライパンが落ちたり積んであったものが崩れたりといった影響を受けた。
しかしそれだけの話だ。
問題は東北地方。妻の両親の親戚筋が宮城・岩手におり、なかんづく祖母といとこの家族が三陸海岸の沿岸地域で暮らしている。
地震直後の15時頃には該当地域に津波が押し寄せ、家屋が押し流されるという断片的な映像が流れていた。
朝を迎え、テレビには被害を伝える一文が表示された。
○○○がほぼ壊滅状態。
近隣の市でさえ一帯が崩壊した様子が映され、死者・不明者が200名と少しずつ被害が明らかにされるなか、ただ一言壊滅、である。
祈ることのほか、何ができるというのだろうか。
自身の居住エリアでも震度5程度の揺れがあり、フライパンが落ちたり積んであったものが崩れたりといった影響を受けた。
しかしそれだけの話だ。
問題は東北地方。妻の両親の親戚筋が宮城・岩手におり、なかんづく祖母といとこの家族が三陸海岸の沿岸地域で暮らしている。
地震直後の15時頃には該当地域に津波が押し寄せ、家屋が押し流されるという断片的な映像が流れていた。
朝を迎え、テレビには被害を伝える一文が表示された。
○○○がほぼ壊滅状態。
近隣の市でさえ一帯が崩壊した様子が映され、死者・不明者が200名と少しずつ被害が明らかにされるなか、ただ一言壊滅、である。
祈ることのほか、何ができるというのだろうか。
2011年3月10日木曜日
無線がつながった; と思いきや
※2011/03/12追記:その後スリープして復帰したらもう繋がらなかった。一体どうなっているのか。
うまく行くときはすんなり行くもので。
無線LANが唐突に繋がった。
ただしWEP。
接続にはデスクトップからパネル(という表現でいい?)上にあるネットワーク接続マネージャを使用しただけだが、これまで何故繋がらなかったのか不思議なほどあっさり成功した。
何とも納得しかねる。
詳しくはローカルに記録することにした。
WPAの方は相変わらず上手く行かなかったが、そのうちリトライすることにしよう。
うまく行くときはすんなり行くもので。
無線LANが唐突に繋がった。
ただしWEP。
接続にはデスクトップからパネル(という表現でいい?)上にあるネットワーク接続マネージャを使用しただけだが、これまで何故繋がらなかったのか不思議なほどあっさり成功した。
何とも納得しかねる。
詳しくはローカルに記録することにした。
WPAの方は相変わらず上手く行かなかったが、そのうちリトライすることにしよう。
2011年3月8日火曜日
開発関連プログラムのインストール状況を概観
※2011/03/12にUbuntuへの意向により、パッケージは総入れ替えになっている。
■インストール状況
Ruby1.9.1
MySQL-server 5.1.55-1
libmysql-ruby1.9.1(rubyからmysqlを使うライブラリ)
git1.7.4.1
vim7.3.35(調べた限りでは、初期状態はただのviだったようなのでインストールした)
vim-ruby
■実行コマンドのエイリアス設定
rubyは現状irbなどの関連プログラムも含め、バージョンを指定しないと起動しない。
/usr/bin の構成を見て判明。
gitのワークディレクトリにシンボリックリンクを張って、省略記法にすることを試みる。
ln -s irb1.9.1 irb =>これだとディレクトリを跨るのでダメらしい。
『改訂新Linux/UNIX入門』を参考に、以下の通り変更。
ln -s /usr/bin/irb1.9.1 =>しかしこれでもダメ。はて。
代替案でエイリアス定義をすることに。
alias ruby=ruby1.9.1
alias irb=irb1.9.1
設定されている一覧を見る。
alias
■インストール状況
Ruby1.9.1
MySQL-server 5.1.55-1
libmysql-ruby1.9.1(rubyからmysqlを使うライブラリ)
git1.7.4.1
vim7.3.35(調べた限りでは、初期状態はただのviだったようなのでインストールした)
vim-ruby
■実行コマンドのエイリアス設定
rubyは現状irbなどの関連プログラムも含め、バージョンを指定しないと起動しない。
/usr/bin の構成を見て判明。
gitのワークディレクトリにシンボリックリンクを張って、省略記法にすることを試みる。
ln -s irb1.9.1 irb =>これだとディレクトリを跨るのでダメらしい。
『改訂新Linux/UNIX入門』を参考に、以下の通り変更。
ln -s /usr/bin/irb1.9.1 =>しかしこれでもダメ。はて。
代替案でエイリアス定義をすることに。
alias ruby=ruby1.9.1
alias irb=irb1.9.1
設定されている一覧を見る。
alias
Gitのインストール; その他vim, vim-ruby
随分前に『入門git』(でびあんぐる著,オーム社)を購入したが、導入後の触りのあたりまで読み進めて放擲していた。
というのも最近のエントリに「開発」などという単語を掲げているものの、実際には入門したてのアマチュアに過ぎないのだから、順序を踏むならもっと別のところから始めるべきだろうと思って本棚の肥やしにしていたのだった。
とはいえ最近色々なツールをとっかえひっかえ使っていたこともあってか作成したテストファイルが分散し放題であったので、改めてリポジトリの利用やバージョン管理の方法を学びたいと思う。
というわけで、gitである。
■gitのインストール
※以下は『入門git』を参考に作業を進める。
apt-get install git-core => ver1.7.4.1-1
既に最新安定版がaptで利用できるようだ。
git config --global user.name "[名前]"
git config --global user.email "[email]"
設定を確認。
git config (--global) --list =>ok
出力を色分けする設定
git config --global color.ui "auto"
■vimのインストール
初期状態でただのviだったのようなので、vimの最新版アーカイブを取得しインストールした。
■vim-rubyのインストール
少しづつvimが分かってきたので、折角だからvimでrubyを編集したいということでvim-rubyをインストールすることに。
他のサイトで言及されていたが、どうもRubyForgeにあるバージョンが古いようなので、githubからアーカイブを取得。
(※実のところrubygemでインストールしようとしたときにrepositoryが見つからず、実行できなかったのだが)
sudo ruby1.9.1 vim-ruby-install.rb
vimのインストールフォルダがどこか聞かれたが、実行ファイルのあるフォルダしか分からないので中止。
リファレンスを引くと、whereisコマンドで見つけられそうなので試してみる。
whereis -b vim => 5つほどヒット
設定ファイルのあるフォルダが発見できたので、再度実行。「インストールディレクトリのフルパスを入力しろ」という指示に従い打ち込む。該当のディレクトリに設定ファイル入りのディレクトリが作成されたのを確認。
他のサイトを参考に、設定ファイルを編集する。
なお同ファイル内には、設定を書き込む際に利用できる他のファイルとの違いも示されている。
どうも他のファイルではvimのアップデート?などで上書きされるらしいので、以下のファイルで進めることにした。
gedit /etc/vim/vimrc
さてここでrbファイルを作成し実行。色は変わるし、インデントも効いてる。
成功だ。
しかしオムニファンク(intellisenseのような自動補完機能)(キーアサイン:C-x, C-o)は無効と出たので調べてみる。
すると、rubyからコンパイルしたvimでないと使えないという記載をgitのサポートページで見つけた。
ともあれ、とりあえずはここまでで我慢する。IDEなしでこれだけ出来るのだから、十分凄い。
参考:github > vim-ruby VimRubySupport > Omni Completion Functions
■sudoを使うために
※vim-rubyをインストールする前までずっとsuを使用していたが、sudoの方が好ましいようなので設定することにした。
(sudoを使うに当たって、sudoerとして認定させないといけないらしい)
設定ファイルを編集するための専用コマンドがあったので、それを使う。
設定ファイル:/etc/sudoers.tmp
visudo => nanoエディタなるものが起動。
編集内容は割愛。
というのも最近のエントリに「開発」などという単語を掲げているものの、実際には入門したてのアマチュアに過ぎないのだから、順序を踏むならもっと別のところから始めるべきだろうと思って本棚の肥やしにしていたのだった。
とはいえ最近色々なツールをとっかえひっかえ使っていたこともあってか作成したテストファイルが分散し放題であったので、改めてリポジトリの利用やバージョン管理の方法を学びたいと思う。
というわけで、gitである。
■gitのインストール
※以下は『入門git』を参考に作業を進める。
apt-get install git-core => ver1.7.4.1-1
既に最新安定版がaptで利用できるようだ。
git config --global user.name "[名前]"
git config --global user.email "[email]"
設定を確認。
git config (--global) --list =>ok
出力を色分けする設定
git config --global color.ui "auto"
■vimのインストール
初期状態でただのviだったのようなので、vimの最新版アーカイブを取得しインストールした。
■vim-rubyのインストール
少しづつvimが分かってきたので、折角だからvimでrubyを編集したいということでvim-rubyをインストールすることに。
他のサイトで言及されていたが、どうもRubyForgeにあるバージョンが古いようなので、githubからアーカイブを取得。
(※実のところrubygemでインストールしようとしたときにrepositoryが見つからず、実行できなかったのだが)
sudo ruby1.9.1 vim-ruby-install.rb
vimのインストールフォルダがどこか聞かれたが、実行ファイルのあるフォルダしか分からないので中止。
リファレンスを引くと、whereisコマンドで見つけられそうなので試してみる。
whereis -b vim => 5つほどヒット
設定ファイルのあるフォルダが発見できたので、再度実行。「インストールディレクトリのフルパスを入力しろ」という指示に従い打ち込む。該当のディレクトリに設定ファイル入りのディレクトリが作成されたのを確認。
他のサイトを参考に、設定ファイルを編集する。
なお同ファイル内には、設定を書き込む際に利用できる他のファイルとの違いも示されている。
どうも他のファイルではvimのアップデート?などで上書きされるらしいので、以下のファイルで進めることにした。
gedit /etc/vim/vimrc
さてここでrbファイルを作成し実行。色は変わるし、インデントも効いてる。
成功だ。
しかしオムニファンク(intellisenseのような自動補完機能)(キーアサイン:C-x, C-o)は無効と出たので調べてみる。
すると、rubyからコンパイルしたvimでないと使えないという記載をgitのサポートページで見つけた。
ともあれ、とりあえずはここまでで我慢する。IDEなしでこれだけ出来るのだから、十分凄い。
参考:github > vim-ruby VimRubySupport > Omni Completion Functions
■sudoを使うために
※vim-rubyをインストールする前までずっとsuを使用していたが、sudoの方が好ましいようなので設定することにした。
(sudoを使うに当たって、sudoerとして認定させないといけないらしい)
設定ファイルを編集するための専用コマンドがあったので、それを使う。
設定ファイル:/etc/sudoers.tmp
visudo => nanoエディタなるものが起動。
編集内容は割愛。
Mysql on Linux; 再度インストール
引き続きdebianの設定作業。今回はMysql。
■最新版のインストール
使用アーカイブ
5.5.9-linux2.6-x86_64(community server)
作業ディレクトリ
/usr/local
Mysql用ユーザ・グループの作成と設定
grpadd *****
useradd -r -g ***** *****
展開したファイルの所有者を変更
cd [作業ディレクトリ]
chown -R ***** [展開されたディレクトリ] =>以下、「idir」とする
chgrp -R ***** [idir]
初期データベースの作成(らしい)
scripts/mysql_install_db --user=mysql =>ここでエラー発生。
とりあえずオプションに指定しているユーザに問題があるのか?と考え、Mysql用ユーザの状態を確認。
su [mysqlユーザ名] =>ログイン失敗
パスワードが設定されていなかったようなので改めて指定。
passwd [mysqlユーザ名]
su [mysqlユーザ名] =>ok
cd /usr/local/idir
scripts/mysql_install_db --user=mysql =>ok(メッセージはテキストでhomeに保存しておいた)
■インストール成功・・・していない?
さてmysqlが起動しないように思われる。というのもインストールディレクトリ以下の/binにあるコマンドが実行できない。しばしwebで情報収集。
■scripts...(略)について
どうもver5.5.8からは「configure」に代わって「cmake」なるものがインストールに必要らしいとの情報がwebに散見される。公式のインストール手順ではscripts/...までしか記載がないのだけど。とりあえず試してみることに。
aptitude install cmake => ok
idirに移動し、cmake実行
cmake => エラー。(CMakefileがないと怒られた。)
■またもや分からず
ちょっと気になることがあったので、別のアーカイブをダウンロードして試すことに。
これまでのファイルは一度削除。
rm -r /usr/local/idir
で、改めてtarを落として展開してところ・・・中身はrpmだったりする。
rpmもyumも使ってないのでちょっと保留。
■apt-getで旧バージョンに落ち着く
またもや逃げの一手でパッケージ管理ツールを使うことに。
2011/02/20のエントリを参考に、インストール作業を開始。
apt-get install mysql-server =>ok
dpkg --list mysql-server =>ver5.1.55-1
■起動確認
mysql -u root -p => ok
■最新版のインストール
使用アーカイブ
5.5.9-linux2.6-x86_64(community server)
作業ディレクトリ
/usr/local
Mysql用ユーザ・グループの作成と設定
grpadd *****
useradd -r -g ***** *****
展開したファイルの所有者を変更
cd [作業ディレクトリ]
chown -R ***** [展開されたディレクトリ] =>以下、「idir」とする
chgrp -R ***** [idir]
初期データベースの作成(らしい)
scripts/mysql_install_db --user=mysql =>ここでエラー発生。
とりあえずオプションに指定しているユーザに問題があるのか?と考え、Mysql用ユーザの状態を確認。
su [mysqlユーザ名] =>ログイン失敗
パスワードが設定されていなかったようなので改めて指定。
passwd [mysqlユーザ名]
su [mysqlユーザ名] =>ok
cd /usr/local/idir
scripts/mysql_install_db --user=mysql =>ok(メッセージはテキストでhomeに保存しておいた)
■インストール成功・・・していない?
さてmysqlが起動しないように思われる。というのもインストールディレクトリ以下の/binにあるコマンドが実行できない。しばしwebで情報収集。
■scripts...(略)について
どうもver5.5.8からは「configure」に代わって「cmake」なるものがインストールに必要らしいとの情報がwebに散見される。公式のインストール手順ではscripts/...までしか記載がないのだけど。とりあえず試してみることに。
aptitude install cmake => ok
idirに移動し、cmake実行
cmake => エラー。(CMakefileがないと怒られた。)
■またもや分からず
ちょっと気になることがあったので、別のアーカイブをダウンロードして試すことに。
これまでのファイルは一度削除。
rm -r /usr/local/idir
で、改めてtarを落として展開してところ・・・中身はrpmだったりする。
rpmもyumも使ってないのでちょっと保留。
■apt-getで旧バージョンに落ち着く
またもや逃げの一手でパッケージ管理ツールを使うことに。
2011/02/20のエントリを参考に、インストール作業を開始。
apt-get install mysql-server =>ok
dpkg --list mysql-server =>ver5.1.55-1
■起動確認
mysql -u root -p => ok
Linuxと無線LAN; 中途まとめ
debianの無線接続がうまく行かないので、一旦締めにしようかと。
忘れるといけないので、使用したコマンドや作成したファイルをまとめておく。
■コマンド
ifconfig
インタフェースの状態(IP,MAC,up/down, packetなど)を表示する。
iwconfig [インタフェース][オプション]
インタフェースの設定(SSID,AP,KEYなど)を表示する。
オプションでssidやWEPキーの設定を行う。WPAの場合はwpa_supplicantを使用する。
iwlist [インタフェース] scan
無線のアクセスポイントを表示する。
wpa_supplicant [オプション]
WPA(WPA2)の設定を行う。
-D ドライバの指定
-i インタフェースの指定
-c コンフィグファイルの指定
-B バックグラウンドでデーモンとして動く
■関連ファイル
/lib/firmware/ファームウェア-ucode
ファームウェアの格納場所
/lib/udev/firmware.agent
ファームウェアの検索パス
/etc/wpa_supplicant/wpa_supplicant.conf
ssid, pskなどwpa用の設定ファイル
設定については以下のwebページを参考にした
Example wpa_supplicant configuration file
wpa_supplicant
Nest of Hawk
■Webリソース
wpa_supplicantの最新版
Linux Wireless 拡張操作用ツール(aptitude経由でインストール)
firmware-iwlwifi パッケージ(aptitude経由でインストール)
忘れるといけないので、使用したコマンドや作成したファイルをまとめておく。
■コマンド
ifconfig
インタフェースの状態(IP,MAC,up/down, packetなど)を表示する。
iwconfig [インタフェース][オプション]
インタフェースの設定(SSID,AP,KEYなど)を表示する。
オプションでssidやWEPキーの設定を行う。WPAの場合はwpa_supplicantを使用する。
iwlist [インタフェース] scan
無線のアクセスポイントを表示する。
wpa_supplicant [オプション]
WPA(WPA2)の設定を行う。
-D ドライバの指定
-i インタフェースの指定
-c コンフィグファイルの指定
-B バックグラウンドでデーモンとして動く
■関連ファイル
/lib/firmware/ファームウェア-ucode
ファームウェアの格納場所
/lib/udev/firmware.agent
ファームウェアの検索パス
/etc/wpa_supplicant/wpa_supplicant.conf
ssid, pskなどwpa用の設定ファイル
設定については以下のwebページを参考にした
Example wpa_supplicant configuration file
wpa_supplicant
Nest of Hawk
■Webリソース
wpa_supplicantの最新版
Linux Wireless 拡張操作用ツール(aptitude経由でインストール)
firmware-iwlwifi パッケージ(aptitude経由でインストール)
2011年3月6日日曜日
rubyのインストール; 2011/02/19-20のやり直し
■rubyの再インストール(フローまとめ)
ruby1.9.2アーカイブファイルの取得。
tar xjvf [rubyアーカイブファイル名](今回はbz2を使用)
cd [アーカイブファイルのダウンロードフォルダ]
./configure => makeインストールしていなかったのでcould not found。
make => インストール後はconfigureを再実行しなくても実行可能だった。
make install => 何かエラーが出た。
aptitude search ruby => 1.9.1のフラグが[i](インストール)
dpkg --list ruby => フラグ[un]。インストールされていない?aptの認識とは異なる?
■今回インストールしたファイル。
ruby 1.9.1
make 3.81-8
gcc 4.4.5-2
■課題
irb => 未インストール。apt(itude)から入れようとすると1.8になりそう。
ruby1.9.2アーカイブファイルの取得。
tar xjvf [rubyアーカイブファイル名](今回はbz2を使用)
cd [アーカイブファイルのダウンロードフォルダ]
./configure => makeインストールしていなかったのでcould not found。
make => インストール後はconfigureを再実行しなくても実行可能だった。
make install => 何かエラーが出た。
aptitude search ruby => 1.9.1のフラグが[i](インストール)
dpkg --list ruby => フラグ[un]。インストールされていない?aptの認識とは異なる?
■今回インストールしたファイル。
ruby 1.9.1
make 3.81-8
gcc 4.4.5-2
■課題
irb => 未インストール。apt(itude)から入れようとすると1.8になりそう。
windows/linuxの再インストール; windows7 + debian6.0[squeeze]
承前:windows7のインストールは無線LAの設定でひっかかったものの、無事完了。しかしdebianの無線LANが・・・
さて有線だとルータの設定ができていればケーブル繋ぐだけでよいが、無線はセキュリティ設定もあり一筋縄ではいかない。
windowsではなんとかなったものの、debianが繋がらない。
なお使用PCのデバイスは次のもの。
intel wireless wifi link AGN5300
設定は以下の本とwebを参考にした。
1:debian wiki -iwlagn-
2:Intel Wireless Wifi Link driver for Linux
3:『改訂版Linuxコマンドポケットリファレンス』(技術評論社)
まずはシステムのネットワーク接続設定から無線LANのエントリを新規で作成。
WEPとWPA-PSKをそれぞれ作成。
またiwconfigコマンドでインターフェースにESSIDとキーを設定する。(WPAは使用するコマンドが違うらしいが、この時は気づかず。)
この時点ではドライバが読み込まれていないからか、無線ネットワークの一覧は見えていない。
続いてドライバのインストール。
参考1のsqueezeの項を参照し、そのままコマンドを打ち込んでいく。
aptitudeで関連ファイルをインストールしたあたりで、先程まで見えていなかったネットワークの一覧が表示された。
まだ自身のSSIDのネットワークは見えていない。
参考1-項目4のiwconfigの設定のところで、参考3のコマンドiwconfig(WEP用)とwpa_supplicant(WPA用)を参照し設定を行う。
参考1の手順を最後まで終えたところで接続確認をするものの、何度も認証を求められてどうしても繋がらない。
認証が通らないということはセキュリティの設定を間違えているということかと思うが。
そろそろ時間がないので次回検討にする。
※ネットワーク接続とターミナルのiwconfigから見た設定の関係についての疑問
システム=>設定=>ネットワーク接続:この一連の流れで行った無線LANの設定は、iwconfig wlan0コマンドからは見えていない。設定ファイルが違うということなのか。
さて有線だとルータの設定ができていればケーブル繋ぐだけでよいが、無線はセキュリティ設定もあり一筋縄ではいかない。
windowsではなんとかなったものの、debianが繋がらない。
なお使用PCのデバイスは次のもの。
intel wireless wifi link AGN5300
設定は以下の本とwebを参考にした。
1:debian wiki -iwlagn-
2:Intel Wireless Wifi Link driver for Linux
3:『改訂版Linuxコマンドポケットリファレンス』(技術評論社)
まずはシステムのネットワーク接続設定から無線LANのエントリを新規で作成。
WEPとWPA-PSKをそれぞれ作成。
またiwconfigコマンドでインターフェースにESSIDとキーを設定する。(WPAは使用するコマンドが違うらしいが、この時は気づかず。)
この時点ではドライバが読み込まれていないからか、無線ネットワークの一覧は見えていない。
続いてドライバのインストール。
参考1のsqueezeの項を参照し、そのままコマンドを打ち込んでいく。
aptitudeで関連ファイルをインストールしたあたりで、先程まで見えていなかったネットワークの一覧が表示された。
まだ自身のSSIDのネットワークは見えていない。
参考1-項目4のiwconfigの設定のところで、参考3のコマンドiwconfig(WEP用)とwpa_supplicant(WPA用)を参照し設定を行う。
参考1の手順を最後まで終えたところで接続確認をするものの、何度も認証を求められてどうしても繋がらない。
認証が通らないということはセキュリティの設定を間違えているということかと思うが。
そろそろ時間がないので次回検討にする。
※ネットワーク接続とターミナルのiwconfigから見た設定の関係についての疑問
システム=>設定=>ネットワーク接続:この一連の流れで行った無線LANの設定は、iwconfig wlan0コマンドからは見えていない。設定ファイルが違うということなのか。
出直し; ディスク管理は慎重に。
先日PCを再セットアップすることに。それから無線LANの設定がうまくいかずにげんなり。
ことの発端は3日前。
思うところあってwindows/linuxのデュアルブートを試みることにしたのだが、その過程でブートセクタを削除してしまった模様。debianのインストールディスクからドライブの構成を見ると、基本パーティションが4つあり追加スペースを確保できない状態だったので調べてみることに。
windows7の管理画面からディスクの管理を確認したところ、パーティションが3つほど見えていた。
=>プライマリ2.7G(回復パーティション)
基本パーティション(詳細は忘れた) => CドライブとDドライブ(1つの物理ディスクを分割)
再度インストールディスクからディスクの状態を確認したところ、windows上から見えていない1MB程度のスペースがあった。これはブートセクタだろう。
回復パーティションはおそらくノートPCにプリセット?されているドライバ類などの復旧用データだろうと思い、ここは削除可能と踏んで削除することに。
削除に先立ってドライブの空きスペースを調整するべくwindows7のディスク管理からディスク縮小を行ったところ、いくつかのスペースのステータスが基本パーティションから変更されてしまった。(内容は既にうろ覚えだが、縮小前にアラートが表示されていたのでそのメッセージの記録を取っておくべきだった。ブートに関係する注意事項だったように思う・・・)
削除後にdebian[squeeze]のインストールを行ったのち、grubからwindowsを起動しようとしたところ、復旧シークエンスに移行。嫌な予感がしたが時既に遅く。復旧ツールの起動が完了し、再起動後再度windowsを起動・・・できない。
ということであっさり諦めて全部インストールし直すことにした。
ことの発端は3日前。
思うところあってwindows/linuxのデュアルブートを試みることにしたのだが、その過程でブートセクタを削除してしまった模様。debianのインストールディスクからドライブの構成を見ると、基本パーティションが4つあり追加スペースを確保できない状態だったので調べてみることに。
windows7の管理画面からディスクの管理を確認したところ、パーティションが3つほど見えていた。
=>プライマリ2.7G(回復パーティション)
基本パーティション(詳細は忘れた) => CドライブとDドライブ(1つの物理ディスクを分割)
再度インストールディスクからディスクの状態を確認したところ、windows上から見えていない1MB程度のスペースがあった。これはブートセクタだろう。
回復パーティションはおそらくノートPCにプリセット?されているドライバ類などの復旧用データだろうと思い、ここは削除可能と踏んで削除することに。
削除に先立ってドライブの空きスペースを調整するべくwindows7のディスク管理からディスク縮小を行ったところ、いくつかのスペースのステータスが基本パーティションから変更されてしまった。(内容は既にうろ覚えだが、縮小前にアラートが表示されていたのでそのメッセージの記録を取っておくべきだった。ブートに関係する注意事項だったように思う・・・)
削除後にdebian[squeeze]のインストールを行ったのち、grubからwindowsを起動しようとしたところ、復旧シークエンスに移行。嫌な予感がしたが時既に遅く。復旧ツールの起動が完了し、再起動後再度windowsを起動・・・できない。
ということであっさり諦めて全部インストールし直すことにした。
2011年3月2日水曜日
Ruby; windowsに逃避
先日までLinux上で開発環境を整えていたところから逃げをうって、しばらくWindowsで学習することに。
LinuxはVMplayerで動かしているので、画面全体を使いきれておらず挙動も重いとあって億劫になってきたのです。
そのうち専用マシンを組んであげたいなぁ。
さて話はwindowsでの環境に移って、こちらは以前からMySQLとRuby1.9.2がセットアップされている。またRailsもインストールされている。
今回はRubyのシンボルの使い方についてメモ。
調べた中では『Ruby逆引きハンドブック』の説明が一番詳しいと思うが、どうもピンとこない。
とりあえずハッシュのキーとして使用する方法に慣れるのが先か。
以下のソースはOpen-uriライブラリからの抜粋。
module OpenURI
Options = {
:proxy => true,
:proxy_http_basic_authentication => true,
:progress_proc => true,
:content_length_proc => true,
:http_basic_authentication => true,
:read_timeout => true,
:ssl_ca_cert => nil,
:ssl_verify_mode => nil,
:ftp_active_mode => false,
:redirect => true,
}
def OpenURI.check_options(options) # :nodoc:
options.each {|k, v|
next unless Symbol === k
unless Options.include? k
raise ArgumentError, "unrecognized option: #{k}"
end
}
end
.
.
(略)
end
LinuxはVMplayerで動かしているので、画面全体を使いきれておらず挙動も重いとあって億劫になってきたのです。
そのうち専用マシンを組んであげたいなぁ。
さて話はwindowsでの環境に移って、こちらは以前からMySQLとRuby1.9.2がセットアップされている。またRailsもインストールされている。
今回はRubyのシンボルの使い方についてメモ。
調べた中では『Ruby逆引きハンドブック』の説明が一番詳しいと思うが、どうもピンとこない。
とりあえずハッシュのキーとして使用する方法に慣れるのが先か。
以下のソースはOpen-uriライブラリからの抜粋。
module OpenURI
Options = {
:proxy => true,
:proxy_http_basic_authentication => true,
:progress_proc => true,
:content_length_proc => true,
:http_basic_authentication => true,
:read_timeout => true,
:ssl_ca_cert => nil,
:ssl_verify_mode => nil,
:ftp_active_mode => false,
:redirect => true,
}
def OpenURI.check_options(options) # :nodoc:
options.each {|k, v|
next unless Symbol === k
unless Options.include? k
raise ArgumentError, "unrecognized option: #{k}"
end
}
end
.
.
(略)
end
登録:
投稿 (Atom)